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_CFG14:7

接口编号设置方法 :BT_CFG23

介质属性设置方法 :如SD、EMMC,位宽(BT_CFG25)

对应原理图

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可烧录镜像。

相关推荐
不悔哥3 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20163 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
深圳老胡3 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
女神下凡3 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9663 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛3 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅3 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员3 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程
CHENKONG_CK3 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
祖力553 天前
ARM时钟
嵌入式硬件·arm·时钟·imx6ull