日韩精品人妻无码,亚洲AV秘 无码一区二区四区,欧美国产精品一区二区三区一牛,久久久青青青青免费观看,a在线免费观看网站,在线观看免费网站看v片

 

鑱�(li谩n)绯绘垜鍊�

鑱�(li谩n)绯绘垜鍊�

涓北甯傚嫟榫嶈几閫佽ō(sh猫)鍌欑鎶€鏈夐檺鍏徃

鑱�(li谩n)绯讳汉锛氶粌鍏堢敓 鎵嬫锛�13420032999

閮电锛� qinlong@zgqinlong.com

闆昏┍锛� 0760-22586708

鍌崇湡锛� 0760-22586709

鍦板潃锛氬唬鏉辩渷涓北甯傚皬娆栭幃(zh猫n)鐩涜睈绀惧崁(q奴)鑸堢ゥ璺�1铏烣妫熶箣浜�

鎮ㄧ従(xi脿n)鍦ㄧ殑浣嶇疆:棣栭爜> 鎶€琛�(sh霉)灏堥 鎶€琛�(sh霉)灏堥

涓€鍊嬪瓧绗﹁ō(sh猫)鍌欓﹨(q奴)鍕�--榛炰寒鍜岀唲婊呬竴鍊婰ED瑷�(sh猫)鍌�

鏅傞枔锛�2013/6/10 0:00:00     闂�(gu膩n)閸靛瓧锛�

鍦╩ini2440闁嬬櫦(f膩)鏉夸笂锛圕PU鏄痵3c2440锛夐枊鐧�(f膩)瀛楃瑷�(sh猫)鍌欓﹨(q奴)鍕曞畬鎴愪竴鍊媗ed鐕堢殑浜粎銆�

1. 鐠�(hu谩n)澧�

纭欢鐠�(hu谩n)澧冿細

Host锛歑86PC

Target锛氬弸鍠勪箣鑷俶ini2440闁嬬櫦(f膩)鏉�

杌熶欢鐠�(hu谩n)澧冿細

Host锛歏Mware铏涙摤姗熶笅鐨剅edhat linux 9.0(瀹屽叏瀹夎)

Target锛歛rm-linux kernel:linux-2.6.13

Crosstool: arm-linux-gcc-3.3.2

2. 瀹屾垚閬庣▼

鈶撮﹨(q奴)鍕曠▼搴忔枃浠�--mini2440_one_led.c,鍏跺叿楂斿収(n猫i)瀹瑰涓嬶細

#define DEVICE_NAME "lsq_led"

#define LED_MAJOR 250

#define GPB5_ON 1

#define GPB5_OFF 2

static int mini2440_led_ioctl(

struct inode *inode,

struct file *file,

unsigned int cmd,

unsigned long arg)

{

if (cmd==GPB5_ON) {

//printk("ioctl LEDON successfully\n");

s3c2410_gpio_setpin(S3C2410_GPB5, 0);

return 0;

}

if (cmd==GPB5_OFF) {

//printk("ioctl LEDOFF successfully\n");

s3c2410_gpio_setpin(S3C2410_GPB5, 1);

return 0;

}

printk("ioctl error \n");

return -EFAULT;

}

static struct file_operations mini2440_led_fops = {

.owner = THIS_MODULE,

.ioctl = mini2440_led_ioctl,

};

static int __init mini2440_led_init(void)

{

int ret;

ret = register_chrdev(LED_MAJOR, DEVICE_NAME, &mini2440_led_fops);

if (ret < 0) {

printk(DEVICE_NAME " can''''''''''''''''''''''''''''''''t register major number\n");

return ret;

}

devfs_mk_cdev(MKDEV(LED_MAJOR, 0), S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP, DEVICE_NAME);

s3c2410_gpio_cfgpin(S3C2410_GPB5, S3C2410_GPB5_OUTP);

s3c2410_gpio_setpin(S3C2410_GPB5, 1);

printk(DEVICE_NAME " initialized\n");

return 0;

}

static void __exit mini2440_led_exit(void){

devfs_remove(DEVICE_NAME);

unregister_chrdev(LED_MAJOR, DEVICE_NAME);

}

module_init(mini2440_led_init);

module_exit(mini2440_led_exit);

鈶� 鎳�(y墨ng)鐢ㄧ▼搴忔枃浠垛€旀枃浠跺悕led.c,鍏跺収(n猫i)瀹瑰涓嬶細

#define GPB5_ON 1

#define GPB5_OFF 2

int main(void)

{

//int k;

int dev_fd;

int retval;

dev_fd = open("/dev/lsq_led",O_RDWR | O_NONBLOCK);

if ( dev_fd == -1) {

printf("Can''t open file /dev/lsq_led\n");

exit(-1);

}

printf ("\n/dev/lsq_led opened successfully, fd=%d\n",dev_fd);

wlile(1)

{

retval=ioctl(dev_fd,GPB5_ON,0);

if(retval==-1){

perror("ioctl LEDON error\n");

exit(-1);

}

sleep(1);

retval=ioctl(dev_fd,GPB5_OFF,0);

if(retval==-1){

perror("ioctl LEDOFF error\n");

exit(-1);

}

sleep(1);

}

close(dev_fd);

}

鈶� 绶ㄨ鎳�(y墨ng)鐢ㄧ▼搴�led.c鐨凪akefile锛屽叾鍏�(n猫i)瀹瑰涓嬶細

all: led

led:

arm-linux-gcc -o led led.c

clean:

@rm -vf mini2440led *.o *~

鈶� 浣垮収(n猫i)鏍告拹鎸佸拰绶ㄨ椹�(q奴)鍕曠▼搴�mini2440_one_led.c锛岄渶鍦ㄧ浉鎳�(y墨ng)鐨勭洰閷勪笅澧炲姞濡備笅鍏�(n猫i)瀹癸紙鑷繁鐨勭繏(x铆)姘o紝鐣�(d膩ng)鐒堕€欎竴姝ユ槸鍙伕鐨勶級锛�

kernel...../drivers/char/

Makefile

obj-$(CONFIG_MINI2440_ONE_LED) += mini2440_one_led.o

Kconfig

config MINI2440_ONE_LED

tristate "mini2440 one LED Driver"

depends on ARCH_S3C2440

help

mini2440 User led, use GPB5.

鏈嶅嫏(w霉)鐔辩窔

0760-22586708

涓婄姽鍘�| 鏂规鍘�| 瑗跨洘| 楹婚槼| 涓逛笢甯�| 寤跺鍘�| 骞挎按甯�| 绔瑰寳甯�| 璇稿煄甯�| 濮嬪叴鍘�| 娓╂硥鍘�| 楹绘睙鍘�| 鍥句滑甯�| 涓変簹甯�| 閯杽鍘�| 绂忓畨甯�| 鑽旀郸鍘�| 鐞间腑| 姒嗙ぞ鍘�|