Forum > Embedded
Lazarus Pascal cross compile Raspberry pi PICO
DonAlfredo:
Try this (again).
Copy this file (the dummy): "C:\yourinstalldirectory\fpc\units\arm-embedded\armv6m\eabi\system.ppu"
Towards the parent directory: "C:\yourinstalldirectory\fpc\units\arm-embedded\armv6m"
Again, let Lazarus scan the FPC sources.
Close Lazarus. Open Lazarus.
Thaddy:
That works only for Rpi32, not for RpiAarch64.
Also note (maybe except RPi1, have to look it up) it should be for ARMv7a
DonAlfredo:
PICO = RP2040 = Cortex M0+ = ARMv6M
andrew Bubble:
Hi Thaddy
Result !!
I have done as you have asked and in both cases my VMware Windows Lazarus and Raspberry Pi Lazarus now opens the examples with out any errors.
My next question is how to set up or make a project for the Pico from scratch from the Lazarus New Project.
Regards Andrew
Thaddy:
--- Quote from: DonAlfredo on January 09, 2024, 09:30:40 pm ---PICO = RP2040 = Cortex M0+ = ARMv6M
--- End quote ---
Nope, but for Pico you are correct.
Here's an exact overview of the other ones:
The Raspberry Pi range of single-board computers uses different ARM processors depending on the model. Here is a list of the different models and their corresponding processors and ABI for the standard OS:
- Raspberry Pi 1 Model A and B: Broadcom BCM2835 SoC with ARM1176JZF-S CPU, ARMv6 Hard float
- Raspberry Pi 1 Model A+ and B+: Broadcom BCM2835 SoC with ARM1176JZF-S CPU, ARMv6 Hard float
- Raspberry Pi 2 Model B: Broadcom BCM2836 SoC with quad-core ARM Cortex-A7 CPU, ARMv6 Hard float, but later models ARMv7 Hard float because that was really already a BCM2837
- Raspberry Pi 3 Model B and B+: Broadcom BCM2837 SoC with quad-core ARM Cortex-A53 CPU, ARMv7 Hard float
- Raspberry Pi 4 Model B: Broadcom BCM2711 SoC with quad-core ARM Cortex-A72 CPU, ARMv7 Hard float
- Raspberry Pi 5 Model B: Broadcom BCM2712 Soc with quad code ARM Cortex-A76 CPU, ARMv8 Hard float
To a certain extend the ABI depends on the OS that is used, but the above is for the standard Raspberry Debian based OS.
All versions of the 32 ABI's are compatible with ARMv6 Hard float. It only matters if you need the features in your programs. For Lazarus and FPC I would stick with ARMv6 to compile themselves, as long as the CPU/FPU compiler options for my own software are listed correctly.
Only the Raspberry Pi 5 entry was written by me, the rest was found on the web.
Navigation
[0] Message Index
[*] Previous page