Chapter 9. i.mx6u启动方式详解

Chapter 9. i.mx6u启动方式详解


【参考】:

  1. 【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.5.pdf
  2. IMX6UL参考手册.pdf
  3. IMX6UL数据手册(商用级).pdf


01 启动模式

​ i.mx6u上电后,会根据BOOT_MODE[1:0]的设置来选择BOOT方式,BOOT_MODE[1:0]的值可通过以下两种方式进行更改:①改写eFUSE(熔丝,只能改写一次);②修改BOOT_MODE[1:0]对应GPIO的高低电平。

BOOT_MODE[1:0]对应了i.mx6u的四种BOOT模式:

在这里插入图片描述

BOOT_MODE1BOOT_MODE0 在芯片内部连接了 100KΩ下拉电阻

  1. 串行下载

    BOOT_MODE1=0, BOOT_MODE0=1时使能此模式,可利用NXP提供的软件,通过USB或UART将代码下载到板子上的外置存储中。

    如可用OTG这个USB口,向开发板上的SD/EMMC、NAND等存储设备下载代码

  2. 内部BOOT模式

    BOOT_MODE1=1, BOOT_MODE0=0时使能此模式。

    此模式下,芯片会做如下操作:

    1. 执行内部的bootROM代码。bootROM会进行一部分外设的初始化。

      bootROM会初始化时钟,打开Cache和MMU,并启动用户代码等。

    2. 从boot设备中将代码拷到指定的RAM中,一般是DDR。

      boot设备就是存放代码的设备,如SD/EMMC、NAND等


02 启动设备(内部BOOT模式)

​ 启动设备是通过BOOT_CFG1[7:0]BOOT_CFG2[7:0]BOOT_CFG4[7:0]这 24 个IO配置的。这24个IO对应着LCD的24根线,LCD_DATA0~LCD_DATA23,启动完成后,这个24个IO就可以作为LCD的数据线使用了。

这24个IO和BOOT_MODE1BOOT_MODE0共同决定了i.mx6u的启动方式

内部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。

  1. 如何配置BOOT_CFG1[7:0]BOOT_CFG2[7:0]BOOT_CFG4[7:0]

    BOOT_CFG引脚含义如下所示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1. `BOOT_CFG4[7:0] `可忽略。开发板上10k电阻下拉到GND了;
2. 由上图可知,`BOOT_CFG1[7:0]`、 `BOOT_CFG2[7:0]`中决定启动设备的主要是`BOOT_CFG1[7:4]`,其他功能视情况而定。
  • 正点原子开发板启动配置如下

在这里插入图片描述

  • 野火开发板启动配置如下:

在这里插入图片描述

:两者的差别在于BOOT_CFG1[3]BOOT_CFG2[5]

具体差别待需要时细究。


03 镜像烧写

imxdownload在烧写程序时,先在xxx.bin文件前添加头部信息转换成满足i.mx6u需求的load.imx文件,然后下载的load.imx文件。

  1. i.mx6u最终可烧写文件的组成如下

    1. ①、 Image vector table,简称 IVT, IVT 里面包含了一系列的地址信息,这些地址信息在
      ROM 中按照固定的地址存放着。

      ②、 Boot data,启动数据,包含了镜像要拷贝到哪个地址,拷贝的大小是多少等等。
      ③、 Device configuration data,简称 DCD,设备配置信息,重点是 DDR3 的初始化配置。
      ④、用户代码可执行文件,比如 led.bin。

      i.mx6u最终烧写文件的组成为:IVT + Boot data + DCD + xxx.bin


关于头部信息的详细说明,请参见【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.5.pdf 的【第九章–镜像烧写】部分,此处暂不做小结。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值