2 Star 1 Fork 0

MAMAMA / stm32f103c8t6-bootloader

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

BootLoader配置说明

STM32F103C8T6

Flash Address: 0x8000000~0x800FFFF 64K

芯片类型 Flash大小 Flash每页大小
小容量 <=32K 1K
中容量 <=128K 1K
大容量 <=256K 2K
#define FLASH_PAGE_SIZE         ((uint16_t)0x400)            //Flash每页大小
#define BT_APP_INFO_ADDR        ((uint32_t)0x08001000)       //APP固件版本信息保存地址
#define BT_APP_START_ADDR       ((uint32_t)0x08001400)       //APP的起始地址
#define BT_DOWNLOAD_INFO_ADDR   ((uint32_t)0x08008800)       //下载保存的固件信息
#define BT_DOWNLOAD_START_ADDR  ((uint32_t)0x08008C00)       //下载保存的固件起始地址
flash区域
4K bootloader
1K App版本信息
29K App
1K Download info
29K Download
帧头(1 byte) 帧类型(1byte)
0x68 0x00 - bin文件内容 2bytes(文件长度) 4bytes(写入flash的偏移地址,little) bin文件数据 4bytes(crc32,little)
0x01 - bin文件信息 4bytes(bin文件总字节数,little) 2bytes(总页数,little) 4bytes(版本信息)
0x02-获取版本信息 10bytes(被忽略,但必须要有)

启动顺序

bootloader启动时先判断BT_DOWNLOAD_INFO_ADDR中保存的版本信息是否高于BT_APP_INFO_ADDR
如果Download区的版本更高,则先校验下载区数据的栈顶地址是否合法(这是一种简单的校验方式),如果合法,就将Download区的代码复制到app区,并更新BT_APP_INFO_ADDR的版本,防止以后重复刷固件
跳转至BT_APP_START_ADDR运行

空文件

简介

用片上flash的bootloader 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/MAMAMAisused/stm32f103c8t6-bootloader.git
git@gitee.com:MAMAMAisused/stm32f103c8t6-bootloader.git
MAMAMAisused
stm32f103c8t6-bootloader
stm32f103c8t6-bootloader
master

搜索帮助