회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.
안녕하세요?
이번에 OpenRISC OR1200 프로세서에 U-Boot 및 이더넷 디바이스 드라이버를 포팅해서,
로그를 올립니다.
OpenRISC Processor는 CPU의 코어 설계를 공개하여, 진행하는 오픈 소스 프로젝트 입니다.
운영체제 분야에서 리눅스가 오픈소스 프로젝트로 유명하다면,
CPU 코어 설계 분야에서는 OpenRISC가 가장 유명 합니다.
원래 U-Boot는 OpenRISC 아키텍처를 지원하지 않아,
이번에 밑단부터 전부 직접 이식 작업을 했습니다.
새로운 프로세서 아키텍처에 U-Boot를 이식하려니 고생 좀 했네요. ㅎㅎ
이와 함께 DM9000 드라이버와 Intel Strata NOR Flash 드라이버도 올렸습니다.
가장 어려웠던 점은 OpenRISC 아키텍쳐는 빅 앤디안을 사용한다는 점 인데,
U-Boot의 대부분의 소스 코드는 리틀 앤드안 기준으로 제작되어 있습니다.
그리고, OpenRISC 아키텍처는 Byte(8Bit)/Word(16Bit) 단위 메모리 접근을 지원하지 않습니다.
오직 32Bit 단위로 접근만 가능 합니다.
따라서 이를 고려해서 일일히 드라이버를 수정 하는데 고생 좀 했네요.
현재, 아래 화면은 60Mhz로 동작하는 로그 입니다.
U-Boot를 올리기 이전에 UART 다운로드 펌웨어도 함께 제작 했습니다.
초반에 아무것도 없는 상태에서 어셈단 부터 전부 다 제작하려니, 고생 좀 했습니다만,
이제 겨우 리눅스를 올리기 위한 기본적인 환경은 만들어졌네요. ㅎㅎ
다음엔 리눅스를 이식한 로그를 올려볼까 합니다.
---------------------------------
- Welcome to OR1200 UARTBOOT -
---------------------------------
1. Download & Run Firmware
2. Download Firmware
3. Run Firmware
4. Dump Firmware 64KB
5. Download & Run U-Boot
6. Download U-Boot
7. Run U-Boot
8. Dump U-Boot 64KB
Select operation (1~8): 5
Now Downloading !!
Size : 0x0001aa24
CheckSum : 0x0000ea0f
Calc Sum : 0x0000820f
U-Boot 1.3.4 (Sep 3 2009 - 16:17:58) - OpenRISC OR32 Platform
CPU : OpenRISC OR1xxx
## Unknown FLASH on Bank 0 - Size = 0x00000000 = 0 MB
Using default environment
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
OR1200 #
OR1200 # ping 192.168.1.15
dm9000 i/o: 0x10000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:11:22:33:44:55
operating at 100M full duplex mode
host 192.168.1.15 is alive
OR1200 # tftp 0x20000000 zImage
dm9000 i/o: 0x10000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:11:22:33:44:55
operating at 100M full duplex mode
TFTP from server 192.168.1.15; our IP address is 192.168.1.50
Filename 'zImage'.
Load address: 0x20000000
Loading: #################################################################
#################################################################
#################################################################
###############################################################
done
Bytes transferred = 1318872 (141fd8 hex)
OR1200 #