BOOT Block是芯片设计厂家在LPC2000系列ARM内部固化的一段代码,它在芯片复位后被首先运行,其功能主要是判断运行哪个存储器上的程序、检查用户代码是否有效、判断芯片是否被加密、芯片的在应用编程(IAP)以及在系统编程功能(ISP)。这其中有些程序是可以被用户调用的,比如擦写片内FLASH的IAP代码。为了增加用户代码的可移植性,所以最好能把BOOT Block的代码固定在某个地址上。但是因为各个芯片的片内FLASH大小不尽相同,如果把BOOT Block的地址安排在片内FLASH结束的位置上,那么就无法实现BOOT Block地址的固定。所以芯片生产商就把BOOT Block的地址重映射到片内存储器空间的最高处,即接近2G(0x80000000)的地方,这样无论片内存储器大小如何,都不会影响BOOT Block的地址。可以让包含有IAP操作的用户代码,不用修改IAP操作地址,就可以在不同的LPC2000系列ARM上运行。
文章评论(0条评论)
登录后参与讨论