PIC16和PIC18的串口Bootloader

2020-02-06 10:08发布

Microchip的AN851和AN1310两个应用笔记里提供了2个通过Bootloader实现串口下载程序的解决方案。AN851看样子只是一个简单的演示,仅支持PIC16和PIC18的部分单片机,上位机程序不完善,Bootloader方面因为占用了前512byte空间,Reset Vector和中断向量都要重映射,所以要使用特殊的Linker Script文件,且中断响应要延迟2个周期。

相对而言,AN1310提供的方案就完善多了,几乎所有支持FLASH self-program功能的PIC16、PIC18单片机都可以使用这个方案。AN1310的Bootloader放在FLASH的末尾,通过向0x0000写一个GOTO语句跳转到Bootloader,中断向量并不受影响。

Bootloader在FLASH的位置

启动时,如果RX脚检测到低电平则进入Bootloader模式。

具体支持的器件可以看Firmware源代码目录下的devices.inc文件。我在PIC18F6720上测试成功。


PC端程序的截图,可以看到支持写配置位和EEPROM


AN1310的PC端程序、Firmware及源代码 点击此处下载 ourdev_595373G1F54I.zip(文件大小:4.01M) (原文件名:Serial Bootloader AN1310 v1.04.exe.zip)
AN1310 点击此处下载 ourdev_595374LF8DNM.pdf(文件大小:482K) (原文件名:01310a.pdf)

AN1310有中文的文档,但是今天不知道为什么下不了。

另外,Microchip网站上还有A Serial Bootloader for PIC24F Devices(AN1157),Bootloader for dsPIC30F/33F and PIC24F/24H Devices(AN1094)。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
34条回答
tony117119
2020-02-09 17:56
本帖最后由 tony117119 于 2014-1-20 08:49 编辑

AN1310不支持PIC16F946是什么原因,其它MCU都可以的
具体请看附件PDF PIC16F946自举程序问题.pdf (122.19 KB, 下载次数: 27) 2014-1-20 08:49 上传 点击文件名下载附件

一周热门 更多>