您的位置 首页 厂商

《Cortex-M0威望攻略》之体系结构—程序映像和发动流程

我们先来看看程序映像。通常,Cortex-M0处理器的程序映像时从地址0x00000000处开始的。程序映像开始处时向量表,其中包含了异常的其实地址(向量),每个中断向量的地址都等

  咱们先来看看程序映像。

    

 

  一般,Cortex-M0处理器的程序映像时从地址0x00000000处开端的。

  程序映像开端处时向量表,其间包含了反常的其实地址(向量),每个中止向量的地址都等于“反常号*4”,比方,外部IRQ0的反常类型为16,因而其向量地址为16*4=0x40。这些向量的最低位都被置为1,以标明运用thumb指令。向量表的巨细由实际运用的中止个数决议。

  向量表中包含了MSP的初始值,它存储在向量表的头四个字节。

  复位时,处理器首要读取向量表的前两个字(8个字节),榜首个字为MSP的初始值,第二个字为复位向量,它标明程序履行的开端地址。

  例如,假如发动代码坐落地址0x000000C0,需要在复位向量处写入这个地址,而且将地址的最低方位为1,以标明当前为thumb代码,因而,地址0x00000004处的值为0x000000C1。在获得复位向量值后,处理器开端从这个地址处履行程序代码。

    

 

  复位流程也会初始化MSP,假定内存坐落0x20000000~0x20007FFF,能够将0x20008000写在地址0x00000000处,这样就完成了把主栈指针置于内存的顶部。

  假如要运用PSP,在装备CONTROL寄存器切换栈指针前,有必要首要经过软件代码将其初始化,由于复位流程只初始化MSP,不初始化PSP。

    

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/209271.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部