[转]编写Linux驱动常见错误
时间:2010-07-29 来源:guocai_yao
出错:
[root@localhost]# insmod phyinfo.ko |
static void phyinfo_init(void) |
/root/source/my-drivers/chartest/chartest.c:1:26: error: linux/config.h: No such file or directory |
解决:
//1、把#include <linux/config.h>修改为如下: |
/home/neil/source/my-drivers/char-simple/char-simple.c:158: error: invalid storage class for function ?._inittest? |
源码的一个函数实现时,少了一个“}”!!
1)函数实现时,EXPORT_SYMBOL
2)模块中include此函数的头文件
[root@localhost r8168-8.014.00-2840]# make |
WARNING: "set_eth_link_led" [/work/zhaoweixing/new-r8168/e2prom-less/r8168-8.014.00-2840/src/r8168.ko] |
问题5、出错现象,运行测试程序出错如下:
[root@localhost my-drivers]# ./test |
驱动写好并编译后的操作:
1)insmod mydriver.ko
2)mknod /dev/chartest c 249 0
3)编写测试程序
$cat test-user.c
#define DEVICE "/dev/chartest" |
result = cdev_add(my_cdev, devno, CDEV_NUM);