日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flash文件制作笔记

發布時間:2023/12/4 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flash文件制作笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在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文件制作笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。