基于J1939的bootloader

在做正式的产品时候,经常我们的产品需要可以升级固件,这时候就需要bootloader引导,而在车载上,基于J1939的bootloader可靠性非常重要。要能够快速,有效且安全的更新固件。

    一般来说我们需要将flash划分bootloader区和应用程序区,还有连接区来存放一些配置,如开始地址,CRC结果,版本等。这一部分通常叫Bootloader Configuration Area(BCA)这部分通常可以放在应用程序开始的一段地址上。bootloader开始的时候会初始.data和。bss段,读取配置信息等。对跑在J1939通信上的bootloader,跟我们以前做bootloader考虑的一样,只是换了个通信方式和接口,一般情况下,如果是自定义的PGN,一般放在PGN61184用专有A来作为bootloader的参数组。

    通常我们在设备上电时候,bootloader需要检查是否存在有效的应用,如果有,那么跳转到应用程序,如果没有则开始尝试接收应用程序。并且应用程序要能够有启动bootloader的命令。

做基于J1939通信的bootloader,需要考虑三种帧来传输地址包,数据包,和命令包。通常基于其他通信的bootloader,我们也需要来考虑这几种传输,如果你对J1939协议比较清楚,应该是很容易实现的,最近我在电子发烧友学院做《带你跨越J1939通信开发之路》的直播,相信你学完后,一定可以自己做基于J1939的开发项目。有兴趣的可以去电子发烧友学院看看,微信,网页端,APP都可以。

640?wx_fmt=jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值