打印
[STM32MP1]

启用内核调试选项

[复制链接]
314|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挺有用的,尤其在启动阶段出错时,可以更快定位问题。

使用特权

评论回复
5
帛灿灿| | 2025-3-9 07:46 | 只看该作者
Debug slab allocation这个选项我之前没怎么用过,开启后性能影响大吗?

使用特权

评论回复
6
童雨竹| | 2025-3-9 07:47 | 只看该作者
重新编译内核的时候有没有遇到依赖问题?有时menuconfig改完选项会多出些意外依赖。

使用特权

评论回复
7
万图| | 2025-3-9 07:49 | 只看该作者
部署新内核时,设备树文件也要一起更新,不然可能会遇到兼容性问题。

使用特权

评论回复
8
Wordsworth| | 2025-3-9 07:50 | 只看该作者
这种调试配置适合开发环境,部署到量产设备时建议关闭,以免影响性能。

使用特权

评论回复
9
Bblythe| | 2025-3-9 07:52 | 只看该作者
内核日志开启Verbose模式后,信息量有点大,建议结合dmesg里的关键字过滤更清晰。

使用特权

评论回复
10
Pulitzer| | 2025-3-9 07:53 | 只看该作者
Early printk输出信息很早,串口初始化前的消息也能看到,救过不少“无响应”的板子。

使用特权

评论回复
11
Uriah| | 2025-3-9 07:54 | 只看该作者
如果内核编译后启动卡住,可能是串口引脚配置或波特率没对上。

使用特权

评论回复
12
Clyde011| | 2025-3-9 07:55 | 只看该作者
这种调试方法在分析驱动初始化失败时特别管用,推荐结合ftrace进一步分析。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

866

帖子

0

粉丝