bootloader的启动 from rom code to uboot


030 BOOT ROM

1.Boot简介

GCSOC030包含了16KB boot ROM. CPU 在上电或reset之后,通过boot ROM启动整个系统。系统支持如下三种boot方式:

(1)SPI boot

(2)SD boot,使用SDIO1接口;

(3)USB boot

其中SPI/SD boot,可以通过bootstrapOM1(sd_spi_sel)来进行控制,具体的配置启动方式如表-1所示:

 

sd_spi_sel(om1)

启动方式

0

SPI boot    使用spimCtrl读取SPI NOR数据

1

SD boot     使用SDIO1作为sd boot接口

 

-1

 

USB boot通过GPIO/ADC按键,选择是否通过这种方式启动系统。当boot ROM检测到AGPIO7被选择,或是ADC Chanel1采样到的数据满足要求,两者中有一个满足条件时,进入USB boot相关的启动流程。

2.Boot 步骤

SOC上电/复位后,boot ROM中的boot程序主要步骤,按如下顺序开始执行:

(1) 检测AGPIO7是否有选择信号,如果检测到(1->0),进入USB boot启动方式;boot ROM接着对USB Phy&Controller进行初始化并检查USB数据线是否接入,如果接入,初始化USB设备驱动并等待执行注意发送的stage2程序。

(2) 检测ADC Chanel1中采样到的数据,如果满足条件,同样进入USB boot启动,如果不满足条件,进入SD/SPI启动模式检测。

(3) 检查sd_spi_sel寄存器,选择启动方式。

(4) 如果是SPI启动方式,跳转到SPI NOR FLASH起始位置,检查magic num并获取第二阶段代码长度,选择是否拷贝到SRAM中执行第二阶段代码。

(5) 若果是SD启动方式,boot ROM 代码会尝试初始化SDIO1,并从SD卡的第6block读取第二阶段代码,并放在SRAM中执

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值