FBL入门与实践系列
文章平均质量分 92
FBL是一个可以通过CAN、LIN或者以太网等接口刷新ECU程序的软件,是为了方便程序升级、数据更新和程序加载而设计的。
优惠券已抵扣
余额抵扣
还需支付
¥129.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
诊断协议那些事儿
诊断开发工作者
展开
-
汽车FBL概述
汽车ECU软件开发一般分为2个工程:应用工程和Bootloader工程。应用工程主要实现ECU的应用功能,Bootloader工程主要实现软件更新刷写的功能。在汽车行业的实际应用中,以刷写更新软件为目的的Bootloader在汽车行业就被广泛称之为Flash Bootloader(FBL)。FBL是一个可以通过CAN、LIN或者以太网等接口刷新ECU程序的软件,是为了方便程序升级、数据更新和程序加载而设计的。原创 2023-10-22 21:59:51 · 1427 阅读 · 0 评论 -
ICP、ISP及IAP烧录介绍
IAP技术的核心在于Bootloader程序的设计,这段程序预先烧录在单片机中,正常的APP程序可以使用Bootloader程序中的IAP功能写入,也可以两部分代码一起写入,以后需要程序更新时通过IAP进行代码更新。原创 2024-06-22 20:38:22 · 145 阅读 · 0 评论 -
为什么需要Bootloader
Bootloader,又称为引导程序,对操作系统非常重要,是计算机和汽车控制器的一个关键组成部分。然而,因为它往往在后台发挥作用,它经常被忽视。其主要用于软件更新。但ECU的软件更新方式有很多,比如通过JTAG调试更新软件,为什么要Boot呢?由于ECU软件中难免会有BUG存在,以及要满足整车OTA需求,必须可以在不开盖的情况下更新软件。而ECU控制器对外的接口通常只有总线、电源和控制IO等。出于最大化复用接口(减少线束的重量和成本)考虑,通常采用基于UDS的Boot,而最常用的总线为CAN。原创 2023-12-15 21:36:20 · 205 阅读 · 0 评论 -
BootLoader-UDS刷写流程总述
Bootloader是所有支持重编程的ECU必须具备的软件功能,在ECU运行过程中,执行的是应用软件和应用数据,仅当应用软件或应用数据无效或者上电之初,或者要求对其进行升级或特殊测试的时侯,才会运行Bootloader软件。应用软件和应用数据、标定数据、网络配置数据可以同时编程或者相互独立编程,通常在ECU在刷入bootloader后,bootloader是无法再次更新的,除非拆件,不过现在这越来越多的主机厂要求Bootloader也要支持刷写。原创 2023-11-19 12:12:29 · 1017 阅读 · 0 评论 -
Bootloader——预编程流程
刷写准备阶段需要确认待刷写控制器的相关版本信息, 设置刷写网络等。这个阶段在整车各个控制器的应用程序中执行, 此阶段, 使用功能地址向网络上的各控制器发出诊断请求进行网络设置。原创 2023-11-19 12:41:57 · 644 阅读 · 0 评论 -
Bootloader——安全机制
为避免上述安全机制,传统的UDS升级涉及了一套较为完整的流程。同时ISO14229也在不断更新,如目前增加29服务替代27服务,使用非对称算法,安全性能够得到很大的提升。即使算法泄露,也不会造成影响。原创 2023-11-19 11:40:03 · 230 阅读 · 0 评论 -
UDS系列-31服务(Routine Control)
客户端使用 RoutineControl(例程控制)服务执行指定的步骤顺序并获取任何相关结果。该服务具有较大的灵活性,但一般应用可以包括清除内存、重置或学习白适应数据、运行白检、覆盖正常的服务器控制策略和控制服务器值随时间而变化,以及预定义序列(如关闭敞篷车顶)等。在一般情况下,将该服务用于控制输出时,该服务可用于更为复杂类型的控制,而 inputOutputControlByldentifier (按标识符的输入输出控制)却用于相对简单(如静态)的输出控制.原创 2023-06-18 13:19:06 · 2859 阅读 · 0 评论 -
UDS服务——RequestDownload(0x34)
0x34请求下载服务(Request Download),客户端使用请求下载服务启动从客户端到服务器的数据传输(下载)。在服务器接收到requestDownload请求消息后,服务器应在发送积极响应消息之前采取所有必要的操作来接收数据。本服务没有子服务。原创 2024-06-22 11:42:42 · 168 阅读 · 0 评论 -
UDS服务——TransferData (0x36)
0x36服务就是用来传输数据的,当执行了请求下载服务(0x34)或请求上传服务(0x35)时,就会用到0X36服务。数据传输的方向由请求下载服务(0x34)或请求上传服务(0x35)决定,如果客户端发起了请求下载服务(0x34),数据传输方向为客户端到服务器,要下载的数据包含在0x36服务请求消息中的参数transferRequestParamete中;原创 2024-06-22 11:43:35 · 188 阅读 · 0 评论 -
UDS服务——RequestTransferExit(0x37)
这个诊断服务是客户端用来终止客户端和服务端之间的数据传输(上传或下载)。一般是配合0x34,0x36服务使用,主要用于UDS升级。也会用于0x35服务请求上传服务的请求传输退出,但实际项目中一般用不到0x35服务,此处就不做详细介绍。有一点需要注意,就是36服务传输的数据是反的。如果是执行了请求下载服务0x34,那传输的数据是在36服务的请求消息参数中;如果是执行了请求上传服务,那传输的数据是在36服务的响应消息参数中.本服务没有子服务。原创 2024-06-22 11:43:09 · 496 阅读 · 0 评论 -
hex、bin、elf、s19等文件格式介绍以及格式转换
编译器或汇编器将程序的源代码(例如C或汇编语言)转换为机器代码,并将其输出到一个文件中。然后,这个文件由程序员导入,以将机器代码“烧录”到ROM(或Flash Memory)中,或传输到目标系统以进行加载和执行。这个存放机器码的文件就是烧录文件,它是用来烧录到微控制器(如MCU、EEPROM、NOR/NAND Flash等)里面的flash memory里面的一个程序文件。烧录文件可以有很多种格式,如bin、hex、elf、s19这几种格式的文件很常见。原创 2024-06-24 21:14:10 · 280 阅读 · 0 评论 -
Flash页、扇区、块的区别
FLASH 存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM 的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。原创 2024-06-21 13:28:43 · 132 阅读 · 0 评论