1 存储器重映射机制
LPC2468系列芯片都存在存储器地址重映射的情况。LPC2468内部含有一个BOOT ROM,地址固定在整个存储器空间的最高地址0x7fff_ffff,其中含有异常向量表和某些用户会使用的功能性二进制代码。LPC2468中的存储器映射控制寄存器MAMMAP负责选择将BOOT ROM中的代码映射到片内512K Flash、片内SRAM或片外Flash Bank0之一。
BOOT ROM地址固定原因是不同芯片的片内Flash大小不同,所以若要调用BOOT ROM中的代码可以由厂商一次性编译后烧写到BOOT ROM中,然后通过MAMMAP的选择将代码映射到不同的存储区上,这样当用户访问被映射的存储区时就相当于访问BOOT ROM中的对应代码,访问异常向量表的情况与此相同。
2 芯片启动过程
LPC2138上电复位,处理器核将PC置为0,选择执行地址0x0000_0000处Flash中的代码,但MAMMAP默认置为00,即BOOT LOADER模式,该模式将BOOT ROM中的异常向量表映射到0x0000_0000处,程序转而执行BOOT ROM中的异常向量表处理程序,并由BOOT ROM中的代码决定接下来的程序执行流向。
参考文件:
阅读(2382) | 评论(0) | 转发(0) |