项目简介
NowBoot是一个面向小型嵌入式系统的Bootloader模块,基于FreeRTOS开发。只需对包含异常向量的boot.s
文件进行少量修改,它就能和其他裸机固件配合使用。该模块的目标是从本地磁盘(如SD卡)加载新固件到Flash内存,支持个人、非盈利或商业产品的固件更新。
项目的主要特性和功能
- 固件加载:可检查本地磁盘是否存在新固件文件,若存在则将其内容复制到Flash内存,并修改文件名称。
- 基础固件处理:若未找到新固件文件,会检查固件起始地址的内存是否已写入(非0xFF),若未写入则查找基础固件文件并写入Flash。
- 引导功能:完成所有操作后,将控制权传递给固件。
安装使用步骤
- 确保已下载本项目的源码文件。
- 由于NowBoot默认应用从地址0x8000(32K)开始,在固件的链接脚本中,需相应声明Flash内存的起始地址(
flash_start + 32K
)及其大小(flash_length - 32K
)。 - 有两种方式将Bootloader和程序放入内存:
- 推荐方式:使用编程器同时将两个文件烧录到程序内存,手动设置起始地址。
- 手动方式:将文件二进制合并为一个,中间用0xFF(NOP)填充,但不建议手动操作。
- 操作完成后,将新固件文件放置在SD卡等本地磁盘上,重启处理器即可完成固件更新。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】