下面对PIC BootLoader的关键技术进行回顾:

1、地址分配:

BootLoader在ROM的前端,APP在ROM的后端,因为Bootloader要接管中断向量

PIC18F66K80 Bootloader程序

 

 

PIC18F66K80 Bootloader程序

在APP中将BootLoader部分保留

PIC18F66K80 Bootloader程序

2、中断重映射

Bootloader中中断向量要重映射,判断是否在Bootloader中执行,然后执行不同的中断服务函数。

PIC18F66K80 Bootloader程序

Boot中中断执行标志设置

PIC18F66K80 Bootloader程序

App中中断执行标志设置

PIC18F66K80 Bootloader程序

3、注意事项

注意PIC单片机的指针区分ROM指针和RAM指针。

U8 * 和 const rom U8 *

const U8 TestData[16]默认编译器放在RAM区。const rom U8 TestData[16]则放在ROM区。

调试时,FLASH编程后,数据区并不自动更新,必须回读才能更新。

PIC18F66K80 Bootloader程序

参考文档:

PIC18F66K80 Bootloader程序

 

PIC18F66K80 Bootloader程序

 

历时三周终于搞定了四个程序,一个Bootloader,两个APP,一个上位机升级程序。(上位机==》主MCU ==》PIC,通过CAN升级从PIC单片机)

有问题去英文网站搜索,大牛很多。

 

 

 

相关文章: