了解更多关于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 和上一篇博文《

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-22
  • 2021-09-05
  • 2022-12-23
  • 2022-12-23
  • 2021-11-17
  • 2022-12-23
猜你喜欢
  • 2021-06-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-21
相关资源
相似解决方案