imx6开机启动就进入download模式,有的板子进入文件系统之后会进入download模式。查看datasheet,Chapter 8 System Boot查找原因,记录于此。
freescale论坛有关于这个问题的讨论,有硬件也有软件方面的原因。
参考链接
https://community.nxp.com/thread/316232
https://community.nxp.com/thread/338433
boot mode pin settings
-
8.2.1 Boot mode pin settings
-
BOOT_MODE is initialized by sampling the BOOT_MODE0 and BOOT_MODE1
-
inputs on the rising edge of POR_B. After these inputs are sampled, their subsequent
-
state does not affect the contents of the BOOT_MODE internal register. The state of the
-
internal BOOT_MODE register may be read from the BMOD[1:0] field of the SRC Boot
-
Mode Register (SRC_SBMR2). The available boot modes are: Boot From Fuses, serial
-
boot via USB, and Internal Boot. See the table below for settings
-
根据BOOT_MODE[1:0]引脚的值选择启动类型
-
BOOT_MODE[1:0] Boot Type
-
00 Boot From Fuses
-
01 Serial Downloader
-
10 Internal Boot
-
11 Reserved
-
在POR_B引脚的上升沿读取BOOT_MODE0和BOOT_MODE1的值作为启动的模式。
-
如果boot一开始就进入download模式,应该查看POR_B上升沿时,BOOT_MODE, BOOT_CFG引脚配置的值是否正确。
Boot devices(Internal Boot)
-
当选择为Internal Boot时,根据BOOT_CFG1[7:4]选择启动设备的类型,如果没有选择的设备,则进入download模式。
-
NOR Flash with External Interface Module (EIM), located on CS0, 16-bit bus width
-
• OneNAND Flash with EIM interface, located on CS0, 16-bits bus width
-
• Raw NAND (MLC and SLC), and Toggle-mode NAND flash through GPMI-2
-
interface. Page sizes of 2 Kbyte, 4 Kbyte and 8 Kbyte. Bus widths of 8-bit with 2
-
through 40-bit BCH Hardware ECC (Error Correction) are supported.
-
• SD/MMC/eSD/SDXC/eMMC4.4 via USDHC interface, supporting high capacity
-
cards
-
• EEPROM boot via SPI (serial flash) and I2C(via ECSPI and I2C blocks respectively)
-
The selection of external boot device type is controlled by BOOT_CFG1[7:4] eFUSEs.
-
See the table below for more details
-
BOOT_CFG1[7:4] Boot Device
-
0000 NOR/OneNAND (EIM)
-
0001 Reserved
-
0011 Serial ROM (I2C/SPI)
-
010x SD/eSD/SDXC
-
011x MMC/eMMC
-
1xxx Raw NAND
BOOT_CFG其他引脚
-
BOOT_CFG1,BOOT_CFG2,BOOT_CFG3,BOOT_CFG4引脚进一步确定其他的参数。
-
例如sd/emmc,如下:
-
8.5.3 Expansion Device
-
The ROM supports booting from MMC/eMMC and SD/eSD compliant devices.
-
8.5.3.1 Expansion Device eFUSE Configuration
-
SD/MMC/eSD/eMMC/SDXC boot can be performed using either USDHC ports, based
-
on setting of the BOOT_CFG2[4:3] (Port Select) fuse or it's associated GPIO input value
-
at boot. All USDHC ports support eMMC4.3 and eMMC4.4 fast boot.
-
BOOT_CFG2[7:5] 选择SD/EMMC的参数
-
SD/eSD/SDXC (BOOT_CFG1[5]=0)
-
Bus Width
-
xx0 - 1-bit
-
xx1 - 4-bit
-
SD Calibration Step
-
00x - 1 delay cells
-
01x - 1 delay cells
-
10x - 2 delay cells
-
11x - 3 delay cells
-
MMC/eMMC (BOOT_CFG1[5]=1)
-
000 - 1-bit
-
001 - 4-bit
-
010 - 8-bit
-
101 - 4-bit DDR (MMC 4.4)
-
110 - 8-bit DDR (MMC 4.4)
-
Else - reserved.
-
BOOT_CFG2[4:3] 选择从哪个设备启动
-
01 - USDHC-2
-
10 - USDHC-3
-
11 - USDHC-4