Сергей Борщ 119 14 сентября, 2015 Опубликовано 14 сентября, 2015 · Жалоба Помогло. Сейчас собирается без предупреждений. И создается два пустых байта после строки содержащей четное количество символов, и один байт если строка содержит не четное количество символов.Строка в Си заканчивается нулевым байтом. . = ALIGN(2); при необходимости добавляет еще один, чтобы выровнять адрес на четный (команды у AVR должны располагаться по четным адресам. Поэтому *(.fw_version) KEEP(*(.fw_version)) . = ALIGN(2); перенес из начала секции .text чуть ниже после *(.vectors) KEEP(*(.vectors)). Да, ваш файл я не посмотрел, поленился. Мне казалось очевидным, что вектора прибиты к своим адресам гвоздями и никто не догадается их сдвигать, запихнув перед ними какие-то данные.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Twin_by 0 14 сентября, 2015 Опубликовано 14 сентября, 2015 (изменено) · Жалоба Да, ваш файл я не посмотрел, поленился. Мне казалось очевидным, что вектора прибиты к своим адресам гвоздями и никто не догадается их сдвигать, запихнув перед ними какие-то данные.. А я вот догадался, с вашей помощью кстати ))) Зато как красиво было ... Бинарник открываешь и в первой же строчке информация о версии прошивки. Но такой вариант оказался не рабочий. Огромное спасибо, что помогли замутить такую полезную штуку. В процессе я почерпнул много нового. Изменено 14 сентября, 2015 пользователем Twin_by Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 14 сентября, 2015 Опубликовано 14 сентября, 2015 · Жалоба А я вот догадался, с вашей помощью кстати )))"А что поделать, если хлопец одаренный?" ;) Бинарник открываешь и в первой же строчке информация о версии прошивки.Вы можете разместить ее в конце файла, тоже будет удобно искать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться