ChinaUnix.net
相关文章推荐:

ioremap 过程解析

#define cpld_addr 0x81000000 在一个驱动测试里: int test_init() { unsigned int i = 0; void *addr; addr = ioremap(CPE_CPLD_BASE, 0x3ff); printk("cpld addr : %x\n",addr); i = readl(addr); printk("cpld readl %d\n",i); } insmod 后地址是映射到 0xc...... 3G以后空间. 然活就不断报错 External DataAbo...

by dida_327 - 内核/嵌入技术 - 2006-12-07 14:35:47 阅读(999) 回复(0)

相关讨论

我用at91rm9200外挂一块fpga,它的读写速度最快能达到多少呢? u32 p; p=ioremap(test_add1,2); *(volatile unsigned short *)p=0x22; p=ioremap(test_add2,2); *(volatile unsigned short *)p=0x33; 写这两个地址的时候 cs有效的时间(低电平)为220ns,两个之间间隔为175us,这样太慢了, 我刚刚又测试了一下,如果 u32 p; p=ioremap(test_add1,2); *(volatile unsigned short *)p=0x22; p=ioremap(test_add2,...

by ldhhello - 内核/嵌入技术 - 2006-11-07 19:55:25 阅读(1467) 回复(3)

ioremap()的原形是void*ioremap(unsigned long offset,unsigned long size); 请问这里的offset和size是指物理地址的吗,返回值是虚拟地址对吗

by john3851 - 程序开发 - 2006-05-05 16:24:57 阅读(1004) 回复(0)

看了不少资料,包括《Linux Device Drivers》,里面介绍ioremap的时候,对ioremap函数的size参数都没有明确指出其单位。 原型:void *ioremap( unsigned long offset, unsigned long size ); 第一个参数 offset应该是要映射到内核虚拟地址空间的物理地址吧,第二个参数size只说是要请求的虚拟地址空间大小,却没有说这个大小是以字节为单位呢还是以页面为单位? 比如写:ioremap( PHYADDR, 4 ),这里是请求4个字节空间还是4个页面...

by aaronwong - 内核/嵌入技术 - 2006-12-04 10:46:07 阅读(1234) 回复(1)

我的ARM板的usb相关的寄存器是从0x00212000到0x00212140的,我要访问这些寄存器, 就用 1) request_mem_region(0x00212000,0x140,driver_name)) 2)void *addr= ioremap_nocache(0x00212000,0x140); addr返回了不为空的值,应该是remap成功了,但是不能访问寄存器。 如果在内核中直接映射: #define USBD_BASE 0xe0012000 #define _reg_USBD_STAT (*((volatile u32 *)(USBD_BASE+0x008))) #define _reg_USBD_CTRL (*((volatile u...

by wuiiszsu - 内核/嵌入技术 - 2006-11-07 14:19:01 阅读(1082) 回复(1)

linux2.6下的 ioremap 问题: 实验平台:linux2.6.9 交叉编译器:arm-linux-gcc-3.4.6-glibc-2.3.6 试验程序: ADDR_SJA1000_ADDR = ioremap(0x04000000,0xff); ADDR_SJA1000_DATA = ADDR_SJA1000_ADDR + (0x1 printk("ADDR_SJA1000_ADDR = %x\n",ADDR_SJA1000_ADDR); printk("ADDR_SJA1000_DATA = %x\n",ADDR_SJA1000_DATA); 打印结果: ADDR_SJA1000_ADDR = c4874000 DDR_SJA1000_DATA = c4874010 难道DDR_SJA1000_DATA 的...

by guliangzeng - SCO文档中心 - 2009-05-13 13:24:26 阅读(1994) 回复(0)
by un_xxx - C/C++ - 2004-03-19 09:51:04 阅读(2422) 回复(3)

下面是我写的驱动: #include ; #include ; #include ; //#include ; #include ; //#include ; //#include ; //#include ; //#include ; #include ; #include ; #include ; #include ; #include ; unsigned int...

by hepower - Linux论坛 - 2005-01-26 15:16:54 阅读(1262) 回复(2)