Перейти к содержанию
    

rud0x1

Новичок
  • Постов

    3
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. IAR, например, по умолчанию, не будет заполнять неиспользуемые адреса. Надо зайти в св-ва проекта -> Linker -> Checksum и поставить галку "Fill unused memory".
  2. Если в IAR'e, то: Можно заполнить неиспользуемое место каким-нить байтовым шаблоном. И прошивка получится во всю flash. Можно прямо в программме задать массив, инициализированный всяким мусором, а не одним и тем же шаблоном. по-моему это директива __root. Посмотреть все, что натворил линкер (сколько места занимает прошивка, адреса) можно в .map файле, только нужно указать линкеру, что он должен создать такой файл.
  3. Здравствуйте. Правильно ли я понимаю, что для F5529, в котором есть remapping таблицы векторов в RAM,я могу сделать следующее: 0. Сначала, через JTAG, в контроллер заливается bootloader. 1. Все вектора bootloader во flash (FF80-FFFE), кроме RESET, содержат адреса функций-трамплинов: BR <адрес ф-ции обработчика в главной программе>. 2. На старте bootloader выставляет бит SYSRIVECT. Таблица векторов маппится в RAM. 3. Меняем нужные вектора в RAM на адреса обработчиков bootloader, которые во flash, что б не бедствовать без прерываний в bootloader'е. 4. Используем прерывания в bootloader, заливаем прошивку во flash. 5. Делаем RESET через WDT из bootloader по окончанию работы.
×
×
  • Создать...