포팅(Porting)
응용 프로그램이 다른 OS에서 수행될 수 있도록 새로운 환경으로 이식하는 과정이다. Linux Porting이란 새로운 하드웨어에서 Linux가 동작하도록 하는 것이다.

1. 리눅스가 동작하기 위해서 필요한 조건

리눅스가 동작하기 위한 최소 조건
 - 32Bit Processor 
 - 4Mbyte RAM

부트로더
 - 하드웨어 초기화 : CPU와 RAM이 서로 통신(Read/Write)이 가능하게 설정
 - 커널 이미지를 메모리의 특정 영역에 복사 후 커널 이미지 첫 주소로 점프

루트 파일 시스템


2. 툴 체인(Toolchain)

Target Device의 소프트웨어 개발을 위해 필요한 Host System의 Target Cross Compile 환경이다. 소스 코드를 빌드하여 자신이 원하는 Toolchain을 구성할 수도 있으며 이미 빌드되어 바이너리 형태로 배포되어 있는 툴체인을 이용할 수 있다.

툴체인을 소스코드를 통해 설치하는 방법

다운로드 사이트 : http://www.gnuarm.com/


3. 부트로더(BootLoader)

참조보드는 Delft University of Technology에서 개발한 BLOB(BootLoader Object)이라는 부트로더를 사용한다. PXA25x/27x 기반 프로세서 지원

First stage loader
 - Second stage loader가 동작하기 위한 하드웨어 초기화를 수행하는 부분
 - GPIO 초기화 : 참조 보드의 GPIO 맵을 참고하여 GPIO 방향. Alternate Function. 핀 값 설정
 - 메모리 초기화 : SDRAM을 사용하기 위하여  SDRAM값 초기화

Second stage loader
 - 부트로더에서 사용하는 하드웨어 초기화
  Serial : Debugging UART를 통하여 부팅 메세지를 보기 위함
  Flash memory : 부트로더 명령을 통해 플래시 메모리에 데이터를 쓰기 위함
 - 부트로더 명령어
xdownload : 데이터를 Xmodem을 통하여 다운로드
Posted by 리트모스
: