도와주세요!!
글 수 15,339
2008.02.04 12:27:50 (*.245.249.135)
6729
(1) CPLD의 소스중에서 의문사항이 있어서 글을 올립니다.
-------------
-- nCS1 영역
-------------
-- nCS1 영역
-------------
-- CS_TOUCH
CS_TOUCH <= '0' when nCS(1) = '0' and A23_22 = "01" else '1';
부분이 있는데요...
CS_TOUCH <= '0' when nCS(1) = '0' and A23_22 = "01" else '1';
부분이 있는데요...
여기서 A22, A23은 어떤것을 뜻하는지요??
회로를 따라가보니, PXA255의 MA22, MA23이던데요...
역활이 어드레싱 디코딩인거 같던데요...
데이터시트를 보니, Static Chip Select1 (64MB)의 경우..
메모리가... 0x0400_0000 ~ 0x07FF_FFFF 범위인데요...
바이너리로 표현하면...
0000 0100 0000 0000_0000 0000 0000 0000 ~
0000 0111 1111 1111_1111 1111 1111 1111 인데요...
소스상의 터치(MK712.c)의 메모리는... 0xF130_0000 (Reserved 공간)... 바이너리로 표현하면..
1111 0001 0011 0000_0000 0000 0000 0000 이구요...
문제의 A22, A23은... 위에서 빨간색 부분인데요...
-- CS_TOUCH
CS_TOUCH <= '0' when nCS(1) = '0' and A23_22 = "01" else '1'; (위 어드레스에서 빨간색 부분~~)
CS_TOUCH <= '0' when nCS(1) = '0' and A23_22 = "01" else '1'; (위 어드레스에서 빨간색 부분~~)
이부분이 의미하는 바가 이해가 안되네요...
제 생각에는...
-- CS_TOUCH
CS_TOUCH <= '1' when nCS(1) = '1' and A27_26 = "01" else '0'; (위 어드레스에서 녹색 부분~~)
CS_TOUCH <= '1' when nCS(1) = '1' and A27_26 = "01" else '0'; (위 어드레스에서 녹색 부분~~)
이렇게 되야 될꺼 같은데요... -_-a
헷갈리네요...;;
(2) MK712레지스터에서 B1~BA3의 3bit로 0~7까지의 레지스터를 어드레싱 하는데요...
회로도 상에서는 PXA255로 pin이 물려있던데요~
그렇다면, 구체적인 동작은 어떻게 하는지요?
드라이버 소스상에서 컨트롤 해주는지요~?
다른보드에서 동작시켜보려고 하는데요...
BA1~BA3에 해당하는 핀을 CPLD에 묶어놨습니다.
그럴경우 어떻게 해줘야 하는지요??...
다른보드에서 동작시켜보려고 하는데요...
BA1~BA3에 해당하는 핀을 CPLD에 묶어놨습니다.
그럴경우 어떻게 해줘야 하는지요??...
(3) 장치등록시 메이져 번호, 마이너 번호, 디바이스명은 어떻게 설정하는지요?
드라이버 소스(MK712.c)에 보니까~ 없던데요...
흠... mknod ~할때 설정하는지요??
드라이버 소스(MK712.c)에 보니까~ 없던데요...
흠... mknod ~할때 설정하는지요??