2012-06-22 3 views
0

Я использую MPLAB X (иногда MPLAB 8), и я получаю некоторый проект для завершения. У меня есть эти HEX файлы:Microchip: Как загрузить более одного HEX-файла в MPLAB X

  • bootloader.hex
  • magic_flag.hex

Загрузчик загружается из адреса 0x0 в 0x7FF. Флаг магии имеет позицию в адресе 0x40 (так что в области загрузчика).

И теперь мне нужно настроить проект в MPLAB X, чтобы загрузить все (загрузчик + magicFlag + приложение). Можно загрузить загрузчик, а затем magicFlag, а затем настроить сохраненную флеш-память и работать с приложением и загружать только область приложения (от 0x800 до 0xFFFF), но мне это не очень удобно. Например, когда я работал с Freescale с помощью WinIDEA IDE от iSYSTEM, я смог установить много файлов SX для загрузки, очень просто, быстро и работал. Но когда я пытаюсь его с MPLAB XI всегда получаю ошибку:

(944) data conflict at address 0h between appl.hex and bootloader.hex.

Что я пробовал:

  • файлы для загрузки настройки в свойствах проекта (раздел Загрузка) диапазон памяти
  • настройки в свойствах проекта (раздел ICD 3)

Но я считаю, что это не проблема с загрузкой ICD 3. Поскольку ошибка возникла во времени, когда MPLAB X создает унифицированный шестнадцатеричный файл.

И представьте себе, это моя часть линкера:

CODEPAGE NAME=BootResetVec START=0x000    END=0x007   PROTECTED 
CODEPAGE NAME=BootHighISR START=0x008    END=0x017   PROTECTED 
CODEPAGE NAME=BootLowISR START=0x018    END=0x029   PROTECTED 
CODEPAGE NAME=TRMAGIC  START=0x040    END=0x07F   PROTECTED 
CODEPAGE NAME=BootLoader START=0x080    END=0x07FF  PROTECTED 

CODEPAGE NAME=page   START=0x800    END=0x7D7F 
CODEPAGE NAME=debug  START=0x7D80   END=0x7FFF  PROTECTED 

Я напоминание, что это не только мой проект и просто Загрузчик с magicFlag и у меня есть только исходный код из заявл. Конечно, будет лучше иметь исходный код загрузчика с помощью приложения в одном проекте.

Итак, MPLAB X убивает меня, пожалуйста, помогите мне :-)

ответ

0

Вы не можете загрузить два приложения в адресное пространство памяти же! Вам необходимо перекомпилировать приложение magic_flag на более высокий адрес, чем вы можете объединить оба в программе FLASH-памяти. Linker не может сделать это вместо вас. :)

+0

Неправильно, см. Http://www.microchip.com/forums/m716681.aspx –

Смежные вопросы