求一个atmel sam9g45开发板的gpio驱动程序,应用程序通过写入1/0控制led灯的亮暗,管脚用AT91_PIN_PB20,用insmod加载,小弟对驱动一无所知,也不知道问题讲清楚没,刚开始了解一天,求大牛帮忙
------解决方案--------------------
给你提供一个代码,你在自己的内核交叉编译环境上编译,有可能头文件引用的不怎么正确,编译的时候修改一下就OK了.
头文件: geo_ds_gpio.h
- C/C++ code
#ifndef __GEO_DS_GPIO_H__#define __GEO_DS_GPIO_H__#include <linux/sched.h>#include <linux/init.h>/* PIN definitions */#define GEO_DS_GPIO_MAGIC 's'#define SWITCH_LED_ON _IOW( GEO_DS_GPIO_MAGIC, 0, int ))#define GEO_DS_GPIO_MAXNR 1/* PIN definitions */#define PIN_LED_STAT AT91_PIN_PB30#endif // __GEO_DS_GPIO_H__
------解决方案--------------------
说下步骤吧,首先你得有电路图,知道LED和芯片怎么连的,连到那跟脚上去了(一般是GPXX),然后去查芯片文档关于GPXX的描述,然后建立指针,赋值。。。。