S3C24XX体系的Linux GPIO控制相关API实现
GPIO(General Purpose Input/Output的缩写)就是芯片的引脚,引脚是可编程的可对引脚的工作模式进行设置:输入模式(检测输入信号),输出模式(输出0或1),高阻状态(常用于AD转换),还有禁止或允许上内部下拉电阻(上拉:管脚通过电阻接高电平,下拉:管脚通过电阻接地,也可以外部接上拉或下拉电阻),还有管脚复用等功能,即通过对内部寄存器的设置使引脚既可以工作在一般模式,作为普通的GPIO口使用,也可以工作在特殊模式,比如作为外部中断信号输入引脚等等。如果不设置GPIO引脚,CPU工作时有一个初始化模式,可以从datasheet(芯片手册)上了解。对GPIO的控制是编写驱动程序最常见和重要的一项工作内容。
在Linux2.6.25内核代码中,已经提供了针对三星S3C2410/S3C2440等芯片GPIO的控制,下面来分别介绍一般如何配置、管理GPIO。
下面的函数是用来根据新的功能需求配置一个GPIO引脚(定义在arch/arm/plat-s3c24xx/gpio.c):
1 void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
2 {
3 void __iomem *base = S3C24XX_GPIO_BASE(pin);
4 unsigned long mask;
5 unsigned long con;
6 unsigned long flags;
7
8 if (pin < S3C2410_GPIO_BANKB) {
9 mask = 1 << S3C2410_GPIO_OFFSET(pin);
10 } else {
11 mask = 3 <&
相关文档:
Linux基本操作命令
首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字
符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们现在要了解的是
基于Linux操作系统的基本控制台命令。有一点一定要注意,和dos命 ......
准备篇
环境是Fedora 8
首先需要安装OpenGL的开发环境。现在Linux下有很多OpenGL的实现,Fedora 7中已经附带了Mesa,这是OpenGL一个开源的实现。安装Fedora时如果选中了开发环境,那么Mesa可能就已经安装好了。如果你和我一样安装的时候没有选择开发,那么,可以通过yum来在线安装Mesa:
首先查找Mesa相关的包:
&nbs ......
Linux驱动程序
--------------------------------------------------------------------------------
工作需要写了我们公司一块网卡的Linux驱动程序。经历一个从无到有的过程,深感技术交流的重要。Linux作为挑战微软垄断的强有力武器,日益受到大家的喜爱。真希望她能在中国迅速成长。把程序文档贴出来,希望和大家探讨L ......
陈皓 (CSDN)
概述
——
什么是
makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和
professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解
HTML的标识的含义。特别 ......