Sign in Join
Wiki copytemporary

ARM Embedded Tutorial - Installing Lazarus and Free Pascal: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## Quickstart Installation via FPCUPdeluxe
22
33The easiest way to install Embedded Support for a huge variety of embedded controllers is to use fpcupdeluxe.
44
55Download latest(!!!) FPCUPdeluxe from
66
77[fpcupdeluxe releases on github](https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases).
88
99Make sure that you use a version \>= v1.8.2r of FPCUPdeluxe, the tutorial references features that are only in this and newer versions.
1010
1111As we are using trunk versions we highly recommend to create an extra installation for embedded targets so that issues in compiler/lazarus do not effect your other work.
1212
1313## Steps for people mainly interested in Wio Terminal or Raspberry Pico
1414
1515When your primary targts of interest are the Wio Terminal or the Raspberry Pico, then installation consists of entering an installation directory for fpcupdeluxe on top left and then selecting the speedbutton for 'Wio' or 'Pico' on the bottom of the screen:
1616
17-<figure>
1817<img src="SelectEmbeddedandTrunk.png" title="SelectEmbeddedandTrunk.png" width="800" />
19-<figcaption>SelectEmbeddedandTrunk.png</figcaption>
20-</figure>
2118
2219## Steps for people interested in other targets like arm avr or espressif microcontrollers
2320
2421For all other targets select embedded (or trunk.git) for fpc and trunk.git for lazarus.
2522
2623The reason to choose embedded would be to have support for more arm-embedded controllers that are currently not yet available in fpc trunk and installing trunk.git instead of stable lazarus is a good idea because debugging for embedded targets is much improved in lazarus trunk.
2724
2825For all platforms besides arm trunk.git is likely the best choice for both fpc and lazarus.
2926
3027To build your embedded version of Lazarus follow those simple steps:
3128
3229- Select the target directory for your installation
3330- Select embedded or trunk.git for fpc
3431- Select trunk.git for lazarus
3532
3633Hit the Install/update FPC+Laz button.
3734
38-<figure>
3935<img src="SelectEmbeddedandTrunk.png" title="SelectEmbeddedandTrunk.png" width="800" />
40-<figcaption>SelectEmbeddedandTrunk.png</figcaption>
41-</figure>
4236
4337After installation of FPC+Lazarus is done switch to the 'Cross' Tab
4438
4539In the Cross tab select the desired CPU and the desired OS und then click on the 'Set subarch' button to define the subarch that you would like to use:
4640
47-<figure>
4841<img src="fpcupdeluxe_manual_install_1.png" title="fpcupdeluxe_manual_install_1.png" width="800" />
49-<figcaption>fpcupdeluxe_manual_install_1.png</figcaption>
50-</figure>
5142
5243Now you can select 'Install compiler' button and the selected subarch will be installed.....
5344
5445You may repeat this step for all CPU's subarchs you wish to install.
5546
5647Some hints on Subarchs:
5748
5849- armv6m Subarch is good for Raspberry Pico, SAMD21 based board like the Arduino Zero or STM32F0/G0/L0 families
5950
6051- armv7m is for the Bluepill, Arduino Due or STM32F1/L1
6152
6253- armv7em is for the Wio Terminal, Blackpill or SAMD51 / STM32F3/F4/G4/H7/L4 families
6354
6455- avr5 is for Arduino Uno
6556
6657- lx6 is for ESP32 based boards
6758
6859## Install extra devel tools
6960
7061There is an extra module available to ease development by providing pre-compiled binaries for some usefull tools:
7162
7263For avr development:
7364
7465- avarice (gdbserver for several debug probes manufactured by Microchip)
7566
7667- bossac (upload firmwares to avr controllers)
7768
7869for arm development:
7970
8071- openocd (gdbserver for all kinds of debug probes)
8172
8273- st-util (gdbserver specially for st-link v2/v3 debug probes)
8374
8475for the Raspberry Pico:
8576
8677- openocd-picodebug (gdbserver for running a debug probe on the 2nd cpu of your pico)
8778
8879- openocd-rp2040 (gdbserver for using a 2nd pico as a debug probe)
8980
9081general:
9182
9283- gdb-multiarch (one gdb to debug all embedded archs available)
9384
9485- gdb-multiarch-8.3.1 (an older version of gdb that works better for avr)
9586
9687Install it by selection develtools4fpc on the Modules tab of fpcupdeluxe by selection develtools4fpc and clicking 'Install Module':
9788
98-<figure>
9989<img src="modules_devtools4fpc.png" title="modules_devtools4fpc.png" width="800" />
100-<figcaption>modules_devtools4fpc.png</figcaption>
101-</figure>
10290
10391the files will then get deployed to the ccr/devtools4fpc directory inside of your fpcupdeluxe installation
10492
10593More information on fpcupdeluxe can be found here: [[fpcupdeluxe|FpcUpDeluxe Wiki]].
10694
10795---
10896*From the Free Pascal wiki, page "ARM Embedded Tutorial - Installing Lazarus and Free Pascal", as it stood on 2021-04-15 after a change by MiR, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history