调试指南
16 Dec 2024
Read time: 1 minute(s)
调试开关
通过内核配置使能 SPI_ENC 模块的 DEBUG 选项:
-
在 SDK 根目录下,执行下列命令,进入 kernel 的功能配置界面:
make kernel-menuconfig
或使用简写命令
make km
-
在内核的配置界面,勾选下列选项:
Linux Kernel hacking Artinchip Debug [*] SPI ENC driver debug
打开 DEBUG 选项后:
-
驱动以
-O0
编译。 -
pr_dbg() 和 dev_dbg() 调试信息会被编译。
在系统运行时,如果要打印 pr_dbg() 和 dev_dbg() 信息,还需要调整 loglevel 为 8,可以通过以下两种方式实现:-
在 board.dts 中修改 bootargs,增加 “loglevel=8”
-
在板子启动到 Linux Shell 后,执行下列命令:
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 文件节点。