· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
리눅스로 PSP S/W 개발하기



1. 시작하기 전에

PSP는 Play Station Portable의 약자로서, Sony에서 개발한 휴대용 게임기이다. 게임기능 뿐만 아니라, MP3플레이어, 동영상플레이어, 그외에 많은 소프트웨어를 구동시킬 수 있는데, 흥미로운 점은 일반인도 PSP용 소프트웨어를 직접 개발 할 수 있다는 것이다. 그래서 리눅스 플랫폼에서 PSP용 소프트웨어를 개발하는 방법을 소개하고자 한다. (작성자 : IrIz)


2. 개발환경 구축하기

테스트한 개발 환경은 후지쯔 P5020(노트북), Fedora Linux Core3(운영체제), PSP(펌웨어1.5버전), Sandisk Memorystick Pro Duo 1G 이다.

2.1. 툴체인 설치하기

먼저 root 유저로 로그인한다. (당연하지만)
툴체인을 설치하기 전에, subversion이 설치되어있어야 하는데, http://subversion.tigris.org/ 에서 받거나,
yum install subversion
명령어를 사용해서 설치한다. 그외에 make와 autotools가 필요하나, 설치되지않은 리눅스 배포본은 없을거라 생각하고 패스...

PSP의 툴체인은 http://www.oopo.net/consoledev/ 에서 받을 수 있다. 파일명은 psptoolchain-2005XXXX.tgz이고, 적당한 경로에 압축을 푼다. 그리고 아래 실행 스크립트를 실행하면
./toolchain.sh
서버에 접속하여, 툴체인 소스코드를 다운로드, 컴파일, 설치가 자동적으로 진행된다. (크로스컴파일러를 빌드하므로 꾀 많은 시간이 걸린다)
/usr/loca/pspdev/ 디렉토리에 설치가 완료된 것을 확인할 수 있다.


2.2. PSPSDK 설치하기

http://www.pspdev.org/ 사이트에 접속해서 PSPSDK 소스코드를 다운로드 받는다. (pspsdk-1.0+beta.tar.gz 파일)
/usr/local/pspdev/ 경로에, 다운받은 PSPSDK 소스코드파일을 복사하고, 압축을 푼다. 그리고, /usr/local/pspdev/bin 를 PATH환경변수에 추가한다.
PATH=/usr/local/pspdev/bin:$PATH
압축을 푼 PSPSDK 디렉토리(pspsdk-1.0+beta)로 들어가서 컴파일, 설치명령을 실행한다.
./configure
make
make doxygen-doc
make install
참고로 make doxygen-doc 라인은 생략해도 상관없다.


3. 샘플코드 빌드하기

많은 테스트 코드가 있지만, 한글 입출력을 하는 간단한 프로그램을 빌드해보도록 하겠다. 루리웹 파란산타님의 소스코드([http]출처)를 인용했다. 소스코드 압축을 풀고, Makefile을 열어, 다음 라인을 빌드환경에 맞게 수정한다.
(생략)
PSPSDK=/usr/local/pspdev/psp/sdk
(생략)
컴파일 한다.
make all
그러면 다음 세 개의 파일이 생성되는데, 프로그램을 돌리기 위해서는 EBOOT.PBP 만 있으면 된다.
  • EBOOT.PBP
  • PARAM.SFO
  • sdktest.elf
hello_psp.jpg
[JPG image (27.46 KB)]
PSP 에서 프로그램을 실행한 화면.

PSP의 펌웨어가 1.0이나 1.5버전에서 실행을 해 보려면, MSwapTool이나 PBP Unpacker 라는 도구를 사용해서 EBOOT.PBP 를 한단계 더 변환을 거쳐야 한다. 많은 사이트에서 쉽게 설명하고 있으므로, 여기에 대한 자세한 설명은 생략한다.


4. 코멘트

제 홈페이지의 위키페이지([http]http://new-type.com/wiki/wiki.php?PSP_Dev)를 KLDP Wiki에도 포스팅합니다. 아무래도 여기에서 글이 좀 더 잘 다듬어 질거라 기대해서... :) --IrIz





sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-07-30 01:37:47
Processing time 0.0071 sec