PIC16 bootloader之SPI bootloader

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

  PIC16 bootloader之SPI bootloader, 是使用SPI通信接口的SPI bootloader。由于电脑只有USB接口,所以需要用USB-to-SPI的适配器来转发数据,将电脑端的数据转发到PIC16单片机,或者将PIC16单片机的数据转发到电脑。系统接线图如下:

  PC端运行的上位机程序,和上一篇博文中介绍到的上位机程序是同一程序,目前最新版本是V3.0。上位机使用时,需要选择SPIM端口,Bit Rate选择125KHz,模式选择1,片选选择Low有效。见下图:

  USB-to-SPI适配器,我使用的是Microchip的PICKit Serial 这个工具。我是在MicrochipDirect上面买的。官网可以下载它的使用说明和API。我的上位机就是直接调用它的API。

  PIC16 SPI bootloader 是使用XC8 v2.20和MPLABX v5.10开发的。PIC16 SPI bootloader 是一个工业级的bootloader。 bootloader 的位置是在code flash的底部,application 的位置是在code flash的头部。bootloader 没有使用中断,application 可以使用中断,但是不需要偏移,因为这种设计就是为了让新手也可以很轻松地使用bootloader升级,不需要考虑偏移。开发这个bootloader时,使用的硬件是PIC16F1937,当时我对Memory map的设计如下:

  PIC16 SPI bootloader 和PIC16 UART bootloader 一样软件架构也是分三层,应用层和驱动层完全分离,如果换用其他芯片,移植非常容易。软件架构见下图:

  PIC16 SPI bootloader 的使用和PIC16 UART bootloader 的使用基本相同。使用PIC16 SPI bootloader 升级应用程序时的整个过程,我录制了一个视频,大家又兴趣,可以点击链接进去瞧瞧:工业级SPI接口PIC16 Bootloader 应用程序升级视频-科技-高清完整正版视频在线观看-优酷 (youku.com)

posted @ 2021-05-02 23:37  GeekyGeek  阅读(376)  评论(0编辑  收藏  举报