Edit online

调试指南

SDMC 调试包含以下步骤:
  • 调试开关
    在 luban 根目录下执行 make kernel-menuconfig,进入 kernel 的功能配置,可以打开 SDMC 模块的 DEBUG 选项:
    Linux
        Kernel hacking
            Artinchip 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. 在 dts 中修改 bootargs,增加“loglevel=8”
    2. 在板子启动到 shell 后,执行命令:
    echo8 > /proc/sys/kernel/printk
    

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

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

    #define VERBOSE_DEBUG