c and c++ embedded system programming