在uboot串口台输入printenv 可以分区以及其他信息,如下

hisilicon # printenv 
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
bootfile="uImage"
UPDATE=netupdate JVS-HI3518ES-8188 0x83FFF000 0x780000 0x80000
filesize=1B0000
fileaddr=82000000
netmask=255.255.255.0
ipaddr=172.18.198.189
serverip=172.18.198.141
bootargs=mem=38M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),2M(kernel),3M(system),10M(application)
sf=probe 0;sf read 0x82000000 0x100000 0x200000;bootm 0x82000000
bootcmd=sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000
console=ttyAMA1
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Nov 11 2014 - 18:15:12)
Environment size: 626/65532 bytes

我们可以看到分区信息:mtdparts=hi_sfc:1M(boot),2M(kernel),3M(system),10M(application)

分别可以对应到Linux系统启动后的/dev/mtdblock0  /dev/mtdblock1  /dev/mtdblock2  /dev/mtdblock3

如下:

# ls  /dev/mtdblock* -l
brw-rw----    1 adminlvj root       31,   0 Jan  1 00:00 /dev/mtdblock0
brw-rw----    1 adminlvj root       31,   1 Jan  1 00:00 /dev/mtdblock1
brw-rw----    1 adminlvj root       31,   2 Jan  1 00:00 /dev/mtdblock2
brw-rw----    1 adminlvj root       31,   3 Jan  1 00:00 /dev/mtdblock3
#

此时我们可以将各个分区存储一一读出来

【flash读命令】

dd if=/dev/mtdblock0 of=u-boot.bin

dd if=/dev/mtdblock1 of=kernel.img

dd if=/dev/mtdblock2 of=rootfs.img

dd if=/dev/mtdblock3 of=app

然后再将读出来的分区文件进行拼接

【文件拼接命令】

dd if=u-boot.bin of=flash-burnfile.img

dd if=kernel.img of=flash-burnfile.img bs=1k seek=1024

dd if=rootfs.img of=flash-burnfile.img bs=1k seek=3072

dd if=app of=flash-burnfile.bin bs=1k seek=6144

拼接完成可以生成flash-burnfile.bin,这就是整个flash的bin文件,刚好16M。

制作好的flash bin文件可以通过烧录器烧写到flash里面,也可以通过uboot进行整个flash的烧写。

【uboot烧写命令】

mw.b 0x82000000 ff 1000000;tftp 0x82000000 flash-burnfile.img;sf probe 0;sf erase 0x000000 0x1000000;sf write 0x82000000 0x000000 0x1000000;

=====

1000000 是16进制换算成10进制为16777216,16777216/1024/2014 = 16M ,即为整个Flash的大小 ;

所以0x000000 0x1000000就是起始地址和烧写的大小,先erase后write

问题:0x82000000 这个值是什么意思,没想明白,知道的回复一下博客,感谢!(本文是海思hi3518e平台的学习笔记)

【uboot烧写注意事项】

1、首先开启tftp服务器,再将bin文件拷贝至服务器目录。

2、配置uboot参数:

setenv ipaddr 172.18.198.189

setenv serverip 172.18.198.201

saveenv

3、一定要记得插上网线,配置完uboot参数后,ping一下tftp服务器IP172.18.198.201,检查是否通。

