#define HPIA_LW (hpi_vbase+0x04)
#define HPIA_HW (hpi_vbase+0x06)
#define HPIA_LR (hpi_vbase+0x14)
#define HPIA_HR (hpi_vbase+0x16)
HPIA_LW和HPIA_LR的区别实际上就是一个是写使能有效,一个是读使能有效,转换成指针指向的外设空间是一样的
writew (0x1234, HPIA_LW); 写入1234
writew (0x5678, HPIA_HW); 写入5678
*tmp++ = readw (HPIA_LR); 读出1212 , 应该读出1234
*tmp++ = readw (HPIA_HR); 读出5656, 应该读出5678
原帖由 yidou 于 2009-3-24 01:01 发表
writew (0x1234, HPIA_LW); 写入1234
writew (0x5678, HPIA_HW); 写入5678 //非4字节对齐地址, 非法语句
*tmp++ = readw (HPIA_LR); 读出1212 , 应该读出1234 //奇怪, 写入HPIA_LW && HPIA_HW, ...
原帖由 yidou 于 2009-3-24 01:00 发表
兄弟,你边界地址没对齐阿。
你应该是32位机,对不?
#define HPIA_LW (hpi_vbase+0x04)
#define HPIA_HW (hpi_vbase+0x06)
#define HPIA_LR ...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |