您好!
我´m´m 一个具有 OTA 功能的引导加载程序、因此我需要对主程序的链接器文件进行配置、使其适合引导加载程序的时隙(0x40000/256KB)、这远远超出了我的需要(大约74KB) 但为了发展未来的理由 if (如果更多的特征在以后添加)。
当我将大小从正常配置0xB000000000/704Kb 减小到0x40000时、问题就出现了、然后进行调试时 、我发现 RF_PARAMS_INIT (&rfParams)负责将我带入 FaultISR 条件、但是、在较大的大小下不会发生这种情况。
´m 我注释掉所有与无线电相关的内容、那么该程序凭借较小的闪存大小不会崩溃、即使将其加载到引导加载程序插槽中、我也能够使其正常工作。
有任何帮助吗? 对我来说、仅当无线电以某种方式受某些闪存区域或大小限制时才有意义。 此外、提供 FaultISR 故障排除指南也会很好。
。
#define BOOTLOADER //which sector will we use #define PRIMARY_SECTOR //#define SECONDARY_SECTOR //size of the programs #ifdef BOOTLOADER #define PROGRAM_SIZE 0x40000 #define HDR_SIZE 0x80 #define TRAILER_SIZE 0x700 #ifdef PRIMARY_SECTOR #define FLASH_BASE HDR_SIZE #define FLASH_SIZE PROGRAM_SIZE-HDR_SIZE-TRAILER_SIZE #else #define FLASH_BASE PROGRAM_SIZE+HDR_SIZE; #define FLASH_SIZE PROGRAM_SIZE-HDR_SIZE-TRAILER_SIZE #endif #else #define FLASH_BASE 0x00000 #define FLASH_SIZE 0xB0000 #endif
此致、Javier