图解基于UDS的FlashBootLoader
略有简化的bootloader图
(资料图片)
这张图和恒润教程中的BootLoader流程大体是一致的。
疑问点
Q:图中的烧写顺序是34-36-34-36-34-36-37,但另一些材料中的顺序是34-36-36-36-37。
A:这个问题这样理解,34-36-36-36-37的前提是你要下载的数据是连续的数据,每个36所使用的地址信息,都是34中包含的地址信息再加上一定的偏移量。
如果需要下载不连续的数据,就需要重新进行34服务或31(擦除)-34服务。
1、为什么要搞Bootloader?为什么要基于UDS搞Bootloader
假如你的控制器有外壳,却没有设计bootloader的话,每次更新ECU的程序,你都需要把外壳拆开,用烧写器来更新程序。有了bootloader,你就可以通过CAN线来更新程序了。更方便些的话,甚至可以通过OTA进行远程升级。
那为什么使用UDS呢?主要是为了规范bootloader的全过程。比如烧写小明牌ECU时,我们肯定希望其他牌子的ECU处于一个静默的状态,都歇一歇,这就需要一个大家共同执行的标准来进行规范,什么时候停发数据,什么时候不能再储存DTC了等等。
又比如在调试时,大家肯定希望你的控制器经由CAN烧写的过程是大家都能看得懂的,是满足于某种规范的。由此,UDS在设计时考虑了bootloader的需求,专门为bootloader设计了几个服务,供大家使用。主机厂在发需求时自然就要求大家要在UDS规范的基础上完成bootloader功能了。
2、Bootloader应支持的UDS服务
显然bootloader不需要支持19/14等故障类服务。
在boot程序中,10/27/11/3E这样的基础诊断服务需要支持,22/2E读写DID的服务需要支持,31/34/36/37这4个bootloader主打服务需要支持,共10个。
在app段程序中,85和28服务需要支持,保证暂停CAN正常通信,暂停记录DTC,让被升级设备专心升级。
10种boot段服务+2种app段服务
3、Bootloader——三段式
(1)预编程阶段
1. 3E TP报文。
2. 10服务切换到03扩展模式。
3. 85服务和28服务,关DTC和非诊断报文。使整个CAN网络处于安静的状态。这是对整车网络进行操作的,一般都是以功能寻址的方式来发送。注意先用85服务关闭DTC,再使用28服务关报文。
(2)主编程阶段
1. 10服务切换到编程模式,这里要注意,正确的方式是App段程序回复0x78 NRC,接下来跳转到boot段程序,最后由Boot段程序来回复10 02的肯定响应。错误的方式是由App段回复10 02的肯定响应,再进行跳转。
2. 读取一个DID,tester要判断一下返回值。返回值里面可能包含密钥的一部分信息。
3. 27服务,解锁,通过安全验证。
注意10 02服务不应直接进行肯定响应,存在风险
4. 写DID指纹,标记写软件人的身份,ECU回复写指纹成功。(根据OEM要求来执行)
5. 31服务-擦除Flash。ECU肯定响应,擦除成功。
6. 34服务,请求数据下载,ECU回复确认最大块大小。
7. 36服务,开始传输数据。每个块传输完成后,ECU肯定响应。判断是否还有更多块需要下载。最多可以支持255个块。
8. 37服务,请求退出传输。ECU肯定响应。
9. 31服务-校验APP段程序,检查编程一致性/完整性。ECU肯定响应。校验成功。
10. 若有更多块需要下载,重新执行31(擦除Flash区域)-34-36-37-31(校验)服务。若无,往下执行。
11. 11服务,ECU复位。之后应直接跳转到新下载的APP段程序中。
31(擦Flash)-34-36
36-37-31(校验)
(3)后编程状态
1. 10服务切换到03扩展会话。
2. 执行28服务和85服务,使能非诊断报文和DTC。这是对整车网络进行操作的,一般都是以功能寻址的方式来发送。注意先执行28,后执行85,避免DTC误报。
3. 27服务,安全校验,准备写入数据。
4. 2E服务,将编程信息写入到ECU中。
5. 10服务,退回01默认会话。结束。
4、BootLoader的启动顺序与转换流程
以下流程仅作为参考,有很多不规范之处。欢迎大家留言探讨。
1. ECU上电或复位后,先进入Boot段。从Flash/EEPROM中读取 App有效标志,运行boot标志 。
2.判断运行boot标志,若为1,则进入Boot段的编程会话(安全等级为上锁),之后写Flash/EEPROM(不安全操作),运行boot标志清零。若S3定时器超时则退回Boot段默认会话。
3. 经过安全访问进入Level2解锁状态,开始执行App内存擦除,擦除后 App有效标志清零(不安全操作)。
4. 开始烧写。烧写成功后运行boot标志写0,App有效标志 写1。
2*. 判断运行boot标志,若为0,则进入Boot段的默认会话。
3*. 50ms后判断 App有效标志,若为1,则跳转到 App段默认会话。实现时使用汇编指令执行APP段程序;若为0,退回Boot段默认会话,且不再判断 App有效标志,不会再尝试进入App段。
4*. App段程序若收到了编程会话请求,运行boot标志写1 ,随即执行ECU复位,这样会重新进入boot段程序。
注:从BOOT跳入APP前需要判断APP的数据完整性,例如进行CRC校验。
5、问题点
Q:假如烧进去了不良App段程序,无法返回boot段程序怎么办?
A:参照电脑的开机方式,在ECU开机之后,预留很短的一段时间维持在boot状态,在这段时间内,若收到指定报文(比如,电脑是按住F8),那么就不跳转到App段了。
Q:运行boot标志和App有效标志为了安全起见,应该保存到哪里?
A:运行boot标志可以放置在RAM中,由Boot和App共用。
Q:上文图中的CAN数据实例,为什么出现了两次CRC的校验?CRC校验是对哪些数据的校验?
A:OEM不希望ECU中保存有可以擦写Flash的代码,所以BootLoader需要在烧录App之前,先把擦写Flash的代码通过UDS烧写到RAM中,烧完了之后进行一下31服务下的CRC校验。之后烧录ECU的App程序,App可能会因为地址不连续而分为很多段下载。下载完毕后需要进行总的CRC校验。不管哪次校验,CRC所校验的数据是代码的数据段,即36服务中传输的有效数据。
end
分享不易,恳请点个【再看】
标签:
相关推荐:
最新新闻:
- 图解基于UDS的FlashBootLoader
- 魂系动作RPG《艾诺提亚:失落之歌》steam页面开放
- 万代南梦宫格斗游戏新作《铁拳8》已在韩国获得评级
- 客厅尺寸决定幕布尺寸 家庭影院设计幕布的选择有何讲究
- 索尼最新PS5宣传片:第一方第三方游戏纷纷亮相!
- 一个青一个见念啥字(一个青一个见怎么读)
- 盘点中国超音速反舰导弹,个个都是航母杀手,美军深感恐慌和无奈
- 国际左撇子日 | 这些左撇子的烦恼你知道吗?
- 浙江省政府联合阿里发布政务钉钉,改变公务员传统工作方式
- 引领山西高端装备制造业发展
- 三星Galaxy S24系列已进测试阶段 明年3月发布
- 华晨宝马召回iX3电动汽车 共7台 含组合充电单元
- iPhone 15四大升级曝光:高配版热门
- 苹果新专利:手表能操控Mac和Apple TV
- 年内公募基金公司高管变更达221人次
- 福州拟选拔引进优秀教师 最高可获80万元配套补助
- 《尸体派对2:Darkness Distortion》公开 2024 年发售
- 合武高铁湖北段补充定测启动,年内将开工
- “钢需”企稳可期!三季度钢厂利润或改善
- 头发剪太短抑郁了(短头发怎样快速变长)
- 暴雨黄色预警:12省区市部分地区有大到暴雨
- C罗2-1夺冠后!梅西有压力了,下场将对阵东部前三,不赢就出局
- 犹豫不决时AI帮你做决策!DeepMind让AI更懂人类思维
- 车评头条:售69.8万 揽胜极光熠动限量版8月1日上市
- 美亚光电董秘回复:谢谢提问。根据中登结算公司下发的相关文件,截至8月10日收盘,公司股东数为20,050户
- 92号汽油价格涨9毛 95号汽油涨1毛 柴油涨2毛
- 西北首个光储氢热综合应用示范项目建成
- 安徽艺术学院是几本(安徽艺术学院是几本大学)
- 台风“卡努”继续影响东北地区 华南云南等地有较强降雨
- 俄国防部长:俄罗斯将在西部增兵应对北约威胁
- 《烤肉模拟器》8.31登陆NS 虚拟烤肉超越平台界限
- 水瓶座恋爱最不合适的三个星座
- 截至6月底香港注册成立基金管理资产规模达1.3万亿港元
- 北京房山区72家城市公园已全部开放
- 中药材价格走高背后 专家建议:建立中药材战略储备库
- 谁说梅西是水货?他再显神威,带领迈阿密国际取得四连胜!
- 友谊赛:尤文0-0亚特兰大,沙拉维贝洛蒂进球帮助罗马2-1取胜
- 海南韩氏奖助学金发放仪式加了一场讲座 这场特殊的“家风家教课”震撼心灵
- 快递员工资一般多少广州 快递员工资一般多少
- 变态奇迹手游官网(变态奇迹私服网站大全)
- 巴萨继续与科乐美合作 坚守《eFootball》
- 0-0!法甲首轮爆冷:大巴黎78%控球+20射未果,姆巴佩看台观战
- 地区常备部队宣布启动后,西共体军事会议被“无限期推迟”
- 绍兴黄酒哪个牌子好绍兴酒哪个牌子好(绍兴黄酒哪个牌子好)
- PGS2 DDT经验不足,压力巨大
- 熊猫属于什么科什么目(熊猫属于什么科)
- 有什么可以检查作业的软件? 可以检查作业的软件叫什么名字
- 7万亿银行 突然撤回!
- 网传上海迪士尼有小孩在漂流中跳船?回应来了
- 我可能不会爱你演员表(不可能不爱你 演员表)
- NS《宝可梦》糟糕优化再次引发讨论:老粉愈发失望
- 女足世界杯丨英格兰逆转哥伦比亚 连续三届女足世界杯进四强
- 百万销量和市场份额第一2023P&I展探秘爱普生的变与不变
- 双鸭山学子考上哈工大 打工减轻父亲负担
- 持续引领MEMS技术气体检测发展,精智未来完成数千万元Pre-A轮融资
- 海南“村VA” | 龙楼队3:0轻取冯坡队 获得本届赛事第七名
- 黄健翔:去年曾希望凯恩去皇马接班本泽马,祝他在拜仁实现冠军梦
- 化工过程安全管理导则(关于加强化工过程安全管理的指导意见)
- 关于冬的诗句(关于夏的诗句)
- 《Inside》曾与PS达成协议 斯宾塞知晓后立即介入
- 《厄舍府的崩塌》定档10.12 根据爱伦·坡小说改编
- 山东边检总站董家口边检站:守护口岸安全稳定
- 大众中国的独立之战:超200亿收割两家年轻公司后,下一个目标是谁?
- 受灾较大哈市职工及配偶可全额取公积金
- 罗马诺:凯帕希望前往皇马,拜仁不会继续坚持追求
- 爱如潮水歌词全文 爱如潮水歌词
- IGN:《星空》将会是Xbox自从《光环5》以来首发规模最大的游戏
- 顽皮狗尼尔正在编写和执导一个未公布游戏
- excel home 论坛(excel论坛之家)
- 突发!平阳一厂房猛烈火灾
- 巴西籍媒体人拉斐尔:中国脱贫成就令世界鼓舞 经验可供他国借鉴
- 科技感“爆棚”!淄博高端装备创新成果丰硕
- 一加&AAC仿生触感实验室成立,推高手机触感行业上限
- 司法所调解离婚纠纷规定是什么
- 上海推进5G网络近海覆盖和融合应用