RT1050开发--第7节 RT1050 硬件启动模式
第7节 RT1050 硬件启动模式详解

硬件启动配置
外部设备设备配置
开发板配置选项
启动配置选项电路
启动配置引脚
启动模式选择
启动模式选择可以有:从Fuses、从串口下载、从内部;
串行Flash配置选项
这两位控制支持的Flash Type;
即SW7的前两位确定Flash的规格,后两位确定启动的方式!
Nor Flash 启动流程

BootRom里面的程序:
- 配置 FlexSPI 的Pin复用功能,配置时钟频率30MHz,进行基础的读取操作;
- FlexSPI最高300MHz,这里不知道外部Flash是啥情况,配置为低速时钟用来读NorFlash的头上的配置信息;
- 获取到外部Flash的配置参数;
- 读取了外部Flash的配置参数之后,RT用来配置它的外设 FlexSPI ;
- 它是根据读取的外部Flash的配置参数,来配置FlexSPI;
- 设置boot device 参数
- Image 地址, memory范围;
- 即:**真正的代码段的地址和长度**;
- 判断Image是否直接在Flash的片上进行取址:
- 如果XIP,则从FlexSPI1的地址空间中执行Image;
- 如果非XIP,则拷贝到OCRAM中,再从OCRAM中运行Image;
Flash的配置参数

512字节的串口Nor Flash配置字段:
- memCfg:外部时序,时钟等;
- pageSize:页大小;
- sectorSize:块大小;
- xxxClkFreq: 串口的时钟频率;
工程代码:

Image的关键信息

- Image vector table(IVT):声明image的具体位置,即代码在 nor flash 的具体位置是多少;
- Boot data:image位置和大小;
- Device configuration data (DCD):
- User code and data:
IVT + Boot data
IVT 需要放在外部Flash的固定偏移地址,供ROM读取以便让系统知道用户Image的第一条可执行指令放在哪里,以及Boot Data和DCD的存放位置;
BootData保存了完整的Image首地址和整个Image所占大小;
程序代码:
DCD
DCD包含了一些配置命令以便在跳到用户程序入口之前,供ROM调用配置内部外设以更好的匹配外部IC,一般如果系统外挂了SDRAM的情况下需要配置好DCD;
程序代码:
RT1050开发--第7节 RT1050 硬件启动模式
https://dustofstars.github.io/NXP/RT1050/rt1050开发-第7节-rt1050-硬件启动模式/