cortexM3启动简介

一、nxp 1853系列启动流程

1、上电复位后使用内部IRC 12M振荡源作为时钟。程序指针指向0x00000000处。
2、将bootrom地址映射到0x00000000处。不用执行该步骤,上电时影子寄存器(M3MEMMAP)中的值已经自动映射。访问0处地址自动转换到0x10400000处。
3、首先执行bootrom处引导代码,存放在0x10400000处。
4、检测启动引脚配置,配置脚P2_9、P2_8、P1_2和P1_1。
5、根据配置脚情况从串口、USB、flash中选择一种方式启动。这个过程中会修改影子寄存器内容,让入口地址映射到0处,保证正常启动。

 

二、程序地址映射

      上电后pc指针是从0开始的,但是程序一般存在非0地址处。coretexM3采用映射方式将程序存储空间映射到地址0处,映射方法是将程序存储空间起始地址写入M3MEMMAP寄存器中。映射完成后就能执行程序存储空间中的代码。下图是一个使用外部存储器的地址映射图。

三、向量表偏移

            当代码有远程升级功能时,执行文件会被分作两部分,前面一小部分存放BootLoader镜像实现升级功能,实际执行文件存放在另一部分。整个执行文件被顺序存放在控制器的内部flash存储器上,实际执行文件的向量表未放在flash存储起始地址上,当实际程序文件执行异常时就无法跳转到异常向量表上。cortexM3提供了向量表偏移功能,直接将向量表的便宜量写入VTOR寄存器即可。

   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值