Раньше писал на асемблере, с самопрограммированием вроде все было понятно - деректива .org потом физический адрес с которого будет распологаться дальнейший код загрузчика. Располагаешь это все в хвосте и при необходимости перезаписываешь через SPM весь основной код. Теперь перешел на С от IAR, и сразу куча вопросов - как в C указать точное физическое место расположения в памяти AVR-а, для подпрограммы (функции) загрузчика. Еще как-то в нестираемую область надо поместить функции для работы с I2C, для этого надо как-то подсчитать их размер, чтоб акуратно сложить в память. Если кто сталкивался с подобным, посоветуйте что-нибудь. Заранее благодарен!
|