u-boot中的FAT命令

宜家博客
宜家博客
宜家博客
39683
文章
0
评论
2019年7月29日12:20:58 评论 582 1309字阅读4分21秒

[u-boot: v2013.04]

[Author: Bo Shen <[email protected]>]

1. Source Code

<common/cmd_fat.c>

此文件中定义了四个命令:fatload,fatls,fatinfo是定义"#define CONFIG_CMD_FAT"后就包括了。而fatwrite是需要再定义"#define CONFIG_FAT_WRITE"才会出现。

 

2. Usage

U-Boot>
fatinfo
usb 0 Interface: USB Device 0: Vendor: Kingston Rev: PMAP Prod: DataTraveler G3 Type: Removable Hard Disk Capacity: 7441.6 MB = 7.2 GB (15240576 x 512) Filesystem: FAT32 "KINGSTON "
U-Boot>
fatls
usb 0 166 autorun.inf 39334 tbi.png 43134 tbi_2.png 43006 tms.png 55191 tck.png 57357 rtck.png 53981 tdo.png 7 file(s), 0 dir(s)  
U-Boot>
fatload
usb 0 0x20000000 tbi.png reading tbi.png 39334 bytes read in 161ms (244.3 KiB/s)   3. Source Code go through
3.1 fatls --> do_fat_ls <
common/cmd_fat.c
> --> do_ls <
fs/fs.c
> --> fs_set_blk_dev <fs/fs.c
> --> fs_ls <fs/fs.c
> --> return 0;
3.1.1 fs_set_blk_dev <fs/fs.c> --> get_device_and_partition <
disk/part.c
> --> (callback: fstype_info->probe) <
fs/fs.c
>
3.1.2 fs_ls <fs/fs.c> --> fs_get_info <fs/fs.c> --> (callback: fstype_info->ls) <fs/fs.c>
 
3.2 fatinfo --> do_fat_fsinfo <common/cmd_fat.c> --> get_device_and_partition <
disk/part.c
> --> fat_set_blk_dev <fs/fat/fat.c> --> file_fat_detectfs <
fs/fat/fat.c
>
3.2.1 fat_set_blk_dev <fs/fat/fat.c> --> disk_read <fs/fat/fat.c>
3.2.2 file_fat_detectfs <fs/fat/fat.c> --> dev_print <disk/part.c> --> read_bootsectandvi <fs/fat/fat.c>
 
3.3 fatload --> do_fat_fsload --> do_load <fs/fs.c> --> fs_set_blk_dev < fs/fs.c> --> fs_read (callback: fstype_info->read)

继续阅读
weinxin
欢迎加入中国站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。
宜家博客
浅析TCP字节流与UDP数据报的区别 Linux编程

浅析TCP字节流与UDP数据报的区别

“TCP是一种流模式的协议,UDP是一种数据报模式的协议”,这句话相信大家对这句话已经耳熟能详~但是,“流模式”与“数据包模式”在编程的时候有什么区别呢?以下是我的理解,仅供参考! 1、TCP 打个比...
Linux x86内联函数 Linux编程

Linux x86内联函数

  将各个部分组合起来      如果您是 Linux 内核的开发人员,您会发现自己经常要对与体系结构高度相关的功能进行编码或优化代码路径。您很可能是通过将汇编语言指令插入到 C 语句的中间(又称为内...
堆与堆排序 Linux编程

堆与堆排序

堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树。 二叉堆满足...
Spring bean是如何加载的 Linux编程

Spring bean是如何加载的

加载bean的主要逻辑 在AbstractBeanFactory中doGetBean对加载bean的不同情况进行拆分处理,并做了部分准备工作具体如下 获取原始bean name 根据alia获取原始b...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: