WSL2中对TF卡操作的学习;f1c200s固件应用

背景

学习嵌入式linux中,其中不乏需要对TF卡进行操作的,记录下

安装USBIPD

首先因为是在WSL2中进行的操作,所以需要usbipd这个工具,windows跟wsl2中都需安装相应工具,自行百度

https://www.cnblogs.com/qi-xmu/p/16093878.html

image

对TF卡做一些前置操作

image
一般tf卡的文件系统格式为NTFS,在linux中是使用不了的,又因为还没去研究NTFS格式的TF卡在linux中如何格式化为linux可以挂载的文件系统格式,所以,在操作之前,我就在windows上将tf卡清空了所有分区。

使用USBIPD,使TF卡呈现在WSL中

image
在windows终端输入命令usbipd wsl attach --busid 12-2(不一定都是是12-2),使wsl2连接上usb设备
image
安装fdisk工具sudo apt-get install fdisk,应该也有其他工具可以对TF卡进行格式化,分区等操作,但没研究过

使用fdisk工具对TF进行分区,格式化等

sudo fdisk /dev/sdb
image
每个磁盘名称不同,请注意

若已存分区即按 d 删除各个分区。我这里没有分区
image

通过 n 新建分区,第一分区申请为1M,第二分区128M,剩下的空间都给第三分区
n p [Enter] [Enter] [Enter] +1M

image

n p [Enter] [Enter] [Enter] +128M

image

n p [Enter] [Enter] [Enter] [Enter]

image

w 保存写入并退出

image

完成之后的
image

分区格式化

sudo mkfs.vfat /dev/sdb1 # 将第1分区格式化成FAT
sudo mkfs.ext4 /dev/sdb2 # 将第2分区格式化成EXT4
sudo mkfs.ext4 /dev/sdb3 # 将第3分区格式化成EXT4

image

挂载

在mnt下创建目录,当作挂载点

☁  ~  sudo mkdir /mnt/test2
☁  ~  sudo mount /dev/sde2 /mnt/test2

image
接下来就可在这里面进行文件操作了


可以使用df -h看到所挂载的/dev/sde2,还可以看到使用率
image
lsblk也是相同的功能
image

磁盘是磁盘,但在linux中磁盘必须挂载了才能进行操作,否则也就只是符号而已

f1c200s的TF卡

能在wsl中看到tf卡的磁盘符号后,如果有挂载的,先取消挂载
sudo umount /dev/sd*

image
使用fdisk工具,存在分区的先删除分区。图中删除了两个分区

image
图中创建了两个分区,第一个分区32M大小,第二个分区为1000M大小,对后w保存退出

image
可以看到多了两个分区

image
将两个分区格式化一下,使其可以使用

image
使用sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8命令,将uboot烧入tf卡的指定位置

if指的是输入文件, of指的是输出文件, 这里的输出文件为主机电脑的/dev/sdb文件, 也就
是TF卡,这个可以用gparted 软件查看,该软件可以直接用命令安装即可:sudo apt-get install
gparted,安装好后打开该软件,如图2.15在右上角可以看到两个硬盘sda,其中一个是主机的本地
硬盘,另一个是TF,即sdb这里可以看到TF卡的卷标名为sdb,因此这里的of=/dev/sdb 烧录到8k偏
移地址处是指绝对地址,这个绝对地址指的是TF卡的物理地址。这里为何是8k处而不是其他地址
是由于F1C200S 内部的IROM中的一小段代码决定的。

image
这里一般第一个分区放内核跟设备树,第二个分区放根文件系统

posted @ 2023-10-11 23:14  kingzhan  阅读(223)  评论(0编辑  收藏  举报