stm32数据手册boot_STM32启动代码和BootLoder

启动文件的作用便是

负责执行微控制器从“复位”到“开始执行

main

函数”中间这段时间

(称为启动过程)所必须进行的工作。最为常见的

51

A

VR

MSP430

等微控制器当然也

有对应启动文件,

但开发环境往往自动完整地提供了这个启动文件

,不需要开发人员再行

干预启动过程,只需要从

main

函数开始进行应用程序的设计即可。

话题转到

STM32

微控制器,无论是

keiluvision4

还是

IAR EW

ARM

开发环境,

ST

公司

提供了现成的直接可用的启动文件

,程序开发人员可以直接引用启动文件后直接进行

C

应用程序的开发。这样能大大减小开发人员从其它微控制器平台跳转至

STM32

平台,也降

低了适应

STM32

微控制器的难度。

相对于

ARM

上一代的主流

ARM7/ARM9

内核架构,新一代

Cortex

内核架构的启动方

式有了比较大的变化。

ARM7/ARM9

内核的控制器在复位后,

CPU

会从存储空间的绝对地

0x000000

取出第一条指令执行复位中断服务程序的方式启动,即固定了复位后的起始地

址为

0x000000

(

PC = 0x000000

)同时中断向量表的位置并不是固定的。而

Cortex-M3

内核

则正好相反,有

3

种情况

:

1

通过

boot

引脚设置可以将中断向量表定位于

SRAM

区,即起始地址为

0x2000000

,同

复位后

PC

指针位于

0x2000000

2

通过

boot

引脚设置可以将中断向量表定位于

FLASH

区,即起始地址为

0x8000000

,同

复位后

PC

指针位于

0x8000000

3

通过

boot

引脚设置可以将中断向量表定位于内置

Bootloader

区,

本文不对这种情况做论

述;

Cortex-M3

内核规定,

起始地址必须存放堆顶指针

而第二个地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值