正点原子IMX6ULL启动方式讲解

目录

硬件启动方式的选择

启动方式的选择

启动设备的选择

启动头文件

BOOT ROM做的事情

IVT和BOOT DATA数据

DCD数据(device configuration data)

其他数据


硬件启动方式的选择

Led灯实验中,是从SD卡读取bin文件并且启动,说明6ULL支持SD卡启动。

6ULL支持多种外置flash启动程序的

利用这里拨码进行调节

启动方式的选择

BOOT_MODE0 和 BOOT_MODE1 是由两个IO来控制的,选择从USB启动韩式内部boot启动。如果要烧写系统到开发板中可以选择从USB下载,下载到SD卡,EMMC,NADN等外置存储中。烧写完成设置从内部BOOT启动,然后从相应的外置存储中启动。

启动设备的选择

前提是,你设置MODE1和MODE0是从内部BOOT启动的,也就是MODE1 = 1,MODE0 = 0

NOR flash,oneNAND、NAND flash、QSPI flash 、SD/EMMC、EEPROM。我们最常用的就是NAND、SD、EMMC| 甚至 QSPI flash(小内存,省成本)

启动设备是通过BOOT_CFG选择

BOOT_CFG1,2,4------------每个八位。

BOOT_CFG是由LCD_DATA0-23来设置的。在ALOHA开发板上,大部分默认都接47k下拉电阻接地。BOOT_CFG2,全部接地,BOOT_CFG4的8根线全部接地。其中由上和下图得出:BOOT_CFG2[3]--------控制读取哪一个SD卡。

BOOT_CFG1之中的0,1,2位是定死的,3,4,5,6,7,是可以设置的。具体设置对应上图。

正点原子核心板上BOOT电路设置如下图

启动头文件

BOOT ROM做的事情

设置内部时钟为396MHz(默认),使能MMU和Cache为了提高BOOT的速度。使能L1 cache L2 cache MMU,目的就是为了加速启动。

从BOOT_CFG设置的外置存储中读取image,然后做相应的处理

IVT和BOOT DATA数据

Bin文件前面添加头,

我们烧写到SD卡中的load.imx文件在SD卡中的起始地址是0x400,也就是1024

头部信息占3k加上上文偏移量的1k总计4k也就是4096之后才是真正的bin文件。

例如在LED灯的开发中,打开load.imx文件可以看到一个二进制格式文件数据如下:

其中的格式如下图:

DCD数据(device configuration data)

DCD数据结构:

其中head与上文中head结构类似

在例表中的head位于00000020-c开始

Tag是单字节固定为0XD2,Length为两个字节,表示DCD区域的大小,包含header,同样是大端模式,Version是单字节,固定为0X40或者0X41.

CMD结构如图:

Tag为一个字节,固定为0XCC。Length是两个字节,包含写入的命令数据长度,包括header,同样是大端模式。Parameter为一个字节,这个字节的每个为含义如下图:

以例表为例:

由上表可以得出,DCD里面的初始化配置主要包括三方面:

    • 、设置CCGR0-6这七个外设时钟使能寄存器,默认打开所有外设时钟。
    • 、设置DDR3所有的IO
    • 、配置MMDC控制器,初始化DDR3

其他数据

检查数据命令,NOP命令,解锁命令(这些命令也都属于DCD)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
启动正点原子imx6ull设备,你需要按照以下步骤进行操作: 1. 将正点原子的镜像解压到Ubuntu虚拟机中。 2. 进入设备树文件所在目录。使用命令`cd arch/arm/boot/dts`进入该目录。 3. 修改设备树文件(imx6ull-alientek-emmc.dts),可以使用`code imx6ull-alientek-emmc.dts`命令打开该文件进行编辑。 4. 在设备树文件中进行必要的修改,以防止LED灯占用。具体的修改内容需要根据你的需求和设备的具体情况来确定。 5. 编译内核和设备树。根据你提供的信息,你可能需要使用NXP提供的U-boot和Linux版本进行编译。确保你已经安装了相应的编译工具链和依赖库。 6. 根据你的开发板型号和版本,选择正确的启动方式。具体的启动步骤可能因为不同的开发板而有所不同,你可以参考正点原子提供的文档或者官方指南来进行操作。 7. 遵循正确的启动顺序,按照正点原子提供的说明进行启动。 需要注意的是,以上步骤仅供参考,具体操作可能因为你的环境和需求而有所不同。请仔细阅读相关文档和官方指南,并根据实际情况进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [正点原子 imx6ull linux 更新内核与设备树 通过nfs挂载](https://blog.csdn.net/hk2121/article/details/129665151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [正点原子IMX6ULL开发板-liunx内核移植例程-uboot卡在Starting kernel...问题](https://blog.csdn.net/Qiuhongim/article/details/129287967)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值