了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序)。
PIC18 CAN bootloader 是元旦前几个星期就完成了, 但是由于一直忙, 所以直到现在才有时间整理并介绍给大家。 PIC18 CAN bootloader 和 PIC18 UART bootloader 的软件架构非常相似,都是三层架构,不同之处就是UART driver被替换成CAN driver。 CAN driver 的实现参考了Microchip的应用笔记AN738。三层架构如下:
PIC18 CAN bootloader的上位机是zFlash。 zFlash是一款Windows程序,我使用C#语言和Visual Studio 2013 开发的这款强大的bootloader 上位机。 zFlash一直在更新。从最开始只支持UART bootloader, 接着支持SPI bootloader, 然后支持I2C bootloader。 现在zFlash支持CAN bootloader。 zFlash上位机和bootloader 之间的通信采用自定义协议。 zFlash的界面如下:
zFlash和CAN bootloader之间是通过我自己开发的一个CAN 总线分析仪Z-Box CAN。他们之间的连接如下图:
PC上运行在zFlash, USB-2-CAN是CAN 总线分析仪Z-Box CAN。用户板上烧录了CAN bootloader。我的用户板上面的芯片是PIC18F25K80,是美国Microchip的一款带有CAN controller的8-bit 单片机。
Z-Box CAN 是一款强大的CAN 总线分析仪,其金属外壳一边是方形USB 口通过USB线连接电脑,一边是DB9口连接CAN bus。内部是进口芯片,信号有隔离。可以安全可靠地工作在复杂的工业场所,或用来分析汽车上各ECU之间的CAN 总线。Z-Box CAN外形方正,非常漂亮,并且有质感。见图:
Z-Box CAN最强大的地方是busmaster 支持它。busmaster(又称博世总线大师)是一种开源软件工具,用于模拟,分析和测试CAN / LIN总线系统。 它支持DBC,CAPL语言,节点模拟,自动测试, C语言脚本,log保存等等强大的功能。我在其开源代码的基础上进行添加,使其可以识别并连接我开发的Z-Box CAN。打开bumaster我的版本,找到Driver Selecion,选择Z-Box CAN,点击Connect, 既可以开始愉快的使用了。