IDMX6ULL复位后,便从片内引导ROM开始执行,内部引导ROM代码使用内部寄存器BOOT_MODE[1:0]的状态、各种eFUSEs或者GPIO设置的状态,以确定引正确的启动方式。由于采用eFUSEs方式后,程序写死无法重新烧录,所以一般小批量产品不考虑eFUSEs 固定启动方式,我们一般采用GPIO设置,IDMX6ULL的BOOT_MODE引脚如下:
通过BOOT_MODE引脚的配置,可以确定IDMX6ULL从eFUSEs、USB、内部存储启动;
除了引导程序通过识别CFG1[7:0]、CFG2[7:0]、CFG4[7:0]引脚电平来判断启动模式。需要注意的是IDMX6ULL所有和启动相关的引脚包括BootMode引脚都是默认下拉100K。
在BOOT_MODE[1:0] = 10的情况下,IDMX6ULL的Boot ROM代码会进一步判断BOOT_CFG1[7:4]引脚电平,来确定具体从什么存储中启动。IDMX6ULL支持从Nor Flash、QSPI Flash、SPI Flash、SD、eMMC、Nand Flash启动等多种方式。
INTKIN的IDMX6ULL主板支持USB 程序烧写,程序烧写完后可以支持Nand Flash/eMMC/SD卡启动3中方式,其中根据核心板配置不同,Nand Flash/eMMC 只能二选一,此处我们优先采用Nand版本来讲解启动配置。
核心板启动配置电路
从改电路图中可以看出CFG4[7:0]引脚默认全部外部下拉10K电阻到地(和内部100K下拉并联后,高电平可达0.3V),CFG2[7:0] 的CFG2-3默认外部上拉10K电阻(和内部100K下拉分压后,高电平可达3V)外,其他所有引脚都下拉10K, CFG1[7:0]的CFG1-1/2/4/7引脚默认是上拉10K,CFG1-3/5/6引脚默认是下拉10K。核心板默认配置是从Nand Flash启动。其中BOOTMODT、CFG1-3/4/5/6/7,CFG2-3 引脚被引到IDMX6ULL主板上,可通过拨码开关设置IDMX6ULL从USB、Nand、EMMC/SD的启动方式。具体启动配置电路如下:
主板启动配置
INTKIN 主板各种拨码方式及启动为含义如下:
USB | NAND | EMMC | SD | |
BOOTMOD1 | 0 | 1 | 1 | 1 |
BOOTMOD0 | 1 | 0 | 0 | 0 |
LCD_D11(CFG2-3) | NC | NC | 0:eSDHC1 | 0:eSDHC1 |
LCD_D3(CFG1-3) | NC | 0(1 chip Nand) | SD/MMC Speed | 0 -Normal/SDR12 1 -SDR50 |
LCD_D4(CFG1-4) | NC | CFG5:4 | Fast Boot: | Fast Boot: |
LCD_D5(CFG1-5) | NC | 1 | 0 | |
LCD_D6(CFG1-6) | NC | 0 BT_TOGGLEMODE | 1 | 1 |
LCD_D7(CFG1-7) | NC | 1 | 0 | 0 |
板卡上有拨码指引,如下图所示: