投注威廉希尔彩票吗?
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关于2410的memory map的外设驱动开发

共1条 1/1 1 跳转至

关于2410的memory map的外设驱动开发

菜鸟
2006-01-06 19:59:58     打赏

我在一个2410的板上,做一个外设的driver, 外部设备使用的是cs2,16bit宽度。
1。把外设的物理地址映射到2410的memory空间;
2。然后把这个地址作为基地址,加上偏移量,读写外设的寄存器;


目前,读外设的寄存器正常,


我现在使用writeb可以把0-255区间的8位写入外部设备,但是高8位也写入了同样的值。
用writew可以把256-65535区间的高8位写入外部设备,但是低8位也写入了同样的值。
如果使用writeb写256-65535区间的数,就写入的都是0。
如果使用writew写0-255区间的数,就写入的也都是0。

怀疑cache和write buffer在捣怪,已经使用汇编把cache禁止,但是linux报错:

cache Unable to handle kernel paging request at virtual address 0x


在ioremap的时候,怎样做到控制地址map的时候,不使用cache和write buffer?

或是其它的什么原因?

有高人能指点一下迷津。不胜感激

急急急。




关键词: 关于     memory     外设     驱动     开发    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]