Не удается определить __BOOTLOADER для скрипта компоновщика PIC24FJ128GC006 - PullRequest
0 голосов
/ 28 мая 2020

Я делаю загрузчик USB для PIC24FJ128GC006 и собираюсь отобразить часть памяти fla sh для загрузчика и кода приложения. Я добавил сценарий компоновщика из загрузчика USB-устройства Microchip MLA v2015_08 в свой файл кода PIC24FJ.
В файле компоновщика __BOOTLOADER должен быть определен для доступа к адресной области 0x400.

    #ifdef __BOOTLOADER   
       program (xr)   : ORIGIN = 0x400,         LENGTH = 0x35BE
    #else
       program (xr)   : ORIGIN = 0x4002,         LENGTH = 0x117F4
    #endif

В основном. c моего кода загрузчика у меня уже есть #define __BOOTLOADER, но когда я программирую код загрузчика на PI C с помощью ICD3 и проверяю программную память с помощью PI C Memory Views панели инструментов окна MPLAB, данные записываются по адресу 0x4002, а не по адресу 0x400.
В чем может быть проблема?

1 Ответ

0 голосов
/ 28 мая 2020

Хорошо. Я решил свою проблему выше. Вы должны написать #define __BOOTLOADER в файле компоновщика, а не в main. c. Однако возникла другая проблема. На панели инструментов моего файла кода это указывает, что я использовал 97% программной памяти после определения __BOOTLOADER. Итак, мой вопрос в том, могу ли я удалить некоторые коды в файле компоновщика, чтобы уменьшить используемую программную память? Если да, то как я могу узнать, что удалить в таблицах векторов?

...