推荐阅读最新更新时间:2026-03-25 11:33
[国嵌笔记][028][Bootloader设计蓝图]
Bootloader的作用就是启动Linux内核 U-Boot简介 1.U-Boot是用于多种嵌入式CPU(ARM、x86、MIPS等)的bootloader程序,U-Boot不仅支持嵌入式Linux系统的引导,还支持VxWorks、QNX等多种嵌入式操作系统 2.uboot自动启动Linux的模式叫做自主模式;uboot在启动倒计时,停止启动的模式叫开发模式 建立uboot代码工程 1.安装source insight,方便进行大量代码的阅读 2.建立工程 project- new project- browse(uboot)- project has its own configuration file 3.解压ubo
[单片机]
【讲义】STM32的IAP技术,基于CAN总线的STM32F103 BootLoader设计
1 不同的程序下载方式 目前,单片机的程序烧录方式可以分为三种:ICP,ISP,IAP。 1.1 ICP:In-Circuit Programming 在电路中编程。使用厂家配套的软件或仿真器进行程序烧录,目前主流的有JTAG接口和SWD接口,常用的烧录工具为J-Link、ST-Link等。 在程序开发阶段,通常在连接下载器的情况下直接使用编程软件进行程序下载调试。 在MDK软件中可以选择不同的下载器。 1.2 ISP:In-System Programing 在系统中编程。以STM32为例,其内置了一段Bootloader程序,可以通过更改BOOT引脚电平来运行这段程序,再通过ISP编程工具将程序下载进去。下载完毕之后
[单片机]
NB-IOT远程升级第1弹:BootLoader编写及软件包制作
在物联网项目的开发过程中,必不可少的一项功能就是远程升级OTA(Over-the-Air),即使用WIFI、蓝牙、4G、NB-IOT等方式将升级包传输到MCU,MCU进行代码存储,完成升级 本系列文章将介绍基于电信AEP平台进行NB-IOT设备的远程升级,包含stm32内部flash分区、BootLoader代码编写,平台软件升级包制作,平台软件升级协议对接等内容,后续几篇文章将陆续介绍 该系列文章目录大纲如下: image 在文章开始之前,若还不熟悉NB-IOT模块与电信AEP平台的通信过程,可以先看之前介绍NB-IOT通信的一篇文章:《还不会NB-IOT通信,这篇文章打通NB-IOT通信的任督二脉》 1 STM32
[单片机]
Linux嵌入式 -- Bootloader , Uboo
1. Bootloader作用 PC机中的引导加载程序由BIOS(其本质是一段固件程序)和GRUB或LILO一起组成。BIOS在完成硬件检测和资源分配后,将硬盘中的引导程序读到系统内存中然后将控制权交给引导程序。引导程序的主要任务是将内核从硬盘上读到内存中,然后跳转到内核的入口点去运行,即启动操作系统。 简单地说,BootLoader就是在操作系统运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统做好准备。 系统加电或复位后,所有的CPU通常都从CPU制造商预先安排地址开始执行。比如,S3C2410在复位后从地址0x00000000起开始执行。而嵌入式
[单片机]
基于STM32F4和RT-Thread通用BootLoader使用经验
硬件资源 正点原子stm32f407zgt6探索者开发板,片上Flash(ROM)大小为1024KB,RAM大小为192KB,板载一个SPI Flash W25Q128。 BootLoader配置 根据官方文档: https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/ (公号不支持外链接,请复制链接到浏览器打开) BootLoader的基本配置如下,加密压缩的配置可以不选。 上述的分区表以及bootloader所占空间可以用下面的图表示,偏移地址的概念为从0x08000000开始偏移。 flash空间的前12
[单片机]
ARM Linux bootloader笔记
1 .text //指定了后续编译出来的内容放在代码段【可执行】 2 .global //告诉编译器后续跟的是一个全局可见的名字【可能是变量,也可以是函数名】 3 _start /*函数的其实地址,也是编译、链接够程序的起始地址。由于程序是通过加载器来加载的, 必须找到_start名字的函数,因此_start必须定义成全局的,以便存在于编译后的全局符合表中, 供其他程序【如加载器】寻找到。*/ 4 _start: 5 /*1.关看门狗*/ 6 ldr r0,=53000000 7 /*2.设置时钟*/ 8 9 /*3.初始化SDRAM*
[单片机]
关于8051的bootloader实现方式
一,基本硬件需求 要实现IAP功能,需要51单片机可以在程序里修改代码空间的Flash,或者至少可以修改用户程序区的Flash,新出的51大部分都能满足这个要求 二,空间划分 一般bootloader位于单片机代码空间的起始地址,用户程序在后面。这个需要根据实际的需求来决定,bootloader功能简单,就少占用一些,bootloader功能复杂的就多占用一些。除此之外,一般还要根据Flash的页为界线划分。附带的工程模板里,bootloader使用0x0000-0x0fff区间,用户程序使用0x1000以后的空间。 三,中断的处理 51单片机的中断入口一般位于0地址开始的区间,无法修改,但是根据上面的空间划分方式,这个区间位于b
[单片机]
STM32单片机实现Bootloader跳转的关键步骤
本期话题: 现在越来越多的嵌入式设备支持远程自动升级,不需要再借助下载器。这样对于设备的维护非常方便。 当然若使设备支持远程升级,需要编写支持升级的程序代码,可以称之为 BootLoader。 也就是说,将设备的程序代码分为两部分:BootLoader 和 APP。 BootLoader 负责升级 APP 以及引导APP运行。APP 负责实现设备的业务处理功能,也就是设备的核心功能代码。 对于Cortex-M 系列的单片机来说,若要实现 BootLoader 安全跳转到 APP,需要进行一些配置。 本文就以 STM32 单片机为例,来聊一聊实现 BootLoader 跳转的关键配置步骤。 聊一聊: 在程序开发设计阶段,要根据具
[单片机]