微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > S3c2410 LINUX下如何访问IO端口

S3c2410 LINUX下如何访问IO端口

时间:11-20 来源:互联网 点击:
ARM体系结构中访问IO需使用驱动模块,可在模块初始化中使用 request_mem_region()函数申请IO内存,然后通过ioremap()函数对获得的IO内存进行重映射.

如控制s3c2410的LED显示,使用GPF口,可用如下代码段进行访问

#define GPF 0x56000000

...

static void * GPF_BASE; //一定要定义成void *型

...

if(request_mem_region(GPF,16,"GPF")!=NULL) //16为从地址GPF开始的16个字节

{

GPF_BASE=ioremap(GPF,16);

writel(0x5500,GPF_BASE); //GPFCON=0x5500

writel(0xf0,GPF_BASE+8); //GPFUP=0xf0

writel(0x70,GPF_BASE+4);//GPFDAT=0x70

}

...

内核中通常并不使用ioremap()函数,而是直接通过宏来将物理地址转换为虚拟地址.但物理地址到虚拟地址的转换不可少.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top