|
发表于 2005-10-9 10:15:11
|
显示全部楼层
void *vaddr;
if (check_mem_region(0x20000000, SIZE)){
printk(KERN_ERR"Memory already in use\n");
goto ERROR;
}
request_mem_region(0x20000000, SIZE, "driver name");
vaddr = ioremap(0x20000000, SIZE);
value = readb(vaddr); /* 8 bit */
writeb(value, vaddr);
value = readw(vaddr);
writew(value, vaddr);
value = readl(vaddr); /* 32 bit */
writel(value, vaddr);
arm端口是内存映射的像是这样的用法也可以
value = *((unsigned long *)vaddr);
*((unsigned long *)vaddr) = value;
这样在/proc/meminfo中可以看到你所请求的mem region
io region mem region我也搞不清楚有什么具体差别
我们一起讨论吧。 |
|