ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
2 мая
890857 Топик полностью
evgeniy1294 (23.12.2018 18:12 - 18:20, просмотров: 230) ответил SciFi на Это не так делается. Нужно 2 прошивки: загрузчик и основная программа.
Да, это самый правильный вариант. Бутлоадер размещается в памяти FLASH с нулевым смещением, основная прошивка размещается в памяти со смещением. Например, первые 64 кБайта памяти отдается под загрузчик, остальное под основную прошивку. Делается все довольно тупо через тот же скрипт линкера. Для загрузчика: LR_IROM1 0x08000000 0x00100000 { ; load region size_region ER_IROM1 0x08000000 0x00100000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) .ANY (+XO) } Для прошивки (128 кБайт смещение): LR_IROM1 0x08020000 0x00060000 { ; load region size_region ER_IROM1 0x08020000 0x00060000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) .ANY (+XO) }