BOOTBLOCK是开机后第一次运行的程序,查阅很多资料多做如下说明:
芯片中的BOOTBLOCK不能放在FLASH的头部,因为那要存放用户的异常向量表的,以便在运行、中断时跳到这来找入口,所以BOOTBLOCK只能放在FLSAH尾部才能好找到,呵呵。而ARM7的各芯片的FLASH大小又不一致,厂家为了BOOTBLOCK在芯片中的位置固定,就在编址的2G靠前编址的位置虚拟划分一个区域作为BOOTBLOCK区域,这就是重映射。
本人对这个问题有些不了解:
1》对于很多芯片,没有片内FLASH的,例如LPC2210,2214系列,那么这种映射难道不能进行?
2》这种映射有什么作用,BOOTBLOCK是复位运行的程序,我估计也就一次使用,放入FLASH后有什么作用呢?难道系统加电,和系统复位有区别吗?以便于复位后系统可以更加快速的启动码?
3》对于ARM存储器重新映射,是否是要有实实在在的存储器存在,还是只是虚拟的划分?如果是虚拟的划分,那么这样对BOOTBLOCK映射又有什么意义呢?
谢谢,各位高手的回复,期待您的回复。 |