目标执行的第一天

来源:互联网 发布:cloudflare nginx 编辑:程序博客网 时间:2024/04/25 16:29

1.分析S3C2440的LED控制

 

看CPU的芯片中LED有四个PIN控制的,GPB5-GPB8,2440有九组GPIO,要写驱动

 

GPBA....GPBJ ,有三个寄存器来控制这GPBCON, GPBDAT, GPBUP

 

Register Address R/W Description Reset Value

GPBCON 0x56000010 R/W Configures the pins of port B 0x0

GPBDAT 0x56000014 R/W The data register for port B Undef.

GPBUP 0x56000018 R/W Pull-up disable register for port B 0x0

Reserved 0x5600001c

 

上拉电阻和下拉电阻,上拉电阻就是固定高电平,下拉就是和地接固定为低电平

LED1      GBP5

LED2      GBP6

LED3      GBP7

LED4      GBP8

上面的是基本知识。。。

 

首先要理解linux驱动的架构。

 

搭建的框架是

module_init(dev_init);------》驱动程序的入口

module_exit(dev_exit);

MODULE_LICENSE("GPL");

MODULE_AUTHOR("FriendlyARM Inc.");

 

dev_init中调用->杂项设备(misc device)

杂项设备也是在嵌入式系统中用得比较多的一种设备驱动,其实misc_register就是用主标号10调用register_chrdev()的。

 

字符设备就是以字符作为顺序访问的设备,如键盘,鼠标