ARM启动(OK6410)

ARM启动模式(OK6410开发板)

平台:ARM11 三星S3C6410

开发板:飞凌OK6410-A开发板

 

datasheet中这张表列出了s3c6410支持的启动模式


根据飞凌的底板原理图的boot select 部分可知 ‘OM0’信号为S3C6410芯片时钟源选择信号,当‘OM0’信号为“0”时选择‘XTlpll’:当‘OM0’信号为“1”时选择‘EXTCLK’。这里,OK6410开发板使用‘XTlpll’,所以‘OM0’直接下拉接地。OM1-OM4信号为S3C6410处理器启动方式配置引脚。

‘SELNAND’信号用来选择系统FLASH存储器类型,当选择NAND FLASH时必须为高电平‘1’,选择ONENAND存储器时为低电平‘0’,OK6410开发板使用NAND FLASH存储器,所以这里直接上接为高。

‘EINT13-EINT15’为IROM启动方式设备选择引脚,当使用IROM启动方式时,S3C6410处理器首先运行片内ROM固化程序,读取EINT15、EINT14、EINT13三个端口引脚状态,再根据本配置的不同状态,从而选择不同的设备启动。

       飞凌OK6410支持从Nand Flash启动和SD卡启动


比对拨码开关设计与datasheet,从SD卡启动时,s3c6410先从ROM启动运行固化的程序,再根据引脚设置从SD拷贝程序运行。根据NandFlash启动(以ROM为启动设备,NandFlash为IROM的存储设备,不能称为NANDFlash启动)的拨码开关设置,在datasheet 中是reserved功能。网上搜索后得知,s3c6410的启动方式兼容s3c6400。Samsung在S3C6410 User Manual中隐藏了S3C6400中所支持的Nandflash启动模式。


 

 

飞凌OK6410提供的两种启动方式:

1. NandFlash启动

根据飞凌的拨码开关设置,启动方式为地址周期为5的大页。K9LBG08U0D。从S3C6400和s3c6410的datasheet NAND FLASH CONTROLLER章节中可知NandFlash控制器将Nandflash前8K代码(4页)拷贝至SRAM中执行。

内存映射如图


2. IROM启动

当OM[4:1]为1111的时候,从Internal ROM中启动,此时GPN[15:13]用于识别设备的类型,设置为000时存储设备为SD/MMC。具体引导过程可以从6410的Application Note(Internal ROM Booting)手册中查询。

 

1. 处理器上电后,当OM[4:1]=1111时,运行iROM中的固化程序Bootloader0(BL0),它会做一些初始化的工作。

2. 然后根据GPN[15:13]的管脚设置,选择从相应的设备(SD/MMC/OneNand/Nand)中的指定区域读取8KB Bootloader1(BL1)的程序到SteppingStone中运行。

3. BL1可以初始化系统时钟,UART,SDRAM等设备,然后拷贝Bootloader2(BL2)到SDRAM中。

4. 跳转到SDRAM中的BL2,继续运行,BL2可以将OS加载到SDRAM中,然后运行OS。

当选择SD/MMC作文ROM启动的存储设备时,D-TCM0的heap区保存存储设备的信息。

IROM中固化了6个用于从不同存储设备拷贝数据的函数,函数指针保存在D-TCM1的栈中

 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值