Linux驱动开发之S3C2440按键点亮LED
文章记录了作者在S3C2440开发板上实现按键点亮LED驱动开发的详细过程,还记录了一些容易出现的错误,以及怎么解决这些错误。
一、驱动开发流程
Linux驱动开发不同于应用程序的开发。驱动开发是直接和硬件打交道的,通过对硬件的操作给应用程序提供一些接口函数,使得应用程序能够“间接”的控制硬件来工作。对于按键点亮LED的驱动开发流程如下。
图-1 开发流程图
二、驱动开发具体步骤
1、查看开发板TQ2440底板原理图,找到按键和LED模块,如下图:
图-2 按键和LED电路图
从上图我们可以清楚地看到K1~K4对应的管脚是ENT1~ENT4,LED1~LED4对应的管脚是nLED_1~nLED_4.
2、查看TQ2440_核心板原理图,找到对应的CPU管脚,如下图:
图-3 按键和LED对应CPU管脚电路图
3、查看s3c2440芯片手册,查看CPU管脚的模式,如下图:
图-4 按键管脚对应CPU管脚模式
&
相关文档:
#include <linux/module.h>
MODULE_LICENSE("GPL");
static void hello_init(void);
static void hello_exit(void);
static void hello_init(void)
{
printk("init");
}
static void hello_exit(void)
{
printk("exit");
}
.
module_init(hello_init);
m ......
HOSTCC scripts/mod/sumversion.o
scripts/mod/sumversion.c: In function ‘get_src_version’:
scripts/mod/sumversion.c:384: error: ‘PATH_MAX’ undeclared (first use in
this function)
scripts/mod/sumversion.c:384: error: (Each undeclared identifier is reported
only once
script ......
明天就回家了。今晚去火车站买了明早的车票,感觉蛮匆忙的。这两天,除了整电脑,啥事都没干。我那可怜的电脑,隔三差五的就被我整一次。开始只是应用软件层面上的,接着是系统,再接着就是接近硬件。
花了这么多时间 ......
常见问题:
编译失败,报错如下“无法解析的外部符号 _WSACleanup@0”等。
原因是没有引用winsock.h所在的库--Ws2_32.lib。
这时只要添加一行代码
#pragma comment( lib, "Ws2_32.lib")
即可。 ......
修改IP地址和网关是很常见的操作,在做相关实验的时候,如果没有设置好,会带来很多不必要的麻烦..
1. 修改IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
BROADCAST=192.168.1.255
IPADDR=192.168.1.33
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
USERCTL=no
P ......