为了以后项目升级方便的需要,在原始程序添加CanBoot下载功能;
1、 把Bootloader安排在高地址区间 (比如0xEE00~0xFFAF),然后固化NVC寄存器的值,将这块Flash区域保护起来;
2、中断向量的搬移,将原来0xFFC0所对应的中断向量搬移到0xEDC0;
1、 把Bootloader安排在高地址区间 (比如0xEE00~0xFFAF),然后固化NVC寄存器的值,将这块Flash区域保护起来;
2、中断向量的搬移,将原来0xFFC0所对应的中断向量搬移到0xEDC0;
Bootloader的代码无非就是启动、查找用户程序入口,跳转至用户程序,从用户程序跳转至bootloader,与上位机通信(UART或者CAN),擦除Flash,写入Flash等功能;
具体操作就是修改两部分;
1、修改Project.prm文件,重新划分分区。我划分的分区如下所示:
SEGMENTS /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */
Z_RAM