红联Linux门户
Linux帮助

关于驱动的问题,用到了ioremap和(*(unsgined char *))virtual_addr=0xff这种赋值方式

发布时间:2008-02-25 23:03:26来源:红联作者:et8848
源码大概这个样子的:
平台是ARM9
virtual_addr=ioremap(phy_addr,1);virtual_addr是一个外设寄存器地址,是两字节的;
*((unsigned int *)virtual_addr)virtual_addr=0xffff;
程序遇到了问题,出错了.
请教一下,这种操作方式有什么错误??和ioremap()中第二个参数1有关吗?我查到的是这个参数指资源个数,但不理解是怎么回事
顺便再问下,outb,outw,inb,inw这类函数能用在上面.我自己感觉这类函数是linux为了支持IO端口空间和内存空间单映射才加上的,说白了就是x86下的in,out指令,所以在ARM平台下是不可用的.而且我用的时候也确实出了问题.不知道这么说对不对?
文章评论

共有 0 条评论