1、bootloader就是单片机启动时候运行的一段小程序,这段程序负责单片机固件的更新,也就是单片机选择性的自己给自己下程序。可以更新,也可以不更新,更新的话,bootloader更新完程序后,跳转到新程序运行;不更新的话,bootloader直接跳转到原来的程序去运行。
2、bootloader更新完程序后并不擦除自己,下次启动后依然先运行bootloader程序,又可以选择性的更新或者不更新程序,所以bootloader就是用来管理单片机程序的更新。
3、在实际的单片机工程项目中,如果加入了bootloader功能,就可以给单片机日后升级程序留出一个接口,方便日后单片机程序更新。当然,这就需要创建两个工程项目,一个为bootloader工程,一个为app工程。
4、bootloader工程生成的.hex或者.bin文件通常下载到rom或flash中的首地址,这样可以保证上电后先运行bootloader程序。而app工程生成的.hex或者.bin文件则下载到rom或flash中bootloader后面的地址中。也就是说,存在rom/flash中的内容是分为两部分的。
5、要实现在同一个rom/flash中保存两段程序,并且保证不能相互覆盖,则需要在下载程序时指定地址。如在keil下,可以进行如下的调整。
【升级bootloader方法】
第一步,点击”应用程序“
第二步,点击“设定“,选择“一般”
第三步,点击“关于设备”,选择“系统更新”中的“更新”即可。
【bootloader】
在嵌入式操作系统中,bootloader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像bios那样的固件程序(注,有的嵌入式cpu也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由bootloader来完成。在一个基于arm7tdmi core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的bootloader程序。
bootloader自更新实际上原理很简单。
bootloader的代码量一般很小,几百k字节,所有以一般都是从存储介质加载到内存中运行;自更新时,只是更新了存储介质上的内容,不会影响正在运行的bootloader的,启动后重新加载即可更何况,有些bootloader在更新时还会保存一个原有bootloader的备份,如果启动失败,还会再恢复回去。
示波器接地为什么会影响波形
芯原携手趣戴科技扩展手表GUI生态系统
奥拓电子成功中标建行江苏创新实验室建设项目
全自动搬运码垛机械手在生产线后段发挥的作用
机器视觉检测技术在五金配件加工中的应用
bootloader如何更新
程序员真的很累吗
华东师范大学在室温工作InGaAs单光子探测模块取得进展
ADI公司开发许多将有助于提高我们生活质量的传感器和传感器解决方案
为让企业更容易接入移动专用网络,沃达丰推出RedBox易于安装的解决方案
简述电磁兼容设计的常用方法2
288核心,英特尔创新日公开Sierra Forest新规格
量产见真章:小鹏NGP3000公里远征挑战数据揭晓,用实际体验为最强量产自动驾驶类功能证言
D-Link发布首款Wi-Fi 6 USB无线网卡:速度可达1800Mbps
光纤衰减器的分类与应用
雅培其下一代传感器产品——FreeStyle Libre 3已获得CE认证
蓝牙的设备类型/操作系统/LED显示
基于PCI总线的大容量雷达数据采集系统的设计
可穿戴设备正在改变体育联盟
JSON / HTTP模型适合用在物联网技术上吗