Edit online

调试指南

16 Dec 2024
Read time: 1 minute(s)

调试开关

通过内核配置使能 SPI_ENC 模块的 DEBUG 选项:
  1. 在 SDK 根目录下,执行下列命令,进入 kernel 的功能配置界面:
    make kernel-menuconfig

    或使用简写命令

    make km
  2. 在内核的配置界面,勾选下列选项:
    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 文件节点。