Snap1.jpg (36.83 KB, 下载次数: 39)
原帖由 yjz98 于 2009/3/26 17:31 发表
可是我的硬件连接不能改变。一次读写的又是外设16位的寄存器。这样的话不能做到总是操作4字节对齐的地址空间。大家有什么办法可以强制操作四字节对齐的地址空间啊。我新上传了时序图,大家帮我看看!
原帖由 yidou 于 2009-3-26 17:36 发表
前面的贴子已经提到四字节对齐的问题.
处理这种不对齐的(16bits)寄存器地址, 就:
读: 把它封装在对应的(32bits)地址中, 一次操作32bits, 得到结果后再取其中的16bits.
写: 类似.
原帖由 yjz98 于 2009/3/26 21:35 发表
读这样处理可以理解,可以先用real读,然后取它的低或高16位;
那写怎么处理啊?用writel写,这不一下就写到外设寄存器里去了吗?怎么来取其中的16位?不过外设一次只能写16位,这写出去的32位会在舍去?
...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |