bootloader相关部分

news2025/3/15 4:53:13

简单说明

程序烧录的方式主要有ICP,ISP,IAP

其中ICP就是常用的jlink等工具

ISP就是利用MCU自带的一些特殊引脚烧录,比如uart

IAP就是利用用户写的bootloader代码烧录

bootloader主要分为三层,厂家出厂的bootrom ,用户自己写的bootloader,最后就是app

Bootloader 会进行时钟设置、内存配置,中断向量表设置,内存保护单元(MPU)设置,外设配置、Flash 操作、系统复位、看门狗等功能的初始化,并最终跳转到应用程序执行。通过这种方式,Bootloader 充当了一个系统的初始化阶段,而应用程序则专注于核心功能的实现

所以app的代码可以把时钟部分注释掉,节省flash空间,还有外设初始化部分

APP和boot部分也是如此

调试:除了在程序中调试以外,可以使用jlink  command  调试

-h   帮助 查看地址

-r  复位  

-g  运行

bootloader的起始地址一般是0x8000 0000 
APP1 部分是0x8000 0000 +SIZE(boot)

APP2 部分是0x8000 0000 +SIZE(boot) + SIZE2(app1)

恢复出厂设置的程序放到APP2

在APP部分有的还需要在main函数添加中断向量表的偏移

程序步骤:

需要确认选择CAN还是串口,需要定制一套通讯协议是一段一段还是一整个包,需不需要帧头帧尾

另外可能还需要一个配套的上位机去升级。

当然还有一种方式就是把程序从flash拷贝到RAM中,然后就可以实现运行过程中升级APP,到flash,但是从flash拷贝到RAM如果突然断电,容易变砖。

flash擦除用到的是页擦除,写入部分半字和全字都可以,不过需要额外转换,协议一般都是单字节的,半字是两个字节

先擦除一页,接收满一页后再写入

以下红色说反了,还要修改flash大小,以下是APP修改地方

最后还需要修改iap文件的(boot)

然后就是bootloader部分

 CAN传输

不足:这样传输是一整个数据包一起发送出去的,对RAM有要求,如果RAM不够大,需要1kb为单位进行发送,需要一个专门的上位机。

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

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

相关文章

AI+视频监控电力巡检:EasyCVR视频中台方案如何赋能电力行业智能化转型

随着电力行业的快速发展,电力设施的安全性、稳定性和运维效率变得至关重要。传统视频监控系统在实时性、智能化及多系统协同等方面面临严峻挑战。EasyCVR视频中台解决方案作为一种先进的技术手段,在电力行业中得到了广泛应用,为电力设施的监控…

C++从入门到入土(七)——多态

目录 前言 多态的概念 多态的定义 虚函数的介绍 虚函数的重写/覆盖 析构函数的重写 override和final关键字 纯虚函数和抽象类 重写/重载/隐藏总结 多态的原理 小结 前言 C一共有三个特性,封装、继承和多态,在前面的文章中,我们分别…

新闻网页信息抽取

1. 网页信息抽取 问题定义:对新闻网页(输入为HTML)提取结构化信息,包括标题、发布时间、作者、正文、图片等。 动机:由于网页(大多数为HTML格式)通常带有很多标签、样式、脚本等信息&#xff0…

Docker 部署Spring boot + Vue(若依为例)

首先我们要在docker中安装好环境镜像 jdk. mysql. redis. nginx 镜像安装我们在上一篇文章中已说明,请大家自行查看。 下面我介绍部署步骤 部署后台jar 在你的工作目录下新建application 用来存放后台jar包 1.将打好的jar包上传 2.编写Dockerfile文件&#…

PDF文件里到底有什么?

PDF 文档结构由多个组件组成,这些组件决定了文本、图像和其他元素的存储和显示方式。PDF 是一种二进制文件格式,这意味着您无法在文本编辑器中直接编辑 PDF 文件。添加或删除一个字符都可能导致整个文件损坏! PDF 文件结构 理解 PDF 文档结…

FANUC机器人几种常用的通讯网络及接口

