0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式Linux开发-uboot常用命令介绍(下篇)

DS小龙哥-嵌入式技术 来源:DS小龙哥-嵌入式技术 作者:DS小龙哥-嵌入式技 2022-08-14 08:55 次阅读

1. 前言

这篇文章是UBOOT命令介绍的下篇,接着上篇文章介绍剩下的几个命令用法。

主要是涉及的命令是:磁盘分区、磁盘文件加载、内核引导、二进制文件加载、跳转命令、磁盘文件系统格式等等。

image-20220124134555164

2. UBOOT命令

2.1 fatls –列出指定目录下的文件

查看帮助:

TINY4412 # ? fatls
fatls - list files in a directory (default /)
     列出一个目录文件
​
Usage:
fatls  [directory]
​
  - list files from 'dev' on 'interface' in a 'directory'
复制代码[:part]>

参数说明:

: mmc 或 usb;
dev: 设备编号;
part: 设备分区号;
[directory]: 目录, 是可选, 可以不写,不写默认 / 目录
复制代码

查看SD卡中的文件列表(查看之前SD需要有完好的分区才行,可以通过fdisk进行分区,从U-BOOT和内核地址之后开始分区,防止将U-BOOT和内核清除)

TINY4412 # fatls mmc 0 /
Partition1: Start Address(0x71c53a), Size(0x2025c6)
       system volume information/
      12345/
​
0 file(s), 2 dir(s)   共用两个目录,0个文件----进过确认正确的
复制代码

查看子目录下的文件:

TINY4412 # fatls mmc 0 /12345 
Partition1: Start Address(0x71c53a), Size(0x2025c6)
       ./
       ../
      5567/
​
0 file(s), 3 dir(s)
复制代码

image-20220124134543267

2.2 从一个MMC文件系统(fat)中加载一个二进制文件到DDR

查看帮助:

TINY4412 # help fatload
fatload - fatload - load binary file from a dos filesystem
​
​
Usage:
fatload  [bytes]
  - load binary file 'filename' from 'dev' on 'interface'
    to address 'addr' from dos filesystem
复制代码[:part]>

参数说明:

: mmc 或 usb;
dev:    设备编号(可以通过启动时查看或者列出存储器);
part:    设备分区号;
:   DDR 内存地址
: 要加载二进制文件( 包含完整路径)
[bytes]:要加载数据大小,字节为单位。可选的,可以不写, 不写时候默认等于文件大小。
加载文件需要SD或者EMMC有完好的文件系统。
复制代码

image-20220124134658482

先将SD卡从开发板取出(开发板不要断电),通过读卡器插入 PC,复制一些文件到卡里,然后再重新插入开发板中 (SD卡拔出来时开发板不要断电,目的想测试一下 mmc rescan 命令作用)。SD卡拔掉之后,UBOOT一样可以运行,因为程序已经拷贝到DDR中运行了,只要不断电U-BOOT就可以正常运行。

image-20220124134724136

文件拷贝完将SD卡再放回开发板,先不要重新扫描 mmc 设备,直接输入 fatls 就会出错:

TINY4412 # fatls mmc 0
 /* 打印错误信息,因为开发板没有断电,设备0是SD卡*/
count: 1
# Tx: Inverter delay / Rx: Inverter delay
​
count: 2
## Tx: Basic delay / Rx: Inverter delay
​
count: 3
## Tx: Inverter delay / Rx: Basic delay
​
count: 4
### Tx: Basic delay / Rx: Basic delay
​
count: 5
# Tx: Disable / Rx: Basic delay
​
count: 6
## Tx: Disable / Rx: Inverter delay
​
count: 7
### Tx: Basic delay / Rx: Disable
​
count: 8
### Tx: Inverter delay / Rx: Disable
mmc read failed ERROR: -19
data.dest: 0xc3cfbbdc
data.blocks: 1
data.blocksize: 512
MMC_DATA_READ
** Can't read from device 0 **
​
** Unable to use mmc 0:1 for fatls **
TINY4412 # 
复制代码

