PIC16 bootloader之UART bootloader

  了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序)。

  PIC16 bootloader是在PIC16单片机上电复位时执行的一段程序。通过这段程序,可以不使用编程器,也能实现应用程序在线升级。今天要介绍的PIC16 bootloader是使用UART通信接口的UART bootloader, 也叫RS232串口bootloader。由于电脑只有USB接口,所以需要用USB-to-RS232的适配器来转发数据,将电脑端的数据转发到PIC16单片机,或者将PIC16单片机的数据转发到电脑。系统接线图如下:

                                                                                                                                                                                                                                  

  电脑要运行一个专门的上位机程序,用来加载应用程序的hex文件,设置RS232通信端口和baud rate,点击下载按钮,启动和PIC16 bootloader通信,下发应用程序数据完成应用程序升级。我的这个PIC16 bootloader 的上位机程序是使用C#和Visual Studio 2013开发的,界面如下:                                                                                                                                                                                                                                                   

  USB-to-RS232适配器在京东或Taobao上都可以买到,常见的有PL-2303 或FTDI两种类型,安装电脑驱动就可以使用。RS232 cable长度一般为1.0m~2m左右,连接到用户板的DB-9连接器。

  用户板就是PIC16单片机的目标板,用户板需要烧写好PIC16 UART bootloader固件。我的PIC16 UART bootloader软件分三层,应用层,中间层,和驱动层,软件架构如下:

                                                                                                                                                                                                                 

  这个PIC16 UART bootloader和之前写的bootloader相比有四个特色。第一个特色是它分层比较清晰,应用层和驱动层有隔离,方便移植。移植到PIC18,PIC24, PIC32非常地快,即使移植到非PIC的芯片也很容易。第二个特色是它是为工业级产品开发的,是一款工业级的bootloader。 PC端host程序发送的每一帧数据都带checksum。UART bootloader接收数据,解析数据,烧写数据,烧写完会读出来作比较,所有的这些动作的结果会反馈到PC端的上位机程序,没有错误反馈正响应,有错误就反馈负响应。最后还会对整个过程接收到的数据作校验,从而确保数据的完整性和正确性。即使在恶劣的工业环境,也能够确保应用程序可靠地完成升级。第三个特色是PIC UART bootloader可以实时在LCD屏幕上显示应用程序升级的进度。工业产品很多都带LCD屏,利用LCD屏显示升级的进度,是我为这个UART bootloader独创的功能。最后一个特色,这个PIC16 UART bootloader是放在code flash的底部,应用程序是放在头部,这样做最大的好处是应用程序不需要做偏移,中断向量不需要重映射,就算是新手使用这个UART bootloader也丝毫没有问题。应用程序加了偏移,很多时候无法调试,需要调试就得把偏移去掉。使用这个UART bootloader就不需要这么麻烦,应用程序不需要偏移,随时都可以调试,出了问题能够方便地查找问题原因。我为PIC16 UART bootloader升级应用程序的整个过程录制了一个视频,视频的链接:工业级UART接口PIC16 Bootloader 应用程序升级视频-科技-高清完整正版视频在线观看-优酷 (youku.com)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章