페이지 정보작성자 키트 작성일2017-09-13 16:14 조회2,805회 댓글0건
Lazarus on Raspberry Pi
The Raspberry Pi is a credit-card-sized single-board computer. It has been developed in the UK by the Raspberry Pi Foundation with the intention of stimulating the teaching of basic computer science in schools. Raspberry Pis are also used for multiple other purposes that are as different as media servers, robotics and control engineering.
Lazarus runs natively under the Raspbian operating system.
Installing and compiling Lazarus
Simple installation under Raspbian
Raspberry Pi 1
In the Raspbian OS it is easy to install Lazarus and Free Pascal. In order to do this simply open a terminal window and type:
This installs a precompiled, stable version of FPC and Lazarus on the Raspberry Pi. Of course, a network connection is required. Installation may take about 30 minutes, but major portions of this process take place automatically. After installation you may instantly start Lazarus from the "Programming" section of the LXDE start menu.
If you need a newer version, or if Lazarus complains about a broken leakview, here.
Raspberry Pi 2
Since June 2015 the regular "out of the box" installation method also works for Raspberry Pi 2 Model B. The version that gets installed is, however, quite old. For those looking to build the latest FPC and Lazarus IDE see this article.
Lazarus "out of the box" on Raspberry Pi 2
Cross compiling for the Raspberry Pi from Windows
1. Using fpcup
One way is to use fpcup to set up a cross compiler; follow these instructions: fpcup#Linux_ARM_cross_compiler
2. Using scripts
Alternatively, for a more manual approach using batch files, you can follow these steps.
2.1 PrerequisitesFPC 2.7.1 or higher installed with sourcecodeInstall the Windows version from the Linaro binutils for linux gnueabihf into %FPCPATH%/bin/win32-armhf-linux 
2.2 Example Build Script (adapt paths as needed)
With the resulting ppcrossarm.exe and ARM RTL you will be able to build a cross Lazarus version as usual and compile FPC projects for the Raspberry Pi and other armhf devices. Remember that not all - especially Windows - libraries are available for Linux arm.
Compiling from sources
You may want to compile Lazarus from subversion sources. See Michell Computing: Lazarus on the Raspberry Pi for details.
How to start Lazarus in Raspbian Wheezy
Lazarus on Raspberry Pi
Numbering of GPIO pins
Compiling from sources on Raspberry with Gentoo (and other distro)
If you want to install the latest stable release of fpc and, additional and isolated, the trunk fpc compiler: you can read the following guide. It was written using gentoo but this guide will be useful with any distro: Install fpc on Raspberry with Gentoo
Accessing external hardware
One of the goals in the development of Raspberry Pi was to facilitate effortless access to external devices like sensors and actuators. There are five ways to access the I/O facilities from Lazarus and Free Pascal:
- Direct access using the BaseUnix unit
- Access through encapsulated shell calls
- Access through the wiringPi library.
- Access through Unit rpi_hal.
- Access through Unit PiGpio.
- Access through the PascalIO library.
1. Native hardware access
This method provides access to external hardware that doesn't require additional libraries. The only requirement is the BaseUnix library that is part of Free Pascal's RTL.
Switching a device via the GPIO port
The following example lists a simple program that controls the GPIO pin 17 as output to switch an LED, transistor or relais. This program contains a ToggleBox with nameGPIO17ToggleBox and for logging return codes a TMemo called LogMemo.
For the example, the anode of a LED has been connected with Pin 11 on the Pi's connector (corresponding to GPIO pin 17 of the BCM2835 SOC) and the LED's cathode was wired via a 68 Ohm resistor to pin 6 of the connector (GND) as previously described by Upton and Halfacree. Subsequently, the LED may be switched on and off with the application's toggle box.
The code requires to be run as root, i.e. either from a root account (not recommended) or via su.
등록된 댓글이 없습니다.