扫描设备0,再读出信息:

TINY4412 # mmc rescan 0  扫描设备
TINY4412 # fatls mmc 0   列出设备的文件目录
​
/* 成功列出了SD卡文件目录信息*/
Partition1: Start Address(0xa203d2), Size(0x2037b2)
       system volume information/
 4783928  zimage 
  277108  u-boot.bin 
  127245  纇/u-boot.pdf 
   5268  2015-12-30txt 
  731729  shell,
          - a.pdf 
​
5 file(s), 1 dir(s)
复制代码

image-20220124134820305

开始测试 fatload 命令:

TINY4412 #  fatload mmc 0 48000000 zimage    将 zimage文件加载到DDR的48000000地址处  
Partition1: Start Address(0xa203d2), Size(0x2037b2)
reading zimage
​
4783928 bytes read  成功加载文件的大小(字节单位)
TINY4412 # md.b 48000000    打印出DDR 48000000地址处的数据
48000000: 00 00 a0 e1 00 00 a0 e1 00 00 a0 e1 00 00 a0 e1   ................
48000010: 00 00 a0 e1 00 00 a0 e1 00 00 a0 e1 00 00 a0 e1   ................
48000020: 02 00 00 ea 18 28 6f 01 00 00 00 00 38 ff 48 00   .....(o.....8.H.
48000030: 01 70 a0 e1 02 80 a0 e1 00 20 0f e1 03 00 12 e3   .p....... ......
复制代码

image-20220124134903661

2.3 cmp --比较内存数据是否相同

查看帮助
TINY4412 # ? cmp           
cmp - memory compare  内存比较
​
Usage:
cmp [.b, .w, .l] addr1 addr2 count  格式     注意:count 是用十六进制表示
cmp .b :以1个字节方式
cmp .w :以2 个字节方式
cmp .l :以4 个字节方式
​
格式:
Cmp.b 地址1 地址2 比较数据的数量
​
①比较DRR两个地址数据是否相等
TINY4412 # cmp.b 48000000 49000000 10   比较两个地址数据---数量是10个
byte at 0x48000000 (0x00) != byte at 0x49000000 (0xff)
Total of 0 bytes were the same  共有0字节是相同的
TINY4412 # 
​
​
②从MMC读取1个扇区的数据到DDR的两个地址
TINY4412 #  mmc read 0 48000000 1 1
​
MMC read: dev # 0, block # 1, count 1 ... 1 blocks read: OK
TINY4412 #  mmc read 0 49000000 1 1
​
MMC read: dev # 0, block # 1, count 1 ... 1 blocks read: OK
 
③再次比较两个地址的数据
TINY4412 # cmp.b 48000000 49000000 10  ( 注意:这里的10是十六进制的10 ,转成十进制就是16)
Total of 16 bytes were the same  共有16个字节都是一样的。
复制代码

2.4 mm --地址以自动增加的方式修改内存数据

查看帮助:
TINY4412 # ? mm
mm - memory modify (auto-incrementing address)  修改内存(增加的地址)
​
Usage:
mm [.b, .w, .l] address  格式: address要修改的地址
​
①先将DDR某处数据打印出来,方便修改完比较
TINY4412 # md.b 48000000 10
48000000: a3 69 d3 18 e9 7d b9 66 d1 6b d5 6e d4 79 a6 79   .i...}.f.k.n.y.y
​
②修改数据
TINY4412 # mm.b 48000000       
48000000: a3 ? 5  //把a3 修改为5
48000001: 69 ? 6  //把69 修改为6
48000002: d3 ? 7
48000003: 18 ? 8
48000004: e9 ?    不想修改直接按下<回车键>跳过
48000005: 7d ? 9
48000006: b9 ? TINY4412 #   修改完直接按ctrl+c 结束
​
③再次查看数据
TINY4412 # md.b 48000000 10
48000000: 05 06 07 08 e9 09 b9 66 d1 6b d5 6e d4 79 a6 79   .......f.k.n.y.y  修改之后的数据
​
将修改之前的数据与修改之后的比较,发现已经修改成功!
其他类似命令:
mm.w:一次修改 2 字节
mm.l:一次修改 4 字节
复制代码

