TINY4412从sd卡启动过程分析
来源:互联网 发布:python for嵌套循环 编辑:程序博客网 时间:2024/04/21 00:35
从4412的数据手册,我们能够了解到,tiny4412启动过程是分下面几步的:
总结起来就是,4412上电,然后就从iROM处执行代码,iROM要做的任务就是①:将BL1从sd卡或者其他的存储设备中下载到芯片内部256KB的SRAM中,然后跳转到芯片内部SRAM中执行BL1,②:检查BL1的完整性. 而后BL1初始化系统时钟以及DRAM等,初始化完毕后,从sd卡或者其他存储设备中拷贝操作系统到DRAM中,并跳转到DRAM中运行.
相信这些东西,大家从数据手册上也是能了解到,但是数据手册并没有告诉我们实际的操作,下面介绍我用的分析以及操作:
首先需要阅读Android_Exynos4412_iROM_Secure_Booting_Guide_Ver.1.00.00.pdf 这分文档,里面有完整的说明各个阶段需要完成的任务,这个在之后自己写操作系统是要用到的,
这里面说到,iROM将会从启动设备中拷贝8KB的数据,启动设备的前512B是需要空出来的,不能使用的,而sd卡的一个block是512B.所以BL1的这8kB数据是放在block1-block16中,而BL1是由三星公司提供的,是没有源码的.BL1完成本阶段的任务后就将放在block17到block48的内容拷贝出来,然后执行,要是我们想通过uboot启动开发板,只需要将uboot烧写到这个位置就行.
下面讲解一下我的烧写方法:
首先将友善提供的uboot编译好,在uboot的源码文件夹下面会有一个sd_fush的文件夹,进入到这个文件夹,里面有一个tiny4412文件夹以及三个文本文件,通过查看Makefile,我们可以知道,执行make的话,能够生成两个文件,一个是mkbl2,这个文件是用来生成bl2文件的.另一个是sd_fdisk,这个文件用来烧写sd卡用的,必须生成这两个文件才能完成uboot的烧写.,然后进入到tiny4412文件夹里面.我们主要关注的是sd_fusing.sh 这个文件,通过查看代码(下图)可以知道, 正如我上面说的那样,通过linux系统自带的dd指令,将bl1文件烧写到指定的位置,而bl2.bin就是通过mkbl2这个程序将u-boot.bin制作成BL2,所以,如果想通过sd卡启动,只需要将sd卡插入电脑中,然后通过这个文件夹下面的sd_fusing.sh这个文本就能够成功烧写了,sd_fusing.sh需要接受一个参数,那就是sd卡的设备号,下面是我举得一个例子,注意需要使用root权限
#sudo ./sd_fusing.sh /dev/sdc
- TINY4412从sd卡启动过程分析
- 友善之臂tiny4412使用SD卡烧录uboot,并使开发板从SD卡启动进入uboot过程记录。
- Tiny4412从SD卡启动内核与文件系统
- Tiny4412标准版,编译u-boot并烧录到SD卡,从SD卡启动后只打印‘OK’两个字符
- imx6ul的sd卡启动过程分析
- Tiny4412启动流程分析
- Wince NANDFlash启动和SD卡启动过程分析
- uboot for tiny4412 SD驱动问题修复,SD卡启动内核
- 分析一下s3c6410的SD卡启动过程
- omap3530从SD卡启动
- omap3530从SD卡启动
- 从SD卡启动WinCE
- Linux SD卡驱动开发(六) —— SD卡启动过程总体分析
- Linux SD卡驱动开发(六) —— SD卡启动过程总体分析
- 从零开始教你制作友善之壁TINY4412----SD卡uboot启动卡
- 64位ubuntu kylin 16.04下制作tiny4412可用的SD启动卡
- SD卡启动tiny4412标准版(1306)的linux系统并挂载网络根文件系统
- tiny4412使用SD卡启动uboot用fastboot烧写system.img出错解决
- VUa 10976 Fractions Again?! (枚举+暴力水题)
- 题目:找出无向图汇总的相连要素
- JDBC简介(2)
- poj1006
- ListView、ScrollView、GridView滑动到顶端或底部的阴影效果去掉
- TINY4412从sd卡启动过程分析
- GreenDao模糊(like)查询问题
- 堆、堆排序和优先队列
- Java集合总览
- 题目:把排序数组转换为高度最小的二叉搜索树
- 【DP】最长不下降子序列问题(二分)
- java 操作war文件
- 打开excel2007"向程序发送命令时出现问题"
- ViewController的声明周期