X5 리눅스 없이 터치 스크린을 사용해 보고자 합니다..
2008.07.22 22:40
글을 읽어 주셔서 감사합니다..
EZ-X5보드에 리눅스 없이 터치 스크린을 사용해 보고자 합니다..
펌웨어처럼...
제가 자료를 찾아본 바로는...
0x0440_0000위치가 MK712_IO_Address이며 이 주소 + 컨트롤 레지스터 주소에다가
0x5d인가?? 를.. 넣어주면.. MK712가 초기화 된다고 들었습니다..
그래서
*(( volatile unsigned long * )( 0x04000000 + 0x00400000 ) ) 해서 값을 던져도
아니면
unsigned long *p ;
p = 0x04400000 ;
*p = 0 ;
으로 해서 값을 던져도..
어떻게 해도 보드가 멈춰 버리네요...
그리고
#define control *(( volatile unsigned long * )( 0x04000000 + 0x00400000 ) )
해서 contol을 printf로 찍어보니..
주소가 00000000으로 나옵니다...
뭐가 잘못된 건지...ㅡㅡ;;
칩셀렉터쪽 설정을 해 놓은게 없어서..
그쪽 부분이 문제인가 하고 의심도 하고 있는데...
제가 아는게 없다보니...ㅠ.ㅠ
고수 분들의 많은 도움 부탁 드립니다...
쓰다 보니 길어 졌네요...
질문만 정리 할께요...
0x04400000에 mk712가 위치 하는데
저 주소로 접근이 안됩니다... 저 주소 + 컨트롤 레지스터에 값을 넣어야 초기화가 되는데..
저 주소 접근만 하면 보드가 멈춰 버리네요...
도와주세요...ㅠ.ㅠ
EZ-X5보드에 리눅스 없이 터치 스크린을 사용해 보고자 합니다..
펌웨어처럼...
제가 자료를 찾아본 바로는...
0x0440_0000위치가 MK712_IO_Address이며 이 주소 + 컨트롤 레지스터 주소에다가
0x5d인가?? 를.. 넣어주면.. MK712가 초기화 된다고 들었습니다..
그래서
*(( volatile unsigned long * )( 0x04000000 + 0x00400000 ) ) 해서 값을 던져도
아니면
unsigned long *p ;
p = 0x04400000 ;
*p = 0 ;
으로 해서 값을 던져도..
어떻게 해도 보드가 멈춰 버리네요...
그리고
#define control *(( volatile unsigned long * )( 0x04000000 + 0x00400000 ) )
해서 contol을 printf로 찍어보니..
주소가 00000000으로 나옵니다...
뭐가 잘못된 건지...ㅡㅡ;;
칩셀렉터쪽 설정을 해 놓은게 없어서..
그쪽 부분이 문제인가 하고 의심도 하고 있는데...
제가 아는게 없다보니...ㅠ.ㅠ
고수 분들의 많은 도움 부탁 드립니다...
쓰다 보니 길어 졌네요...
질문만 정리 할께요...
0x04400000에 mk712가 위치 하는데
저 주소로 접근이 안됩니다... 저 주소 + 컨트롤 레지스터에 값을 넣어야 초기화가 되는데..
저 주소 접근만 하면 보드가 멈춰 버리네요...
도와주세요...ㅠ.ㅠ
댓글 4
-
동수에요^^
2008.07.24 21:29
-
도와주세요
2008.07.24 21:59
ㅠ.ㅠ
-
도와주세요
2008.07.24 22:01
칩셀렉터랑은 상관 없죠?? 그냥 제가 저 주소를 엑세스 하려고 하면..
알아서 CPLD가 저 영역으로 보내는 거 맞죠?? -
오재경
2008.07.26 03:35
사용하시는 코드의 약간의 문제가 있는것 같군요
현재의 버스는 16비트로 설정되어 있으니 아래와 같이 사용해 보세요
volatile unsigned short * ptr = (unsigned short *)(0x04400000);
*ptr = 0;
printf( "%04x\n", *ptr );




안녕하세요 ^^
접근하신 주소는 맞습니다. 위의 글을 보고는 딱히 잘 못 된 부분은 못 찾겠습니다.
시스템이 정말 죽는다면 죽는 이유 부터 찾아야 겟지만 데이터시트를 좀 더 숙지하시는 것이 좋으실꺼 같습니다.
그럼 좋은 하루되십시오