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