s3c6410 RomCode文档读后总结
2015-10-21 12:54
295 查看
最近无意中看到一篇关于s3c6410 RomCode的介绍,结合自己的经验,做个总结。
首先贴张图,具体描述下该芯片的启动方式及具体流程。
因为s3c6410的板子多数是从SD或者Nand方式启动,重点就先放在Nand启动上。
启动基本流程:
1. 上图中的IROM为芯片固化程序,被称为BL0,开机后最先运行,它会去做一些硬件初始化动作,代码里通过检测GPN[15:13]管脚状态从相应设备指定区域BL1中拷贝4KB执行代码到Stepping stone中运行;
2. BL1中主要完成外部sdram和uart的初始化,并拷贝BL2至sdram中;
3. 跳转到sdram中的对应地址执行剩下的bootloader,完成加载运行kernel和user image的功能。
总结:
1. 以目前市场上手机平台为例,基本都在RomCode中添加了uart和usb下载功能,搭配PC端工具直接完成对flash的烧写,
使整个流程更符合开发需求
2. 在文中结尾有关于Error Handling的介绍,
(1)如果出现nand ecc failure,软件会配置GPN15管脚产生以下波形;
(2)当使能Secure Boot功能,出现校验BL1完整性失败时,GPN15产生以下波形;
考虑到越来越多的安全需求,芯片的Secure Boot功能不可或缺,但是在功能调试中却难以分析,通过这种方式便可以快速定位问题原因,
后续考虑在方案中添加异常波形设置。
首先贴张图,具体描述下该芯片的启动方式及具体流程。
因为s3c6410的板子多数是从SD或者Nand方式启动,重点就先放在Nand启动上。
启动基本流程:
1. 上图中的IROM为芯片固化程序,被称为BL0,开机后最先运行,它会去做一些硬件初始化动作,代码里通过检测GPN[15:13]管脚状态从相应设备指定区域BL1中拷贝4KB执行代码到Stepping stone中运行;
2. BL1中主要完成外部sdram和uart的初始化,并拷贝BL2至sdram中;
3. 跳转到sdram中的对应地址执行剩下的bootloader,完成加载运行kernel和user image的功能。
总结:
1. 以目前市场上手机平台为例,基本都在RomCode中添加了uart和usb下载功能,搭配PC端工具直接完成对flash的烧写,
使整个流程更符合开发需求
2. 在文中结尾有关于Error Handling的介绍,
(1)如果出现nand ecc failure,软件会配置GPN15管脚产生以下波形;
(2)当使能Secure Boot功能,出现校验BL1完整性失败时,GPN15产生以下波形;
考虑到越来越多的安全需求,芯片的Secure Boot功能不可或缺,但是在功能调试中却难以分析,通过这种方式便可以快速定位问题原因,
后续考虑在方案中添加异常波形设置。
相关文章推荐
- MySQL 安全事宜
- spring security 3.2.0.M1 方法级别教程 基于注解——第一部分
- spring security 3.2.0.M1 方法级别教程 基于注解——第二部分
- Spring Security3源码分析-FilterChainProxy初始化(转)
- Spring-Security-OAuth2遇到的奇怪问题
- SpringSecurity 3.x,无法找到元素 'http' ,以及 [http://www.springframework.org/schema/security]
- Firewall in linux–IPTABLE [01]
- PHP代码审计小计
- windows 2008文件服务器审计
- 网络信息安全防范体系以及设计原则
- metasploit
- Linux经常修改的文件2
- 11g 64位部分安装过程
- Linux服务器安全初始化Shell脚本
- Security Descriptors and Access Control Lists Tools and Settings
- Security functions of common Active Directory tools
- 无线网络以及安全资源
- 小企业信息安全:基础(初稿)
- Infoworld security boot camp
- Sidekick's lesson: Back up your data