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

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

硬件启动配置

外部设备设备配置

  1. 开发板配置选项

  2. 启动配置选项电路

  3. 启动配置引脚

  4. 启动模式选择

    启动模式选择可以有:从Fuses、从串口下载、从内部;

  5. 串行Flash配置选项

    这两位控制支持的Flash Type;

    即SW7的前两位确定Flash的规格,后两位确定启动的方式!

Nor Flash 启动流程

BootRom里面的程序:

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

Flash的配置参数

512字节的串口Nor Flash配置字段:

  • memCfg:外部时序,时钟等;
  • pageSize:页大小;
  • sectorSize:块大小;
  • xxxClkFreq: 串口的时钟频率;

工程代码:

image-20231211170401921

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;

  • 程序代码:

作者

Gavin

发布于

2023-12-11

更新于

2023-12-11

许可协议

CC BY-NC-SA 4.0

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×