接触单片机或者其他嵌入式芯片的编程中,最简单的就是GPIO的High/Low控制。
比如学校里面最基本的单片机实验:led控制,流水灯,数码管。其实都是最基本的GPIO操作。
那么同样,对应到linux嵌入式开发,GPIO的High/Low控制也是最简单的操作。算的上是c语言的 hello world 例程一样。
linux的设备有分几个类别,这里led一般认作是字符形设备。在linux中访问设备就是访问设备文件,所以linux也作基于文件的操作系统
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/miscdevice.h>
#include <linux/fs.h>
#include <linux/types.h>
#include <linux/moduleparam.h>
#include <linux/slab.h>
#include <linux/ioctl.h>
#include <linux/cdev.h>
#include <linux/delay.h>
#include <linux/gpio.h>
#include <mach/gpio.h>
#include <mach/regs-gpio.h>
#include <plat/gpio-cfg.h>
#define DEVICE_NAME "leds"
static int led_gpios[] = {
S5PV210_GPJ2(0),
S5PV210_GPJ2(1),
S5PV210_GPJ2(2),
S5PV210_GPJ2(3),
};
#define LED_NUM