LINUX-I.MX6U从零开始之1.2--I.MX6U的启动方式

一,启动方式选择

I.MX6U 有一个 BOOT_MODE1 引脚和BOOT_MODE0 引脚,这两个引脚对应这 BOOT_MODE[1:0]。

在这里插入图片描述

1.1串行下载

串行下载的意思就是可以通过 USB 或者UART 将代码下载到板子上的外置存储设备中, 我们可以使用 OTG1这个USB口向开发板上的 SD/EMMC、NAND 等存储设备下载代码。

1.2 内部 BOOT 模式

当 BOOT_MODE 为 1,BOOT_MODE0 为 0 的时候此模式使能,在此模式下,芯片会执行内部的 boot ROM 代码,这段 boot ROM 代码会进行硬件初始化(一部分外设),然后从 boot 设备(就是存放代码的设备、比如 SD/EMMC、NAND)中将代码拷贝出来复制到指定的 RAM 中,一般是 DDR。

二,启动设备

当 BOOT_MODE 设置为内部 BOOT 模式以后,可以从一下设备中启动:
、接到 EIM 接口的 CS0 上的 16 位 NOR Flash。
、接到 EIM 接口的 CS0 上的 OneNAND Flash。
、接到 GPMI 接口上的 MLC/SLC NAND Flash,NAND Flash 页大小支持 2KByte、4KByte和 8KByte,8 位宽。
、Quad SPI Flash。
、接到 USDHC 接口上的 SD/MMC/eSD/SDXC/eMMC 等设备。
、SPI 接口的 EEPROM。
这些启动设备如何选择呢?I.MX6U 同样提供了 eFUSE 和 GPIO 配置两种。
这里只讲GPIO配置。
启动设备是通过BOOT_CFG1[7:0]、BOOT_CFG2[7:0]和 BOOT_CFG4[7:0]这 24 个配置 IO。
在这里插入图片描述
BOOT_CFG4[7:0]这 8 个 IO 都 10K 电阻下拉接地。
BOOT_CFG1[7:0]和 BOOT_CFG2[7:0]这 16 个 IO,呵,看原子手册吧,有板子原理图。

三,镜像烧写

.bin 文件前面添加一些头信息构成满足 I.MX6U 需求的最终可烧写文件。
烧写文件组成:IVT+Boot data+DCD+.bin
、Image vector table,简称 IVT,IVT 里面包含了一系列的地址信息,这些地址信息在 ROM中按照固定的地址存放着。
、Boot data,启动数据,包含了镜像要拷贝到哪个地址,拷贝的大小是多少等等。
、Device configuration data,简称 DCD,设备配置信息,重点是 DDR3 的初始化配置。
、用户代码可执行文件,比如 led.bin。
具体详见博客1.3烧录实现。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值