flash文件制作笔记的更多相关文章

  1. HTML禁用Flash文件右键

    在项目中遇到一个需求,由于制作Flash的同事没有做禁用Flash文件右键功能!而Flash文件比较多,一个个改不太现实,于是要求用在网页显示的时候禁用Flash右键功能!未禁用之前! 禁用之前: 禁 ...

  2. Radmin Server-3.5 完美绿色破解版(x32 x64通用) 第三版 + 单文件制作方法

    Radmin Server v3.5 汉化破解绿色版(x32 x64通用) 第三版 下载链接: https://pan.baidu.com/s/1qYVcSQo 2016年7月8日更新第三版1.修复在 ...

  3. iOS 服务器端推送证书p12文件制作

    A.苹果服务器地址: Production和development用的push的服务器不同pdev是:$apnsHost = 'gateway.sandbox.push.apple.com';pro是 ...

  4. iOS静态库.a文件制作和导入使用

    iOS静态库.a文件制作: 1.新建Cocoa Touch Static Library工程 新建工程 - 选择iOS-FrameWork&Libary,选择 Cocoa Touch Stat ...

  5. -05 08:57 ARCGIS地统计学计算文件后缀名为.shp文件制作

    2011-07-05 08:57 ARCGIS地统计学计算文件后缀名为.shp文件制作 ARCAMP软件要进行地统计计算的文件后格式后缀名必须为.shp的文件,网上介绍的方法复杂难懂,那么制作.shp ...

  6. iOS 库文件制作

    一.静态库和动态库的介绍 一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链 ...

  7. 【flash】关于flash的制作透明gif的一个小技巧

    关于flash的制作透明gif的一个小技巧 或者说是一个需要注意的地方 1.导出影片|gif,得到的肯定是不透明的.2.想要透明背景,必须通过发布.3.flash中想要发布gif动画的话,不能有文字, ...

  8. Help And Manual 帮助文件制作工具

    Help And Manual 简    介 帮助文件制作工具 支持文件格式 26种 其他功能 制作非常专业的使用手册 一个所见即所得的帮助文件制作工具,是市面上功能最强的 WYSIWYG (所见即所 ...

  9. linux bin文件制作

    一 Linux安装文件 Linux常见的安装为tar,zip,gz,rpm,deb,bin等.我们可以简单的分为三类, 第一:打包或压缩文件tar,zip,gz等,一般解压后即可,或者解压后运行sh文 ...

随机推荐

  1. python with as用法

    with as用途:取代原来的try...finally,主要是用于处理异常 基本语法:with EXPRESSION [ as VARIABLE] WITH-BLOCK 基本要求:with所求值的对 ...

  2. ZSDR101-跑成品MRP

    *&---------------------------------------------------------------------**& Report ZSDR101*&a ...

  3. 334. Increasing Triplet Subsequence

    Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the ar ...

  4. mybatis处理小于号

    Mybatis中xm文件里写小于等于时间,不能直接写 <=,要写成 and reg_time <![CDATA[ <= ]]> #{params.endTime} 下面引用自m ...

  5. HDU 1231 最大连续子序列 --- 入门DP

    HDU 1231 题目大意以及解题思路见: HDU 1003题解,此题和HDU 1003只是记录的信息不同,处理完全相同. /* HDU 1231 最大连续子序列 --- 入门DP */ #inclu ...

  6. hive学习笔记_hive的表创建

    创建hive表注意事项 一.表分隔符必须与读取的数据文件一致,比如例子的分隔符为 '\t'(制表符),hive下默认分隔符是制表符. 二.最好指定分区作为数据之间的区分. 三.创建完表可以desc+表 ...

  7. Json数据,转换规则,

    JSON数据转换,规则是遇见json 中的{},则是数组[],遇见name:value,则是'key'=>'value', 但是不带键值的数组如['xxxxxx'],json_encode后仍然 ...

  8. HDU-4405 Aeroplane chess(概率DP求期望)

    题目大意:一个跳棋游戏,每置一次骰子前进相应的步数.但是有的点可以不用置骰子直接前进,求置骰子次数的平均值. 题目分析:状态很容易定义:dp(i)表示在第 i 个点出发需要置骰子的次数平均值.则状态转 ...

  9. 关于duplicate symbol _main in的解决办法

    报错:duplicate symbol _main in: duplicate symbol _main in:    /Users/gavin/Library/Developer/Xcode/Der ...

  10. JNI学习2:android 调用C语言方法与C语言调用android方法

    #include <jni.h> #include <stdio.h> #include <stdlib.h> #include <jni.h> #in ...