学习地址:http://edu.51cto.com/lesson/id-63015.html http://blog.csdn.net/karven_/article/details/52015325

1、用 USB  下载 比较方便

2、用 SD 卡 更新产品 程序,有时候 会 比较 方便一点

3、我的S5PV210 开发板 有个 拨码开关,拨到USB 启动 或者 EMMC 启动

4、选择EMMC启动 会首先从 SD 的通道0(已经接了EMMC 芯片 )  启动,如果通道0启动失败(校验和启动),就会从通道2(可以插大SD卡 )启动,因此要 破坏 通道0的启动,才能 从通道2启动。

5、在Linux和安卓系统下,擦出 SD 的通道0中 uboot 的 一个扇区,这样才能从SD的通道2启动。擦除方法是:

  ①在Linux或者安卓系统下  擦除 uboot 的方法,如下:

  指令一:busybox     dd     if=/dev/zero     of=/dev/block/mmcblk0     bs=512     seek=1     count=1     conv=sync

  指令二:sync

解释:

busybox     dd     if=/dev/zero     of=/dev/mmcblk0     bs=512     seek=1     count=1     conv=sync

if=/dev/zero:输入文件名为/dev/zero,一个全0 的设备!

of=/dev/block/mmcblk0:输出文件名为/dev/block/mmcblk0,EMMC 的扇区0.

bs=512:读块和写块的大小都为512B(这里的输出文件为一个块设备,块大小的设置跟块设备中每块的大小相关),同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。

seek=1:跳过第一个块。从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)。

count:只拷贝一个块,仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。

conv:若读取的输入块不足512B,那么不足的部分填充NULL。

这句话的意思是把板载INAND 的 第一个扇区用全0来填充,这样iNAND的bootloader的 校验和(IROM的代码线程先从通道0读取前16KB,然后计算校验和)就会不通过,所以启动会失败,CPU 会自动从SD2启动。

