귀하는 손님 이십니다
로그인
회원가입
  
  델마당 공식 은행계좌
  하나은행 227-910235-83607
  예금주 이상국(운영진)
프로젝트 게시판
투표게시판
델마당소개
기초부터 활용까지! 델파이 교육 - 데브기어
 광고문의 :
lazarus lazarus 입니다.
글내용 - lazarus
 라즈베리 파이(Raspberry Pi) 보드 크로스 컴파일 환경 구축 성공(Win7 => 라즈베리)
포렌식
(조동욱)
2013-07-29 오후 12:48:43
6058회 조회


등록된 파일이 없습니다.
안녕하세요.



아래 "닉없다 님"이 올리신 "라즈베리 파이와 라자루스" 글에 이어

추가로 라즈베리 파이 보드의 크로스 컴파일 환경 구축한 소식 전해드립니다.







아래 "닉없다 님"의 글처럼 "라즈베리 파이 보드"에는 Debian계열의 리눅스가 올라가고

그 보드 OS위에 freepascal + Lazarus를 올려서 컴파일 환경을 구축하실 수 있으실 것입니다.

(<= Native 컴파일 환경)

또한, 이것을 통하여 "라즈베리 파이"상에서 콘솔 및 GUI 프로그램을 다른 툴들에 비하여

쉽게 프로그램을 구현하실 수 있으실 것입니다.

(마치 윈도우에서 델파이를 쓰듯이...)







그러나, "라즈베리 파이보드"의 리소스가 딸려서 그런지 라자루스 기동하는 데 시간이 오래 걸리고



UI 디자인하는데 화면이동도 느리고, 코드 타이핑하는 화면도 제대로 타이핑 속도를 못따라와서

천천히 화면에 나타납니다. 홧병걸리는 줄 알았습니다...^^;;





그래서 지난번 판다보드 크로스 컴파일 환경 구축한 경험을 토대로, 라즈베리 파이의 크로스 컴파일 환경을

구축해보았습니다. 결론은 성공입니다...^^

구글링해보면, 외국에서 성공햇다는 사람들 2~3명 있지만, 방법론은 제대로 설명안하고 있습니다.





지난번 판다보드 크로스 컴파일 환경 구축한 경험을 토대로, 커다란 삽을 꺼내들고 시도해봤지만

처음 2주간의 시도는 실패였습니다. 그리고 1달정도 라즈베리파이는 구석에 쳐박아 놨었죠..ㅋ







어제(2013-07-28) , "닉 없다님"의 글을 읽고 구석에 쳐박아둔 라즈베리를 다시 꺼내서 ,



그동안 구글링 눈팅한 지식들을 조합해서 다시 시도한 결과 성공햇습니다.

 

물론 보다 자세한 글은 시간날때 올리겠습니다.





<크로스 컴파일 환경 만들기 방법론 요약>





1. Windows 계열의 PC에 CodyTyphon 4.41(현재 최신버전) 을 설치한다.(대략 15~20분 소요)



  (CodeTyphon 홈페이지 http://www.pilotlogic.com/sitejoom/



   참고로 CodyTyphon은 프리파스칼 + 라자루스 + 각종 VCL 을 한방에 설치해주는 패키지)





2. CodyTyphon 이 설치된 하위폴더 중 C:\codetyphon\binToolchains\win32-arm-linux폴더상에



   arm-linux-as.exe 파일을 arm-linux-asa.exe 로 이름 변경 후 ,







3. 아래 링크 파일을 다운로드 후 압축 풀어서, 그안에  arm-linux-as.exe 을 아까 CodeTyphon이 설치된



  하위폴더 중 C:\codetyphon\binToolchains\win32-arm-linux 폴더에 복사하여 넣는다.

 http://www.pilotlogic.com/sitejoom/media/kunena/attachments/7783/aswrapper_arm_linux_as.exe.zip







(2,3번 동작은 어셈블러를 라즈베리 파이에 맞게끔 컴파일 옵션을 주는 파일로 교체하는 것입니다.)







