hjr-嵌入式:Boot Loader的理解与编写

本文介绍了Bootloader在嵌入式系统中的作用,包括程序的搬移、硬件初始化及配置等功能,并详细阐述了如何编写Bootloader,包括配置系统时钟、设置通信方式以及将程序代码搬移到RAM中的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bootloader是学习嵌入式时的一个概念

先说下为什么单片机不用写bootloader,嵌入式却需要

单片机是前后台程序,直接下载到内置的RAM中了

嵌入式一般程序都放在片外ROM中,需要在系统启动后把程序移动到片内RAM中

由此可见,bootloader用处主要是搬移程序到面内RAM。

bootloader一般放在地址0h处,这样系统刚刚启动后就会运行

bootloader具体做两步

1、配置看门狗,中断,定时器,系统时钟,初始化硬件,内存映射等

(内存映射:物理地址用虚拟地址表示,以后直接在程序里写虚拟地址代表物理地址)

2、跳转到c语言main函数出执行程序

除了做以上两种常见功能外,还可以有自检更新升级功能

比如可以刚启动时,检查是否需要更新程序,然后可以联网下载或者U盘更新系统等方式

引导进新的程序,一般可以用串口,iic等方式

下面说下程序怎么写

(1)先准备几个功能函数,比如擦除块,写字节,写块,写段之类的,总结其实就是,写一个可以传入地址和数据两个参数的函数,然后设置一个起始地址全局变量,然后每调用一次该函数第一个参数传入数据,第二个参数(起始地址)自加,按顺序写入各种数据。

(2)首先设置系统时钟PLL:因为无论是用串口还是什么通信搬移程序都需要时钟频率同步信号。

(3)设置通信方式,串口,iic,等

(4)不断调用(1)中的函数传写数据,写寄存器,配置各种东西

(5)最后一段也是调用(1)中的函数把程序代码搬移到RAM中(程序代码一般是hex,dat之类的编译完之后的16进制文件)

如果你要更新程序直接改程序然后重新编译.hex、.dat之类的文件,最后在每次启动系统后通过bootlaoder自动搬移到RAM中运行。

 

 

 

 

关于HJR-3FF系列功率继电器的数据手册、规格参数以及应用场景的信息如下: ### 规格参数 对于型号为HJR-3FF的功率继电器,这类元件通常属于工业级应用的产品。具体到HJR-3FF-S-Z这一款,其线圈工作电压有多种选择,比如常见的24VDC版本。此类型的继电器一般拥有较高的切换能力,在额定负载下能够可靠地接通和断开电路。 - **触点形式**:单刀双掷(SPDT)、多刀多掷等形式不等。 - **最大开关容量**:依据不同子型号而变化,但普遍能支持较高电流等级,如15安培甚至更高。 - **线圈电压**:涵盖直流交流范围内的多个标准值,像12VDC, 24VDC等都是较为普及的选择。 - **绝缘耐压**:确保了在高电压环境下的安全性,典型数值可能达到数千伏特以上。 - **机械寿命/电气寿命**:表示继电器可以承受的操作次数限制,这取决于制造商的设计标准。 请注意实际产品的详细技术指标应以厂商提供的最新数据手册为准,因为随着时间推移和技术进步,某些性能可能会有所调整或优化。 ### 应用场景 HJR-3FF系列功率继电器适用于需要频繁操作大电流回路的应用场合,例如但不限于: - 工业自动化控制系统中的电机启动停止控制; - 家电产品内部用于管理加热元件或其他耗电量较大的组件; - 新能源领域里光伏逆变器、风力发电机组件间的电力传输路径转换; - 汽车行业中涉及引擎管理系统或是辅助驾驶系统的电源分配单元; 为了获取最准确的技术文档和支持材料,建议直接联系供应商或者访问官方网站查询对应型号的具体资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师小侯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值