출처: http://blog.naver.com/heennavi1004/10180662904
Raspberry Pi (RPi) 에서 free pascal로 GUI 프로그램을 할 때 유용하다.
그러나 RPi상에서의 코딩은 RPi의 성능상의 한계로 매우 어려운 편이다.
할 수는 있지만 많은 인내를 요구하기 때문이다.
lazarus로 GPIO를 직접 제어할 수 있어 pascal에 익숙한 사람은 큰 어려움 없이 RPi/리눅스 상에서 동작하는 프로그램을 윈도우 환경에서와 같은 방식과 코드로 만들 수 있다... 다만 개발환경을 동작시키기에는 너무 느린 RPI환경이 걸릴 뿐이다.
이에 대한 해결 방법으로, windows 상에서 프로그램을 작성하고, 컴파일 한 프로그램을 RPi로 옮겨 동작시키는 것이다.
방법은 Codetyphon 이용하는 것과 lazarus를 직접 설치하는 방법이 있으나, Codetyphon을 설치 하는 것이 미리 설치된 수 많은 패키지들을 추가적인 설정없이 사용 할 수 있어 편리하다.
1) codetyphon = fpc(프리 파스칼) + IDE (lazarus) + 수 많은 패키지
2) fpc + lazarus
방법
1. 윈도우즈(7) 에서 Codetyphon 설치
: 현재 ver. 4.60
www.pilotlogic.com 에 들어가서 다운로드 한다.
다운받은 CodeTyphonIns.zip 의 압축을 해제하고,
명령 프롬프트를 관리자 권한으로 실행한다.
CodeTyphonIns 폴더로 이동한다.
cd C:\Users\hskim\Downloads\CodeTyphonIns\CodeTyphonIns (나의 예)
install.bat 를 실행하여 설치 시작 ..............
2. hard-fpu 대신 soft-fpu로 대치
CodeTyphon이 설치된 하부 폴더 중 C:\codetyphon\binToolchains\win32-arm-linux 로 이동
arm-linux-as.exe ---> arm-linux-as_.exe 로 변경
3. 새로운 컴파일러 다운로드
압축 파일 중,
Arm-Linux-As.exe (첨부)를 C:\codetyphon\binToolchains\win32-arm-linux 에 복사
4. 재 컴파일
CodeTyphon64 실행 (현재 컴퓨터는 Win 7 x64 임): lazarus 아님
CodeTyphon Center 메뉴
CrossBuild => FreePascal 32bit => FPC32 Build Cross Element arm-linux 를 선택하여 빌드...
5. 라즈베리파이용 라이브러리 설치
lib-arm-pi.zip을 다운로드
압축을 해제하여 C:\lib-arm-pi 에 풀어놓는다(나의 예)
이상으로 윈도우즈에서 raspberry용 크로스 빌드 환경 설치.
설정
1. Typhon32 for win32 실행
CodeTuphon Center의 Typhon32 for win32 BigIDE 실행
2. 라이브러리 패스 지정
메뉴: Project => Project Opetions =>Compiler Options => Paths 선택
오른쪽에서 Libries (-Fl)에서 C:\lib-arm-pi 폴더를 지정: C:\lib-arm-pi
3. 크로스 환경 지정
메뉴: Project => Project Opetions =>Compiler Options => Code Genertion 선택
우측의 Target platform에서
Target OS (-T) : Linux
Target CPUfamily (-P): arm
OK 할 때, error가 나오지만 무시
4. wiringPi 이용시 wiring Pi 설치
라즈베리파이용 wiring Pi 라이브러리인 lazwiringPi.7z를 다운(첨부)
(직다운은 여기: 그런데, 압축이 여러번 되있으니 잘찾던지.. 첨부를 받던지 하세요 )
(라즈베리파이에서 컴파일 할 때는, 역시 이 파일의 압축을 풀고 라이브러리 폴더를 지정하면 된다.)
압축 해제하고, 적절한 폴더에 넣고,
: 여기에서 라이이브러리 패쓰에 넣어야 되는데,....... 자꾸 에러가 난다... 그래서 프로젝트 폴더 하부에 풀어 놓으면 된다 (귀찮지만)
프로젝트 폴더에,
wiringPi 폴더
hwiringpi.pas 를 넣는다~~~~ (편법)
프로그램 작성
1. 라이브러리 지정
hwiringpi.pas 를 uses 절에 넣는다.
implementation
uses
hwiringpi.pas
{$R *.lfm}
2. 프로그램을 작성하고,
컴파일 (Ctrl-F9)
3. 생성된 파일을 ftp 등을 통하여 RPi에 전송하고
4. 권한 설정: RPi에서
$sudo chmod 755 실행파일
5. 실행: RPi에서
$sudo ./실행파일
끝....
참고
델마당 포렌식님의 글
라즈베리파이에서 lazarus로 프로그래밍
wiringPi : Gordon's Project
'언어 > 라즈베리파이' 카테고리의 다른 글
Free Pascal Hardware abstraction library for the Raspberry Pi (0) | 2018.08.26 |
---|---|
Wiring Pi (0) | 2018.08.26 |
C언어로 Raspberry pi 2의 GPIO 레지스터 접근하여 LED켜보기 (0) | 2018.08.23 |
GPIO를 고속으로 제어하기 (0) | 2018.08.23 |
Connecting a 16x32 RGB LED Matrix Panel to a Raspberry Pi (0) | 2018.04.20 |