5.1.3. 调试指南

5.1.3.1. 调试开关

参考快速入门 - 编译概述 - Kernel配置,进入kernel的功能配置,可以打开SDMC模块的DEBUG选项:

Linux
    Kernel hacking
        ZX Debug
            [*] SD&MMC Host Controller driver debug

此DEBUG选项打开的影响:

  1. MMC子系统(含SDMC驱动)以-O0编译

  2. MMC子系统(含SDMC驱动)的pr_dbg()和dev_dbg()调试信息会被编译

在系统运行时,如果要打印pr_dbg()和dev_dbg()信息,还需要调整loglevel为8,两个方法:

  1. 在board.dts中修改bootargs,增加“loglevel=8”

  2. 在板子启动到Linux shell后,执行命令:

echo 8 > /proc/sys/kernel/printk

SDMC驱动中还使用了 dev_vdbg() 调试接口,打开该接口的方法是在 .c 中定义一个宏开关 VERBOSE_DEBUG,然后重新编译,dev_vdbg() 就会转成 dev_dbg(),否则为空。

如在zx_mmc.c中起始位置定义 VERBOSE_DEBUG:

#define VERBOSE_DEBUG