zoukankan      html  css  js  c++  java
  • C语言NXP S32K116 serial bootloader和C#语言bootloader PC端串口通信程序

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader)

    欢迎咨询或定制bootloader(在线升级程序)。

            上一篇博文介绍的NXP S32K116 serial bootloader, 由于上位机不是专门的bootloader上位机,没有通信协议,没有应答机制,所以严格意义上讲,只能用于学习或研发阶段使用,是不可以用于量产产品上。一些客户看到我的博文,联系上我,说他们也有产品用到NXP 这款芯片,让我做一个可靠性高的,可以用于量产产品上的S32K116 bootloader。为了响应客户的要求,我重写Bootloader程序并命名为S32Boot_S32K116, 并用C#写了专门的上位机。上位机和S32Boot之间交互有了通信协议。上位机按照通信协议发送指令和数据,S32Boot接收到数据后,解析数据,完成烧写,成功则返回ACK (0x15), 出错则返回NACK (0x51)。通信协议的指令如下:

                    0x6F:    HAND_SHAKE (握手,或叫更新请求)

                    0x02:     WR_MEM    (Flash 烧写)

                    0x03:     ER_MEM    (Flash 擦除)

                    0x04:     VF_MEM     (Flash 验证)

                    0x1F:    RUN_APP    (跳转到application)

           S32K116板子启动后运行在S32Boot模式,S32Boot初始化完成后,开始数秒,1秒内收到更新请求就停留在S32Boot, ACK 应答。 超时就检查Appilcation的有效性,成功就跳转到Application,出错就重启。接收擦除指令,完成擦除,成功就ACK应答,否则NACK应答。接收烧写指令,完成烧写,成功就ACK应答,否则NACK应答。最后是跳转指令,成功就跳转到Application,否则就重启。

           S32Boot和Application的Memory map 和上一篇博文《自己用C语言写NXP S32K116 serial bootloader》介绍的memory map 是一样,这里就不重复介绍。但是由于有专门上位机的原因,S32Boot_S32K116的实现方式和HyperBoot_S32K116有很大的不同。它的实现逻辑如上面所讲,就是接收指令及指令后面的数据,包括地址数据和BIN数据。然后执行指令。

          今天主要想介绍我用C#写的专门的上位机,我为其取名为s32Loader,整个用户界面虽然不是很漂亮,但是很简洁。如下

      s32Loader可以自动识别所有可用的串口端口,点击下拉框选择要用的端口,baud rate默认是19200,因为这是我的Uart Bootloader使用频率最高的baud rate, 也可以从下拉框中选择9600,38400, 115200等其他baud rate. 前提是要和Bootloader的baud rate保持一致。点击“浏览”选好要烧写的application hex 文件。最后点击“Start” 后,立马reset 硬件板,即可完成Application 的升级。有进度显示。100%完成后Log窗口会出现“Programming done"文字。

  • 相关阅读:
    LeetCode 669. 修剪二叉搜索树(Trim a Binary Search Tree)
    LeetCode 872. 叶子相似的树(Leaf-Similar Trees)
    LeetCode 513. 找树左下角的值(Find Bottom Left Tree Value)
    LeetCode 223. 矩形面积(Rectangle Area)
    LeetCode 704. 二分查找(Binary Search)
    LeetCode 74. 搜索二维矩阵(Search a 2D Matrix)
    LeetCode 240. 搜索二维矩阵 II(Search a 2D Matrix II) 37
    Html5 Css实现方形图片 圆形显示
    css 图片 圆形显示区域
    Visual Studio常用的快捷键
  • 原文地址:https://www.cnblogs.com/geekygeek/p/s32k116bootloader.html
Copyright © 2011-2022 走看看