一个爱徒步的~IT民工
2910
- 收藏
- 点赞
- 分享
- 举报
T30A- SPI-Norflash烧录方法
方法一:
1.思路是先通过网络tftp将烧录文件load到内存中,再烧录到nor中
把内存先全部清为全f
mw.b 0x80600000 0xff 0x1000000 --第三个参数是大小,这里清了16MB
通过tftp load文件到内存
tftp 0x80600000 u-boot-with-spl.bin
2.然后,将内存中的数据写入Nor
sf probe
sf erase 0x0 0x40000 --擦除uboot分区大小256K
sf write 0x80600000 0x0 0x40000 --将uboot写入nor
也可以一次性将文件都load到内存中,再一起烧录。这种方法需要计算好各个文件的相对位置
mw.b 0x80600000 0xff 0x1000000
tftp 0x80600000 u-boot-with-spl.bin
tftp 0x80640000 uImage
tftp 0x808c0000 rootfs.squashfs
tftp 0x80ac0000 appfs.jffs2
sf probe
sf erase 0x0 0x800000
sf write 0x80600000 0x0 0x800000
方法二
对于第一次烧录Nor,或者没有网络的情况来说,需要从SD卡启动,并将uboot烧录到Nor中。之后的烧录就可以通过tftp进行。
1.格式化sd卡,并将卡启动uboot烧录到SD卡 --此步骤只需执行一次,若不更新卡起uboot则不需要再次执行此步骤。经过此步骤处理的SD卡可当作正常卡使用
a.将SD卡插入电脑
b.卸载sd卡,umount /media/user/*
c.将SD卡重新分区
fdisk /dev/sdb
> o --创建一个新的分区表
> n --添加一个分区n
--此时会提示:
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
--这里回车默认是p,创建主分区
分区号 (1-4,默认为 1):
将使用默认值 1
--这里回车默认创建1号分区
起始 sector (2048-15130623,默认为 2048):
将使用默认值 2048
Last sector, +扇区 or +size{K,M,G} (2048-15130623,默认为 15130623):
将使用默认值 15130623
--2048号扇区在1MB的位置,给uboot空出了空间
最后一步,输入w,向SD卡中写入分区表
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
--到这里分区表已创建完成
d.执行sync,拔卡,重新插卡,PC将重新识别分区
e.格式化sd卡为通用的VFat文件系统:mkfs.vfat /dev/sdb1
f.编译u-boot。make isvp_t10_msc0,将生成的u-boot-with-spl.bin(不是u-boot-with-spl-mbr-gpt.bin)文件烧录进sd卡的17KB偏移处:
dd if=u-boot-with-spl.bin of=/dev/sdb bs=1024 seek=17
到此,可以用来烧录的SD卡制作完成。
2.插入SD卡,复制u-boot-with-spl.bin,uImage,rootfs_glibc.jffs2,data.jffs2等到sd卡的vfat分区中
3.使用sd卡启动开发板,开机前几秒迅速按下回车键,进入uboot命令行
首先,将需要烧录的文件读到内存中,以u-boot为例:
把内存先全部清为全f
mw.b 0x80600000 0xff 0x1000000 --第三个参数是大小,这里清了16MB
ls SD卡中的文件
isvp# fatls mmc 0
222944 u-boot-with-spl.bin
2368879 uimage
5 file(s), 0 dir(s)
load文件到内存
fatload mmc 0 0x80600000 u-boot-with-spl.bin
然后,将内存中的数据写入Nor
sf probe
sf erase 0x0 0x40000 --擦除uboot分区大小256K
sf write 0x80600000 0x0 0x40000 --将uboot写入nor
方法三
此方法是在文件系统启动后的在线烧录方式。
通过nfs或tftp等方式,将SDK中mtd_utils下的flash_erase命令拷贝到设备
在设备端执行flash_erase /dev/mtdX 0 0,擦除需要更新的分区(不推荐擦除root分区)
将需要更新的bin文件通过nfs或者tftp等方式拷贝到设备
dd if=[bin文件路径] of=/dev/mtdX,进行烧录
1.思路是先通过网络tftp将烧录文件load到内存中,再烧录到nor中
把内存先全部清为全f
mw.b 0x80600000 0xff 0x1000000 --第三个参数是大小,这里清了16MB
通过tftp load文件到内存
tftp 0x80600000 u-boot-with-spl.bin
2.然后,将内存中的数据写入Nor
sf probe
sf erase 0x0 0x40000 --擦除uboot分区大小256K
sf write 0x80600000 0x0 0x40000 --将uboot写入nor
也可以一次性将文件都load到内存中,再一起烧录。这种方法需要计算好各个文件的相对位置
mw.b 0x80600000 0xff 0x1000000
tftp 0x80600000 u-boot-with-spl.bin
tftp 0x80640000 uImage
tftp 0x808c0000 rootfs.squashfs
tftp 0x80ac0000 appfs.jffs2
sf probe
sf erase 0x0 0x800000
sf write 0x80600000 0x0 0x800000
方法二
对于第一次烧录Nor,或者没有网络的情况来说,需要从SD卡启动,并将uboot烧录到Nor中。之后的烧录就可以通过tftp进行。
1.格式化sd卡,并将卡启动uboot烧录到SD卡 --此步骤只需执行一次,若不更新卡起uboot则不需要再次执行此步骤。经过此步骤处理的SD卡可当作正常卡使用
a.将SD卡插入电脑
b.卸载sd卡,umount /media/user/*
c.将SD卡重新分区
fdisk /dev/sdb
> o --创建一个新的分区表
> n --添加一个分区n
--此时会提示:
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
--这里回车默认是p,创建主分区
分区号 (1-4,默认为 1):
将使用默认值 1
--这里回车默认创建1号分区
起始 sector (2048-15130623,默认为 2048):
将使用默认值 2048
Last sector, +扇区 or +size{K,M,G} (2048-15130623,默认为 15130623):
将使用默认值 15130623
--2048号扇区在1MB的位置,给uboot空出了空间
最后一步,输入w,向SD卡中写入分区表
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
--到这里分区表已创建完成
d.执行sync,拔卡,重新插卡,PC将重新识别分区
e.格式化sd卡为通用的VFat文件系统:mkfs.vfat /dev/sdb1
f.编译u-boot。make isvp_t10_msc0,将生成的u-boot-with-spl.bin(不是u-boot-with-spl-mbr-gpt.bin)文件烧录进sd卡的17KB偏移处:
dd if=u-boot-with-spl.bin of=/dev/sdb bs=1024 seek=17
到此,可以用来烧录的SD卡制作完成。
2.插入SD卡,复制u-boot-with-spl.bin,uImage,rootfs_glibc.jffs2,data.jffs2等到sd卡的vfat分区中
3.使用sd卡启动开发板,开机前几秒迅速按下回车键,进入uboot命令行
首先,将需要烧录的文件读到内存中,以u-boot为例:
把内存先全部清为全f
mw.b 0x80600000 0xff 0x1000000 --第三个参数是大小,这里清了16MB
ls SD卡中的文件
isvp# fatls mmc 0
222944 u-boot-with-spl.bin
2368879 uimage
5 file(s), 0 dir(s)
load文件到内存
fatload mmc 0 0x80600000 u-boot-with-spl.bin
然后,将内存中的数据写入Nor
sf probe
sf erase 0x0 0x40000 --擦除uboot分区大小256K
sf write 0x80600000 0x0 0x40000 --将uboot写入nor
方法三
此方法是在文件系统启动后的在线烧录方式。
通过nfs或tftp等方式,将SDK中mtd_utils下的flash_erase命令拷贝到设备
在设备端执行flash_erase /dev/mtdX 0 0,擦除需要更新的分区(不推荐擦除root分区)
将需要更新的bin文件通过nfs或者tftp等方式拷贝到设备
dd if=[bin文件路径] of=/dev/mtdX,进行烧录
我来回答
回答1个
时间排序
认可量排序
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2018-11-15 21:57:49
-
2018-11-15 21:54:07
-
2018-11-15 21:50:52
-
2018-11-15 21:38:33
-
2018-08-17 11:13:28
-
2018-06-04 11:30:55
-
2018-11-06 12:13:04
-
2018-11-09 19:57:25
-
2020-09-27 09:42:27
-
2018-11-22 14:02:55
-
2018-05-15 13:21:36
-
2019-01-02 20:13:01
-
2018-11-16 13:07:10
-
2018-11-24 18:21:40
-
2018-11-15 22:00:41
-
2018-11-15 21:59:39
-
2018-06-27 15:36:21
-
2018-11-15 22:28:55
-
2018-11-16 13:05:40
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认