环球视点!STM32 UDS Bootloader开发-需求篇
前言
内存分配
【资料图】
UDS诊断协议需求
CAN ID及时间参数
诊断服务
APP诊断服务
DID
刷写流程
总结
前言
最近断断续续的在做基于STM32F103的UDS Bootloader,没有项目驱动,只是自己感兴趣。目前基本已经可以实现功能了,在此对做的东西进行一下总结,希望可以帮助到有需要的人。
内存分配
本次使用的单片机为STM32F103RCT6,flash大小256k,一个扇区2k,SRAM:48KBflash起始地址为0x8000000,大小为0x40000(16进制)—>262144字节(10进制)—>256KBRAM起始地址为0x2000000,大小为0xC000(16进制)—>49125字节(10进制)—>48KB将flash划分为Bootloader和App两块APP跳转到boot,这个标志放在ram中,但要保证软复位时不清除.FlashDrive需要放到ram中,每次下载APP时先下载FlashDriverAPP有效标志放入Flash中,每次刷写前清除标志,刷写成功后写入标志。flash分配如下:ram分配如下:
UDS诊断协议需求
CAN ID及时间参数
波特率:500k物理寻址ID:0x711功能寻址ID:0x7DFECU 响应ID: 0x766P2 Server:50ms P2 *Server:5000msP2 Client:50ms P2 *Client:5000msS3server:5000msS3client:2000msSTmin:20ms 连续帧协议数据单元发送的最小时间间隔BlockSize:0 每一块中包含连续帧的个数
CANFrameFillerByte:0x55 数据帧不满8byte时的填充值
诊断服务
Bootloader诊断服务
10 | 01 | Diagnostic Session Control | Default Session | Phy Req | Fun Req |
10 | 02 | Diagnostic Session Control | ECU Programming Session | Phy Req | |
10 | 03 | Diagnostic Session Control | ECU Extended Session | Phy Req | Fun Req |
11 | 01 | ECU Reset | Hard Reset | Phy Req | Fun Req |
22 | Read Data By Identifier | Phy Req | |||
27 | 01 | Security Access | Request Seed | Phy Req | |
27 | 02 | Security Access | Send key | Phy Req | |
31 | 01 | Routine Control | Start Routine | Phy Req | |
34 | Request Download | Phy Req | |||
36 | Transfer Data | Phy Req | |||
37 | Request Transfer Exit | Phy Req | |||
85 | 01 | ControlDTCSetting | On | Phy Req | Fun Req |
85 | 02 | ControlDTCSetting | Off |
APP诊断服务
10 | 01 | Diagnostic Session Control | Default Session | Phy Req | Fun Req |
10 | 02 | Diagnostic Session Control | ECU Programming Session | Phy Req | |
10 | 03 | Diagnostic Session Control | ECU Extended Session | Phy Req | Fun Req |
11 | 01 | ECU Reset | Hard Reset | Phy Req | Fun Req |
14 | ClearDiagnosticInformation | FF FF FF Clear all | Phy Req | ||
22 | Read Data By Identifier | Phy Req | |||
27 | 01 | Security Access | Request Seed | Phy Req | |
27 | 02 | Security Access | Send key | Phy Req | |
28 | 00 | CommunicationControl | Enable Rx and Tx | Phy Req | Fun Req |
28 | 01 | CommunicationControl | Enable Rx and DisableTx | Phy Req | Fun Req |
28 | 02 | CommunicationControl | Disable Rx and EnableTx | Phy Req | Fun Req |
28 | 02 | CommunicationControl | Disable Rx and Tx | Phy Req | Fun Req |
31 | 01 | Routine Control | Start Routine | Phy Req | |
85 | 01 | ControlDTCSetting | On | Phy Req | Fun Req |
85 | 02 | ControlDTCSetting | Off |
DID
22服务的DID:F1AA:读取版本号Routine Control DID:FF00:擦除内存0201:检查预编程条件FF01:检查编程完整性和兼容性2E服务的DID:F15A -写指纹
刷写流程
预编程
1.进入扩展模式(功能寻址)10 83 (83表示不需要服务器应答)2.检查预编程条件(物理寻址)31 01 XX XX,针对要刷写的ECU。一般就是检查供电电压,车速这些,如果厂家没指定,那么由ECU自己定义。如果ECU不满足预编程条件,则收到10 02进入编程模式时,返回0x22不满足条件否定响应。3.停止DTC设置(功能寻址),85 82(82表示不需要服务器应答)4.禁止无关通讯(功能寻址),28 83 03(83表示发送和接收报文都禁止,且不需要服务器应答,第三位01表示是应用软件报文,第三位03则表示应用软件和网络管理报文都禁止)5.读取版本号(物理寻址)22 XX XX ,诊断仪读取当前ECU版本信息。
主编程
1.进入编程会话10 02 ,此时在APP中应该执行复位,然后进入boot中的编程模式2.请求种子 27 01(x根据主机厂给的等级来定)3.发送密匙 27 02 key 4.解锁成功后,2E服务写入指纹信息。一般就是时间和设备号这些5.下载flash驱动程序,34 36 37服务。因为bootloader里是不带驱动程序的,防止意外操作导致flash改变,程序出现异常,所以只在刷写的时候才允许操作flash。下载完成后一般还需要例程控制31服务进行完整性检查(CRC32校验)和依赖性检查(ecu指定,DID为FF01-14229-1规定)(该步骤暂时不做)6.擦除内存,由31服务执行,具体的DID按14229-1应该为FF00,需要给定擦除的起始地址和大小。7.下载APP程序,34,36,37服务。下载完成后也需要例程控制31服务中的完整性检查(CRC32校验)和依赖性检查(ecu指定,DID为FF01-14229-1规定)8.ECU复位,一般发送11 01进行复位,复位完成后Flash驱动程序将被清除。避免意外激活这些可能会进行非预期的内存擦除或程序操作的代码。
后编程
1.主编程完成后,ECU复位,诊断仪发送进入扩展模式10 83(功能寻址,不需要ECU回复)2.恢复通讯28 80 03(功能寻址,不需要ECU回复,03表示网络管理报文和应用报文都恢复)3.开启DTC诊断85 81(功能寻址,不需要ECU回复)4.清除刷写ECU的故障信息(物理寻址14 FF FF FF)5.进入默认会话模式10 81(功能寻址)
总结
理清需求后,再进行后面的软件开发就比较方便了。不论是开发下位机还是上位机,都需要参考这部分需求。在后面的文章中将会继续介绍软件的设计。
标签:
- 环球视点!STM32 UDS Bootloader开发-需求篇
- 每日看点!C919已成功运营6天,美国为何不禁发动机?国外适航证怎么办?
- 一周总结100字_一周总结_每日精选
- 秋千吊椅室内_主题酒店吊椅玩法图解
- 环球消息!关于申报2023年北京市科协金桥工程种子资金的通知
- 双刃剑的意思解释_双刃剑的意思_当前报道
- 美国小孩_关于美国小孩介绍_天天热点
- 神宇股份:拟向激励对象39人授予限制性股票834万股
- 全球快报:小学三年级数学计算题打印版_我需要小学三年级数学 计算题300题
- 环球热点!永清公交201路_关于永清公交201路简述
- 天天实时:配备6.5英寸HD+显示屏的Lava X3手机售价为卢比6999
- 广州白云站大朗制梁场预计8月中完成全线制梁任务
- 每日讯息!五行属土寓意吉祥的字_五行属土的吉祥字
- 世界滚动:信用卡逾期的后果 信用卡逾期多久会上黑名单?
- 劲仔食品: 第二届董事会第十三次会议决议公告
- mtv格式转换器下载_mtv格式转换器
- 全球微动态丨金巧福黄金价格今天多少一克(2023年06月02日)
- 每日时讯!oppo(a105k)
- 焦点快播:食品加工制造板块涨1.42% 黑芝麻涨9.94%居首
- 世界快看点丨白酒概念板块涨1.16% 海南椰岛涨6.46%居首
- 每日看点!南京为促进大宗商品消费 购车和家电消费进行补贴最高达5000元
- 世界简讯:掘金主帅马龙谈总决赛:热火靠联防战胜绿军,但我们不怕
- 乌鲁木齐高新区(新市区)召开双创载体座谈会|环球热门
- 精彩看点:民生银行济南西城支行积极开展反洗钱犯罪宣传活动
- versace是什么牌子_versace怎么读
- 成都鼓励AI产业发展:提出19项资金扶持措施 最高奖1000万_全球热点
- 2023年中高考期间饮食安全消费提示 天天即时
- 诚迈科技:5月31日组织现场参观活动,投资者、华泰证券等多家机构参与 世界快消息
- 一鱼余自卫罪豆瓣 一鱼余自卫罪
- 新六军覆灭记_新六军
- 天天报道:总投资约3.25亿元!瑞安这批拆迁户将住新房,现场实景曝光…
- 2023年北京二级建造师准考证打印入口:5月30日开通 世界头条
- 加密钱包服务商Magic完成5200万美元战略融资,PayPal Ventures领投|世界今日讯
- 河南与3家医院共建国家区域医疗中心|环球实时
- 古词名句唯美凄凉千古绝句 古词名句
- 吃什么可以帮助睡眠_吃什么能改善睡眠
- 世界简讯:秋天的景色描写的小段_秋天的景色描写
- 项目总投资7000万新西兰元,伊利旗下新西兰威士兰乳业新西兰乳铁蛋白工厂开工建设 信息
- 怎么删掉qq的个人资料_怎么清空qq个人资料 全球速看
- 圆明园观后感800字_圆明园观后感_世界即时看
- 天天亮点!房产继承过户办理流程及需要哪些材料
- 人参果黑心是什么原因(人参果的黑心病怎么来的?)_焦点播报
- 【天天新要闻】02年世界杯之前足球在中国的群众基础远远好过篮球,02年是个转折点,篮球开始发力
- 成渝金融法院与重庆、四川两地证券监管部门签订合作协议
- 世界热点!商务部:反对搞封闭式、对抗性的“小圈子”
- 打开小米翻译功能(打开小米翻译) 全球观热点
- 环球要闻:小白兔的特点和特征_小白兔的特征和习性
- MSI冠军诅咒开始了?JDG首战遭WBG横扫:Kanavi,你在干什么? 环球百事通
- 丰田车道偏离预警系统怎么开启不了_丰田车道偏离预警系统怎么开启
- 六一海报特辑 | 长大后,我就成了你_当前短讯
- 《云顶之弈手游》S9杀手职业效果S9赛季杀手羁绊职业棋子_当前快报
- 当前看点!二人转小帽大全联唱小豆豆_二人转小帽大全
- 博汇股份:累计回购约215万股 占比0.88%
- 【原】当我发现自己有严重的考前焦虑……_动态焦点
- 膝盖弯曲疼痛的原因和治疗方法吃什么药 膝盖弯曲疼痛的原因和治疗方法 每日消息
- “祖冲之号”同款量子计算机接入新一代云平台
- 养猪大棚造价多少钱一平方_养猪大棚-环球快消息
- 天天报道:国家开放大学联合第四范式式说上线终身教育平台智能学伴“白泽”
- 饭店里卖“假汾酒”?立刻查处
- 机构:前5月TOP100房企销售额为29661.0亿元,增幅环比下降4.4%
- 世界今日报丨这份爱,100%!
- 环球看热讯:姜糖制作方法视频(姜糖怎么制作方法)
- 环球今亮点!涉案600余万元!淄博警方破获一起制售假冒名酒案
- 环球最新:塞尔达传说王国之泪攀登鞋获取视频攻略
- 超人钢铁之躯2国语版_超人:钢铁之躯2 世界速递
- 甘肃省2023年“安全生产月”活动全面启动_全球观天下
- 天天视点!我市开展读书分享主题活动
- 能否好转?5月百强房企销售业绩仅两成环比增长
- 专家:全面注册制下的新股发行制度提高了直接融资效率 未来“科技—产业—金融”良性循环将更加畅通 环球信息
- 焦点速讯:8月28日是什么星座男孩子_8月28日是什么星座
- 汽车机油乳化什么意思_机油乳化什么意思? 观焦点
- 热点在线丨法尔克:拜仁后卫卢卡斯收到巴黎开出的报价,图赫尔...
- 一个女人是否幸福,与她身边的这三个人有关|世界快报
- 今日热搜:怎样在word小方框里打勾_怎么在word的小方框里打对勾
- 【世界新视野】百邦科技5月29日快速上涨
- 【全球新视野】燃眉追击高清在线观看_燃眉追击
- 世界通讯!5月人民币中间价累计调贬1581基点,人民币汇率6月如何表现?
- 通达全国88城市 太原“高铁急送”让快递当日达 新消息
- 快讯:天林党建带产业 探索创业新路径
- 当前头条:15万级大众MPV来了!7座+EA211,低油耗,大空间,全新途安L
- 世界即时:盘州市首个法官工作站挂牌
- 送别领导的祝福语不超过十字_送别领导的祝福语
- 帕萨特家用怎么样?外观、空间、动力与安全性能解析 世界速看
- Epic商城免费领取《辐射:新维加斯》终极版,6月1日晚23点截止 天天亮点
- 2024年属龙人怎么样 会有好运气吗
- 国家金融监督管理总局办公厅副主任张忠宁:将正式在上海开设再保险国际板
- 栉怎么读是什么意思_栉怎么读的_环球热消息
- 环球快播:787469申购新股是什么板块 787469新股属于哪个板块
- 全球即时看!国家统计局解读5月PMI数据:企业信心总体稳定
- 二手烟对全身的危害,你可能想不到…… 报道
- 礁湖(关于礁湖介绍)
- 四川开展文物行业重大事故隐患专项排查整治2023行动
- 网评:以科学家精神引领创新风尚 世界新资讯
- 南阳:目前有2万余台小麦联合收割机正在作业中|全球最新
- 环球快资讯丨5月30日基金净值:圆信永丰优加生活最新净值3.1875,跌0.02%
- 恭喜合肥,再次成功入选“新一线城市”|时快讯
- 全球今热点:黑龙江省展团 “网红”大豆冰淇淋等你来尝
- 山海经异兽录电脑版(山海经)
- 杨梅为“媒”吸引游客带热餐饮民宿 江西信丰发力文旅助力乡村振兴
- 环球速看:风险代理的范围
广告
广告
- 长治襄垣县增收11517万元 提前15天实现首季“开门红”
- 黑龙江讷河新增1例确诊4例无症状 病例详情公布
- 浙江宁波余姚奉化宁海三地开展核酸检测 结果均为阴性
- 浙江湖州南浔三处棋牌室经营者被行拘
- 那年今日 | 一张漫画涨知识之12月13日
- 在宁波乘火车跨省出行须持48小时内核酸阴性证明
- 浙江温州一地发现核酸弱阳性?复采复检结果均为阴性
- 浙江三门发现一名密接者:二次核酸检测结果均为阴性
- 贱卖的发电机 新买的制茶机——安徽水电供区改革两周年回访见闻
- 浙江杭州新增1例新冠肺炎确诊病例 为集中隔离人员
- 2022年研考在即,学硕缩招,专硕时代真的来了?
- 探访杭州核酸检测点:排队高峰多在夜间 医院24小时运转
- 浙江发挥零售药店“哨点”作用 织就疫情防控监测网
- 哈尔滨市本轮疫情首批1名确诊患者出院
- 宁波镇海第三轮全员核酸检测574181人 结果均为阴性
- 陕西新增本土确诊病例1例、境外输入无症状感染者2例
- 齐齐哈尔讷河一地调整为中风险地区
- 浙江新增新冠肺炎确诊病例75例 其中本土74例
- 内蒙古新增本土确诊病例5例 均在呼伦贝尔满洲里市
- 黑龙江无新增确诊病例 新增本土核酸检测初筛阳性人员5例