S5P4418启动镜像分析
注明:本文是基于深圳九鼎创展X4418开发板,不确定适用于所有厂家4418开发板.
前一章我们简单讲了一下怎么通过硬件来配制芯片启动方式,在硬件配制好后自然要了解一下这个软件启是过程是怎么样的。接触过S5P4412的朋友一定都知道IROM boot启动,烧写启动代码时有四个文件要烧写(BL1,BL2,u-boot.bin,TSZW).其实4418也一样采用的是IROM启动方式,但是镜像这一块还有有点不一样,因为s5p4418不支持trustzone功能,所以在烧写代码时就没有TSZW这个文件。
启动过程其实比较简单,如下图:
芯片电上
当上电后运行的第一个代码就是IROM里的代码,加为芯片里面都有一个小的ROM存储空间,里面是有代码的,具体做些什么也没有看到有介绍资料,但是估计也和4412一样,侦测启动脚的配制,从启动存储里抓取2nboot代码。
运行内部RAM 中的2nboot代码(复制u-boot.bin到DDR3中)
运行u-boot.bin
上面就是一个代码运行的过程。
知道上面的一个流程我们再来对比的一下S5P4412和S5P4418镜像有什么区别
S5p4412 |
S5p4418 |
BL1.bin |
2nboot.bin |
TSZW.bin |
NC |
BL2.bin |
u-boot.bin |
u-boot.bin |
从这个图表中我们就很易容看出来两平台的镜像有什么区别,4412的BL1相当于4418的2nboot.bin.但是s5p4412 BL2.bin+u-boot.bin相当于s5p4418的u-boot.bin
其实4418中还有一个很重要的文件NSIH.TXT.这个文件也算是启动镜像的一部分。如果少了这个你的u-boot同样跑不起来。这样就很清楚了其实s5p4418里也有三个文件2nboot.bin,u-boot.bin,nsih.txt.
我使用的是九鼎的4418开发板,九鼎在uboot编译的时候已经把这三个文件打包成了一个文件ubootpak.bin。这样我们只要写一个文件就可以了。这三个文件是怎么存放的呢?
Block 0 |
Sd/emmc卡信息 |
Block 1 |
Nsih.bin |
Block2 |
2nboot.bin |
Block63 |
Nsih.bin |
Block64 |
u-boot.bin |
U-boot.bin可能大家都知道,这是用u-boot代码编译出来的,这个我就不介绍了。我们来简单说一个nsih.bin这个文件。
Nsih.bin这个文件其实就是对芯片一些简单寄存器的配制,包括(启动方式,PLL,DDR)。
E59FF018//0x000 : MOV PC, ResetV
E59FF018//0x004 : MOV PC, UndefV
E59FF018//0x008 : MOV PC, SWIV
E59FF018//0x00C : MOV PC, PAbortV
E59FF018//0x010 : MOV PC, DAbortV
E59FF018//0x014 : MOV PC, NotUsed
E59FF018//0x018 : MOV PC, IRQV
E59FF018//0x01C : MOV PC, FIQV
2nboot.bin这个文件也是一样,我们可以在android代码中找到一个2NBOOT文件夹。是编译这个代码来生成的。
好这一节先介绍到这里,这样大家会更明白怎么来烧写镜像。无论是用专门的工具还是我们直接在ubuntu下用dd命令来烧写我们都可以实现。
S5P4418启动镜像分析相关推荐
- 【SemiDrive源码分析】【X9芯片启动流程】27 - AP1 Android Preloader启动流程分析(加载atf、tos、bootloader镜像后进入BL31环境)
[SemiDrive源码分析][X9芯片启动流程]27 - AP1 Android Preloader启动流程分析(加载atf.tos.bootloader镜像后进入BL31环境) 一.Android ...
- u-boot启动流程分析
u-boot启动流程分析 以smdk2410为例,分析u-boot的启动流程.u-boot的启动流程是指从cpu上电开机执行u-boot到u-boot成功加载完操作系统的过程.这一过程可以分为两个阶段 ...
- 常见SOC启动流程分析
常见SOC启动流程分析 本文以s5pv210这款SOC为例,分析了其启动流程 在s5pv210的SOC内部,存在着一个内部的ROM和一个内部的RAM 这个内部的ROM叫做 IROM,它是norflas ...
- Bootm启动流程分析
Bootm启动流程分析 如何引导内核 uboot启动命令 内核镜像介绍 内核启动前提 Bootm命令详解 Bootm命令格式 do_bootm do_bootm_subcommand images全局 ...
- RISC-V Linux 启动流程分析
" Author: 通天塔 985400330@qq.com Date: 2022/05/15 Revisor: lzufalcon falcon@tinylab.org Proje ...
- 【Autopsy数字取证篇】Autopsy案例创建与镜像分析详细教程
[Autopsy数字取证篇]Autopsy案例创建与镜像分析详细教程 Autopsy是一款非常优秀且功能强大的免费开源数字取证分析工具.-[蘇小沐] 文章目录 [Autopsy数字取证篇]Autops ...
- arm9 c语言函数库,s3c2410(ARM9)启动代码分析(转载)
ADS下C语言的入口方式和ROM镜像文件的生成 这部分介绍下ADS下如何生成可以运行的ROM镜像文件,我们知道当程序下载到flash中运行的时候,对于RW.ZI数据就存在着两个环境,一个load环境, ...
- Hyperledger Fabric笔记3--BYFN启动流程分析
Hyperledger Fabric笔记3--BYFN启动流程分析 BYFN--构建你的第一个网络,该方案提供了一个示例Hyperledger Fabric网络,该网络由两个组织组成,每个组织都维护两 ...
- 【SA8295P 源码分析】02 - SA8295P 整包镜像分析
[SA8295P 源码分析]02 - SA8295P 整包镜像分析 一.UFS LUNs 二.开机启动相关镜像介绍 三.QNX Host相关镜像介绍 四.Android GVM 相关镜像介绍 五.其他 ...
- RK3399快速上手 | 03-RK3399启动流程分析
文章目录 一.Rockchip处理器通用启动流程 1. 启动路径 2. 启动阶段 3. 启动流程分析 3.1. 图示 3.2. 第一阶段 3.3. 第二阶段 3.4. 第三阶段 3.5. 第四阶段 3 ...
最新文章
- web 服务器-Nginx
- 史上最详细版Centos6安装详细教程
- [Struts]Cannot find bean in any scope之一解
- shell一段脚本的一点经验(实时文件流读写)
- 社区O2O全面遇冷,社区金融如何避免走入独特陷阱
- 如何处理 Hybris Accelerator css style 显示不正确的问题
- [蓝桥杯2017决赛]平方十位数-枚举+set去重
- java.net.URLEncode编码 与 URLDecode解码问题
- jieba分词_Jieba.el – 在Emacs中使用jieba中文分词
- Servlet Cookie 处理
- oracle服务器支持ipmi带外管理,ipmi带外管理
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 xor (根号分治)
- Jenkins可持续集成
- 拓端tecdat|基于机器学习的印度肝脏病诊断分析
- linux下不是很完美的提高android虚拟机的启动速度
- GAN详解与PyTorch MINIST手写数字生成实战
- javascript常用校验器
- 05、ADS使用记录之集总参数匹配
- 中国脑计划颠覆性创新之路四,用脑科学预测互联网的未来发展趋势
- updating homebrew
热门文章
- MyDLNote-High-Resolution: CooGAN: 协同GAN网络,高分辨率面部属性的高效记忆框架
- Navicat-在创建函数时提示Access violation at address ... in module ‘navicat.exe‘
- java学习day10(Java基础)特殊类
- 学习笔记(1):Matlab小白入门必备教程-数据的基本运算
- Spring常见问题解决 - Required request body is missing
- Halcon之Variation Model
- obs显示从服务器断开连接,obs重新连接到服务器
- 如何改善物流行业项目管理?
- 7-11 机工士姆斯塔迪奥(PTA程序设计)
- index+match函数/一对多查找匹配,可以代替Vlookup函数的使用。