关于LINUX某些驱动程序如GPIO编译的时候提示未定义的问题
来源:互联网 发布:第3套人民币10元爱淘宝 编辑:程序博客网 时间:2024/06/10 03:54
从网上下载了DS18B20的驱动,在编译的时候总是提示 S3C2410_GPF0,S3C2410_GPF0_INP,S3C2410_GPF0_OUTP未定义问题,在网上找了一些,原来是内核版本问题, 在2.6.29和2.6.32中定义不同,如下:
在移植mini2440的驱动到2.6.31的时候,编译提示S3C2410_GPB5、S3C2410_GPB5_OUTPUT等类似的定义缺失。遂在内核中相关的部分arch/arm/mach-2410/include/mach中的头文件寻觅了一番,果然没有这些定义。而在2.6.29中是有这些定义的。
仔细看了一下,发现原来是新版本中采用了新的方式实现这两类定义。
1、引用端口的定义,旧版本直接通过S3C2410_GPmn来定义端口GPIOm的第n个引脚,比如GOIOB的第5个引脚引用为S3C2410_GPB5。在新版本中改为采用S3C2410_GPm(n)的方式,比如GPIOB的第5个引脚就改为S3C2410_GPB(5)。这里的S3C2410_GPm(n)函数在arch/arm/march-2410/include/mach/gpio-nrs.h中定义,共有S3C2410_GPA()~S3C2410_GPH()八组。
2、端口功能配置,比如端口的复用功能、输出或输入。在旧版本中采用的是”S3C2410_GPB_功能“的方式定义,比如S3C2410_GPB5_OUTP,直接把功能加在后面。而新版本中采用了一个宏函数S3C2410_gpio_cfgpin(端口引用, 功能),比如S3C2410_gpio_cfgpin(S3C2410_GPB(5),S3C2410_GPIO_OUTPUT)。关于端口功能的定义可以在arch/arm/march-2410/include/mach/regs-gpio.h中找到,复用功能的定义没有变化,增加了输入输出的定义S3C2410_GPIO_INPUT、S3C2410_GPIO_OUTPUT。以前的直接用宏定义配置,现在变成了需要用函数S3C2410_gpio_cfgpin来实现。这个函数的原型参见arch/arm/march-2410/include/mach/gpio-fns.h
被这个问题困扰了好久,终于有眉目了!!大家如果也遇到同样问题,记得留言顶一下,好让其他遇到此问题的哥们少走弯路!!!!!!
原帖地址:http://changhui0222.blog.sohu.com/158640420.html
在移植mini2440的驱动到2.6.31的时候,编译提示S3C2410_GPB5、S3C2410_GPB5_OUTPUT等类似的定义缺失。遂在内核中相关的部分arch/arm/mach-2410/include/mach中的头文件寻觅了一番,果然没有这些定义。而在2.6.29中是有这些定义的。
仔细看了一下,发现原来是新版本中采用了新的方式实现这两类定义。
1、引用端口的定义,旧版本直接通过S3C2410_GPmn来定义端口GPIOm的第n个引脚,比如GOIOB的第5个引脚引用为S3C2410_GPB5。在新版本中改为采用S3C2410_GPm(n)的方式,比如GPIOB的第5个引脚就改为S3C2410_GPB(5)。这里的S3C2410_GPm(n)函数在arch/arm/march-2410/include/mach/gpio-nrs.h中定义,共有S3C2410_GPA()~S3C2410_GPH()八组。
2、端口功能配置,比如端口的复用功能、输出或输入。在旧版本中采用的是”S3C2410_GPB_功能“的方式定义,比如S3C2410_GPB5_OUTP,直接把功能加在后面。而新版本中采用了一个宏函数S3C2410_gpio_cfgpin(端口引用, 功能),比如S3C2410_gpio_cfgpin(S3C2410_GPB(5),S3C2410_GPIO_OUTPUT)。关于端口功能的定义可以在arch/arm/march-2410/include/mach/regs-gpio.h中找到,复用功能的定义没有变化,增加了输入输出的定义S3C2410_GPIO_INPUT、S3C2410_GPIO_OUTPUT。以前的直接用宏定义配置,现在变成了需要用函数S3C2410_gpio_cfgpin来实现。这个函数的原型参见arch/arm/march-2410/include/mach/gpio-fns.h
被这个问题困扰了好久,终于有眉目了!!大家如果也遇到同样问题,记得留言顶一下,好让其他遇到此问题的哥们少走弯路!!!!!!
原帖地址:http://changhui0222.blog.sohu.com/158640420.html
- 关于LINUX某些驱动程序如GPIO编译的时候提示未定义的问题
- 关于LINUX某些驱动程序如GPIO编译的时候提示未定义的问题
- 关于LINUX某些驱动程序如GPIO编译的时候提示未定义的问题
- 关于嵌入式linux下的驱动程序编译问题
- 关于编译时候的问题
- 关于某些时候notifyDataSetChanged不运行的问题
- 关于编译Linux-2.6.38.8内核时s3c_device_ohci未定义问题的分析
- 关于编译Linux-2.6.38.8内核时s3c_device_ohci未定义问题的分析
- 关于Linux下驱动程序的编译方法
- 关于Linux下驱动程序的编译方法 .
- Linux编译问题:对‘pthread_create’未定义的引用
- 关于PHP中变量未定义的提示
- 编译linux驱动程序出现的一些问题
- jsp中使用EXTJS的时候老提示EXT未定义
- 关于编译FreeModbus提示 对'pthread_create'未定义的引用 的解决
- ie9 提示'console' 未定义问题的解决方法
- ie9 提示'console' 未定义问题的解决方法
- GPIO驱动程序的移植
- dom4j 为生成 XML 的文件添加 xmlns(命名空间) 属性
- 怎样学习设计模式和学习其他知识
- linux下编程实现mplayer播放器主文件main.c
- C++堆、栈和静态数据(转)
- ASP.NET之IsPostBack
- 关于LINUX某些驱动程序如GPIO编译的时候提示未定义的问题
- 产品开发版本合并
- j2me 使用Timer和TimerTask来实现多线程
- 标准TinyOS2.x环境的搭建(TelosB, MicaZ,Imote2 ?)
- struts2 api
- Android 中的 Service 全面总结
- 六一悄悄的过了
- Android JNI编程指南及模拟器配置问题(LINUX)
- STL概述