ARM Embedded Tutorials
Deutsch · English
Overview
Tutorials for programming ARM microcontrollers with FPC and Lazarus. This applies, for example, to the STM32 microcontrollers and RP2040 (Raspberry Pi Pico) microcontroller.
Set up driver / cross compiler / IDE
STM32
- Introduction to STM32 and FPC - How do I set up FPC / IDE (MSEide) to program an STM32F103C?
Raspberry Pi Pico
To best use this tutorial you will need to buy (at least) two Raspberry Pi Pico, we will use one as a target and the second one as a debug probe. Do yourself a favour, invest $4 for a second device, being able to debug is worth so much more.
As the Pico is brand new and support for the board is a work in progress I'd recommend that you set up a dedicated installation of Lazarus and Free Pascal as you will need to use both trunk version of Lazarus and a specially patched version of FPC that includes the necessary adjustments so that FPC knows about the Pico. Also expect changes as we all learn along the way.
- Installing Lazarus and Free Pascal
- Raspberry Pi Pico Setting up for Development
- Raspberry Pi Pico Debugging the onboard LED
To access the Raspberry Pi Pico examples below, together with all needed dependencies, clone this repository:
https://github.com/michael-ring/pico-fpcexamples
Create issues and add feature requests on Github:
https://github.com/michael-ring/pico-fpcexamples/issues
ARM programming Examples
STM32
- GPIO - output and input - How to make a GPIO output
- Simple timer - A simple timer
Raspberry Pi Pico
- Raspberry Pi Pico blinking the onboard LED
- Raspberry Pi Pico saying Hello via UART
- Raspberry Pi Pico using the ADC
- Raspberry Pi Pico Scanning for I2C Devices
- Raspberry Pi Pico using Displays and I2C
- Raspberry Pi Pico using Displays and SPI
See also
- Examples (external)
- ARM - Cross compiler
- AVR Embedded Tutorials - Tutorials for AVR Embedded/Arduino
From the Free Pascal wiki, page "ARM Embedded Tutorials", as it stood on 2021-12-30 after a change by Trev, 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.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
