调试指南
5 Nov 2024
Read time: 1 minute(s)
调试开关
可通过内核配置使能 SPI_ENC 模块的 DEBUG 选项。在 SDK 根目录下执行:
make linux-menuconfig (or make km)
进入内核的配置界面:
Linux
Kernel hacking
Artinchip Debug
[*] SPI ENC driver debug
勾选使能该 DEBUG 选项后:
-
SPI_ENC 的驱动源码将以
-O0
编译 -
SPI_ENC 驱动中的 pr_dbg() 和 dev_dbg() 调试信息会被编译
-
Sysfs 中新增
/sys/devices/platform/soc/18100000.spienc/bypass
节点
如果需要看到 pr_dbg() 和 dev_dbg() 的打印信息,还需要设置 loglevel=8
。
若需要在启动过程中即可看到打印,需要在 env.txt
中修改 bootargs,增加
loglevel=8
。 若仅需要在板子启动到 Linux shell 后使能相关打印,可以通过下列命令调整
loglevel:
echo8 > /proc/sys/kernel/printk
Sysfs 节点
SPI_ENC 驱动在 /sys/devices/platform/soc/
目录下创建了 Sysfs 节点
18100000.spienc/
其中通过下列命令可读取当前硬件状态:
cat /sys/devices/platform/soc/18100000.spienc/status
如果按照上一节的指引,使能了调试开关,还可以看到节点:
/sys/devices/platform/soc/18100000.spienc/bypass
通过下列命令,可以开关 ByPass SPIENC 加密功能:
echo "1" > /sys/devices/platform/soc/18100000.spienc/bypass
echo "0" > /sys/devices/platform/soc/18100000.spienc/bypass
ByPass 之后,读写 SPI 存储的数据都是原始数据,不会做加密或者解密。
提示:
Bypass 是一个调试功能,如果没有按照上节的指引勾选 [*] SPI ENC driver debug,则 Sysfs 中没有 bypass 文件节点。