各位大佬,请帮忙看看,我使用的LPC2214: 如分散加载文件如下: LR_IROM1 0x0000B000 0x00040000 { ; load region ER_IROM1 0x0000B000 { ; load address = execution address *.o (RESET, +First) * (+RO) } RW_IRAM1 0x80000000 0x00080000 { ; RW data * (+RW +ZI) } } 程序启动代码如下: AREA RESET, CODE, READONLY ARM Vectors LDR PC, Reset_Addr LDR PC, Undef_Addr LDR PC, SWI_Addr LDR PC, PAbt_Addr LDR PC, DAbt_Addr NOP ; Reserved Vector LDR PC, [PC, #-0x0FF0] ; Vector from VicVectAddr LDR PC, FIQ_Addr
Reset_Addr DCD Reset_Handler Undef_Addr DCD Undef_Handler SWI_Addr DCD SWI_Handler PAbt_Addr DCD PAbt_Handler .... 并为armlinker设置如下参数: --entry=0xB000 问题如下: 可见程序的存储地址和执行地址都处于内部Flash. 而程序运行时,如何将程序的中断处理部分映射到0x00000000处? 而LPC2214都不支持对0x0000B000的地址进行映射. 请各位老大帮忙解释一下. |