도와주세요!!
글 수 15,339
2007.03.23 11:06:21 (*.150.3.131)
6689
답변 주셔서 감사합니다.
궁금한게 있어서 다시 질문 드릴께요..
SDRAM 데이타쉬트를 보면 클럭 사이클이 PC133Mhz에서 최소 7.5ns 최대 1000ns로 되어 있습니다.
1000ns라는 것은 다시 말하면 클럭이 1Mhz라는 말아닌가요?
클럭 싸이클을 100Mhz 이하로 낮추게 된다면 동작이 잘 안된다는 말씀이 잘 이해가 안가서요..^^
그리고 꼭 50.7Mhz로 낮추어야만 하거든요..^^;
만약에 낮추어서 동작을 하게끔 할라면 어떻게 해야 하나요?
2410칩에서 클럭 분주가 1:4:4까지 된다고 해서 그렇게 쓴건데요..
빠른 답변 부탁드리겠습니다..
즐거운 한주 보내세요..
수고하세요.
>안녕하세요.
>
>설정을 잘못하신것 같습니다.
>
>1. ez_2410.h
>
>#define HCLK_DIV1 (0x0 << 2) // 1= HCLK=FCLK/4 PCLK=FCLK/4
>#define HCLK_DIV (0x1 << 1) // 0=FCLK/4
>#define PCLK_DIV (0x1 << 0) // 0=FCLK/4
>#define HCLK FCLK/1 // FCLK=202800000 HCLK=
>#define PCLK FCLK/4 // FCLK=202800000 PCLK= 50700000
>
>
>2. s3c2410.h
>
>#define FCLK 202800000
>#define HCLK FCLK/2 // FCLK=202800000 HCLK=
>#define PCLK FCLK/4 // FCLK=202800000 PCLK= 50700000
>
>
>이렇게 하셔야 합니다.
>HCLK은 100MHz 이하로 설정하시면 SDRAM 이 정상적으로 동작하지 않습니다.
>따라서 반드시 HCLK은 100MHz 이상으로 설정되어야 합니다.
>
>
>그럼 수고하세요.
>
>
>>cpu clock을 266MHz에서 202Mhz로 변경을 하려고 합니다.
>>
>>우선 소스 수정한 부분은
>>
>>1.ez_2410.h에서
>>1-1.
>>//##################################################
>>//[[2007 03 22 dkkim modify
>>//#define CPU_SPEED S3C2410_CPU_266M
>>#define CPU_SPEED S3C2410_CPU_202M
>>//]]
>>//##################################################
>>
>>1-2.
>>/--------------------------------------------------
>>// CLOCK DIVIDER CONTROL ( CLKDIVN )
>>#define S3C2410_REG_CLKDIVN 0x4C000014
>>//--------------------------------------------------
>>//[[2007 03 22 dkkim modify
>>/*
>>#define HCLK_DIV1 (0x0 << 2) // 0=resevred 1= HCLK=FCLK/4 PCLK=FCLK/4
>>#define HCLK_DIV (0x1 << 1) // 0=FCLK 1=FCLK/2
>>#define PCLK_DIV (0x1 << 0) // 0=HCLK 1=HCLK/2
>>#define HCLK FCLK/2 // FCLK=266000000 HCLK=133000000
>>#define PCLK FCLK/4 // FCLK=266000000 PCLK= 66500000
>>*/
>>#define HCLK_DIV1 (0x1 << 2) // 1= HCLK=FCLK/4 PCLK=FCLK/4
>>#define HCLK_DIV (0x0 << 1) // 0=FCLK/4
>>#define PCLK_DIV (0x0 << 0) // 0=FCLK/4
>>#define HCLK FCLK/4 // FCLK=202800000 HCLK= 50700000
>>#define PCLK FCLK/4 // FCLK=202800000 PCLK= 50700000
>>#define CLKDIVN_VALUE ( HCLK_DIV1 | HCLK_DIV | PCLK_DIV )
>>//]]
>>
>>
>>2. s3c2410.h에서
>>
>>//##################################################
>>// CPU 의 속도를 설정한다.
>>//[[2007_03_22 dkkim modify
>>//#define FCLK 266000000
>>//#define HCLK FCLK/2 // FCLK=266000000 HCLK=133000000
>>//#define PCLK FCLK/4 // FCLK=266000000 PCLK= 66500000
>>#define FCLK 202800000
>>#define HCLK FCLK/4 // FCLK=202800000 HCLK=50700000
>>#define PCLK FCLK/4 // FCLK=202800000 PCLK= 50700000
>>//]]
>>//##################################################
>>
>>
>>3. 커널에서 mach-ez-s2410.c
>>/* base baud rate for all our UARTs */
>>//static unsigned long ez_s2410_serial_clock = 66500000; // 266MHz/4 = 66.5MHz
>>static unsigned long ez_s2410_serial_clock = 50700000; // 202MHz/4 = 50.7MHz
>>
>>
>>위와 같이 변경을 하였습니다.
>>컴파일시에는 에러는 없었습니다.
>>
>>문제가 되는 현상은 일단 부트로더를 ezflashw프로그램에서 jtag을 이용하여 다운로드 하였습니다.
>> 플래쉬에 쓰기가 끝난 상태에서 리셋 버튼 또는 on/off스위치를 이용하여 재부팅을 하게 되면
>>가운데에 달려있는 4LED는 계속 깜빡깜빡거리고 있고, 하이퍼 터미널 또는 minicom에서 나오는 화면은
>>아무것도 뜨지를 않습니다.
>>
>>그래서인지 수정된 커널을 올리지 못하는 상태가 되었습니다.
>>
>>혹시나해서 저장된 NER, NEK, NEA명령어를 사용하여 모두 지운다음 부트로더만 다시 올려봤는데 상황은
>>같았습니다.
>>
>>어느 부분이 문제인지 알수가 없네요.
>>
>>참고로 개발환경은 소스작업은 윈도우에서 하고 컴파일은 리눅스PC로 합니다.
>>
>>윈도우 컴퓨터랑 리눅스 컴퓨터와의 통신은 윈도우 컴퓨터에 ftp server를 설치하여 리눅스 PC에서 파일을
>>다운 받아 컴파일 하는 방법을 사용하고 있습니다.
>>
>>빠른 답변 부탁드리겠습니다.
>>
>>그럼 수고하세요.
>>
>>
>
궁금한게 있어서 다시 질문 드릴께요..
SDRAM 데이타쉬트를 보면 클럭 사이클이 PC133Mhz에서 최소 7.5ns 최대 1000ns로 되어 있습니다.
1000ns라는 것은 다시 말하면 클럭이 1Mhz라는 말아닌가요?
클럭 싸이클을 100Mhz 이하로 낮추게 된다면 동작이 잘 안된다는 말씀이 잘 이해가 안가서요..^^
그리고 꼭 50.7Mhz로 낮추어야만 하거든요..^^;
만약에 낮추어서 동작을 하게끔 할라면 어떻게 해야 하나요?
2410칩에서 클럭 분주가 1:4:4까지 된다고 해서 그렇게 쓴건데요..
빠른 답변 부탁드리겠습니다..
즐거운 한주 보내세요..
수고하세요.
>안녕하세요.
>
>설정을 잘못하신것 같습니다.
>
>1. ez_2410.h
>
>#define HCLK_DIV1 (0x0 << 2) // 1= HCLK=FCLK/4 PCLK=FCLK/4
>#define HCLK_DIV (0x1 << 1) // 0=FCLK/4
>#define PCLK_DIV (0x1 << 0) // 0=FCLK/4
>#define HCLK FCLK/1 // FCLK=202800000 HCLK=
>#define PCLK FCLK/4 // FCLK=202800000 PCLK= 50700000
>
>
>2. s3c2410.h
>
>#define FCLK 202800000
>#define HCLK FCLK/2 // FCLK=202800000 HCLK=
>#define PCLK FCLK/4 // FCLK=202800000 PCLK= 50700000
>
>
>이렇게 하셔야 합니다.
>HCLK은 100MHz 이하로 설정하시면 SDRAM 이 정상적으로 동작하지 않습니다.
>따라서 반드시 HCLK은 100MHz 이상으로 설정되어야 합니다.
>
>
>그럼 수고하세요.
>
>
>>cpu clock을 266MHz에서 202Mhz로 변경을 하려고 합니다.
>>
>>우선 소스 수정한 부분은
>>
>>1.ez_2410.h에서
>>1-1.
>>//##################################################
>>//[[2007 03 22 dkkim modify
>>//#define CPU_SPEED S3C2410_CPU_266M
>>#define CPU_SPEED S3C2410_CPU_202M
>>//]]
>>//##################################################
>>
>>1-2.
>>/--------------------------------------------------
>>// CLOCK DIVIDER CONTROL ( CLKDIVN )
>>#define S3C2410_REG_CLKDIVN 0x4C000014
>>//--------------------------------------------------
>>//[[2007 03 22 dkkim modify
>>/*
>>#define HCLK_DIV1 (0x0 << 2) // 0=resevred 1= HCLK=FCLK/4 PCLK=FCLK/4
>>#define HCLK_DIV (0x1 << 1) // 0=FCLK 1=FCLK/2
>>#define PCLK_DIV (0x1 << 0) // 0=HCLK 1=HCLK/2
>>#define HCLK FCLK/2 // FCLK=266000000 HCLK=133000000
>>#define PCLK FCLK/4 // FCLK=266000000 PCLK= 66500000
>>*/
>>#define HCLK_DIV1 (0x1 << 2) // 1= HCLK=FCLK/4 PCLK=FCLK/4
>>#define HCLK_DIV (0x0 << 1) // 0=FCLK/4
>>#define PCLK_DIV (0x0 << 0) // 0=FCLK/4
>>#define HCLK FCLK/4 // FCLK=202800000 HCLK= 50700000
>>#define PCLK FCLK/4 // FCLK=202800000 PCLK= 50700000
>>#define CLKDIVN_VALUE ( HCLK_DIV1 | HCLK_DIV | PCLK_DIV )
>>//]]
>>
>>
>>2. s3c2410.h에서
>>
>>//##################################################
>>// CPU 의 속도를 설정한다.
>>//[[2007_03_22 dkkim modify
>>//#define FCLK 266000000
>>//#define HCLK FCLK/2 // FCLK=266000000 HCLK=133000000
>>//#define PCLK FCLK/4 // FCLK=266000000 PCLK= 66500000
>>#define FCLK 202800000
>>#define HCLK FCLK/4 // FCLK=202800000 HCLK=50700000
>>#define PCLK FCLK/4 // FCLK=202800000 PCLK= 50700000
>>//]]
>>//##################################################
>>
>>
>>3. 커널에서 mach-ez-s2410.c
>>/* base baud rate for all our UARTs */
>>//static unsigned long ez_s2410_serial_clock = 66500000; // 266MHz/4 = 66.5MHz
>>static unsigned long ez_s2410_serial_clock = 50700000; // 202MHz/4 = 50.7MHz
>>
>>
>>위와 같이 변경을 하였습니다.
>>컴파일시에는 에러는 없었습니다.
>>
>>문제가 되는 현상은 일단 부트로더를 ezflashw프로그램에서 jtag을 이용하여 다운로드 하였습니다.
>> 플래쉬에 쓰기가 끝난 상태에서 리셋 버튼 또는 on/off스위치를 이용하여 재부팅을 하게 되면
>>가운데에 달려있는 4LED는 계속 깜빡깜빡거리고 있고, 하이퍼 터미널 또는 minicom에서 나오는 화면은
>>아무것도 뜨지를 않습니다.
>>
>>그래서인지 수정된 커널을 올리지 못하는 상태가 되었습니다.
>>
>>혹시나해서 저장된 NER, NEK, NEA명령어를 사용하여 모두 지운다음 부트로더만 다시 올려봤는데 상황은
>>같았습니다.
>>
>>어느 부분이 문제인지 알수가 없네요.
>>
>>참고로 개발환경은 소스작업은 윈도우에서 하고 컴파일은 리눅스PC로 합니다.
>>
>>윈도우 컴퓨터랑 리눅스 컴퓨터와의 통신은 윈도우 컴퓨터에 ftp server를 설치하여 리눅스 PC에서 파일을
>>다운 받아 컴파일 하는 방법을 사용하고 있습니다.
>>
>>빠른 답변 부탁드리겠습니다.
>>
>>그럼 수고하세요.
>>
>>
>