안녕하세요.

pxa270보드로 커널을 올리지 않은 상태에서 부트로더를 개량하여 프로그램을 만들려고 합니다.

우연히 memcpy()함수를 체크하던중 속도가 너무 느리다는 것을 알게 되었습니다.

시험 방법은 다음과 같았습니다.

 

char Buf1[1024], Buf2[1024];

for(i = 0 ; i < 10240 ; i++) memcpy(Buf1, Buf2, 1024);

 

부트로더에서 이것을 수행하는 시간은 5945ms가 소요되었는데

커널부팅후 어플리케이션에서 수행하면 95ms밖에 소요되지 않네요.

직접 테스트 해봐도 같은 결과를 얻을 수 있을 것입니다.

무련 60배가 차이가 나는데, 부트로더하고 커널하고 메모리 설정하는것이 차이가 있나요?

혹시 RAM의 설정이 서로 달라서 이러한 결과가 나오는 것인가요 ?

커널부팅후 속도를 만들려면 어느 설정 부분을 바꾸어 줘야 하나요 ?

제가 200MHz 의 다른 CPU에서 테스트 해보았는데,

각각 4700ms, 1920ms가 나오네요. 520MHz인데 200MHz보다 떨어지네요.

물론 커널부팅이후에는 엄청좋아지구요.

혹시 원인을 알 수 있나요 ?