2.5 cp –内存拷贝

查看帮助:
TINY4412 # ? cp
cp - memory copy  内存复制
​
Usage:  用法格式
cp [.b, .w, .l] source target count  注意这里的数量是用16进制表示的
格式:cp.b 源地址 目标地址 数量
①读出DDR两个地址的数据,方便后面比较
TINY4412 # md.b 45000000 10  显示数据
45000000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
TINY4412 # md.b 49000000 10  显示数据
49000000: a3 69 d3 18 e9 7d b9 66 d1 6b d5 6e d4 79 a6 79   .i...}.f.k.n.y.y
​
​
②将DDR的4900000地址前10个字节拷贝到45000000地址处
TINY4412 # cp 49000000 45000000 10
​
③将两处地址的数据再显示出来
TINY4412 # md.b 45000000 10     
45000000: a3 69 d3 18 e9 7d b9 66 d1 6b d5 6e d4 79 a6 79   .i...}.f.k.n.y.y
TINY4412 # md.b 49000000 10
49000000: a3 69 d3 18 e9 7d b9 66 d1 6b d5 6e d4 79 a6 79   .i...}.f.k.n.y.y
拷贝之后,将两处地址数据再次比较,两边数据是一样的。
复制代码

2.6 loady - 使用串口下载二进制数据到内存中

U-BOOT支持的串口传输模式:

loadb  - load binary file over serial line (kermit mode)
loads  - load S-Record file over serial line
loady  - load binary file over serial line (ymodem mode)
复制代码

串口下载文件到DDR,上面是U-BOOT支持串口的3种传输模式。

CRT串口终端支持的协议:

image-20220124135202201
查看帮助:
TINY4412 # ? loady
Unknown command '' - try 'help' without arguments for list of all known commands
​
loady - load binary file over serial line (ymodem mode)
用在串行线加载二进制文件(ymodem模式)
​
Usage:
loady [ off ] [ baud ]
  - load binary file over serial line with offset 'off' and baudrate 'baud'
参数说明:
[ off ]: DDR 内存地址, 可选。
[ baud ]:使用多快的波特率下载, 可选,不填就表示默认的115200波特率。
示例:
loady 0x40000000 115200
复制代码

测试loady命令:

(1)下载文件到内存

TINY4412 # loady 40000000   下载文件到DDR 40000000地址
## Ready for binary (ymodem) download to 0x40000000 at 0 bps...
复制代码

image-20220124135312187image-20220124135330283

(2)对比数据内容

image-20220124135349614

(3)执行代码

上面下载的bin文件是一个按键的裸机程序,可以用go命令跳转到指定地址去执行下载的代码。

TINY4412 # go 40000000
## Starting application at 0x40000000 ...
跳转过去之后,按下按键测试! 测试结果正常,按键程序可以正常执行。
复制代码

2.7 go–CPU 跳转到指定的地址执行代码

一旦 go 指令执行后, CPU 就会去执行指定地址处的代码。

查看帮助:

TINY4412 # ? go
go - start application at address 'addr'
   在addr处启动应用程序
​
Usage:
go addr [arg ...]
  - start application at address 'addr'
    passing 'arg' as arguments 作为参数传递的参数
复制代码

测试go命令

将SD卡第一个扇区数据读到DDR内存中等待执行。读8个扇区
TINY4412 # mmc read 0 45000000 1 8  
​
MMC read: dev # 0, block # 1, count 8 ... 8 blocks read: OK
​
跳转到45000000地址去执行程序
TINY4412 # go 45000000 
## Starting application at 0x45000000 ...  开始执行地址处的代码,因为扇区1开始存放的是BL1代码,重新执行启动了UBOOT
OK
​
U-Boot 2010.12 (Jan 01 2016 - 02:37:55) for TINY4412
​
CPU:   S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]
     APLL = 1400MHz, MPLL = 800MHz
