开发板原理图
开发板原理图
核心板原理图
soc + ddr3l + emmc
底版原理图( 不关注)
各种外设
核心板原理图(共8页)
page 1 : BOOT_CFG
page 2 : 最小系统及杂项
reset 电路
晶振电路
启动模式接口
jtag口
串口
usb口
sdio口
page 3 : 电源接口1
page 4 : 非易失性存储器接口及EMMC
page 5 : 杂
以太网接口
lcd接口
gpio接口
page 6 : 易失性存储器接口及DDR3L
page 7 : 板对板连接器
page 8 : 电源接口2
关注点为 1 2 4 6
I.MX6U 数据手册
I. MX6ULL
I. MX6ULL 是一个系列, 实际用的是MCIMX6Y2CVM08AB ( 属于系列的一个产品)
528 M 可超频至 696M ( 官方宣传700 M)
The i. MX 6ULL is a power efficient and cost- optimized applications processor family
featuring an advanced implementation of a single Arm Cortex- A7 core,
which operates at speeds up to 900 MHz.
The i. MX 6ULL applications processor includes an integrated power management module
that reduces the complexity of an external power supply and simplifies power sequencing.
Each processor in this family provides various memory interfaces, including
16 - bit LPDDR2, DDR3, DDR3L,
raw and managed NAND flash, NOR flash, eMMC, Quad SPI
and a wide range of other interfaces for connecting peripherals
such as WLAN, Bluetooth®, GPS, displays and camera sensors.
其他芯片的芯片手册
易失性存储芯片
非易失性存储芯片
I. MX6ULL 系列 在存储方面包括
1. 内部存储( 在soc里面)
96 KB ROM
128 KB RAM ( 本质是SRAM)
2. 外部存储( 在与soc接口相连的芯片里) , 所以I. MX6ULL只有接口, 在这里, 有三个接口, 两个非易失性存储接口, 一个易失性存储接口
Parallel NOR FLASH ( 并口norflash接口)
Dual- Channel Quad SPI x 1 ( 2 / 4 通道spi flash接口)
16 - bit LP- DDR2/ DDR3/ DDR3L ( ddr接口)
其实还有 SDIO接口
其他板子上的RAM与ROM
- 普中科技EM V3. 0 STC89C51RC 51
- 内置
SRAM: 512 B
SROM: 4 KB
EEPROM: 2 KB
- 外置
24 C02: 256 B, EEPROM, I2C接口
- 正点原子探索者开发板 STM32407ZET6 cortex- M4
- 内置
SRAM: 196 KB
Up to 192 + 4 Kbytes of SRAM including 64 Kbyte of CCM ( core coupled memory) data RAM
SROM ( 用户可编程) : 1 M
Up to 1 Mbyte of Flash memory
- 外扩
IS62WV51216: 1 MB, SRAM, FSMC接口
24 C02: 256 B, EEPROM, I2C接口
W25Q128: 16 M, NorFlash, SPI接口
- JZ2440 S3C2440 ARM920T
- 内置
无内置SRAM和SROM
- 外扩
EM63A165TS- 6 G: 32 MB/ 片, SDRAM, 共两片
MX29LV160DBTI: 2 MB, 并口 NOR FLASH
K9F2G08U0C: 256 MB, NAND FLASH
- 正点原子ARMLinux开发板 I. MX6ULL cortex- A7
- 内置
sram: 128 KB
srom: 96 KB, 用户不可编程
- 外扩
NT5CC256M16EP- EK: 512 MB, DDR3L
KLM8G1GET: 8 GB, EMMC
可见, 芯片一开始内置不管ram还是rom不到1 KB, 然后后来发展到1 MB, 内置大小就不再上升了. 开始外扩ram和rom ( 大小朝GB迈进)
且外置的rom不再使用norflash, 而是向 nand , emmc , ufs , 等迈进, sd卡也是一个方向. ( 大小梯度为32 GB* 2 ^ n)
且外置的ram不再使用sram, 而是朝向sdram -> ddr -> ddr2 -> ddr3 -> ddr4 -> ddr5 迈进( 大小梯度为4 GB+ 2 * n)
I.MX6ULL 启动顺序
eFUSE ( 和BOOT_MODE必须二选一) 或者BOOT_MODE[ 1 : 0 ] 定义了三种启动模式
00 从 FUSE 启动
01 串行下载 ( 通过 USB 或者UART 将代码下载到板子上的外置存储设备中, 然后启动结束)
10 内部 BOOT 模式( 芯片会执行内部的 boot ROM 代码, 代码位于内部存储的96 KB ROM中)
0. 中断向量偏移会被设置到 boot ROM 的起始位置
1. 进行硬件初始化
1.1 初始化时钟
2. 从boot外设中读取代码到RAM中
2.0 根据 eFUSE 或者 ( BOOT_CFG1 BOOT_CFG2 BOOT_CFG4) 来选择 QSPI WEIM Serial- ROM SD/ eSD MMC/ eMMC NAND
2.1 下载镜像的时候 L1 ICache 会打
开
2.2 验证镜像的时候 L1 DCache、L2 Cache 和 MMU 都会打开
2.3 一旦镜像验证完成,boot ROM 就会关闭 L1 DCache、L2 Cache 和 MMU
3. 从RAM指定位置执行
代码中会重新设置中断向量偏移
在开发板上, 2 种启动方式,3 种启动设备被开放出来了
01 串行下载
10 内部 BOOT 模式 ( boot ROM 代码 中有SD卡和EMMC及DDR的驱动, )
SD卡启动
EMMC启动
NANDFLASH启动( EMMC核心板没有NANDFLASH, 不支持)
boot ROM 代码 中有SD卡和EMMC及DDR的驱动, 且已经固化到内部存储的96 KB ROM中, 有两种可能( 待验证)
1. SD卡和EMMC及DDR的驱动是标准驱动
2. I. MX6ULL 有启动设备支持列表
快速开始指南
【正点原子】I. MX6U用户快速体验V1. 0. pdf
【正点原子】I. MX6U Yocto构建根文件系统V1. 0. pdf
【正点原子】I. MX6U嵌入式Linux驱动开发指南V1. 0. pdf
【正点原子】I. MX6U Qt交叉编译环境搭建V1. 0. pdf
【正点原子】嵌入式Linux C代码规范化V1. 0. pdf