본문 바로가기

PROJECT/ex347_project

Mini2440]Bootloader 올리기

Bootloader를 올리기전에 하드웨어적인 이해해야 할 듯하다.

우리 보드에는 256M의 Nand Flash와 2M의 Nor Flash가 있다.
왜 그럴까?

이제부터 하는 이야기는 필자의 생각이다.

Nor Flash는 MCU에서 바로 읽을수 있습니다. (Address Bus와 Data Bus가 모두 밖으로 나와있다)
그러나 Nand Flash의 내용을 읽기 위해서는 Ram을 거쳐야 MCU에서 읽을 수 있다.
(삼성이 만든 s3c2410 과 같은 칩이 이런 방식을 체택했다.)

비싼 Nor를 쓰지 않고 Nand에 부트 코드를 넣을수 있는대신에 부트코드가 복잡해지는 단점이 있다.
그래서 아직도 Nor Flash를 이용해서 개발하는 개발자가 적지 않다고 알고 있다. 

우리가 쓰는 mini2440보드는 이 두가지 방법을 사용할 수 있다. 


이제 다시 설명을 시작하겠다.

mini2440에는 super-vivi 라는 부트로더가 사용된다.

사용 법은 다음과 같다.
우선 super-vivi를 Nor Flash에 올린다.
그리고 보드의 S2(스위치)를 Nor-Flash로  맞춘다음에 켜준다.

그러면 많은 Sub-Menu들을 터미널 창으로 볼 수 있다.
이때 나온 Sub-Menu를 이용해서 Nand-Flash 에 Bootlader와 Kernel 이미지, RootFilesystem을 올린다.

그러고서 다시 보드의 S2를 Nand로 바꾼다음에 보드를 켜면 제대로 작동한다.
이제 대략적인 방법을 알았으니


맨첨에 해야하는 "Nor-Flash에 Super-vivi를 올리기" 를 해보자~! 

Nor-Flash에 부트로더를 굽기 위해서는  JTAG을 사용한다.
그리고 이를 위해서는 프린트포트(병렬포트)가 있어야 하는데.. 요즘 시대에.. 당연히 없는 컴퓨터가 많을 것이다.
걱정할 필요 없다. usb2parallel 어댑터를 구매해서 사용하면 된다~^^
(죄송하지만 usb2parallel 어댑터 사용법은...google 신의 힘을 빌어서 해결하시길 바랍니다...
필자는 병렬포트가 있는 관계로...^^;;)

이제 시작해보자~!!

H-JTAG를 설치하면 H-JTAG와 H-Flasher가 설치된다.



이 중에서 H-JTAG를 실행 시키면 다음과 같은 창이 나온다.


메뉴 탭중에서 settings를 클릭해서 설정을 바꿔줘야 한다.
다음 과정을 따르자.



위와 같이 Setting을 해주자.


이제 supervivi를 올려야 하는데... 그것을 하기 전에 다음과 같이 준비를 해줘야 한다.
CD에 있는 FriendlyARM2440_AMD.his파일과  H-Flasher_mini2440_AMD.hfc파일을
H-JTAG가 깔리 곳에 복사해준다.
 






파일을 옮긴 뒤에 H-JTAG의 Script메뉴의 init Script를 선택해서
 

아까 복사했던 C\Program Files\H-JTTAG\FriendlyARM2440_AMD.his 파일을 선택해준다.


그러면 his파일의 정보에 따라서 자동으로 값들이 들어감을 볼 수 있다.


 

이제 장치를 연결해주자~!
Target Board의 전원을 켜주고 Operations메뉴의 Detect Target을 선택하면 



이렇게 ARM920T로 나오는 것을 볼 수 있다.



이제 연결이 됐으니 H-Flasher를 이용해서 우리가 target Board에 Super-vivi를 올려주자~!!
H-Flasher를 켜면 다음과 같은 창이 나온다. 


딱 봐도 1번에 Flash Selection이 있다..
우리 보드에 맞게 Flash를 골라야 할텐데..
다행히 아까 C\Program Files\H-JTTAG 에 복사해 놓은 H-Flasher_mini2440_AMD.hfc파일을 load해주기만 하면 된다.

Load 메뉴를 선택하면 다음과 같은 창이 뜨는데 거기서 H-Flasher_mini2440_AMD.hfc파일을 찾아주면 된다^^


H-Flasher_mini2440_AMD.hfc파일을 열고나면 아래와 같이 Flash를 select 하게 된다.


그리고서 4 Programming을 선택하면 다음과 같은 창이 뜨는데...
바로 우리가 원하는 녀석을 보드에 올릴 수 있게 된것이다.
정확히는 Nor-Flash에~^^


Type은 Plain Binary Format으로 선택해주고
Src File은 ... 을 클릭해서 Supervivi-128M 를 선택해준다.
Dst Addr은 0 으로 선택해준다(시작번지를 0으로..)

다음은 ... 클릭해서 Supervivi-128M를 선택하는 화면


아래와 같이 선택이 완료된후 Program을 눌르면 Nor-flash로 Supervivi-128M가 올라간다!!!



Program을 눌르고나면 아래와같이 Progress바가 뜬다.^^

이 Progress바가 꽉 차면 Supervivi가 다 올라간 것이다!!