02. IMX启动方式

启动方式的选择 BOOT_MODE[1:0]

6ULL是怎么支持从多种外置flash启动程序的?
BOOT_MODE0和BOOT_MODE1,这两个IO控制的,选择从USB启动还是从内部BOOT启动。如果要烧写系统到开发板中可以选择从USB下载到SD卡、EMMC等外置存储中。烧写完成后从内部BOOT启动,然后从相应的外置存储中启动。
在这里插入图片描述
在这里插入图片描述
上表中的四个方式,一般只用到2和3

串行下载

01时,表示可以通过USB或者UART将代码下载到板子的外置存储设备中,可以使用OTG1向SD、EMMC、NAND等存储设备下载代码

内部BOOT模式

10时,表示芯片会执行内部的boot ROM代码,这段代码会进行硬件初始化,然后从boot设备(就是存放代码的设备,如SD)中将代码拷贝到指定的RAM中,一般是DDR。
初始化时,会将主频设置为396MHz。内部boot ROM为了加快执行速度会打开MMU和cache,下载镜像时 L1 ICache 会打开,验证镜像的时候 L1 DCache、 L2 Cache 和 MMU 都会打开。一旦镜像验证完成, boot ROM就会关闭 L1 DCache、 L2 Cache 和 MMU。
中断向量偏移会被设置到boot ROM起始位置,当boot ROM启动了用户代码后就可以重新设置中断向量偏移了。一般是重新设置到用户代码开始的地方。

启动设备的选择 BOOT_CFGx[7:0]

当BOOT_MODE设置为内部BOOT 模式后,可以通过 BOOT_CFGx[7:0] 从以下设备中启动:

  1. 接到 EIM 接口的 CS0 上的 16 位 NOR Flash
  2. 接到 EIM 接口的 CS0 上的 16 位 OneNAND Flash
  3. 接到GPMI上的MLC/SLC NAND Flash, NAND Flash 页支持2k,4k和8k,8位宽
  4. Quad SPI Flash
  5. 接到 USDHC 接口上的 SD/MMC/等
  6. SPI接口的EEPROM
    在这里插入图片描述
    在这里插入图片描述
    对于ALPHA开发板也就这8个需要设置
    在这里插入图片描述

启动头文件

BOOT ROM做的事情

设置内核时钟为396MHz,使能MMU和cache,使能L1cache L2cache MMU,目的就是加速启动。从BOOT_CFG设置的外置存储中,读取image,然后做相应的处理

IVT和BOOT Data数据

bin文件前面需要添加头部,我们烧写到SD卡中的imx文件在SD卡中的起始地址是0x400,也就是1024。头部大小为3k,加上偏移地址,因此在SD卡中bin文件的起始地址是4096

DCD数据

DCD数据就是配置6ULL内部寄存器的。首先,将CCGR0~CCGR6全部写为0xFFFFFFFF,表示打开所有外设时钟,然后就是DDR初始化参数,设置DDR控制器,也就是初始化DDR。

其他的数据

检查数据命令、NOP命令、解锁命令。这些数据也都属于DCD数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值