Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Bootloader
STM32
OTA
一个BIN适配STM32全系列的通用BOOT
发布于 2024-12-07 09:45:03 浏览:384
订阅该版
[tocm] 使用zig编写的,一个bin文件适配STM32全系列的通用BootLoader!!  **代码仓库:** ● github: https://github.com/puppy-rtos/stm32-zboot ● gitee: https://gitee.com/puppy-rtos/stm32-zboot ## 功能特性 ● 自动探测芯片架构、片上flash容量 ● 支持配置uart、spi管脚信息 ● 支持crc、hash校验固件 ● 默认使用FastLZ压缩固件 ● 支持SPI Flash,自动探测型号、容量 ● 自带配置工具:支持生成boot,打包更新包,生成测试app ● 固件体积极小,仅14.6KB 依托于zig强大的性能和跨平台构建能力,zboot在功能性和固件体积之间取得了良好的平衡! ## 使用方式 下面以星火1号开发板(主控:stm32f407)为例,展示zboot的使用方法。 ### 1.下载zboot工具 https://gitee.com/puppy-rtos/stm32-zboot/releases/tag/v0.0.6 > 目前默认提供了Linux和Windows上的二进制包,MAC的可通过源码编译获取。  ### 2.生成stm32-zboot.bin 使用zboot工具生成对应的stm32-zboot.bin和config.json配置文件,运行zboot boot 命令,即可生成这两份文件,如下所示:  ● stm32-zboot.bin:stm32全系列通用的boot镜像,需要下载到芯片的起始地址。 ● config.json:stm32 boot配置文件,用来配置boot文件的参数,具体参数的意义看下面的图片。可以按照自己硬件的参数,修改配置文件。修改完之后,再次运行 `zboot boot` 命令即可更新stm32-zboot.bin的参数配置。  下面是我修改过的配置文件。  烧录配置好的stm32-zboot.bin到开发板,即可通过配置的uart引脚,查看到启动信息。  ### 3.测试引导功能 使用命令 zboot app可以生成测试应用固件。 > 默认生成的app.bin加载地址是0x08008000,如果要生成其他地址的测试应用,需要修改项目源码,重新编译。  烧录测试固件到0x8008000地址处,然后重启硬件,测试跳转正常。  ### 4.测试OTA功能 使用命令 zboot rbl 可以打包app固件。默认使用fastlz算法压缩固件体积。  然后将stm32-app.bin.rbl烧录到swap分区对应的位置0x8040000。重启硬件,zboot会自动完成应用固件的更新。  zboot默认集成了SFUD功能,会自动探测外部flash,如果硬件有外部SPI Flash的话,也可以修改配置文件中的引脚信息,并使能外部Flash。 **目前已适配F4\L4\H7,期待你的测试反馈!!!**
5
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
flyboy
Do my self();
文章
10
回答
509
被采纳
12
关注TA
发私信
相关文章
1
Linux下通过USBTinyISP为Arduino开发板烧?写Bootloader
2
请教修改NVIC后RTT调度函数失效的问题[已解决 bootloader中打开了不必要的中断]
3
进入bootloader的方式探讨
4
求助:IAP里的APP使用的RTT,跳转后出错。[已解决]
5
有没有人在STM32F103上用UART IAP跑过RT-Thread?
6
想做网口的IAP远程升级,不知可不可行
7
IAP问题
8
[已解决]请教基于RTT的IAP程序切换到应用程序不成功的问题(基于STM32F4)?
9
stm32f4xx-----IAP移植APP程序需要注意的地方
10
在调试IAP网络升级遇到跳转之后bootloader程序网络不通
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
10
个答案
3
次被采纳
xiaorui
3
个答案
2
次被采纳
winfeng
2
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
lizimu
2
篇文章
8
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部