[STM32MP1] 启用内核调试选项

[复制链接]
901|11
 楼主| 慢动作 发表于 2025-2-27 02:39 | 显示全部楼层 |阅读模式
在内核配置中启用调试选项,可以获取更多启动信息。

步骤:
进入内核配置:

bash
复制
make ARCH=arm CROSS_COMPILE=arm-none-eabi- menuconfig
启用调试选项:

在Kernel hacking菜单中,启用以下选项:

Kernel debugging

Early printk

Debug slab allocation

Verbose kernel log

重新编译内核:

bash
复制
make ARCH=arm CROSS_COMPILE=arm-none-eabi- -j$(nproc)
部署新内核:

将新内核镜像和设备树文件复制到开发板,重新启动。

laocuo1142 发表于 2025-3-7 10:57 | 显示全部楼层
学习一下,支持下
公羊子丹 发表于 2025-3-9 07:44 | 显示全部楼层
这些调试选项开启后,内核启动时的信息确实丰富了不少,排查问题方便多了。
周半梅 发表于 2025-3-9 07:45 | 显示全部楼层
启用Early printk挺有用的,尤其在启动阶段出错时,可以更快定位问题。
帛灿灿 发表于 2025-3-9 07:46 | 显示全部楼层
Debug slab allocation这个选项我之前没怎么用过,开启后性能影响大吗?
童雨竹 发表于 2025-3-9 07:47 | 显示全部楼层
重新编译内核的时候有没有遇到依赖问题?有时menuconfig改完选项会多出些意外依赖。
万图 发表于 2025-3-9 07:49 | 显示全部楼层
部署新内核时,设备树文件也要一起更新,不然可能会遇到兼容性问题。
Wordsworth 发表于 2025-3-9 07:50 | 显示全部楼层
这种调试配置适合开发环境,部署到量产设备时建议关闭,以免影响性能。
Bblythe 发表于 2025-3-9 07:52 | 显示全部楼层
内核日志开启Verbose模式后,信息量有点大,建议结合dmesg里的关键字过滤更清晰。
Pulitzer 发表于 2025-3-9 07:53 | 显示全部楼层
Early printk输出信息很早,串口初始化前的消息也能看到,救过不少“无响应”的板子。
Uriah 发表于 2025-3-9 07:54 | 显示全部楼层
如果内核编译后启动卡住,可能是串口引脚配置或波特率没对上。
Clyde011 发表于 2025-3-9 07:55 | 显示全部楼层
这种调试方法在分析驱动初始化失败时特别管用,推荐结合ftrace进一步分析。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

84

主题

1073

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部