测试指南
5 Nov 2024
Read time: 2 minute(s)
测试的配置
-
需要按照 调试指南 使能调试开关
-
编译 mtd-util 中的 Flash 工具
mtd-util 的使能方法:
make menuconfig
然后勾选:
Third-party packages ---> [*] mtd, jffs2 and ubi/ubifs tools ---> [*] mtd_debug
测试的命令
查看分区的信息:
mtd_debug info <device>
e.g.
mtd_debug info /dev/mtd0
擦除数据:
mtd_debug erase <device> <offset> <len>
e.g.
mtd_debug erase /dev/mtd0 0x0 0x40000
写入数据:
mtd_debug write <device> <offset> <len> <source-filename>
e.g.
mtd_debug write /dev/mtd0/ 0 0x40000 data.bin
读取数据:
mtd_debug read <device> <offset> <len> <dest-filename>
e.g.
mtd_debug read /dev/mtd0/ 0 0x40000 data.bin
读写的测试
测试写入到 Flash 的数据是否被加密:
-
写之前注意确认 SPI_ENC 没有被 Bypass
cat /sys/devices/platform/soc/18100000.spienc/bypass
应得到
bypass = 0
-
写入测试数据
mtd_debug write /dev/mtd0/ 0 0x40000 data.bin
-
Bypass SPI_ENC 然后读取 Flash Raw data
echo "1" > /sys/devices/platform/soc/18100000.spienc/bypass mtd_debug read /dev/mtd0/ 0 0x40000 raw_data.bin
-
对比两份数据,应该不同
测试 Bypass 写入的数据没有被加密:
-
设置 Bypass
echo "1" > /sys/devices/platform/soc/18100000.spienc/bypass
-
写入测试数据
mtd_debug write /dev/mtd0/ 0 0x40000 data.bin
-
读取数据
mtd_debug read /dev/mtd0/ 0 0x40000 raw_data.bin
-
对比两份数据,应该相同