카테고리 없음
FA mini2440 board u-boot 올리기
벅스바니
2010. 1. 24. 23:03
일전에Supervivi를 이용하여 USB를 통한 커널 실행은 해본바가 있습니다.
Supervivi가 USB이용해서 다운로드 하는데는 편리하긴 한데,
개인환경에서는 적당하지만 나중에 잦은 수정을 하려면 이더넷이 아무래도 필수겠지요.
그래서 U-boot를 올려보기로 했습니다.
사용법은 mini2440 보드에도 나와 있습니다.
FA mini2440 보드 첨부 CD의 u-boot 디렉토리를 리눅스 머신에 카피해서 압축을 풀면
여러 파일들이 나옵니다. 여기서
./u-boot-1.1.6/include/configs/open24x0.h 을 열어
/** Hardware drivers*/#if 0#define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */#define CS8900_BASE 0x19000300#define CS8900_BUS16 1 /* the Linux driver does accesses as shorts */#endif#if !defined(CONFIG_DRIVER_CS8900)#define CONFIG_DRIVER_DM9000 1#define CONFIG_DM9000_USE_16BIT 1#define CONFIG_DM9000_BASE 0x20000000#define DM9000_IO 0x20000000#define DM9000_DATA 0x20000004#endif
위와 같이 CS8900 대신 DM9000이 설정되어 있는지 확인해 봅니다.
뭐, 테스트용으로 이미 설정되어 있더군요.
여기서 실행하기 전에
$arm-linux-gcc -v
라고 실행해서 화면과 같이
--with-float=soft
인지 확인합니다.
이상태에서 u-boot 루트 디렉토리로 가서,
$make open24x0_config
$make clean
$make
해주면 u-boot.bin 파일이 생겨납니다.
u-boot를 실행하려면 일단 NOR FLASH에서 Supervivi를 실행해서 NAND Memory의 첫부분에 넣어주어야 합니다.
방법은,
아래와 같은 Supervivi 화면에서 [a] Absolute user program 을 선택하고
dnw.exe를 이용하여 앞서 생성한 u-boot.bin을 Transmit 합니다.
이후 S2 버튼을 NAND로 놓습니다.
(U-boot는 NAND의 0번지에 들어갑니다)
그러면 아래와 같이 U-boot가 실행됩니다.
초기화면에서 부팅정보를 나타내줍니다.
이후 리눅스 이미지가 없기 때문에 그냥 u-boot 메뉴로 빠집니다.
만일 리눅스 이미지가 있을 경우는 앞의 3초 안에 스페이스키를 누르면 리눅스로 부팅하지 않고
U-boot로 빠집니다.
's'를 눌러서
'ipaddr' 과 'serverip' 값을 변경할 수 있습니다.
* 또는 'q'를 눌러서 커맨드 모드로 들어가서
FA24x0>setenv ipaddr 192.168.11.220
FA24x0>setenv serverip 192.168.11.1
과 같이 설정할 수 도 있습니다.
현재까지 아직 tftp로 붙여보지 못했습니다.
ipaddr=192.168.11.220 으로 설정하고 ping을 해봤는데 응답이 없군요.
자세한 것은 u-boot 사이트를 보고 확인을 해봐야할 것 같습니다.
이상입니다.