uboot中挂载U盘,利用FAT文件系统读写U盘文件
2015-11-20 17:59
399 查看
关于使用U盘自动更新系统镜像,请看我的这篇博文:http://blog.chinaunix.net/space.php?uid=22030783&do=blog&id=3347599
下面开始介绍USB和FAT相关命令的用法,通过大量的实际操作截图说明
和USB操作相关的文件是common/cmd_usb.c,这里定义了usb命令
在uboot中执行help usb查看支持的命令
先把U盘插在板上的USB HOST口,使用U盘之前要先执行usb start命令,或使用usb
reset也是一样的动作
接着使用usb dev可以查看检测到的USB设备,如下图,检测到USB
Storage,设备号是0(我用的是TF卡读卡器)
使用usb info可列出板上USB
HOST接口的属性
使用usb storage可列出U盘设备信息,使用usb
tree列出Device Tree
使用usb part列出U盘设备的分区信息
使用完U盘后,要使用usb stop停止设备
操作U盘中的文件需要借助FAT文件系统,实现文件是common/cmd_fat.c,不管是U盘或MMC,或其他存储设备,都可以用FAT文件系统统一操作。
执行help中可以看到有3个fat命令,fatls fatinfo fatload
fatls: list files in a directory(default /)
用法: [directory]
interface就是指哪种类型的设备,我们用的是usb,dev就是设备号,我们的设备号是0,默认的directory是根目录
执行:fatls usb 0
列出U盘上的文件系统目录结构
fatinfo: print information about filesystem
用法:
执行:fatinfo usb 0
fatload:load binary file from a dos filesystem
用法: [bytes]
从U盘中读取文件到指定内存地址,比如我U盘上有一个名为uboot.bin的文件,读到0x30000000的地址处
执行:fatload usb 0 0x30000000 uboot.bin
读完后就可以用nand write命令将30000000处理的数据写到bios分区中,这就实现了用U盘烧写系统功能
下面开始介绍USB和FAT相关命令的用法,通过大量的实际操作截图说明
和USB操作相关的文件是common/cmd_usb.c,这里定义了usb命令
在uboot中执行help usb查看支持的命令
先把U盘插在板上的USB HOST口,使用U盘之前要先执行usb start命令,或使用usb
reset也是一样的动作
接着使用usb dev可以查看检测到的USB设备,如下图,检测到USB
Storage,设备号是0(我用的是TF卡读卡器)
使用usb info可列出板上USB
HOST接口的属性
使用usb storage可列出U盘设备信息,使用usb
tree列出Device Tree
使用usb part列出U盘设备的分区信息
使用完U盘后,要使用usb stop停止设备
操作U盘中的文件需要借助FAT文件系统,实现文件是common/cmd_fat.c,不管是U盘或MMC,或其他存储设备,都可以用FAT文件系统统一操作。
执行help中可以看到有3个fat命令,fatls fatinfo fatload
fatls: list files in a directory(default /)
用法: [directory]
interface就是指哪种类型的设备,我们用的是usb,dev就是设备号,我们的设备号是0,默认的directory是根目录
执行:fatls usb 0
列出U盘上的文件系统目录结构
fatinfo: print information about filesystem
用法:
执行:fatinfo usb 0
fatload:load binary file from a dos filesystem
用法: [bytes]
从U盘中读取文件到指定内存地址,比如我U盘上有一个名为uboot.bin的文件,读到0x30000000的地址处
执行:fatload usb 0 0x30000000 uboot.bin
读完后就可以用nand write命令将30000000处理的数据写到bios分区中,这就实现了用U盘烧写系统功能
相关文章推荐
- Windows AdEasyGo支付SDK接入
- UIScrollView的delegate方法妙用之让UICollectionView滑动到某个你想要的位置
- Spring常用注解
- Xms Xmx PermSize MaxPermSize 区别
- maven web报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- win10安装mysql5.7 net start mysql拒绝访问 mysql配置文件修改不生效
- ios--uitextfield动态限制输入的字数
- 安卓动态曲线的绘制
- Base64使用案例
- C语言开发总结(二)
- hdoj 素数判定
- Tomcat内存设置详解
- 如何使用GitHub管理代码
- windows系统快捷操作の高级篇
- 批处理删除指定天数之前的文件和相应目录下的空文件夹
- FireFly开发之路(一)python学习一
- request.getRealPath不推荐使用request.getRealPath("") 这个方法已经不推荐使用了
- 停止ambari上服务的顺序
- Direct3D 10 & Direct3D 11 Pipeline Stages
- android dialog圆角显示及解决出现的黑色棱角