打印
[技术文档]

航顺MCU的boot启动配置

[复制链接]
868|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jf101|  楼主 | 2023-5-20 17:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
启动配置
可通过 BOOT0 脚及用户选项字节中的 boot 配置位 nBOOT1 配置选择三种不同的启动模式,如下表所示。



从复位或待机模式唤醒时,CPU 会采样 boot 模式配置值,因此在有待机应用的场合需要保持启动模式的设置。在启
动延迟之后,CPU 从地址 0x00000000 获取堆栈顶的地址,并从启动存储器的 0x00000004 指示的地址开始执行代码。
根据选定的启动模式,主闪存存储器,系统存储器或 SRAM 按照以下的说明访问:
● 从主闪存存储器启动:主闪存存储器被映射到启动存储空间(0x00000000),但仍然能从原有的地址空间(0x800
0000)访问。即闪存存储器的内容可从两个地址开始访问,0x0000 0000 或 0x800 0000。
● 从系统存储器启动:系统存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址空间(0x1FFF
EC00)访问。
● 从内置的 SRAM 启动:SRAM 映射到启动空间(0x0000 0000),但其仍然能够在它原有的地址空间(0x2000 0000)访
问。
物理重映射
无论从何种 boot 模式启动后,应用程序可以通过修改 SYSCFG_CFGR1 寄存器中的 MEM_MODE 位来重新映射存储器地
址。Cortex-M0 CPU 与 Cortex-M3 和 Cortex-M4 不一样,M0 CPU 不支持中断向量表重映射,如果应用程序没有放在 0x0800
0000 地址,就必须要添加额外的代码用来作为中断服务程序。一种可行的方式就是吧中断向量表重映射到 SRAM:
⚫ 把中断向量表从 Flash 拷贝到 SRAM 的 0x2000 0000 地址。
⚫ 配置 SYSCFG_CFGR1 寄存器的 MEM_MODE[1:0]把 SRAM 映射到 0x0000 0000 地址。
⚫ 配置完成后,一旦有中断发生,CPU 从重映射到 SRAM 中的中断向量表取中断服务程序地址,然后跳转到 Flash
中执行中断服务程序。
内嵌的自举程序
内嵌的自举程序存放在系统存储器,在生产时写入。该程序可以通过 USART1 的 PA14/PA15 或 PA9/PA10 组合对闪存
进行重新编程。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

231

主题

1538

帖子

2

粉丝