FANUC机器人几种常用的通讯网络及接口 Devicenet 网络通讯接口,接口为5针线 (规定用的机架为 81-84) PROFIBUS 网络通讯接口,针脚为2针(规定用的机架为 67) Intemet 网络通讯接口(常用的网线接口&#xf…

实用插件分享:@plugin-web-update-notification/vite 的使用指南

实用插件分享:plugin-web-update-notification/vite 的使用指南 在前端开发的过程中,及时告知用户网页有更新是提升用户体验的一个重要方面。plugin-web-update-notification/vite 就是一款能够轻松实现网页更新通知功能的插件,下面就来详细…

IEC61850标准下MMS 缓存报告控制块 ResvTms详细解析

IEC61850标准是电力系统自动化领域唯一的全球通用标准。IEC61850通过标准的实现,使得智能变电站的工程实施变得规范、统一和透明,这大大提高了变电站自动化系统的技术水平和安全稳定运行水平。 在 IEC61850 标准体系中,ResvTms(r…

人工智能与人的智能,思维模型分享【2】沉没成本

**沉没成本(Sunk Cost)** 是指已经发生且无法收回的成本(时间、金钱、精力等)。沉没成本思维模型的核心原则是:理性决策应基于未来可能的收益与成本,而非被已经无法改变的历史投入所影响。陷入沉没成本陷阱…

艾尔登复刻Ep1——客户端制作、场景切换、网络控制

需要添加的插件内容 Netcode for GameObjects:是一个为 Unity 游戏开发提供高级网络功能的 SDK。它的主要作用是允许开发者在其 GameObject 和 MonoBehaviour 工作流中集成网络功能,并且可以与多种底层传输层协议兼容。 具体内容请看:https:…

基于YOLO11深度学习的遥感视角地面房屋建筑检测分割与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

Java中常见的PO、VO、DAO、BO、DO、DTO、POJO、Query类解释(通俗易懂)

文章目录 先点击收藏和点赞,切勿白嫖,感谢一丶PO(persistant object)持久对象二丶VO(value object)值对象三丶DAO(Data Access Objects) 数据访问对象接口四丶BO/DO(Business Object) 业务对象层五丶DTO(Data Transfer Object) 数据传输对象六丶POJO(Plain Old Java Objects) 简…

完美解决ElementUI中树形结构table勾选问题

完美解决ElementUI中树形结构table勾选问题 实现功能效果图全选取消全选取消父节点取消某个子节点 关键代码 实现功能 1. 全选/取消全选,更新所有节点勾选状态 2. 勾选父/子节点,子/父节点状态和全选框状态更新 效果图 全选 取消全选 取消父节点 取消某…

文件解析漏洞靶场集锦详解

一、IIS解析漏洞 环境安装&#xff1a;windows2003iis6 1.目录解析 .asp文件夹中的任意文件都会被当做asp文件去执行 1.在iis6的网站根目录新建⼀个名为1.asp的文件 2. 在1.asp中新建⼀个jpg文件。内容为 <%now()%>asp代码 3.在外部浏览器中访问iis⽹站中的1.jpg 发现…

hcia华为路由器静态路由实验配置

目录 一、网络拓扑分析 二、华为路由器配置&#xff08;分设备&#xff09; 1. R1 配置 2. R2 配置 3. R3 配置 三、验证测试 拓扑图 一、网络拓扑分析 IP 地址规划&#xff1a; R1&#xff1a;E0/0/0&#xff08;12.1.1.1/24&#xff09;、E0/0/1&#xff08;192.168.1.…

Redis7——进阶篇(五)

前言&#xff1a;此篇文章系本人学习过程中记录下来的笔记&#xff0c;里面难免会有不少欠缺的地方&#xff0c;诚心期待大家多多给予指教。 基础篇&#xff1a; Redis&#xff08;一&#xff09;Redis&#xff08;二&#xff09;Redis&#xff08;三&#xff09;Redis&#x…

VBA+FreePic2Pdf 找出没有放入PDF组合的单个PDF工艺文件

设计部门针对某个项目做了一个工艺汇总报告&#xff0c;原先只要几十个工艺文件&#xff0c;组合成一个PDF&#xff0c;但后来要求要多放点PDF进去&#xff0c;但工艺文件都混在一起又不知道哪些是重复的&#xff0c;找上我让我帮忙处理一下&#xff0c;我开始建议让她重新再组…

计网面试准备

正确理解网络数据传输过程 同一路由器的不同接口属于不同局域网&#xff0c;广播只能在同一个局域网

【数据分享】1999—2023年我国地级市社会消费品零售总额和年末金融机构存贷款余额(Shp/Excel格式)

在之前的文章中&#xff0c;我们分享过基于2000-2024年《中国城市统计年鉴》整理的1999-2023年地级市的人口相关数据、染物排放和环境治理相关数据和房地产投资情况和商品房销售面积相关指标数据&#xff08;均可查看之前的文章获悉详情&#xff09;&#xff01; 本次我们分享…

PHP批量去除Bom头的方法

检查的代码&#xff1a; <?php$dir __DIR__; $files new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));foreach ($files as $file) {if ($file->isFile() && pathinfo($file, PATHINFO_EXTENSION) php) {$content file_get_contents(…