도와주세요!!
글 수 15,339
2007.03.23 16:29:45 (*.138.143.118)
7765
안녕하세요..
CLK cycle time 을 말하는 것이 아닙니다.
현재 저희가 사용하는 SDRAM K4S561632E-UC75는 133MHz(CL=3) 입니다.
즉, 최대 주파수가 133MHz입니다. 또한 100MHz에서도 동작하는것을 확인 하였기 때문에
사용가능하다고 말한 것입니다. 하지만 HCLK을 100MHz 이하로 설정하고 테스트를 해 보았지만 동작을 하지 않는것을 확인 하였습니다.
정상적이라면 스펙상으로 HCLK가 133MHz 를 넣어 주셔야 합니다.
따라서 50.7MHz로 낮추어 사용하시는것은 저희도 해 보지 않았기 때문에 어떻게 답변을 드리가 힘드네요.
그럼 수고하세요.
>답변 주셔서 감사합니다.
>
>궁금한게 있어서 다시 질문 드릴께요..
>
>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에서 파일을
>>>다운 받아 컴파일 하는 방법을 사용하고 있습니다.
>>>
>>>빠른 답변 부탁드리겠습니다.
>>>
>>>그럼 수고하세요.
>>>
>>>
>>
>
CLK cycle time 을 말하는 것이 아닙니다.
현재 저희가 사용하는 SDRAM K4S561632E-UC75는 133MHz(CL=3) 입니다.
즉, 최대 주파수가 133MHz입니다. 또한 100MHz에서도 동작하는것을 확인 하였기 때문에
사용가능하다고 말한 것입니다. 하지만 HCLK을 100MHz 이하로 설정하고 테스트를 해 보았지만 동작을 하지 않는것을 확인 하였습니다.
정상적이라면 스펙상으로 HCLK가 133MHz 를 넣어 주셔야 합니다.
따라서 50.7MHz로 낮추어 사용하시는것은 저희도 해 보지 않았기 때문에 어떻게 답변을 드리가 힘드네요.
그럼 수고하세요.
>답변 주셔서 감사합니다.
>
>궁금한게 있어서 다시 질문 드릴께요..
>
>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에서 파일을
>>>다운 받아 컴파일 하는 방법을 사용하고 있습니다.
>>>
>>>빠른 답변 부탁드리겠습니다.
>>>
>>>그럼 수고하세요.
>>>
>>>
>>
>