设为首页 加入收藏

TOP

如何摆脱开发板用printk在本机调试模块
2014-11-24 11:10:56 来源: 作者: 【 】 浏览:0
Tags:如何 摆脱 开发 printk 调试 模块

之后将linux-source-2.6.35.tar.bz2剪切到用户目录下,当然,这个得用命令来mv,解压,解压后的目录为:~/linux-source-2.6.35。然后cd linux-source-2.6.35 -->make。
接下来就可以对自己要进行的模块进行调试,因为笔者最近在做bluetooth部分,所以就以bluetooth为例说明,具体的调试过程如下:

1.从解压的源码处获得要改动的模块代码,例如/drivers/bluetooth/下的代码拷贝到/home/xxxx/dir,同时拷贝Kconfig和Makefile文件到dir下。


2.在dir外部编写一个新的Makefile,此Makefile的主要是用于编译改动文件,同时避免了改动文件后对真个kernel重新make,大大节省了时间,具体格式给个例子:


3.执行此Makefile;一条make命令搞定。之后用ls命令查看dir目录下文件,是不是除了*.c和Makefile还有Kconfig之外还有*.o和*.ko。这个就是编译之后的模块了。


4.执行insmod命令,例如生成了btusb.ko,那么就执行:insmod btusb.ko。如果你在代码中已经加入了调试信息,例如在static int btusb_probe()中加入BT_ERR("********hello, I am probe");那么当你插入USB蓝牙适配器时你就会在cons0le里面看到你打印出来的********hell, I am probe。怎样进console,别说你不知道吧,ALT+CTRL+SHIFT+F1,按的键比较多点,退出console则为ALT+F7。

之后的调试方法都是类似的,需要调试那个模块,就把那个模块的代码和Makefile还有Kconfig一起拷贝出来放在一个目录,如上面格式创建新的Makefile在目录外,在代码中加入调试信息后直接make就可以了。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android Camera Subsystem 架构(.. 下一篇U-Boot在华恒S3C2410EDU板子上的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·【C语言】动态内存管 (2025-12-27 06:23:20)
·C语言中的内存管理 - (2025-12-27 06:23:16)
·C语言指南:C语言内 (2025-12-27 06:23:14)
·Redis on AWS:Elast (2025-12-27 04:19:30)
·在 Spring Boot 项目 (2025-12-27 04:19:27)