瑞萨RA4M2 基于CAN总线的UDS诊断升级MCU工具 /bootloader/UDS诊断/14229/15765

news2024/11/24 8:41:43

基于can总线的UDS软件升级

最近学习UDS诊断协议(ISO14229),是一项国际标准,为汽车电子系统中的诊断通信定义了统一的协议和服务。它规定了与诊断相关的服务需求,并没有设计通信机制。ISO14229仅对应用层和会话层做出了定义。UDS包含了ISO14229下属的七个子协议,其中ISO14229-2是在会话层,其他6个子协议在应用层。

OSI模型

这让我想到大学学习计算机网络知识中OSI七层网络模型。

如果MCU要实现UDS功能,还需要建立传输层和网络层,小昭使用的是ISO15765来实现这两层功能,剩下就是数据链路层和物理层,这两层属于底层,MCU已经帮我们实现,做些简单配置就可以了。

1、底层功能配置

CAN总线配置
canID接收配置、中断函数
可以之前Renesas瑞萨A4M2和STM32 CAN通信

定时器配置
OSI网络需要获取毫秒系统时间,判断数据传输是否超时

SD卡配置
后面会介绍,升级文件放在SD卡中。
具体可以看Renesa 瑞萨 A4M2 移植文件系统FAT32

SD卡DMA功能

2、网络层

ISO15765协议,它是为上层应用做服务,假设上层应用下发了256个字节给到网络层,要是物理层实现就头很大了,大家都知道,在标准can中,一次最多只能传八个字节数据。所以就有网络层的出现,15765实现将上层数据进行拆包,八个八个字节数据给到物理层,相反,如果物理层接收到数据,然后将一帧一帧数据丢给网络层,网络层会找到头数据和尾数据,将一帧帧数据进行打包给到应用层。这就是网络层,ISO15765的作用,实现数据拆包和打包的作用。
具体的报文格式可以参考这篇文章
ISO 15765-2标准报文格式详情

3、应用层

ISO14229服务,不会全部介绍,只讲bootloader升级可能要用到的服务。
用服务有:
会话服务0x10 session
安全访问SecurityAccess(0x27)
内存访问0x23 Read Version Information Service
网络管理CommunicationControl(0x28)
例程功能RoutineControl (0x31) service
请求下载0x34RequestDownload
数据传输0x36transferData
退出传输功能0x37 RequestTransferExit
MCU复位0x11 ECUReset
保持会话,TesterPresent(0x3E)服务,该 服 务 用 于 将 一 个 或 多 个 服 务 器 保 存 在 defaultSession 之 外 的 诊 断 会 话 中 。

实际的效果:
左边野火瑞萨RA4M2开发板发送升级包请求,右边MCU接收升级包

开发经验(避坑 )

在开发过程,遇到一些坑,分享给大家,防止掉坑里。 关于使用keil瑞萨RA4M2踩过的坑


功能扩展
1、升级包可以做些加密功能。
2、结合pcan-view,扩展实现CAN报文分析工具。
3、其实有一个很重要的功能就是trustzone,实现权限访问功能,对每个功能服务进行分离和加密。

视频演示
参考
Renesas软件包
参考文档: [野火EmbedFire]《瑞萨RA系列FSP库开发实战指南——基于野火启明开发板》—20230412
ISO15765

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/652375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SpringCloud入门】-- 认识微服务

目录 1. 什么是微服务? 2. 微服务的优势? 3. 单体架构,分布式架构,微服务架构的区别以及优缺点? 4. SpringCloud和Spring Cloud Alibaba是什么? 5. SpringCloud和SpringCloudAlibaba的区别&#xff1f…

apple pencil二代值不值得买?口碑好的电容笔排行榜

事实上,苹果Pencil与市场上普通的电容笔最大的区别就是在重量和压感上。苹果pencil拥有着独特的重力压感,可以很好运用于绘画上,但是,随着苹果Pencil的价格一直高居不下,而平替电容笔各种性能的不断提高,苹…

Vue中如何进行3D场景展示与交互(如Three.js)

Vue中如何进行3D场景展示与交互(如Three.js) 随着WebGL技术的发展,越来越多的网站开始使用3D场景来展示产品、游戏等内容。在Vue中,我们可以使用第三方库Three.js来实现3D场景的展示与交互。本文将介绍如何在Vue中使用Three.js来…

和 if else说再见,SpringBoot 这样做参数校验才足够优雅!

1. 概述 当我们想提供可靠的 API 接口,对参数的校验,以保证最终数据入库的正确性,是 必不可少 的活。比如下图就是 我们一个项目里 新增一个菜单校验 参数的函数,写了一大堆的 if else 进行校验,非常的不优雅&#xf…

语音验证码短信原理和应用场景分析

引言 随着移动互联网的快速发展,短信验证码成为了许多应用和服务中常用的身份验证方式。然而,有时候用户可能由于各种原因无法接收到短信验证码,或者对于文字验证码不够方便或友好。 为了解决这些问题,语音验证码短信API 应运而…

【论文精读ACL_2021】Prefix-Tuning: Optimizing Continuous Prompts for Generation

