驱动调试求助
【虽然已在内核板块问了,但是由于很急,所以在驱动板块也为以下,期待帮助】请教问题:在ARM平台上,大家一般都怎么调试Linux驱动程序啊? 对于硬件驱动程序,考虑到兼容性,一般都有较多的switch/case或者if else。除了printk,还有哪些方式能调试呢?如何跟踪执行的case,以及相关重要的结构体的赋值呢,能单步吗? 另外,当驱动编译成module和build-in方式时,调试的方法有什么区别(也就是说,如何调试uImage和ko文件)?有些什么常用的手段和工具呢? 非常感谢!因为最近要调uImage以及相关硬件驱动,每次都要重新添加printk,重新编译,再运行查看,感觉效率太低啦!!!
我也是初学,看LDD3上除了printk还有其他的调试方式。我也只用过printk,同麻烦,哈哈。 LDD3上有提到在用户空间编写驱动的优势,其中之一就是便于调试
我编写驱动都是基于模块,全部用printk解决,感觉还行吧,有需求可以仔细看看LDD3关于debug的章节 用kprobe,相当爽,谁用谁知道。
页:
[1]