STM32的启动流程分析

STM32上电的时候 0x00000000处取得SP的值,

      0x00000004处取得PC的值.

Flash的地址是0x08000000,被映射到了0x00000000处,对0x00000000的读写就相当于对0x08000000的读写

Keil好像会把RESET这个只读的数据段当道0x08000000处,所以要加上这段汇编代码

AREA RESET, DATA, READONLY

DCD 0x20000000 + 1024;DCD用于定义一个字变量,此处这个变量的值为0x20000000+1024,STM32上电的时候将会在这个地址上取出这个数 作为SP的值

DCD UserMain ;UserMain是一个标号 (我这里的UserMain相当于C的main)STM32上电的时候会将0x00000004处取得数作为PC的值,PC是程序计数器 表示下一次要执行的代码所在的地址.

DCD ...//填写对应的中断向量 ,不写也可以运行 不过千万不要触发相应的中断 否则会死机

DCD ...

...

AREA _UserMain, CODE, READONLY

ENTRY

UserMain;STM32上电的时候就跑到了这里

B.;死循环







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值