标题:
STM32的BootLoader 从SD卡更新固件
[打印本页]
作者:
yuchengze
时间:
2016-12-23 20:24
标题:
STM32的BootLoader 从SD卡更新固件
目
录
1.
前言
2.
初识
BootLoader
2.1
百度百科的
BootLoader
2.2 BootLoader
的简单理解
2.3 BootLoader
的作用
3. BootLoader
预备知识
3.1
复位序列
3.1.1
栈指针
3.1.2
复位向量
3.2
重定位中断向量表
3.2.1 STM32
的中断向量表
3.2.2
设置中断向量表偏移
3.3
分散加载文件相关
3.3.1 C
语言的函数地址
3.3.2 BootLoader
占用的
ROM
3.3.3
修改
ROM
起始地址
3.4 hex
文件和
bin
文件
3.4.1 hex
文件
3.4.2 bin
文件
3.5 Bin
文件生成
4.
分几步实现
BootLoader
4.1
跑
FAT
文件系统
4.2
读写
Flash
程序
4.2.1 Flash
写入步骤
4.2.2
读写
Flash
调用的库函数
4.2.3
实现
Flash
读写
4.3
跳转到新程序运行
4.3.1
跳转到复位向量
4.3.2 App
开始运行
5. Bootloader
具体流程
5.1
主函数流程
5.2 BootLoader
流程
5.3
跳转到新程序流程
附录
A
主函数
附录
B
更新说明
参考文献
1.
前言
自从几个月前接触到有
Bootloader
这回事,就有一种强烈的冲动,想写一个
BootLoader
出来。很快在飞思卡尔的
Cortex-M4
单片机上实现,已经是好几个月前的事情了。然后关于
BootLoader
的事搁在一边好久了,这次弄个
STM32
的
BootLoader
出来,
Cortex-M3
的,顺便发表下博客,跟大家分享一下。
。。。
又过了大半年了吧,慢慢对
BootLoader
的认识也有点长进啦。特别是跟网友讨论后发现
BootLoader
的实现还是需要靠
BootLoader
程序和
App
程序的配合才能正常使用。在这里特别感谢网友
cary_yingj
,对本
BootLoader
的研究后发现
App
程序需要重定位中断向量表,才能正常工作。
在其他网友的反馈下,本人准备再将次文档完善,把不够详细的地方写得再详细,并且力求通俗易懂一点。希望对学习
BootLoader
的同学们有所帮助。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0