首先贴上代码: 字符设备驱动代码: 模块的Makefile: 测试文件: sd ...
分类:
系统相关 时间:
2016-10-25 09:43:04
阅读次数:
323
1、范例 touch helloworld.c chmod 777 -R helloworld.c #include<linux/init.h> #include<linux/module.h> static int hello_init(void) { printk(KERN_WARNING"he ...
分类:
其他好文 时间:
2016-10-10 14:23:00
阅读次数:
206
转自:http://blog.csdn.net/lichangc/article/details/43272457 驱动程序开发的一个重大难点就是不易调试。本文目的就是介绍驱动开发中常用的几种直接和间接的调试手段,它们是: 利用printk 查看OOP消息 利用strace 利用内核内置的hacki ...
分类:
其他好文 时间:
2016-09-21 01:39:36
阅读次数:
193
转自:http://blog.chinaunix.net/uid-20672559-id-3383042.html linux设备驱动调试,我们在内核中看到内核使用dev_dbg来控制输出信息,这个函数的实质是调用printk(KERN_DEBUG )来输出打印信息。要打开这个开关需要下面两步。 1 ...
分类:
数据库 时间:
2016-08-02 16:56:28
阅读次数:
273
本文以 usbkbd.c 为例,分析 usb 键盘驱动程序。
static int __init usb_kbd_init(void)
{
int result = usb_register(&usb_kbd_driver);
if (result == 0)
printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
DRIV...
分类:
其他好文 时间:
2016-07-21 15:08:16
阅读次数:
204
作者:tekkamanninja 鸣谢:感谢ChinaUnix技术社区的tekkamanninja提供稿件 ,如需转载,请注明出处。 这段时间复习了一下内核调试系统,注意看了一下printk的实现以及内核日志的相关知识,这里做一下总结。一、printk概述 对于做Linux内核开发的人来说,prin ...
分类:
其他好文 时间:
2016-07-09 20:57:00
阅读次数:
294
打印内核调试信息:printk Printk函数的用法与printf函数相似,只不过printk函数运行在内核空间,printf函数运行在用户空间。 Prink函数在printk.c文件中实现,该文件的路径如下: /root/kernel/linux_kernel_2.6.36/kernel/pri ...
分类:
其他好文 时间:
2016-07-09 20:45:04
阅读次数:
100
一、 防止函数printk降低linux性能: 利用C语言中的编译指令(#if、#else、#endif等)。 现在修改printk_demo驱动代码,通过编译指令定义了一个pr_debug宏,并通过修改编译指令的条件值来控制是否调用printk函数。如下: # if 1//此处为1,使用print ...
分类:
系统相关 时间:
2016-07-09 17:53:55
阅读次数:
387
本章的主要内容是嵌入式Linux的调试技术。对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试。 一、打印内核调试信息:printk 该函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。像Linux驱动这样的Linux内核程序 ...
分类:
系统相关 时间:
2016-07-08 23:06:36
阅读次数:
178
《Android深度探索》第十章讲的是嵌入式Linux的调试技术。对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行测试。 printk函数的用法和printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。也就是说,像Linux驱动这 样的Linux ...
分类:
系统相关 时间:
2016-07-08 19:54:39
阅读次数:
181