도와주세요!!
글 수 15,339
2006.09.28 11:57:54 (*.108.193.165)
6673
DIO 디바이스 드라이버를 응용하여 외부 8bit 디바이스의 레지스터를 Read/Write하고 싶어서 질문드린것입니다.
물론 A0, A1을 사용안하고,
pxa255 외부IC
--------------------------------------
A2 A0
A3 A1
이런식으로 연결하면 되지만 A0는 A0로 1대1로 매칭시킬려고 합니다.
DIO Write시에는 1byte단위로 어드레스가 움직여서 문제가 없지만, Read시에는 4byte단위로 어드레스가 움직여서 문의드린 것입니다.
>안녕하세요...
>
>어드레스를 4byte가 아닌 1byte단위로 제어하고 싶다라는 말이 이해가 잘 되지 않네요..
>그리고 A0를 왜 설정하고 있는지도 이해가 되지 않습니다.
>
>LED의 경우 칩에 연결된 주소가 0xf300_3000 이므로 이 주소에 데이타를 쓰면 LED가 출력됩니다.
>
>unsigned char *ioptr;
>
>ioptr = (volatile unsigned char *) 0xf3003000;
>
>*ioptr = 0x01; 또는 *ioptr = 0xFE;
>
>이렇게 하시면 됩니다..
>
>
>Switch의 경우에는 칩에 연결된 주소가 0xf300_2000 이므로 이 주소에 데이타를 읽어 오면 됩니다.
>
>unsigned char *ioptr;
>char cc;
>
>ioptr = (volatile unsigned char *) 0xf3002000;
>
>cc = *ioptr;
>
>이렇게 하시면 됩니다.
>
>위의 설명은 디바이스드라이버에서 직접 제어하는 것을 설명한것입니다.
>
>만약 디바이스드라이버와 어플에 대한 자세한 소스는 제공된 CD의 sw/prg/port/v01 에 보시면 예제 소스가 있습니다..
>
>
>그럼 수고하세요..
>
>
>
>
>
>
>>EZ-X5와 EZ-ETIO보드를 가지고 LED와 Switch Read/Write를 하고 있습니다.
>>
>>LED 어드레스는 0xf300_3000이고, Switch 어드레스틑 0xf300_2000으로 되어있습니다.
>>LED에 0x00를 쓰기 위해 "0xf300_3001"번지에 값을 쓰면 A0값이 High로 됩니다.
>>그러나 Switch값을 읽어오기 위해서 "0xf300_2001번지를 읽어오면 "A0" 값이 High로 안되고 계속 Low로 되있습니다.
>>
>>어드레스를 4byte가 아닌 1byte단위로 제어하고 싶습니다.
>>dio 디바이스 드라이버쪽을 수정해야 되는지?
>>조언바랍니다.
>
물론 A0, A1을 사용안하고,
pxa255 외부IC
--------------------------------------
A2 A0
A3 A1
이런식으로 연결하면 되지만 A0는 A0로 1대1로 매칭시킬려고 합니다.
DIO Write시에는 1byte단위로 어드레스가 움직여서 문제가 없지만, Read시에는 4byte단위로 어드레스가 움직여서 문의드린 것입니다.
>안녕하세요...
>
>어드레스를 4byte가 아닌 1byte단위로 제어하고 싶다라는 말이 이해가 잘 되지 않네요..
>그리고 A0를 왜 설정하고 있는지도 이해가 되지 않습니다.
>
>LED의 경우 칩에 연결된 주소가 0xf300_3000 이므로 이 주소에 데이타를 쓰면 LED가 출력됩니다.
>
>unsigned char *ioptr;
>
>ioptr = (volatile unsigned char *) 0xf3003000;
>
>*ioptr = 0x01; 또는 *ioptr = 0xFE;
>
>이렇게 하시면 됩니다..
>
>
>Switch의 경우에는 칩에 연결된 주소가 0xf300_2000 이므로 이 주소에 데이타를 읽어 오면 됩니다.
>
>unsigned char *ioptr;
>char cc;
>
>ioptr = (volatile unsigned char *) 0xf3002000;
>
>cc = *ioptr;
>
>이렇게 하시면 됩니다.
>
>위의 설명은 디바이스드라이버에서 직접 제어하는 것을 설명한것입니다.
>
>만약 디바이스드라이버와 어플에 대한 자세한 소스는 제공된 CD의 sw/prg/port/v01 에 보시면 예제 소스가 있습니다..
>
>
>그럼 수고하세요..
>
>
>
>
>
>
>>EZ-X5와 EZ-ETIO보드를 가지고 LED와 Switch Read/Write를 하고 있습니다.
>>
>>LED 어드레스는 0xf300_3000이고, Switch 어드레스틑 0xf300_2000으로 되어있습니다.
>>LED에 0x00를 쓰기 위해 "0xf300_3001"번지에 값을 쓰면 A0값이 High로 됩니다.
>>그러나 Switch값을 읽어오기 위해서 "0xf300_2001번지를 읽어오면 "A0" 값이 High로 안되고 계속 Low로 되있습니다.
>>
>>어드레스를 4byte가 아닌 1byte단위로 제어하고 싶습니다.
>>dio 디바이스 드라이버쪽을 수정해야 되는지?
>>조언바랍니다.
>