linux进阶-I.MX 6ULL

目录

启动模式(8引脚设置启动模式)

对应原理图

[boot ROM程序](#boot ROM程序)

空偏移

[映像向量表(Image vector table,IVT)](#映像向量表(Image vector table,IVT))

IVT结构体

[Boot data](#Boot data)

DCD(外设寄存器配置信息,初始化关键外设)

[NXP官方I.MX 6ULL开发SDK](#NXP官方I.MX 6ULL开发SDK)


启动模式(8引脚设置启动模式)

三大模式:

熔丝:烧录一次,发布产品。

外部:USB、串口等。

内部:SD卡、EMMC、NAND。

设置方法BOOT_MODE0、BOOT_MODE1
内部介质设置方法BT_CFG1[4:7]

接口编号设置方法BT_CFG2[3]

介质属性设置方法 :如SD、EMMC,位宽(BT_CFG2[5]

对应原理图

boot ROM程序

选择内部启动方式,启动boot ROM程序

初始化时钟、外部DDR3

从外部存储介质加载代码
镜像空偏移,由芯片厂商设定

Image vector table(IVT),关键数据位置。

Boot data,启动数据。镜像加载地址、大小。

Device configuration data(DCD),关键外设的寄存器配置信息(时钟、DDR3相关)。

bin文件,真正程序文件

空偏移

镜像不是从存储介质头部开始存储的,不同介质分别对应一段偏移地址。

映像向量表(Image vector table,IVT)

映像向量表是ROM从提供程序映像的引导设备中读取的数据结构,该程序映像包含成功启动所需的数据组件。

IVT包含程序映像入口点、指向设备配置数据(DCD)的指针和ROM在引导过程中使用的其他指针。

IVT结构体

Boot data

Boot data记录"镜像"在内存中的加载地址和大小。

DCD(外设寄存器配置信息,初始化关键外设)

复位后,芯片使用系统中所有外设的默认寄存器值。但是,这些默认值对于实现最佳系统性能来说并不理想,深圳有些外设在使用之前必须进行配置。DCD是包含在程序镜像中的配置信息,ROM对其解释以配置芯片上的各种外设。

例如,EIM默认配置允许核心在复位后立即连接到NOR闪存设备。这允许芯片与任何NOR闪存设备接口,但缺点是性能慢。此外,一些组件(如DDR)在准备使用之前需要一些寄存器编程作为配置的一部分。DCD可用于将EIM寄存器和MMDC寄存器编程到最佳配置。
ROM根据IVT的信息可确定DCD的位置。

NXP官方I.MX 6ULL开发SDK

NXP官网 I.MX 6ULL SDK

下载SDK2.2_iMX6ULL_LINUX。下载完成后名字为:SDK_2.2_MCIM6ULL_RFP_Linux.run
虚拟机通过共享文件夹得到。并运行。

./SDK_2.2_MCIM6ULL_RFP_Linux.run

运行完成,会在\opt\生成SDK_2.2_MCIM6ULL文件夹。
在\opt\SDK_2.2_MCIM6ULL\tools\imgutil\readme.txt附有说明文档。

1、复制.bin文件到imgutil\evkmcimx6ull文件下,并重命名为sdk20-app.bin。

2、在imgutil\evkmcimx6ull文件下,终端中运行mkimage.sh命令,获取可启动的镜像文件sdk20-app.imag。

如果镜像是用RAM链接文件构成的,使用"mkimage.sh ram"命令制作可启动镜像。

如果镜像是用Flash链接文件构成的,使用"mkimage.sh flash"命令制作可启动的XIP镜像。

如果镜像是用RAM链接文件构成的,并希望从MicroSD卡启动,使用"mkimage.sh sd"命令制作可启动镜像。
根据mkimage.sh和dcd.config文件,dcdgen.bin生成DCD表,imgutil.bin生成img可烧录镜像。

相关推荐
Wave84516 分钟前
基于 STM32 + ESP8266 + W25Q64 的双核 OTA 底层架构总结
stm32·嵌入式硬件·架构
xiangw@GZ1 小时前
WiFi 全世代(WiFi1~WiFi7)技术规范与核心参数总结
嵌入式硬件
振南的单片机世界1 小时前
CPU时钟:频率越高跑越快,但物理极限在“拖后腿”
stm32·单片机·嵌入式硬件
普中科技3 小时前
【普中 51-Ai8051 开发攻略】-- 第 20 章 输入捕获实验
单片机·嵌入式硬件·输入捕获·pca·普中科技·ai8051u·aicube
d111111111d3 小时前
直流电机位置式 PID 控制 和 舵机的区别
笔记·stm32·单片机·嵌入式硬件·学习
d111111111d5 小时前
了解Modbus
网络·笔记·stm32·单片机·嵌入式硬件·学习
三佛科技-134163842125 小时前
主控FT32F031便携式吸尘器方案,迷你手持吸尘器MCU控制方案开发
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
一个平凡而乐于分享的小比特6 小时前
一文读懂MCU与FPGA:核心区别、协同之道与双修秘籍
单片机·fpga开发·职场发展·mcu开发
踏着七彩祥云的小丑7 小时前
嵌入式——认识电子元器件——微动开关系列
单片机·嵌入式硬件
调光IC-小雅7 小时前
解析FP62××系列限流保护机制:为何它是DC/DC芯片的安全底线
单片机·嵌入式硬件