oracle dcd设置,i.MX RT启动数据DCD的结构及配置

本文详细介绍了NXP i.MX RT系列芯片在使用外部SDRAM时的启动数据DCD(Device Configuration Data)结构和配置方法。内容包括i.MX RT的内存需求、启动方式、启动流程、DCD的作用、DCD的构成、DCD命令格式以及如何通过不同工具生成和修改DCD文件。重点讨论了SDRAM初始化在启动过程中的位置和如何根据不同的SDRAM容量调整DCD配置。
摘要由CSDN通过智能技术生成

i.MX RT启动数据DCD的结构及配置

目前NXP的i.MX RT因为很好的性能,在MCU市场上受到了广泛的欢迎。i.MX RT内部有三种SRAM,分别是ITCM、DTCM和OCRAM。主流使用的i.MX RT的内部SRAM都小于1MB,但对于有些应用,比如需要LCD显示的应用,则需要更大的RAM存放所需显示的每帧数据。如对于分辨率为WQGA(480x272)的屏,显示16bit的色深,用一个数据缓存区,显示一帧的数据至少需要260KB的RAM;如果想支持分辨率更高,得到更好的显示性能,如i.MX RT可支持分辨率WVGA(800x480)的LCD屏,显示24bit的色深,使用两个数据缓存区,则显示一帧的数据至少需要2.3MB的RAM;如果再加上其他的应用代码,1MB的内部SRAM是远远不够的。因此,很多应用需要外扩RAM,通常SDRAM用的比较多。

毫无疑问,i.MX RT支持SDRAM,并通过SEMC接口实现SDRAM的读写。

说到SDRAM的使用就不得不说i.MX RT的启动。除了内部RAM,i.MX RT启动支持以下6种外部存储器:

·Serial NOR Flash via FlexSPI

·Serial NAND Flash via FlexSPI

·Parallel NOR Flash via SEMC

·RAW NAND Flash via SEMC

·SD/MMC via uSDHC

·SPI NOR/EEPROM via LPSPI

其中Serial/Parallel NOR这两种存储器可以XIP(直接执行),其他4种存储器无法XIP,需要把代码拷贝到内部RAM或外接SDRAM里运行。对于内部RAM和SDRAM,两个都是易失性存储器,存放的代码或数据掉电会丢失,所以无法直接启动。

POR上电后,要么通过外部调试器,直接将应用程序和数据下载进SRAM/SDRAM,并将PC指向应用程序开始执行;要么通过存储在FLASH/ROM中的Bootloader程序,将应用程序和数据先加载到SRAM/SDRAM里,然后再跳转过去执行。

只不过SRAM是挂在系统总线上,一上电内部的SRAM就已经初始化完成了,而SDRAM是挂在存储器接口控制器上,因此需要先初始化SDRAM,才能向SDRAM中加载应用程序和数据。

除了从SDRAM 启动时需要在外部flash加载应用程序前提前初始化SDRAM,使SDRAM处于ready状态;有些应用同样需要在进入用户主程序前,完成SDRAM的初始化,以便CPU加载数据或代码到SDRAM时不会出错。如LCD的显示,对于字库和图形库文件的加载。

通常我们用DCD(Device configuration data)来初始化SDRAM.。但是DCD文件一般放在哪里及怎样定义呢,这里还是要说一下RT的启动,及一个可启动的image是如何构成的。

因为众所周知绝大多数的RT系列产品是没有内部FLASH的, 除了个别型号如i.MX RT1064;对于大多数有内部FLASH的MCU, FLASH地址是映射在内核的4GB系统空间内的(一般从0x0地址开始), MCU上电后可直接从内部FLASH读取应用代码并原地执行。

对于RT系列来说则是由片内的BootROM进行引导的,BootROM读取BOOT_MODE寄存器和eFUSEs的值,确定从哪个存储器启动,从外部存储器加载应用程序代码到内部SRAM、外部SDRAM或直接从Flash原地执行(XIP)。要让系统能够正常启动起来,以FlexSPI NOR flash为例,则烧写到外部SPIFlash里面的完整代码段必须按照BootROM规定的格式编写,也就是必须在用户的应用程序前加一个头文件, 这个头文件包含如下部分,这样才能正常启动。在这个头文件中就包含了SDRAM的配置信息,也就是DCD的定义。

通常可启动的Image头文件包含如下部分:

·Flash Configuration Parameters (FCP) — Flash的配置参数;

·Image Vector Table (IVT) — 包含指向固定物理地址的程序入口指针,包含指向DC

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值