​
Board:  TINY4412
DRAM:  1023 MiB
...........................................................................................................
复制代码

image-20220124135654581

2.8 打开关闭emmc设备引导分区

查看帮助:
TINY4412 # ? emmc
emmc - Open/Close eMMC boot Partition  打开/关闭emmc引导分区
​
Usage:
emmc open  
emmc close  
​
对设备读写操作,需要先打开,读写完毕,再关闭。
示例: 
emmc close 1   打开设备1
emmc open 1   关闭设备1
​
emmc close 0   打开设备0
emmc open 0   关闭设备0
复制代码

2.9 movi 子系统----从MMC向DDR读写数据

该指令在产品发布时需要用到,用来固化内核和UBOOT。

查看帮助:

TINY4412 # ? movi
movi - movi   - sd/mmc r/w sub system for SMDK board
​
Usage:
movi init - Initialize moviNAND and show card info
movi read zero {fwbl1 | u-boot} {device_number} {addr} - Read data from sd/mmc  读取数据从sd / mmc
movi write zero {fwbl1 | u-boot} {device_number} {addr} - Read data from sd/mmc  读取数据从sd / mmc
movi read {u-boot | kernel} {device_number} {addr} - Read data from sd/mmc    读取数据从sd / mmc
movi write {fwbl1 | u-boot | kernel} {device_number} {addr} - Write data to sd/mmc 写入数据到sd / mmc
movi read rootfs {device_number} {addr} [bytes(hex)] - Read rootfs data from sd/mmc by size    从sd/mmc读取rootfs数据大小
movi write rootfs {device_number} {addr} [bytes(hex)] - Write rootfs data to sd/mmc by size     写rootfs sd/mmc的数据大小
movi read {sector#} {device_number} {bytes(hex)} {addr} - instead of this, you can use "mmc read"
movi write {sector#} {device_number} {bytes(hex)} {addr} - instead of this, you can use "mmc write"
复制代码

(1)把 sd 卡中 u-boot 的第一阶段的 bl1 数据复制到内存,然后再写入 emmc 对应位置

movi read fwbl1 0 40000000;    //从SD(设备编号为)拷贝bl1到DDR内存地址
emmc open 1;          //打开EMMC设备
movi write zero fwbl1 1 40000000;  //将DDR地址处数据写入到EMMC对应位置
emmc close 1;           //关闭EMMC设备
复制代码

用法示例:

TINY4412 # movi read fwbl1 0 40000000;
reading FWBL1 ..device 0 Start 1, Count 16 
MMC read: dev # 0, block # 1, count 16 ... 16 blocks read: OK  从SD卡第1个扇区开始读,连续读16个扇区
completed
TINY4412 # emmc open 1;
eMMC OPEN Success.!!
             !!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!
TINY4412 # movi write zero fwbl1 1 40000000; 
writing FWBL1 ..device 1 Start 0, Count 16 
MMC write: dev # 1, block # 0, count 16 ... 16 blocks written: OK 从EMMC第0个扇区写,连续写16个扇区
completed
TINY4412 # emmc close 1; 
eMMC CLOSE Success.!!
​
因为SD卡的特性,第0个扇区不能使用,数据只能从第1个扇区开始存放。
EMMC可以直接从第0个扇区存放数据。
所以-----EMMC的第0个扇区相当于SD卡的第1个扇区
复制代码

image-20220124140004454

(2)把sd卡中u-boot的BL2 数据复制到内存,然后再写入 emmc 对应位置

movi read bl2 0 40000000;   //从SD(设备编号为0)拷贝bl2到DDR内存地址
emmc open 1;         //打开EMMC设备
movi write zero bl2 1 40000000; //将DDR地址处数据写入到EMMC对应位置
emmc close 1;         //关闭EMMC设备
复制代码

示例:

TINY4412 # movi read bl2 0 40000000
reading BL2 ..device 0 Start 17, Count 32 
MMC read: dev # 0, block # 17, count 32 ... 32 blocks read: OK  //从SD卡的第17个扇区开始读,连续读32个扇区。
                           //查看UBOOT烧写脚本可知,BL2是从SD卡第17扇区开始烧写的
completed
TINY4412 # emmc open 1     
eMMC OPEN Success.!!
             !!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!
TINY4412 # movi write zero bl2 1 40000000  
writing BL2 ..device 1 Start 16, Count 32 
MMC write: dev # 1, block # 16, count 32 ... 32 blocks written: OK  //向EMMC的第17个扇区开始写,连续写32个扇区。
completed
TINY4412 # emmc close 1
eMMC CLOSE Success.!!
复制代码

image-20220124140109626

(3)把 sd 卡中 u-boot 复制到内存,然后再写入 emmc 对应位置

movi read u-boot 0 40000000;    将SD卡的U-BOOT.Bin读到DDR内存空间
emmc open 1;          打开EMMC设备
movi write zero u-boot 1 40000000;  将DDR的数据写入EMMC设备
emmc close 1;           关闭EMMC
复制代码

示例:

TINY4412 # movi read u-boot 0 40000000
reading bootloader..device 0 Start 49, Count 656 
MMC read: dev # 0, block # 49, count 656 ... 656 blocks read: OK  从SD卡第49个扇区开始,读取656个扇区到DDR内存
completed
TINY4412 # emmc open 1
eMMC OPEN Success.!!
             !!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!
TINY4412 # movi write zero u-boot 1 40000000
writing bootloader..device 1 Start 48, Count 656    
MMC write: dev # 1, block # 48, count 656 ... 656 blocks written: OK 向EMMC的第49个扇区,连续写入656个扇区到DDR内存
completed
TINY4412 # emmc close 1
eMMC CLOSE Success.!!
复制代码

image-20220124140204306

(4)把 sd 卡中 u-boot 安全加密数据复制到内存,然后再写入 emmc 对应位置

movi read tzsw 0 40000000;    将安全加密数据拷贝到DDR
emmc open 1;         打开EMMC设备
movi write zero tzsw 1 40000000;  将DDR数据写入EMMC
emmc close 1;          关闭EMMC设备
复制代码

示例:

TINY4412 # movi read tzsw 0 40000000
reading 0 TrustZone S/W.. Start 705, Count 320 
MMC read: dev # 0, block # 705, count 320 ... 320 blocks read: OK  从SD卡的第705个扇区开始,连续读取320个扇区到DDR
Completed                        安全加密数据是从SD的705个扇区存放的
TINY4412 # emmc open  1
eMMC OPEN Success.!!
             !!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!
TINY4412 # movi write zero tzsw 1 40000000;
writing 1 TrustZone S/W.. Start 704, Count 320 
MMC write: dev # 1, block # 704, count 320 ... 320 blocks written: OK  写入EMMC
completed
TINY4412 # emmc close 1
eMMC CLOSE Success.!!
复制代码

image-20220124140305180image-20220124140317064

(5)把 sd 卡中内核数据复制到内存,然后再写入 emmc 对应位置

movi read kernel 0 40000000;   将SD卡的内核数据读到DDR内存中
movi write kernel 1 40000000;   将DDR的数据写入EMMC中
复制代码

示例:

TINY4412 # movi read kernel 0 40000000
reading kernel..device 0 Start 1057, Count 12288 
MMC read: dev # 0, block # 1057, count 12288 ... 12288 blocks read: OK  从SD卡1057扇区开始,连续读12288个扇区到DDR
completed
TINY4412 # movi write kernel 1 40000000
writing kernel..device 1 Start 1057, Count 12288 
MMC write: dev # 1, block # 1057, count 12288 ... 12288 blocks written: OK将DDR的数据写入EMMC,从1057开始写,连续写12288个扇区
completed
复制代码

image-20220124140413623

2.10 movi 精简命令-一键拷贝

将UBOOT和内核数据固化到EMMC精简命令:

movi r f 0 40008000;emmc open 1;movi w z f 1 40008000;emmc close 1;
movi r b 0 40008000;emmc open 1;movi w z b 1 40008000;emmc close 1;
movi r u 0 40008000;emmc open 1;movi w z u 1 40008000;emmc close 1;
movi r t 0 40008000;emmc open 1;movi w z t 1 40008000;emmc close 1;
movi r k 0 40008000;movi w k 1 40008000;
复制代码

2.11 bootcmd命令的使用

bootcmd命令是设置U-BOOT启动成功后执行的命令代码。

示例:

set bootcmd 'mmc read 0 40000000 421 1;md.b 40000000'
​
格式:setenv  ‘ 需要执行的命令’
    Save  //保存设置
复制代码

2.12 执行二进制文件-->bootm命令

bootm命令是用来引导经过U-Boot的工具mkimage打包后的kernel image的。

查看帮助:

TINY4412 # ? bootm
bootm - boot application image from memory  //bootm从内存中启动应用程序
​
Usage:
bootm [addr [arg ...]]
  - boot application image stored in memory
     passing arguments 'arg ...'; when booting a Linux kernel,
    'arg' can be the address of an initrd image
//传递参数的参数…”;当引导Linux内核,“参数”可以是映像文件的地址
​
Sub-commands to do part of the bootm sequence.  The sub-commands must be
issued in the order below (it's ok to not issue all sub-commands):
    start [addr [arg ...]]
     loados - load OS image  加载操作系统映像
     cmdline - OS specific command line processing/setup 操作系统特定的命令行处理/设置
     bdt   - OS specific bd_t processing 操作系统特定bd_t处理
     prep  - OS specific prep before relocation or go 
     go   - start OS 启动操作系统
复制代码

示例:

(1)直接引导内核

TINY4412 # mmc read 0 40007fc0 421 3000 
将SD卡内核读到DDR内存空间----内核映像是从SD卡1057扇区开始存放的,连续占用了12288个扇区 
(注意: 421是0x421 3000是0x3000)
MMC read: dev # 0, block # 1057, count 12288 ... 12288 blocks read: OK
​
TINY4412 # bootm 40007fc0  执行DDR--40007fc0地址处的二进制文件
Boot with zImage
​
Starting kernel ...
​
Uncompressing Linux... done, booting the kernel.  
复制代码

image-20220124140814996

(2)设置UBOOT启动成功自动引导内核

TINY4412 # setenv bootcmd 'mmc read 0 40007fc0 421 3000;bootm 40007fc0' U-BOOT启动成功之后自动执行
TINY4412 # save 保存设置
或者使用bootcmd=movi read kernel 0 40008000;movi read rootfs 0 41000000 100000;bootm 40008000 41000000
复制代码

image-20220124140849754

2.13 分区命令-fdisk

查看帮助:

TINY4412 # ? fdisk
fdisk - fdisk for sd/mmc. //硬盘分区工具
Usage:
fdisk -p   - print partition information   //打印分区信息
fdisk -c  []
    - create partition  //创建分区(分区单位是M)
复制代码

(1)查看分区信息示例

TINY4412 # fdisk -p 0  //查看SD卡分区信息
​
分区      大小     扇区开始地址     扇区数量(512字节一个扇区)     分区ID名称
partion #   size(MB)     block start #       block count             partition_Id 
  1     1028     7456058       2106822              0x06 
  4       0     28049408        441                0x00 
复制代码

image-20220124141021889

(2)给SD卡分区示例

(分区时--会自行在SD卡开头大约66M后的空间开始分区,因为开头部分需要用来存放内核与U-BOOT)

TINY4412 # fdisk -c 0 320 2057 520   //给SD卡分区, -c 表示分区
fdisk is completed   //提示分区完成
​
分区      大小     扇区开始地址     扇区数量(512字节一个扇区)     分区ID名称
partion #   size(MB)   block start #        block count           partition_Id 
  1     4416     6090216       9045762             0x0C 
  2      320      134343       656788             0x83 
  3     2062      791131       4224341             0x83 
  4      524     5015472       1074744             0x83 
复制代码

image-20220124141108289

2.14 指定EMMC的分区文件系统格式

U-BOOT支持格式化的文件系统格式:

fatformat- fatformat - disk format by FAT32
ext3format- ext3format - disk format by ext3
ext2format- ext2format - disk format by ext2
复制代码

查看 fatformat命令使用帮助:

TINY4412 # ? fatformat
fatformat - fatformat - disk format by FAT32
       指定磁盘的格式位FAT32
​
Usage:
fatformat   用法格式
    - format by FAT32 on 'interface'   
​
其他两个命令,用法一样!
复制代码(only>

(1)指定分区命令-用法示例

fatformat  mmc 0:1     //表示将第0个盘的第一个分区初始化为 fat
ext3format mmc 0:2     //表示将第0个盘的第二个分区初始化为 ext3
ext2format mmc 0:3    //表示将第0个盘的第三个分区初始化为  ext2
ext3format mmc 0:4     //表示将第0个盘的第四个分区初始化为  ext3

image-20220124141306110

(2)SD卡分区文件系统格式化完毕,将SD卡插入电脑,查看SD卡的分区信息

image-20220124141338477

(3)将SD卡挂载进虚拟机,查看设备节点。

image-20220124141411181image-20220124141436392

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206713
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21848
  • Uboot
    +关注

    关注

    4

    文章

    123

    浏览量

    27860
收藏 人收藏

    评论

    相关推荐

    linux常用命令

    linux常用命令
    发表于 08-20 22:53

    Linux常用命令

    Linux常用命令
    发表于 05-08 14:39

    请问嵌入式Linux GCC常用命令有哪些?

    嵌入式Linux GCC常用命令有哪些?
    发表于 04-19 09:39

    掌握Linux常用命令

    一、实验目的和要求1掌握Linux常用命令2学会如何获取命令帮助信息3熟练掌握Linux常用命令4掌握GCC
    发表于 12-16 06:08

    了解嵌入式系统的应用以及Linux系统的结构和常用命令

    #嵌入式系统开发概述及Linux基础本人进度计划及任务:了解嵌入式系统的应用以及Linux系统的结构和
    发表于 12-22 08:24

    嵌入式Linux常用命令

    嵌入式Linux常用命令,比较基础,非常实用,适合新手学习。
    发表于 11-24 15:22 2次下载

    Linux终端常用命令大全

    Linux终端常用命令大全,通俗易懂,容易上手。包含所有命令,方便查找各个指令功能。
    发表于 04-28 16:30 15次下载

    vim常用命令

    vim常用命令
    发表于 01-08 15:59 3次下载

    Linux教程之Linux常用命令大全

    Linux教程之Linux常用命令大全
    的头像 发表于 03-30 10:34 5398次阅读

    linux常用命令手册

    linux常用命令手册免费下载。
    发表于 06-01 14:59 62次下载

    linux常用命令大全

    linux常用命令大全,一些常用命令都可以找到
    发表于 03-03 09:20 0次下载

    嵌入式Linux开发-编写自定义uboot命令

    U-Boot的命令为用户提供了交互功能,并且已经实现了几十个常用命令,前面两篇文章介绍uboot自带的
    的头像 发表于 08-14 08:56 839次阅读

    Linux常用命令

    Linux常用命令
    的头像 发表于 01-12 11:19 867次阅读

    Linux常用命令手册分享

    linux常用命令合集
    发表于 04-26 11:46 1次下载

    linux常用命令及用法

    Linux是一种开源的操作系统,它以稳定、高效和安全的特点受到广大用户的喜爱。掌握Linux常用命令及其用法对于操作系统的管理和开发都至关重要。本文将详尽、详实、细致地
    的头像 发表于 11-17 09:47 350次阅读