4. CodeTyphon Center 메뉴(라자루스 메뉴 아님) 중  

               CrossBuild=>  FreePascal 32bit=> FPC32 Build Cross Element arm-linux 선택



  (대략 10분 소요)







5. 크로스 컴파일 환경 구축 끝...











< 라즈베리 파이용 어플 만들기>





0. 사전 작업




https://docs.google.com/folder/d/0B-v0GC8WoWuad001RGFtZG43T1U/edit?pli=1

클릭해서 lib-arm-pi.zip 파일을 다운 받아서 적당한 폴더에 풀어놓는다.



(ex. c:\Pi_Lib    , 이 폴더 경로는 컴파일하기 전에 path로 지정(아래 2단계)할 것이므로

잘 기억해두세요 )








1. CodeTyphon Center 어플 상에서 제일 하단 Typhon32 for win32를 클릭해서



    라자루스를 기동해서 새 프로젝트 시작.







2. Project => Project Option =>Compiler Option=> Path 메뉴 중 상단 3번째 박스의



    Libraries(-Fl) 의 경로를 위의 0번의 압축풀어놓은 폴더로 지정한다.







3.  Project => Project Option =>Compiler Option=> Code Generation 메뉴 중

    Targe Os : Linux, Target Cpu : arm 으로 지정





4. 즐 코딩한후에 ,Ctrl+F9 눌러서 실행파일 생성





5. 4번에서 생성된 실행파일을 FTP 또는  원격데스크톱 연결을 이용하여 , 라즈베리 파이로 전송





    (물론 사전에 라즈베리 파이상에 FTP 서버 또는 원격데스크톱 서비스를 설치해놓으셔야함



     이부분은 구글링이나 , 국내 라즈베리파이 교재 참조(2권있음)

     이 부분이 힘드시면 구냥 USB이동식 디스크로 이동하셔도 무방함)





6. 라즈베리 파이상에서 위에서 전송된 실행파일 우클릭 후, 단축메뉴 중 Properties 클릭 후

     Permisson탭에서 Make the file executable 체크한 후에 확인 누른 후,

    실행파일 더블 클릭하면 실행화면을 보실 수 있으실 것입니다.  

   (이 단계는 윈도우에서 만든 실행화일은 기본적으로 리눅스상에서 실행파일로 체크가 않되어 있으므로 

    실행가능한 파일 형태로 변환시켜주는 과정이라 생각하시면 됩니다.) 













<참  고>



앞부분 컴파일 환경 구축시 다운받아서 원래 파일과 교체한 arm-linux-as.exe 은 soft-fpu 방식입니다.



간단히 설명하자면, 부동소수점(float) 연산시 ARM CPU의 하드웨어적 FPU를 이용하는 것이 아니고,



소프트웨어적으로 구현한 것이라는 뜻입니다.

그러므로 ARM CPU의 FPU를 하드웨어적으로 이용하는 것보다

부동소수점 연산시 수행속도가 좀 느리다고 합니다.



즉, 라즈베리파이상에서 OpenGL과 같은 그래픽 프로그램을 위와 같은 방식으로 구축한 컴파일환경에서

만드시게 되면,  (부동소수점 연산) 수행속도가 상대적으로 느리다는 얘기가 될 것 같습니다.







BUT, 라즈베리 파이의 스펙을 보게되면 CPU는 arm1176jzf-s (armv6) 이고

FPU를 하드웨어적으로 지원(VFPv2)한다고 되어 있습니다.

그래서, soft-fpu 방식을 hard-fpu 방식으로 변환하는 방법론과 컴파일 옵션을 바꿔서

현재 테스트 중입니다. 일단 현재까지는 무리없이 잘 돌아가는 듯 합니다.



조만간 이것 또한 올리겠습니다.







두서없이 글을 올리거 같아서 죄송합니다만,

왕 삽질 끝난지 얼마 안되서 정신이 아직 안드로메다에 있어서 그런 것이니 이해바랍니다...^^