Resources
From Ultibo.org
Contents
Documentation
Free Pascal
- Free Pascal User Guide
- Free Pascal Reference Guide (Recommended)
- Free Pascal RTL Reference (Recommended)
Lazarus
Raspberry Pi
- Raspberry Pi Documentation - Official hardware and general documentation
- Raspberry Pi config.txt - Complete documentation of the firmware configuration options
- Raspberry Pi revisions - Full listing of all Raspberry Pi models and revision codes
- Raspberry Pi datasheets - All Raspberry Pi datasheets and other downloads
- Raspberry Pi GPIO pinouts - Documentation for GPIO pins and functions (Alternative)
Forums and Groups
- Raspberry Pi forums - General usage and programming for Raspberry Pi
- Raspberry Pi Bare metal forum - Discussion specific to bare metal (no OS) programming (Recommended)
- Lazarus forums - Includes general Free Pascal programming forums
Tutorials and Guides
Pascal Programming
- Object Pascal Tutorial - Very relevant to learning programming with Ultibo except for the graphics section
Bare Metal Programming
- Baking Pi - A detailed online course in bare metal OS development on Raspberry Pi (Assembler language)
- Bare Metal Programming in C - A 5 part tutorial in bare metal development on Raspberry Pi (C language)
Examples and Information
Bare Metal and Embedded
- Circle - A bare metal environment for Raspberry Pi in C++
- dwelch67 - A range of bare metal examples for the Raspberry Pi in assembler
- PeterLemon - More bare metal examples for the Raspberry Pi in assembler
- Xinu Pi - A port of embedded Xinu to the Raspberry Pi (C language)
Operating Systems
- OS Dev Wiki - Lots of detailed information and references including ARM, Raspberry Pi and Pascal
Libraries and Algorithms
- List of single-file C/C++ libraries - Single file public domain or open source libraries with minimal dependencies
Technical References
ARM Processors
- ARM1176JZF-S Technical Reference Manual - The processor used by the Raspberry Pi A, B, A+, B+ and Zero
- Cortex-A7 MPCore Technical Reference Manual - The processor used by the Raspberry Pi 2B
- Cortex-A53 MPCore Processor Technical Reference Manual - The processor used by the Raspberry Pi 2B, 3B, 3A+, 3B+, Zero 2 and CM3
- Cortex-A72 MPCore Processor Technical Reference Manual - The processor used by the Raspberry Pi 4B, 400 and CM4
- ARM A32 (Aarch32) Instruction Set Reference - Assembler instruction set for 32-bit ARM CPUs
- ARM A64 (Aarch64) Instruction Set Reference - Assembler instruction set for 64-bit ARM CPUs
USB
- USB 2.0 documents - Specifications and documentation for USB 2.0
- USB Device Class Documents - Specifications and documentation for standard USB device classes
Bluetooth
- Bluetooth specifications - Specifications and documentation for Bluetooth
Raspberry Pi
- Raspberry Pi Hardware - Detailed collection of information about the Raspberry Pi hardware
- BCM2835 ARM Peripherals - Official Broadcom documentation for the BCM2835 SoC (Raspberry Pi A/B/A+/B+/Zero)
- QA7 Rev3.4 - Official documentation for the BCM2836 / BCM2837 SoC (Raspberry Pi 2B/3B/3A+/3B+)
- BCM2711 ARM Peripherals - Official documentation for the BCM2711 / BCM2838 SoC (Raspberry Pi 4B)
- VideoCore IV 3D Reference Guide - Architecture Reference Guide for the Broadcom VideoCore IV 3D Graphics Processor
- BCM2835 Registers - Unofficial documentation for all of the BCM2835 (and later) registers
Versatile Platform Baseboard
- RealView Platform Baseboard for ARM926EJ-S - Official documentation for the Versatile Platform Baseboard as emulated by QEMU
Suppliers
Raspberry Pi and accessories
- Farnell Element14 - Raspberry Pi and others, add-ons, accessories and electronic components
- RS Components - Raspberry Pi and others, add-ons, accessories and electronic components
- Adafruit - Raspberry Pi, Arduino and others, add-ons, sensors, kits and components (USA)
- Pimoroni Ltd - Raspberry Pi, Arduino, kits, tools, books and cases (UK)
- Little Bird Electronics - Raspberry Pi, Arduino and others, kits, components, sensors and tools (Australia)