易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux驱动的一些基本操作

Linux驱动的一些基本操作

Linux内核中定义了很多宏,对硬件端口和寄存器进行操作,从网上搜集了一些宏定义的信息:
1. __REG简单的说就是获得后面所示物理地址映射后的虚拟地址,例如:
#define GPLR0  __REG(0x40E00000)    /* GPIO Pin-Level Register GPIO<31:0> */
#define GPLR1  __REG(0x40E00004)    /* GPIO Pin-Level Register GPIO<63:32> */
#define GPLR2  __REG(0x40E00008)    /* GPIO Pin-Level Register GPIO<80:64> */
pxa处理器内部寄存器的物理地址和内核空间的虚拟地址对应关系如下:
Intel PXA internal I/O mappings:* 0x40000000 - 0x41ffffff <--> 0xf8000000 - 0xf9ffffff
 * 0x44000000 - 0x45ffffff <--> 0xfa000000 - 0xfbffffff
 * 0x48000000 - 0x49ffffff <--> 0xfc000000 - 0xfdffffff
2. #define GPLR(x)  __REG2(0x40E00000, ((x) & 0x60) >> 3).
还有一个转换的句子#define GPIO_bit(x) (1 << ((x) & 0x1f))
GPIO共有80个,所以32bit的寄存器只好没组做3个. GPIO_BIT就是1左移x位(并且不要超过32);而GPLR(X)则是根据x的数值(这个是GPIO号,如16,37,72)得到3个GPLR中属于该GPIO的GPLR的起始地址,(__REG2就是获得两个地址的和).这样子可以通过下面的赋值方法:
GPSR(GPIO48_nPOE) = GPIO_bit(GPIO48_nPOE) | GPIO_bit(GPIO49_nPWE);来设置GPIO48所在GPSR的2个位.这么一大堆,是为了用到GPIO号定义好的宏.简单的GPSR3=XXXX|XXXX也是可以的.
3. side effect(译为边际效应或副作用):是指读取某个地址时可能导致该地址内容发生变化,比如,有些设备的中断状态寄存器只要一读取,便自动清零。I/O寄存器的操作具有side effect,因此,不能对其操作不能使用cpu缓存


相关文档:

LINUX 命令大全

LINUX 命令大全  
Linux虽然是免费的,但它的确是一个非常优秀的操作系统,与MS-WINDOWS相比具有可
靠、 稳定、速度快等优点,且拥有丰富的根据UNIX版本改进的强大功能。下面,作为一
个典型的DOS 和WINDOWS用户,让我们一起来学习Linux的一些主要命令,希望大家能尽
快进入到Linux的世界里。
  一、启动 ......

linux convert图像处理命令


 几个简单的应用。
  1、批量图像格式转换
  如果想将某目录下的所有jpg文件转换为png文件,只要在命令行模式下输入:
  for %f in (*.jpg) do convert “%f” “%~nf.png”
  2、对所有图像进行同一操作
  譬如,批量生成某目录下所有PNG图像文件的缩略图(大小为80×40):
   ......

dos 和 linux 换行符 区别

windows(dos)下的换行符 和 linux (ubuntu)下的换行符是不同的。
在涉及到DOS下的文本 在LINUX下 操作时,就涉及到换行符不同带来的麻烦。
,在DOS使用的换行符为 ^M$,我们称为CR与LF两个符号。而在Linux中,则仅有LF ($) 这个换行符。这个换行符对于
Linux的影响很大。
我们说过,在开始执行Linux命令时,它的判断依 ......

linux gcc 编译时头文件和库文件搜索路径

一、头文件
 
gcc 在编译时寻找所需要的头文件 :
 
※搜寻会从-I开始
 
※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH
 
※再找内定目录
/usr/include 
/usr/local/include
/usr/lib/gcc-lib/i386-linux/2.95.2/include
/usr/lib/gcc-lib/i386-l ......

Linux上TCP丢失小包不可见的解决

Linux上TCP丢失小包不可见的解决
 作者:千里孤行(http://blog.csdn.net/yanghehong)
有网友在做一个Linux上的客户端碰到这样的问题:
我们在Linux下开发一个网络客户端程序(服务器是不可修改的),不断向服务器不定期发送一些很小的包(一般只有几十字节),现在出现这种情况:大部分包正常发送,但是当无线Modem ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号