Здравствуйте!
Пишу для ATmega128, из под winAVR bootloader и пользовательскую программу, прошиваю по очереди сначала hex пользовательской, потом - hex bootloader`a.
В данном случае не подразумевается, что boot должен грузить пользовательскую (просто разместил две программы в разных секциях флэш для проверки работоспособности и возможности загружаться из нужного места).
Проблема в следующем:
- после загрузки запускается сразу пользовательская программа (хотя BOOTRST fuse запрограммирован).
Если прошить только bootloader - он один запускается и работает нормально.
Если прошить только пользовательскую программу (фьюз BOOTRST запрограммирован) - грузится пользовательская
Если прошить и то и другое, то возникает описанная проблема.
чтобы boot писался в нужное место в Makefile в параметрах для линкера дописываю
LDFLAGS = -Wl,--section-start=.text=0xF000,
Тексты прог в архиве.
Подскажите, пожалуйста, что я не так делаю.
Заранее спасибо.
Случайно кинул архив, в котором много лишнего - вот новый архив.