【论文精读ACL_2021】Prefix-Tuning: Optimizing Continuous Prompts for Generation 0、前言Abstract1 Introduction2 Related Work2.1 Fine-tuning for natural language generation.2.2 Lightweight fine-tuning2.3 Prompting.2.4 Controllable generation. 3 Problem State…

Python做数据分析需要学什么?

下面分别从这四个方面来带大家学习数据分析: 第一,做数据分析要精通Python吗?第二,数据分析流程是什么?学什么?第三,如何培养数据分析思维?第四,数据分析书籍推荐 一、…

关于linux服务器上生成的图片中文字为的乱码问题

一、功能描述 linux服务器后端生成图表(使用了canvas和echarts),并将生成的图片发送到企业微信群里。 二、出现的问题 生成的图表中文展示不出来,是乱码。错误图表展示如下: 三、 文字乱码出现的原因 linux服务器没有…

git在windows及linux(源码编译)环境下安装

git在windows及linux(源码编译)环境下安装 环境信息: 系统版本:CentOS Linux release 7.9.2009 (Core) git指令安装: yum install -y git 一、git在windows下安装 下载地址:https://git-scm.com/ 默认安装即可 验证 git --version 二、git在linux下安装 下载地址…

电子标签服务器搭建说明文档

一、安装运行环境 1.安装jdk 运行JDK_1.8.0_64bit.exe程序,可自定义安装路径 ​ 2.配置环境变量 择计算机图标,鼠标右键选择属性 ​ 选择高级系统设置,在系统属性中找到环境变量 ​ 在系统变量中新建JAVA_HOME环境变量,变量值为jdk的安装路…

跨域请求!!!

1.见过的请求类型都有哪些 getpostputdeleteoptions 和跨域相关的请求头 2.什么是跨域 当主机、域名、端口有任何一个不一致的时候,会出现跨域 3.跨域只有在哪里会出现 浏览器里出现了,它是浏览器的一个行为 4.为什么有跨域 为了安全不同域名之间…

系统编程(3):进程

文章目录 一、概念1.1 什么是进程?1.2 进程ID1.3 进程间通信1.4 进程的三种态的转换 二、进程控制2.1 创建进程函数:fork函数2.1.1 获得pid函数写代码:方式一:最简单的方式二:加入while(1)死循环…

基于Arduino的LED显示屏驱动实现

基于Arduino的LED显示屏驱动实现可以通过使用Arduino板上的数字引脚和相关库来控制LED显示屏的亮灭和显示效果。LED显示屏加载不出图像怎么办? 下面是基于Arduino的LED显示屏驱动实现的详细介绍: 硬件准备: Arduino开发板:可以使用…

ROS中 mpc_local_planner 局部路径规划器参数配置文件中参数含义

mpc_local_planner与我们比较熟悉的teb_local_planner出自同一研究所(多特蒙德大学-控制理论与系统工程研究所),所以参数配置文件中的参数有很多相似之处,很多参数的含义也是相同的,所以熟悉teb_local_planner的参数含…

亚马逊认证考试系列 - 知识点 - 安全组介绍

AWS的安全组是一种虚拟防火墙,可以用于控制进入和离开AWS虚拟私有云(VPC)的流量。安全组是一种网络访问控制列表(NACL)的补充,因为安全组是在实例级别上进行管理的,而NACL是在子网级别上进行管理的。 AWS的安全组可以通过以下方式保护您的资源…

自然语言处理: 第一章N-Gram

一. 理论基础 定义: 语言模型在wiki的定义是统计式的语言模型是一个几率分布,给定一个长度为 m 的字词所组成的字串 W1 , W2 , ,Wn ,派几率的字符串P(S) P(W1 , W2 , ,Wn , )而其中由条件概率公式我们可以…

风景类Midjourney prompt提示词

稳定输出优美风景壁纸的Midjourney prompt提示词。 1\在夏夜,有淡蓝色的星空,海边,流星,烟花,海滩上全是蓝色的玫瑰和绿色的植物,由Ivan Aivazovsky和Dan Mumford,趋势在cgsociety,…

CAN转串口设备在使用时可能遇到的问题和解决方案

上位机软件通过232串口发送数据经过CAN转232设备转换成CAN数据发送到仪表中,仪表接收到指定的数据后,返回特定的CAN数据。 使用过程中可能遇到的问题 1、串口按照规则发送数据后,设备端没有数据返回 遇到这种情况,先检查发送的数…

STM32 Proteu直流电机正反转控制系统限位开关-0035

STM32 Proteu直流电机正反转控制系统限位开关-0035 Proteus仿真小实验: STM32 Proteu直流电机正反转控制系统限位开关-0035 功能: 硬件组成:STM32F103C6单片机 L298N电机控制电路直流电机3个按键(正转、反转、停止)L…

AM62X+FPGA+AD+vxworks实时操作系统数据采集处理解决方案

Specification Description 处理器 AM6231 at up to 1.2GHz 操作系统 VXWORKS 存储 DDR4,8GB EMMC 接口 •PrPMC接口 •1个USB2.0 •3路RMII •1路RS485 •1路IRIGB •1路RS232 调试接口 JTAG / COP debug port 工业环境监测设备: Specification Desc…