UFS 1-UFS架构简介1
UFS 2 -UFS架构简介2
UFS 3 - UFS RPMB
UFS 4 - UFS Boot
UFS 5 - UFS UIC Layer: MIPI M-PHY
UFS 6 - UAP – SCSI Commands(1)
UFS 7 - UAP – SCSI Commands(2)
UFS 8 - UAP – SCSI Commands(3)
UFS 9 - UAP – SCSI Commands(4)
UFS 10 - UAP – SCSI Commands(5)
UFS 11 - UFS RPMB分区功能验证
UFS 12 - UAP – SCSI Commands(6)
UFS 13 - Logical Unit Management
UFS 14 - UFS RPMB安全读写命令
UFS 15 - UFS RPMB操作
在执行scsi命令的时候需要首先执行scsi scan
把该总线上挂载的设备都识别之后再去操作其余的动作。
$ scsi
scsi - SCSI sub-system
Usage:
scsi reset - reset SCSI controller
scsi info - show available SCSI devices
scsi scan - (re-)scan SCSI bus
scsi device [dev] - show or set current device
scsi part [dev] - print partition table of one or all SCSI devices
scsi read addr blk# cnt - read `cnt' blocks starting at block `blk#'
to memory address `addr'
scsi write addr blk# cnt - write `cnt' blocks starting at block
`blk#' from memory address `addr'
$
在该处探测到两个scsi设备,均为UFS v3.1的ufs设备。大小均为3.9G
$ scsi scan
scanning bus for devices...value. rx=0, tx=0
Device 0: (0:0) Vendor: Synopsys Prod.: UFSDeviceDEVICE Rev: V3_1
Type: Hard Disk
Capacity: 4095.9 MB = 3.9 GB (1048575 x 4096)
Device 1: (0:1) Vendor: Synopsys Prod.: UFSDeviceDEVICE Rev: V3_1
Type: Hard Disk
Capacity: 4095.9 MB = 3.9 GB (1048575 x 4096)
$
该处查看到的设备信息和scsi scan
探测到的设备信息一致,两个ufs device均为Rev: V3_1的ufs设备,大小为3.9G。
$ scsi info
Device 0: (0:0) Vendor: Synopsys Prod.: UFSDeviceDEVICE Rev: V3_1
Type: Hard Disk
Capacity: 4095.9 MB = 3.9 GB (1048575 x 4096)
Device 1: (0:1) Vendor: Synopsys Prod.: UFSDeviceDEVICE Rev: V3_1
Type: Hard Disk
Capacity: 4095.9 MB = 3.9 GB (1048575 x 4096)
$
scsi device 0
表示将当前要操作的设备切换到Device 0: (0:0)
scsi dev/device #dev_num
即可$ scsi device 0
Device 0: (0:0) Vendor: Synopsys Prod.: UFSDeviceDEVICE Rev: V3_1
Type: Hard Disk
Capacity: 4095.9 MB = 3.9 GB (1048575 x 4096)
... is now current device
$
$ mw.b 0xb0000000 aa 0x1000
scsi write 0 0xb0000000 0 1
表示将0xb0000000开始的内存数据,写入到起始地址为0,block cnt为1的ufs设备处,ufs 普通lun的block size为4096,所以block cnt设置的大小为1。11.3.8.2 Read Capacity (10) Parameter Data
有介绍$ scsi write 0 0xb0000000 0 1
scsi write: device 0 block # 0, count 1 ... 1 blocks written: OK
$
和上面介绍的一样,该命令是从ufs的地址0处,读取一个block的数据到0xb1000000内存地址。每一个block的大小为4096。
$ scsi read 0xb1000000 0 1
scsi read: device 0 block # 0, count 1 ... 1 blocks read: OK
比对0xb0000000和0xb1000000两个内存地址大小为0x1000的内存数据是否一致:
$ cmp 0xb0000000 0xb1000000 0x1000
Total of 4096 word(s) were the same