浅浅理解FBL

我觉得理论知识在网上都可以搜到,我也不复制粘贴了,下面内容都是我自己的理解,如有错漏,可以直接评论指正,感谢各位。

一、什么是FBL?

我理解的就是在boot中发送请求,在特定的地址(APP段)写入数据,然后板子就有程序,能用了。

我现在接触的项目,boot是需要烧录器刷上的。至于boot存在的意义,我理解是板子上有个东西能响应诊断帧,不然板子是空的,上位机发送请求谁来响应你?(当然你可以给boot做一个boot就无限嵌套了,我认为没啥意义)

二、FBL的流程

FBL我认为基本由3个部分组成

1.编程前(进入boot)

读取当前版本,预编程条件检查,27解锁都可以归类在这里

2.编程中(34、36、37service刷写)

    这一步是FBL的主体了,34请求下载的地址和长度,36发送下载包,37请求退出,这个顺序不变。

一般整个流程中会看到两次这个大的整体,一个是刷写FlashDriver,一个是刷写APP。

至于添加一些验签、依赖性、完整性之类的31service例程检查,每个整车厂的定义不一样。

3.编程后

下载完成后,一般会用11 01硬件复位,然后读取刷写后的版本,看看下对了没有。

三、为什么要做FBL

如果boot没有大问题,整车厂会统一刷一遍软件装车。以后若有什么版本更新,可以直接使用上位机下载,当然你也可以用烧录器,但是零部件一般都封盒安装在车子里了,烧录得把件拆出来,要是大厂卖了很多车,要更新一次工作量可想而知。

还有OTA刷写,这一块我也刚接触,了解的不多,后续有深入理解,我可以另写一篇。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值