以前只知道使用“./sd_fusing.sh  /dev/sdb”命令来烧写uboot.bin到SD卡中,对其中的细节并不了解。

心存忐忑,于是乎花了些功夫,去了解sd_fusing文件夹下的内容。

1、sd_fusing文件夹中有哪些文件?

如下图:

打开Makefile文件,可知mkbl1、sd_fdisk分别由C110-EVT1-mkbl1.c、 sd_fdisk.c文件编译得到。

2、sd_fusing.sh脚本的解释

(1)首先明白,烧录uboot.bin文件到sd卡,所使用的命令是“./sd_fusing.sh /dev/sdb”

  • 由此可知$0=./sd_fusing.sh,$1=/dev/sdb,$#=1(参数的个数)

(2)其次,了解sd_fusing.sh的代码

  • 首先了解下dd命令的用法:                    
  • 对sd卡进行分区,执行文件是编译得到的sd_fdisk。后面将分析sd_fdisk.c这个文件。

  • 然后烧写BL1和uboot到sd卡对应的位置

存疑:

1、sd_fdisk.c(编译得到sd_fdisk)这个文件是如何对sd卡进行分区的?

2、C110-EVT1-mkbl1.c(编译得到mkbl1)这个文件是如何将uboot的前8k复制到SD-bl1-8k.bin文件的?为什么是8k?8k中完成了什么任务?

  • uboot的前8K代码肯定要完成重定位,因为BL1和BL2运行在不同的链接地址(举例如,BL1链接地址为0xd0020010,BL2链接地址为0x23e00000)。
  • 这里见博文:http://blog.csdn.net/oqqhutu12345678/article/details/69365104中的七2的重定位。

3、如何将BL1、uboot烧写至sd卡对应的位置?为什么是1和49?

  • 使用dd命令进行对块设备的烧写。
  • BL1必须放在第1个 block开始的区域(三星规定的),而49可以变为其他合适的。

sd_fusing.sh将uboot烧写到SD卡相关推荐

  1. pcDuino入门指南+烧写(SD卡-卡刷)

    第一章:初识pcDuino 一.概述: pcDuino是一款高性能的,性价比极高的迷你PC平台,它能运行像 Linux 3.0和Ubuntu 12.10这样的操作系统.通过内置HDMI接口即可直接输出 ...

  2. S5PV210开发与学习:1.1烧写系统:SD卡、fastboot、DNW刷机

    1.开发板示意图 2.刷系统 就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来. //默认的启动命令设置 x210 # printenv bootcmd=movi read ...

  3. 烧写OriginBot SD卡镜像后X3pi无法启动

    x3pi两个指示灯常亮,串口监视器一直在循环显示如下内容: NOTICE: fast_boot:0S F L O NOTICE: efuse cpu_cfg = 0 W NOTICE: Booting ...

  4. 【Linux】制作U-Boot烧写镜像到SD卡的过程(上篇)

    在嵌入式Linux操作系统中,需要将三样东西(BootLoader.内核kernel.根文件系统)传输到目标板中.一般而言,U-Boot烧写到SD卡中,而内核.根文件系统都采用TFTP的方式传输到目标 ...

  5. 【Linux】制作U-Boot烧写镜像到SD卡的过程(下篇:Makefile文件)

    上文讲到,如果需求仅略微修改,整个从编译到仅保留二进制文件到添加HeaderInfo到烧写到SD卡的一系列命令都需要重新再输入一遍,这很繁琐. 如何解决这个问题呢? 制作一个bash脚本文件 制作一个 ...

  6. 【Linux】制作U-Boot烧写镜像到SD卡的过程(中篇:LDS文件)

    上一篇文章,讲述了制作U-Boot烧写镜像到SD卡的过程,其中运用make的方式来进行将.s文件编译成.bin文件,那make是什么意思?它主要实现了什么? 先讲一下,如果不采用make的方式该怎样实 ...

  7. 使用 u-boot 烧写内核——韦东山嵌入式Linux学习笔记10

    本文实验环境: 1. windows 7(64bit) 2. JZ2440(V2) 使用 u-boot 烧写内核,一般有两种方法. 1. 通过USB下载功能 2. 通过TFTP功能 通过USB下载功能 ...

  8. 转”使用UBOOT烧写根文件系统和内核的方法

    "转"使用UBOOT烧写根文件系统和内核的方法 2012-08-13 20:39:28 分类: 原文地址:"转"使用UBOOT烧写根文件系统和内核的方法 作者: ...

  9. (1)eop烧写和uboot烧写

    1.eop连接电脑和开发板 1.JTAG COM 驱动安装 2.使用eop烧写 在cmd里敲击命令 烧写完后一定要断开eop排线,因为排线上有记忆功能 3.MobaXterm软件的使用--串口连接 查 ...

最新文章

  1. ASA防火墙与路由器R直连且直连能ping通
  2. iOS网络开发之:NSURLConnection
  3. 调整亮度_【紫墨手机摄影课堂】图片调整
  4. C语言选择排序Selection sort算法(附完整源码)
  5. python基础(part10)--函数
  6. 有十五个数按由大到小顺序存放在一个数组中_「图形化编程」前导知识-数组(一)...
  7. c语言学习-自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数)
  8. 服务器电源维修哪里便宜,服务器电源维修
  9. Kotlin Weekly 中文周报 —— 16
  10. idea上安卓 Android SDK的安装
  11. Jaspergold形式验证-vhdl语言
  12. 求x的n次方编程_c语言求x的n次方的函数介绍
  13. CF#446 Gluttony(思维题)
  14. 互联网+房地产最后拼什么?除了技术还是技术
  15. 2018 PHP面试真题(包括详细解析)
  16. 获取星期一,获取第几周
  17. transform matrix3d
  18. 计算机应用EXCEL之数据看板制作
  19. 【全志A33】在Ubuntu下烧录程序
  20. 阿里云虚拟主机装Wordpress教程

热门文章

  1. maxN - 返回数组中N个最大元素 minN - 返回数组中N个最小元素
  2. wampserver 虚拟主机
  3. 【问题收集·知识储备】Xcode只能选择My Mac,不能选择模拟器如何解决?
  4. Redis进阶实践之十六 Redis大批量增加数据
  5. day 05 多行输出与多行注释、字符串的格式化输出、预设创建者和日期
  6. boltdb 学习和实践
  7. 远程管理服务器的具体操作方法
  8. 对于频繁的写数据处理方式
  9. 开发高级 Web 部件
  10. 【狂神说】Redis笔记