您的位置:首页 > 其它

一些关于ARM驱动的问题 make menuconfig && implicit declaration of function

2011-03-19 18:25 931 查看
这两天在倒腾ARM的内核驱动编程,遇到了一些问题,比较头疼,不过已经解决,认为有意义也就记录一下。

由于ARM内核驱动的编写和环境的配置关系很紧密,所以先做以下声明,不同的配置可能适用,也可能不适用,仅供参考。

ARM内核版本:2.6.24.4

PC操作系统: Ubuntu Desktop10.04

ARM-LINUX-GCC版本:3.4.1

遇到问题主要有两点:

一、make menucofig出错

二、Makefile的时候报错implicit declaration of function

解决方法:

对于make menucofig

提示的错误如下:

ERROR: make[1]: *** [scripts/kconfig/lxdialog/checklist.o] 错误 1
make: *** [menuconfig] 错误 2

安装ncurses-devel,这个是红帽或者FC的安装程序,Ubuntu的需要安装libncurses5-dev

安装指令如下: sudo apt-get install libncurses5-dev
//网上有好多一样的指令,就是运行不了,很大的原因是拼写错了,libncurses5写成了 libncurses 很无解
***********************************************
对于 implicit declaration of function ‘set_irq_type’这个错误,字面上是隐式声明错误,
可能原因有:
1 没有把函数所在的c文件生成.o目标文件
2 在函数所在的c文件中定义了,但是没有在与之相关联的.h文件中声明
后来用SourceInsight查看文件关联,发现在 linux/interrupt.h的文件里面并没有声明 ‘set_irq_type'中断请求函数,估计是版本的问题,在版本更新过程中删掉了,后来在interrupt.h
文件中补上这句的声明就Make顺利了,在ARM板上也顺利的insmod,不过还没有编写简单的C程序测试
驱动,不过问题已经不大了。Ole~~ (下图蓝色部分为添加的声明)
extern int set_irq_type(unsigned int irq,unsigned int type);

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