Цитата
Не знаю как делает Кейл (а вам влом посмотреть листинг?), я копирую заодно с инициализированными переменными.
В IAR я тоже все руками делал, правда для 7 арма, а тут кортекс и с кейлом разленился.
Цитата
До перехода на main(). Поинтересуйтесь, например, содержимым InRoot$$Sections.
Поглядел что на векторе ресета инициализация клоков и переход в маин. 2 функции вызываются одна за другой.
Код
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT SystemInit
IMPORT __main
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
я не против того что и как по секциям линкером распределено, но когда питание выключено оно все во флэшке, а потом должно в рам перелезть, и вот в какой момент что-то я в замешательстве.
UPD.
отгадка в том что __main - это не main? ну да там же и все копировщики и инициализаторы вызываются, но текст их не доступен... означает ли что если я делаю файл для линкера руками, то я должен и руками все эти копировщики поправить, а то беда может быть.