基于XCP(On CAN)协议的Bootloader升级方案
基于XCP(On CAN)协议的Bootloader升级方案
文章目录
- 前言
- 一、ECU端设计
- 1.Flash分配
- 2.软件架构层次图
- 3.流程图
- 4.源码
- 二.PC端设计
- 三.测试验证
- 四.总结
前言
本文展示了一种ECU设备的的升级方案。用户可以通过CAN网络通讯,实现的对ECU设备内部软件的升级。
此方案主要有以下特色:
1.功能全面:由于此方案使用了XCP协议栈,用户在不使用调试接口的情况下,即可实现对ECU内部的软件完成
升级、存储数据读写(通过a2l文件和工具可观测\改写C代码中声明的变量)、数据标定以及功能调试等。
2.代码标准化:此方案的软件使用了部分AUTOSAR架构中的标准模块,在网上拥有丰富的学习资源(例:
https://www.autosar.org/nc/document-search/)。
3.易移植:由于使用了AUTOSAR软件架构的标准模块,使得此方案中的代码可以很容易在其他项目中重复使用
(在STM32平台和TC27X平台已移植验证通过)
基于XCP(On CAN)协议的Bootloader升级方案相关推荐
- STM8基于CAN协议bootloader实现方案
目录 一.引言 二.STM8的Bootloader介绍 三.Bootloader激活流程图 四.CAN设置 五.Bootloader命令集 5.1 Get指令 5.2 Read存储器命令 5.3 Er ...
- 基于IAP和Keil MDK的远程升级设计
写在前面:三周之前,我突然想写一个远程升级的程序.那个时候我只是大概知道IAP的意思是在应用编程,但怎么编,我还一无所知.我给自己定下一个个阶段目标,从最基础的代码一点点写起,解决一个又一个的问题.三 ...
- STM32F103代码远程升级(五)基于MQTT协议WiFi远程升级代码的实现
文章目录 一.WiFi模块的选用与介绍 二.ESP8266的固件擦除与烧写 1.ESP8266 Flash擦除工具的安装与使用. 2.ESP8266固件烧写 (1)在线获取固件文件 (2)获取SDK ...
- 基于linux 开源机顶盒_基于linux的数字电视机顶盒几种升级方式的设计与实现
摘要: 本文主要阐述了基于linux操作系统的数字电视机顶盒的常用几种升级方式:OTA,USB,网络,结合常用的bootloader:cfe,u-boot实现升级做了简述,并综合对比其各自的优劣. 关 ...
- 基于数字孪生的数字化车间升级方案
本文根据数字化车间升级的理论与实践,具体阐述基于数字孪生运行模式的数字化车间 的升级方案与具体实现. 1 技术理论成果概述 1.1 数字孪生车间运行模式 世界各个制造大国提出的制造业国家战 ...
- 基于C#的UDP协议的同步实现
一.摘要 总结基于C#的UDP协议的同步通信. 二.实验平台 Visual Studio 2010 三.实验原理 UDP传输协议同TCP传输协议的区别可查阅相关文档,此处不再赘述. 四.实例 4.1 ...
- 基于netty的websocket协议实现
基于netty的websocket协议实现 背景 1.启动服务端 2.测试服务端和客户端效果 背景 项目中使用到了websocket,所以查阅相关资料,完成了一个基于netty的websocket的实 ...
- 基于UDP高性能传输协议UDT
UDP详解 一. 概述 UDT是一个高性能的基于UDP的数据传输协议,它是为支持高速广域网上海量数据传输而设计,为解决TCP的效率和公平问题,同时提供可靠的数据流和报文传输. UDT是C++库,几乎 ...
- 基于python的modbus协议编程_通往未来的网络可编程之路:Netconf协议与YANG Model
近年来,随着全球云计算领域的不断发展与业务的不断增长,促使网络技术也不断发展,SDN技术应运而生,从最初的基于Openflow的转发与控制分离的核心思想,人们不断的去扩展SDN的外延,目前,人们可以达 ...
最新文章
- python使用textwrap包在已经生成的长字符串中嵌入回车符实战
- Android Studio 提示Error running app: No Android facet found for app
- 超实用资源,SCI写作到投稿全阶段模板
- HTML data属性简介以及低版本浏览器兼容算法
- vim block vim_我如何学会爱Vim
- “约见”面试官系列之常见面试题之第八十篇之css常见属性(建议收藏)
- SpringBoot执行器端点Actuator Endpoint
- 经典:某程序员手机里保存的五十条牛B短信
- 【BZOJ1433】【codevs2347】假期的宿舍,最大流
- Java代码优化技巧
- 如何从零开始整一个高颜值 GitHub 小程序客户端?
- 视频课程:CMOS模拟集成电路设计--已上线
- excel报表导出功能
- Laravel框架的运行过程
- Codevs 1253 超级市场
- nn.module 看图搭建网络
- 定义函数和更多形式(基础篇)
- Android开发:toast封装工具类
- 分立元器件--电阻的特性以及工程使用注意事项
- Layui 设置行高