从网上下载了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、端口功能配置,比如端口的复用功能、输出或输入。在旧版本中采用的 |