Difference between revisions of "Resources"
From Ultibo.org
(13 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
==== Raspberry Pi ==== | ==== Raspberry Pi ==== | ||
− | * [https://www.raspberrypi. | + | * [https://www.raspberrypi.com/documentation/ Raspberry Pi Documentation] - Official hardware and general documentation |
− | * [https://www.raspberrypi. | + | * [https://www.raspberrypi.com/documentation/computers/config_txt.html Raspberry Pi config.txt] - Complete documentation of the firmware configuration options |
+ | * [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-revision-codes Raspberry Pi revisions] - Full listing of all Raspberry Pi models and revision codes | ||
+ | * [https://datasheets.raspberrypi.com/ Raspberry Pi datasheets] - All Raspberry Pi datasheets and other downloads | ||
+ | * [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#gpio Raspberry Pi GPIO pinouts] - Documentation for GPIO pins and functions ([https://pinout.xyz/ Alternative]) | ||
=== Forums and Groups === | === Forums and Groups === | ||
---- | ---- | ||
− | * [https:// | + | * [https://forums.raspberrypi.com/index.php Raspberry Pi forums] - General usage and programming for Raspberry Pi |
− | * [https:// | + | * [https://forums.raspberrypi.com/viewforum.php?f=72 Raspberry Pi Bare metal forum] - Discussion specific to bare metal (no OS) programming ''(Recommended)'' |
* [http://forum.lazarus.freepascal.org/index.php Lazarus forums] - Includes general Free Pascal programming forums | * [http://forum.lazarus.freepascal.org/index.php Lazarus forums] - Includes general Free Pascal programming forums | ||
Line 42: | Line 45: | ||
==== Operating Systems ==== | ==== Operating Systems ==== | ||
* [http://wiki.osdev.org/Expanded_Main_Page OS Dev Wiki] - Lots of detailed information and references including ARM, Raspberry Pi and Pascal | * [http://wiki.osdev.org/Expanded_Main_Page OS Dev Wiki] - Lots of detailed information and references including ARM, Raspberry Pi and Pascal | ||
+ | |||
+ | ==== Libraries and Algorithms ==== | ||
+ | * [https://github.com/bztsrc/single_file_libs List of single-file C/C++ libraries] - Single file public domain or open source libraries with minimal dependencies | ||
=== Technical References === | === Technical References === | ||
Line 47: | Line 53: | ||
==== ARM Processors ==== | ==== ARM Processors ==== | ||
− | * [ | + | * [https://developer.arm.com/documentation/ddi0301/latest/ ARM1176JZF-S Technical Reference Manual] - The processor used by the Raspberry Pi A, B, A+, B+ and Zero |
− | * [ | + | * [https://developer.arm.com/documentation/ddi0464/latest/ Cortex-A7 MPCore Technical Reference Manual] - The processor used by the Raspberry Pi 2B |
+ | * [https://developer.arm.com/documentation/ddi0500/latest/ Cortex-A53 MPCore Processor Technical Reference Manual] - The processor used by the Raspberry Pi 2B, 3B, 3A+, 3B+, Zero 2 and CM3 | ||
+ | * [https://developer.arm.com/documentation/100095/latest/ Cortex-A72 MPCore Processor Technical Reference Manual] - The processor used by the Raspberry Pi 4B, 400 and CM4 | ||
+ | * [https://developer.arm.com/documentation/100076/0200/a32-t32-instruction-set-reference ARM A32 (Aarch32) Instruction Set Reference] - Assembler instruction set for 32-bit ARM CPUs | ||
+ | * [https://developer.arm.com/documentation/ddi0602/latest/ ARM A64 (Aarch64) Instruction Set Reference] - Assembler instruction set for 64-bit ARM CPUs | ||
==== USB ==== | ==== USB ==== | ||
Line 59: | Line 69: | ||
==== Raspberry Pi ==== | ==== Raspberry Pi ==== | ||
* [http://elinux.org/RPi_Hardware Raspberry Pi Hardware] - Detailed collection of information about the Raspberry Pi hardware | * [http://elinux.org/RPi_Hardware Raspberry Pi Hardware] - Detailed collection of information about the Raspberry Pi hardware | ||
− | * [https:// | + | * [https://datasheets.raspberrypi.com/bcm2835/bcm2835-peripherals.pdf BCM2835 ARM Peripherals] - Official Broadcom documentation for the BCM2835 SoC (Raspberry Pi A/B/A+/B+/Zero) |
− | * [https:// | + | * [https://datasheets.raspberrypi.com/bcm2836/bcm2836-peripherals.pdf QA7 Rev3.4] - Official documentation for the BCM2836 / BCM2837 SoC (Raspberry Pi 2B/3B/3A+/3B+) |
+ | * [https://datasheets.raspberrypi.com/bcm2711/bcm2711-peripherals.pdf BCM2711 ARM Peripherals] - Official documentation for the BCM2711 / BCM2838 SoC (Raspberry Pi 4B) | ||
+ | * [https://docs.broadcom.com/docs/12358545 VideoCore IV 3D Reference Guide] - Architecture Reference Guide for the Broadcom VideoCore IV 3D Graphics Processor | ||
+ | * [https://github.com/msperl/rpi-registers BCM2835 Registers] - Unofficial documentation for all of the BCM2835 (and later) registers | ||
==== Versatile Platform Baseboard ==== | ==== Versatile Platform Baseboard ==== |
Latest revision as of 23:27, 20 October 2024
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)