Цитата(turnon @ Aug 6 2017, 00:24)

Как флаг для бутлоадера. В обычном режиме работы бутлоадер сразу запускает основную прошивку, а если есть флаг - то ожидает загрузки новой прошивки по USB.
Как я и думал....
Вы смотрите совсем не туда. __no_init тут не нужен. Как не нужен и инкремент. __no_init для этого адреса должно быть в бутлоадере.
Общий алгоритм таков:
В бутлоадере объявляете этот адрес:
__no_init char flag @ ...;при старте бутлоадера проверяете сначала флаг причины перезагрузки МК (искать где он нужно в даташите), если сброс был не по причине внутреннего WDT - передаёте управление в основную прогу. Если причина ==
внутренний WDT и
flag != 0 - прошиваете прошивку и
flag = 0.
В основной программе объявляете:
char flag @ ...;А когда нужно обновить прошивку делаете
flag = 1 и вызываете срабатывание внутреннего WDT.
Всё.
PS: И я бы лучше указал имя определённой секции (в тех местах где
...), а не абсолютный адрес. А эту секцию в .icf смаппировал на нужный адрес. И в основной программе и в бутлоадере.