STM32的启动过程
来源:互联网 发布:微信发假金额红包软件 编辑:程序博客网 时间:2024/06/07 18:02
当运行main函数的时候,芯片不是直接执行main函数的,还有一个启动的过程
M3的启动方式由boot0和boot1选择,可以有三种启动方式
最常用的应该是第一种,就是将程序存储在片内的flash上,掉电后程序不会消失。
boot引脚的设置不同,芯片复位后起始地址就不同,选择从flash启动的时候,其复位地址就是0x08000000,Cortex-M3内核规定,起始地址必须放置堆顶指针,也就是MSP,所以0x08000000-0x08000004放置的是堆顶指针,0x080000004就是中断向量表的入口地址,系统复位后,会自动从起始地址的下一个32bit后边取出中断向量表的起始地址,并且进入复位中断,执行完复位中断后跳转到main函数执行程序。
至于为什么flash的起始地址是0x08000000,是因为芯片进行了地址映射,就是将0x08000000映射到了0x00000000上边,同时0x08000000还保持这访问功能,也就是说0x0800000有两个访问地址,一个是本身,另一个就是0x00000000。
如果选择了RAM作为启动方式,那么就是将0x20000000映射到0x0000000上边,原地址同样有访问功能
0 0
- STM32的启动过程
- 解析 STM32 的启动过程
- 解析STM32的启动过程
- 解析STM32的启动过程
- 解析 STM32 的启动过程
- 解析STM32的启动过程
- 解析 STM32 的启动过程
- 解析 STM32 的启动过程
- 解析 STM32 的启动过程
- 解析 STM32 的启动过程
- 解析 STM32 的启动过程
- 解析 STM32 的启动过程
- STM32的启动过程分析
- STM32 上电后的启动过程
- 解析 STM32 的启动过程
- 解析STM32的启动过程及STM32 启动文件选择
- 解析STM32的启动过程2
- 解析STM32的启动过程(转载)
- 安装arm-linux-gcc
- Android LayoutParams修改的正确姿势
- jni ndk 学习笔记,带源码
- 10分钟掌握XML、JSON及其解析
- PHP创建与解析XML
- STM32的启动过程
- 机器学习与R笔记之线性回归
- Button的三种监听方法
- python 安装easy_install和pip
- Leetcode 110. Balanced Binary Tree (Easy) (cpp)
- This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE
- MFC中Picture控件,将位图转换成任意大小再放入控件中
- AssetsBundle 学习(一)
- android中的ListView数据量大时如何提高效率。。。。