imx6ul 0 之启动方式

  • led灯实验是从sd卡读取bin文件,再启动。
  • 利用开发板的拨码开关来选择开发板提供的四种启动方式 ( 2位定4 ) ,6ull支持更多启动方式
    启动方式


1、启动方式选择

一种是改写eFUSE熔丝(只能改一次),另一种就是改GPIO高低电平(B_M0 , B_M1)
BOOT_MODE0
BOOT_MODE1
这两个是由两个IO来控制的
从开发板拨码开关左边一开始,先是BOOT_MODE1,然后是BOOT_MODE0
的撒


选择从usb启动还是内部boot启动
如果要烧写code到开发板内部,可以选择从usb下载
下载到sd card ,emmc,nand等外置存储中,设置从内部boot启动,烧写完成后,从相应的外置存储中启动
2、启动设备选择

前提是,设置 MODE1 和 MODE0 是从内部boot启动的,也就是设置为MODE1=1,MODE0=0。
可以通过eFUSE配置,也可以GPIO配置。(这里只用GPIO配置)
通过拨码开关来将某些GPIO设置为高低电平

设置内部启动时,支持哪些设备
nor flash(现在很少用了),oneNand flash,NAND flash,QSPI flash,SD/EMMC,EEPROM
现在最常用的时nand,sd,emmc
如何选择启动设备:
通过BOOT_CFG来选择,有BOOT_CFG1,BOOT_CFG2,BOOT_CFG4.每个8位。
BOOT_CFG是由LCD_DATA0 ~ 23来设置的,再alpha开发板上,大部分默认都47k接地。
BOOT_CFG4的8根线全部接地;BOOT_CFG2的8根线全部接地,BOOT_CFG2 [ bit3 ] 较为重要,此位用来选择sd卡启动接口(eSDHC1,eSDHC2),BOOT_CFG2对应第三个拨码开关;BOOT_CFG1(0,1,2定死的。bit 3,4,5,6,7可以设置的)

在核心板上,正点原子开发板 BOOT / 启动 电路设置核心板 LCD_DATA0 - 23 基本都是下,底板上有上拉。
详细见参考手册第八章,以及教程。

大神
的撒
image最终会被copy到ram里面去

  • 启动头文件
    IVT + BOOT DATA + DCD = 3KB
    1、BOOT ROM做的事
    设置内核时钟为 396 MHz
    为了加速启动,下载、验证镜像时会打开 MMU 和 Cache(L1,L2 Cache ) ,验证完成再关闭 MMU 和 Cache
    从BOOT_CFG 设置的外置存储中,读取image,做相应的处理
    2、IVT 和 BOOT DATA 数据
    bin文件要添加头部,
    烧写到sd卡中的load.imx在sd卡中的起始地址是 0x400,也就是 1kb ,(sd卡前512B保存的是分区信息,写了卡报废
    头部大小是3kb,将是偏移的1kb,一共是4kb
    因此,在sd card 中,bin文件的起始地址为4kb
    IVT大小为32B ,共8 条信息,一条四个字节

    BOOT DATA区域的size不定,但在IVT指定了DCD的地址,那么三块区域的位置都可以确定。
    阿松大

    DCD: device configure data
    就是配置6ull内部寄存器的
    首先将CCGR0 ~ CCGR6 置1,打开所有时钟
    设置DDR的工作模式位DDR3…

    …都是和ddr相关的

其它的就是检查数据命令,NOP命令,解锁命令…(也都属于dcd,但本次没写)

  • 头部

阿松大
大
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值