②在uboot 下擦除 inand(通道0,EMMC)下的 uboot,这样 来达到 重启 从 SD2启动的目的,方法如下:

  在uboot下,使用help movi 来查看 movi 指令的使用方法,如下:

    1. movi init - Initialize moviNAND and show card info
    2. movi read {u-boot | kernel} {addr} - Read data from sd/mmc
    3. movi write {fwbl1 | u-boot | kernel} {addr} - Write data to sd/mmc
    4. movi read rootfs {addr} [bytes(hex)] - Read rootfs data from sd/mmc by size
    5. movi write rootfs {addr} [bytes(hex)] - Write rootfs data to sd/mmc by size
    6. movi read {sector#} {bytes(hex)} {addr} - instead of this, you can use "mmc read"
    7. movi write {sector#} {bytes(hex)} {addr} - instead of this, you can use "mmc write"

      fwbl1 | u-boot | kernel 指三个分区。fwbl1是 uboot 的一部分,这个在 S5PV210的启动过程可以看到!

      addr 指内存地址。

  具体擦除inand 的 uboot  指令一:movi write u-boot 0x30000000

  解释:把内存地址为0x30000000的数据写到u-boot 扇区里。

使用 uboot 指令 清除 通道0 的 uboot,重点 来了,重启 没有出现 SD 信息 校验 出错,  开发板变砖了,DNW 刷机。再来!………………2017年3月19日22:49:21

用 USB 在Linux下 用dnw 刷uboot 到内存中,然后进入uboot命令行下,然后输入fastboot指令进入fastboot模式,使用windows的fastboot

工具,在CMD指令下 使用 fastboot 命令 刷uboot 到flash中,然后刷 kernel ,和system到 flash中,然后进入 Linux或者安卓下,使用

busybox dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1 count=1 conv=sync

sync

两个命令 进行 清除掉 通道0  的uboot,然后 在 shell 下就会出现

SD checksum Error

的字样,然后使用  x210_Fusing_Tool 工具 刷 uboot_inand.bin到SD卡中,这样 又可以 愉快的 启动 uboot了,这样 就可以 使用 fastboot 工具刷机了。。。。2017年3月24日18:05:48

5、在 windows 下 制作 SD 卡启动,使用 软件 x210_Fusing_Tool.rar,

  1、把SD卡插到电脑上,2、打开x210_Fusing_Tool,就会看到已经识别SD卡,注意先后顺序。

     Browse 选择 uboot_inand.bin 的路径,点击 Add,然后 START,最后出现Fusing image done.

    

6、这样 就可以 通过 SD 启动 UBOOT,然后进入 uboot ,输入fastboot指令进入fastboot状态,就可以使用fastboot 进行刷机了!2017年3月24日17:57:26

参考链接:http://www.cnblogs.com/zou107/p/5054631.html

用 S5PV210 学习 Linux (三) SD卡下载的更多相关文章

  1. 用 S5PV210 学习 Linux (一) 刷机(一)

    简介: 习惯了 用 keil 或者 IAR  一键下载 (烧写) 代码,S5PV210 貌似就不能这么简单用 仿真器的 方式 下载代码了,因此 学习 S5PV210 的第一步就是 学习怎么下载代码,下 ...

  2. 用SD卡下载uboot、linux内核和文件系统

    1. 移植mtd-utils: a) 下载utd-utils 下载地址为ftp://ftp.infradead.org/pub/mtd-utils/b) 交叉编译mtd-utilsi   修改Make ...

  3. 九鼎S5PV210开发板的SD卡启动、uboot tftp升级内核镜像

    Note: 我的S5PV210板子的磁盘是emmc版本,不是nandflash版本. 1. SD卡内烧录uboot镜像,然后作为启动盘来启动emmc中的内核镜像和根文件系统. 只要破坏emmc内的ub ...

  4. linux挂载SD卡

    (1)通过#fdisk -l命令确认板子上的linux系统是否识别SD卡 MP805M板子插入SD卡后显示 SD30 slot is without WPmmc1: new high speed SD ...

  5. 用 S5PV210 学习 Linux (二) 刷机(二)

    1.在 Ubuntu 下 ,进入  dnw-linux-master\src\driver 文件下,make 截图 如下: 2.紧接着 加载该模块到内核(注意:需要root权限),sudo insmo ...

  6. Linux的启动SD卡的格式化方法

    要在OMAP3530上运行Linux,首先要知道如何启动OMAP3530,并且将MLO,XDLR,UBOOT,UImage以及文件系统等镜像程序下载到OMAP3530的芯片中去. OMAP3530提供 ...

  7. SD卡驱动分析(一)

    Android下的SD卡驱动与标准LINUX下的SD卡驱动好像没有太大的区别,这里就以高通的ANDROID 2.3以代表,来简要分析一下LINUX下SD卡驱动的写法.由于小弟的技术有限,分析的有错的地 ...

  8. [笔记]SD卡相关资料

    ESD静电放电模块 我知道的flash分为两种NOR flash和NAND flash,NOR falsh容量一般为1~16M用于单片机代码存储,NAND flash最小的是8M最大的现在听说有90G ...

  9. Ubuntu下查看SD卡设备名的几个方法

    Ubuntu下使用SD卡查询SD卡的设备文件名:sudo fdisk -leg:Disk /dev/sdb:14.9 GiB,15931539456 字节,31116288 个扇区单元:扇区 / 1 ...

随机推荐

  1. 工厂方法模式(GOF23)

    耦合关系直接决定着软件面对变化时的行为 主要对模块之间的关系进行整理,依赖关系倒置(依赖反转),变化快的东西不能影响到变化慢的东西 用封装机制来隔离易变的对象,抽象部分(不易变)和细节部分(可能容易变 ...

  2. Effective C++ .47 traits与模板特化

    #include <iostream> #include <cstdlib> #include <string> using namespace std; temp ...

  3. C++输入输出流--<iostream>详解

    C++输入输出流包含在头文件<iostream>中, 流的定义如下:通过设备驱动程序与键盘.屏幕.文件.打印机等进行交互, iostream 类提供与之交互的方法.输出流:输出流的对象是字 ...

  4. 前端之困 · XSS CookBook

    方法论 发掘漏洞的时间要具体到是检测什么目标了,找 Google 的,和找腾讯的时间肯定不会一样. 至于是如何发现的,不同类型的 XSS 漏洞,可能不尽相同. 反射型 以及一些 DOM 型,一般建议是 ...

  5. JavaScript的进阶之路(四)理解对象2

    对象的三个属性 原型属性 1.var v={}的原型是Object.prototype;继承了一个constructor属性指代Object()构造函数,实际的原型是constructor.proto ...

  6. 爬虫必备—BeautifulSoup

    BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后便可以使用他提供的方法进行快速查找指定元素,从而使得在HTML或XML中查找指定元素变得简单. ...

  7. this keyword details

    学生类: package com.itheima_07; /* * 学生类 * * 起名字我们要求做到见名知意. * 而我们现在的代码中的n和a就没有做到见名知意,所以我要改进. * * 如果有局部变 ...

  8. Directly output the object name

    package basic.java; public class Case { public static void main(String[] args) { Student s = new Stu ...

  9. 如何安装window7 语言包

    很多下载的语言包都是.exe文件,双击后生成lp.cab文件. 这时马上把文件复制到另外一个文件夹中,直接拖最快. 这是 window7 sp1 的很多语言包下载地址(企业版和旗舰版通用):http: ...

  10. Spring MVC基本配置和实现(四)

    1.参数绑定:(从请求中接收参数) 1)默认支持的类型:Request,Response,Session,Model 2)基本数据类型(包含String) 3)Pojo类型 4)Vo类型 5)Conv ...