[32位单片机及处理器] MPU上电启动顺序

[复制链接]
434|1
 楼主 | 2019-2-2 17:18 | 显示全部楼层 |阅读模式
本帖最后由 MCHPMPU 于 2019-2-3 14:32 编辑

  所有AT91的芯片内部都固化了一级引导程序Romcode。该程序是系统上电后运行的第一段程序,主要功能是完成一些基本的初始化,并按照一定的顺序遍历外部存储器寻找并加载下一级引导程序。另外,Romcode中还集成了SAM-BA监视器模块,当Romcode在外部存储器中找不到有效代码时,就会进入SAM-BA监视器模式,此时可以连接主机SAM-BA上位机软件并进行在线编程。Romcode执行流程如下:



Capture.PNG


  至于外部存储器的遍历顺序,仅以SAMA5D2为例进行说明,下图来源于SAMA5D2的数据手册,描述了C版本的Romcode中对外部存储器的遍历顺序。用户也可以通过修改启动配置字寄存器(Boot Configuration Word)来对该顺序进行定制,具体请参考数据手册16.4Boot Configuration一节


403245c555dac939a7.png

  另外附上SAM产品支持的外部存储器列表,供各位查询参考。
52575c555f21eebec.png

     SAM产品的启动流程大同小异,用户可以参考相应数据手册中的Boot Strategies或者Standard Boot Strategies章节。其中值得一提的是,SAM9系列产品中有个BMSBootMode Select)引脚,这个引脚是系统复位时通过硬件设置的,如果检测到BMS为高电平,芯片将从内置的ROM启动,运行固化的Romcode,如果检测为低电平,则从连接在外部总线片选0的存储器(一般是NORFlash)中启动,这样用户就可以使用自己的一级引导程序了。
附上一篇AN - Booting from External Non-Volatile Memory (NVM) onSAMA5D2 MPU
http://ww1.microchip.com/downloads/en/AppNotes/AN2791-Booting-from-External-Non-Volatile-Memory-on-SAMA5D2-MPU-Application-Note-DS00002791A.pdf
  到这里文章就要结束了,希望对小伙伴们有所帮助。大家有感兴趣的话题也可留言告诉我们,我们会积极响应的

pig.png


| 2019-2-10 11:53 | 显示全部楼层
感谢分享

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表