专栏首页嵌入式程序猿基于J1939的bootloader

基于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都可以。

本文分享自微信公众号 - 嵌入式程序猿(InterruptISR),作者:武国平

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这个bootloader适合你

    bootloader 在正式的产品中是一个不可或缺的功能,而NXP针对kinetis系列开发的通用bootloader是一个不错的选择,目录结构

    用户1605515
  • Bootloader需要你的精心设计

    嵌入式产品,我们一般都需要一个bootloader来更新固件和修复bug,一般常用的接口有,UART, CAN, USB, Ethernet,有的还有无线接口,...

    用户1605515
  • 基于CAN的bootloader在KEAZ系列上的移植

    在实际的工程和产品开发中,我们需要更新产品的程序,这时候就需要产品具备bootloader引导程序功能,而嵌入式中常用的接口有基于UART,CAN,IIC,SP...

    用户1605515
  • Metrics Server 部署

    从Kubernetes 1.8开始,资源使用指标(如容器 CPU 和内存使用率)通过Metrics API在 Kubernetes 中获取, Metrics S...

    YP小站
  • 入门Salt - 基本安装和设置

    原文地址:https://www.linode.com/docs/applications/configuration-management/getting-...

    良莉
  • 软件安全策略分享

    我想作为一个信息安全从业者,无论是在渗透测试、代码审计亦或是其他安全服务中都会接触到各种各样的漏洞。把这些漏洞进行简单分类可能能够得到几十类漏洞,当然几乎所有的...

    FB客服
  • 近 3 年常考的 Spring 面试题及答案

    Spring 配置文件是 XML 文件。该文件主要包含类信息。它描述了这些类是如何配置以及相互引入的。但是,XML 配置文件冗长且更加干净。如果没有正确规划和编...

    好好学java
  • 49个Spring经典面试题总结,附带答案,赶紧收藏

    Spring 配置文件是 XML 文件。该文件主要包含类信息。它描述了这些类是如何配置以及相互引入的。但是,XML 配置文件冗长且更加干净。如果没有正确规划和编...

    李红
  • Spring 面试问题 TOP 50

    Spring Framework 现在几乎已成为 Java Web 开发的标配框架。那么,作为 Java 程序员,你对 Spring 的主要技术点又掌握了多少呢...

    方志朋
  • 面试必备:Spring 面试问题 TOP 50

    Spring Framework 现在几乎已成为 Java Web 开发的标配框架。那么,作为 Java 程序员,你对 Spring 的主要技术点又掌握了多少呢...

    搜云库技术团队

扫码关注云+社区

领取腾讯云代金券