c language embedded system programming practice