使用2440的总线外扩一个控制芯片,这个控制芯片内部有连续地址的寄存器(地址如:0x0,0x1,0x2,....),12bit的地址线,16bit的数据线,我的硬件连接方式如下:
(1)把芯片的CS连到nGCS1,地址空间映射到0x08000000;
(2)2440的A1连到芯片的A0;
那么我对芯片的寄存器访问是否为
(*(volatile unsigned char *)(0x08000000 + 0x0)) --> 寄存器 0
(*(volatile unsigned char *)(0x08000000 + 0x1)) --> 寄存器 1
(*(volatile unsigned char *)(0x08000000 + 0x2)) --> 寄存器 2
还是说
(*(volatile unsigned char *)(0x08000002 + 0x0)) --> 寄存器 0
(*(volatile unsigned char *)(0x08000002 + 0x1)) --> 寄存器 1
(*(volatile unsigned char *)(0x08000002 + 0x2)) --> 寄存器 2
请大家指点指点
------解决方案--------------------------------------------------------
这个
(*(volatile unsigned *)(0x08000000+(0x1<<1)))