objcopy для pic30 / xc16 - где найти, аналоги - PullRequest
0 голосов
/ 27 июня 2018

Я работаю с автономным проектом на PIC24, для которого требуется загрузчик, и я хочу отладить его с помощью загрузчика. Я могу создать файл .hex, который содержит код приложения с загрузчиком, регистрируя пользовательский сценарий, который выполняется после компиляции.

Если я сейчас выберу «Запуск основного проекта отладчика» в меню, отладчик обычно выполняет сводный код и даже достигает запуска приложения, но не отображает отладочную информацию, поскольку она не содержится в файле .hex. Но если я выберу «Debug Main Project», отладчик загружает .elf-файл, который содержит отладочную информацию, но не содержит код загрузчика вместо созданного .hex-файла.

Есть ли способ заставить отладчик загружать отладочную информацию из одного файла и исполняемый код из другого файла? Или есть способ добавить раздел в скомпилированный файл .elf или полностью заменить код в нем? Утилиты objcopy нет ни для pic30, ни для xc16, есть ли аналоги?

Это картинки на вопрос:

[1] https://s15.postimg.cc/59jynpikr/2018-06-27-0001.png

[2] https://s15.postimg.cc/kv1a7q7ej/2018-06-27-0002.png

[3] https://s15.postimg.cc/idpj0hid7/2018-06-27-0003.png

[4] https://s15.postimg.cc/8t5wdm0qz/2018-06-27-0004.png

[5] https://s15.postimg.cc/np4fl7rl7/2018-06-27-0005.png

[6] https://s15.postimg.cc/xz6ukgwwb/2018-06-27-0006.png

[7] https://s15.postimg.cc/bn91r35i3/2018-06-27-0007.png

1 Ответ

0 голосов
/ 03 августа 2018

Когда два HEX-файла объединяются с описанным вами методом, вся символическая отладочная информация теряется.

При запуске сеанса отладки из MPLABX загружается объединенное изображение, но для сеанса отладки загружается только символическая информация из «активного» проекта.

Обходной путь заключается в создании «специального» проекта, который собирает как загрузчик, так и приложение, поскольку один HEX-файл помещает всю символическую информацию в одно пространство имен.

Это, как правило, сложно, и требует создания файла сценария пользовательского компоновщика.

...