LINKS: Unterschied zwischen den Versionen
Aus C und Assembler mit Raspberry
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 35: | Zeile 35: | ||
---- | ---- | ||
<sup>1</sup> Information aus: https://www.raspberrypi.org/documentation/hardware/raspberrypi/README.md | |||
---- | |||
== Forum == | |||
Raspberry Pi Forum: https://www.raspberrypi.org/forums/ | |||
== Bare Metal Projekte == | |||
{| class="wikitable" | |||
|+ Bare Metal Projekte | |||
|- | |||
! Name !! RPI !! Programmiersprache !! Inhalt !! Link !! Aktuell | |||
|- | |||
| Writing a "bare metal" operating system for Raspberry Pi 4 || Pi4 || C (ARMv8) || UART, Grafik, Bluetooth, Sound, Multicore, Interrupts, SPI Ethernet, TCPIP Webserver|| https://www.rpi4os.com/ or https://github.com/isometimes/rpi4-osdev<nowiki/>|| ca. 7 Monate | |||
|- | |||
| Bare Metal Programming on Raspberry Pi 3 || Pi3 || C (ARMv8) || Multicore, UART1, Mailbox, UART0, Zufallszahlen, Timer, PowerOff, Grafik, Diskfunktionen, Memory || https://github.com/bztsrc/raspi3-tutorial || 1 Jahr | |||
|- | |||
| Circle || Pi0-5 || C++ || Multicore, Interrupt (IRQ, FIQ), UART, GPIO, Timer, DMA, PWM, HDMI-Ton, WLAN, Ethernet, USB (HUB, HID, Speichergeräte, MIDI, Drucker), FAT, FatFs, Grafik || https://github.com/rsta2/circle || 1 Monat | |||
|- | |||
| Ultibo || Pi0-4 || Free Pascal || Multicore, Interrupt (IRQ, FIQ), UART, GPIO, Timer, DMA, PWM, HDMI-Ton, WLAN, Ethernet, USB (HUB, HID, Speichergeräte, MIDI, Drucker), FAT, FatFs, Grafik || https://ultibo.org/ || ca. 1 Monat | |||
|- | |||
| Raspberry-Pi Bare Metal Tutorial || Pi0-4 || C || C Runtime, Interrupts, UART, Mailbox, Grafik || https://www.valvers.com/open-software/raspberry-pi/bare-metal-programming-in-c-part-1/ || ca. 4 Jahre | |||
|- | |||
| USPi - A bare metal USB driver for Raspberry Pi 1-3 written in C || Pi0-3 || C || Circle in C || https://github.com/rsta2/uspi || ca. 10 Monate | |||
|- | |||
| dwelch67 || Pi0-3 || C || Float, Bootloader, MMU, SPI, UART, VIDEO, ZLIB || https://github.com/dwelch67/raspberrypi || ca. 6 Jahre | |||
|- | |||
| ... || Pi1 || Assembler || || https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/index.html || ca. 12 Jahre | |||
|- | |||
| Learning operating system development using Linux kernel and Raspberry Pi || Pi3 || C || Printf, Interrupt, Memory </br> Vergleicht Bare Metal und Linux || https://github.com/s-matyukevich/raspberry-pi-os || 3 Jahre | |||
|- | |||
|PeterLemon RaspberryPi | |||
|Pi1-3 | |||
|Assembler | |||
| | |||
|https://github.com/PeterLemon/RaspberryPi | |||
|3 Jahre | |||
|- | |||
|pi-baremetal | |||
|Pi1 | |||
|C | |||
| | |||
|https://github.com/brianwiddas/pi-baremetal | |||
|12 Jahre | |||
|- | |||
|Raspberry Pi Bare Bones | |||
|Pi1-4 | |||
|C | |||
|QEMU | |||
|http://wiki.osdev.org/Raspberry_Pi_Bare_Bones | |||
|ca. 1,5 Jahre | |||
|- | |||
|circle-stdlib | |||
|Pi1-4 | |||
|C++ | |||
|Circle StdLib | |||
|https://github.com/smuehlst/circle-stdlib | |||
|3 Monate | |||
|- | |||
|sean-lawless / computersystems | |||
|Pi1-4 | |||
|C | |||
| | |||
|https://github.com/sean-lawless/computersystems/tree/master | |||
|Aktuell | |||
|- | |||
|macoy rpi-system | |||
|Pi4 | |||
|C | |||
|Circle in C (nur RPI4) | |||
|https://macoy.me/code/macoy/rpi-system | |||
|Aktuell | |||
|} | |||
Stand Januar 2024 | |||
== Nützliche Links == | |||
{| class="wikitable" | |||
|+ Nützliche Links | |||
|- | |||
! Name !! Inhalt !! Link | |||
|- | |||
| Introduction to Computer Organization: ARM Assembly Language Using the Raspberry Pi || ARM-Assembler || https://bob.cs.sonoma.edu/IntroCompOrg-RPi/intro-co-rpi.html | |||
|- | |||
| Arm GNU Toolchain Downloads || Toolchain || https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads | |||
|- | |||
| ARM assembler in Raspberry Pi || ARM-Assembler || https://thinkingeek.com/arm-assembler-raspberry-pi/ | |||
|- | |||
| A Guide to ARM64 / AArch64 Assembly on Linux with Shellcodes and Cryptography || ARM-Assembler || https://modexp.wordpress.com/2018/10/30/arm64-assembly/ | |||
|- | |||
| Découvrir l'assembleur ARM sur Raspberry Pi || ARM-Assembler || https://assembleurarmpi.blogspot.com/ or https://github.com/vincentARM/ARMassembly64 | |||
|- | |||
|ARMv8 A64 Quick Reference | |||
|ARM-Assembler | |||
|https://courses.cs.washington.edu/courses/cse469/18wi/Materials/arm64.pdf | |||
|- | |||
|ARMv8 Instruction Set Overview | |||
|ARM-Assembler | |||
|https://www.cs.princeton.edu/courses/archive/fall23/cos217/reading/ArmInstructionSetOverview.pdf | |||
|- | |||
|A64 Systemaufrufe | |||
|ARM-Assembler | |||
|https://arm64.syscall.sh/ | |||
|- | |||
| | |||
| | |||
|https://s-matyukevich.github.io/raspberry-pi-os/ | |||
|} | |||
== Andere, nicht zugeordnet == | |||
Raspberry Pi DMA programming in C https://iosoft.blog/2020/05/25/raspberry-pi-dma-programming/ | |||
Mailbox property interface https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface | |||
Aktuelle Version vom 28. November 2024, 20:19 Uhr
Dokumentation für den Raspberry Pi
Raspberry Pi auf elinux.org
Peripherie Unterlagen
https://www.raspberrypi.org/documentation/hardware/raspberrypi/README.md
Raspberry Pi 1 Models A, A+, B, B+, Raspberry Pi Zero, Raspberry Pi Zero W, und Raspberry Pi Compute Module 1
- BCM2835 ARM Peripherals: https://datasheets.raspberrypi.com/bcm2835/bcm2835-peripherals.pdf1
- VideoCore® IV 3D, Architecture Reference Guide: https://docs.broadcom.com/docs/123585451
- ARM1176JZF-S: https://developer.arm.com/documentation/ddi03011
Raspberry Pi 2 Model B
- BCM2836 ARM Peripherals: https://datasheets.raspberrypi.com/bcm2836/bcm2836-peripherals.pdf1
- Cortex-A7 MPcore Processor Reference Manual: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0464f/index.html1
Raspberry Pi 3 Model B, spätere Raspberry Pi 2 Model B und Raspberry Pi Compute Module 3
BCM2837 ist identisch wie BCM28361
- BCM2836 ARM Peripherals: https://datasheets.raspberrypi.com/bcm2836/bcm2836-peripherals.pdf1
- Arm Cortex-A53: https://developer.arm.com/documentation/ddi0500/latest/1
Raspberry Pi 3 Models A+, B+ und Raspberry Pi Compute Module 3+
BCM2837B0 ist identisch wie BCM2837, Änderung der internen Frequenzen.1
- BCM2836 ARM Peripherals: https://datasheets.raspberrypi.com/bcm2836/bcm2836-peripherals.pdf1
- Arm Cortex-A53: https://developer.arm.com/documentation/ddi0500/latest/1
Raspberry Pi 4 Model B, the Raspberry Pi 400, and the Raspberry Pi Compute Module 4
- BCM2711 ARM Peripherals: https://datasheets.raspberrypi.com/bcm2711/bcm2711-peripherals.pdf1
- Arm Cortex-A72: https://developer.arm.com/Processors/Cortex-A72
Raspberry Pi 5
- rp1-peripherals: https://datasheets.raspberrypi.com/rp1/rp1-peripherals.pdf
1 Information aus: https://www.raspberrypi.org/documentation/hardware/raspberrypi/README.md
Forum
Raspberry Pi Forum: https://www.raspberrypi.org/forums/
Bare Metal Projekte
| Name | RPI | Programmiersprache | Inhalt | Link | Aktuell |
|---|---|---|---|---|---|
| Writing a "bare metal" operating system for Raspberry Pi 4 | Pi4 | C (ARMv8) | UART, Grafik, Bluetooth, Sound, Multicore, Interrupts, SPI Ethernet, TCPIP Webserver | https://www.rpi4os.com/ or https://github.com/isometimes/rpi4-osdev | ca. 7 Monate |
| Bare Metal Programming on Raspberry Pi 3 | Pi3 | C (ARMv8) | Multicore, UART1, Mailbox, UART0, Zufallszahlen, Timer, PowerOff, Grafik, Diskfunktionen, Memory | https://github.com/bztsrc/raspi3-tutorial | 1 Jahr |
| Circle | Pi0-5 | C++ | Multicore, Interrupt (IRQ, FIQ), UART, GPIO, Timer, DMA, PWM, HDMI-Ton, WLAN, Ethernet, USB (HUB, HID, Speichergeräte, MIDI, Drucker), FAT, FatFs, Grafik | https://github.com/rsta2/circle | 1 Monat |
| Ultibo | Pi0-4 | Free Pascal | Multicore, Interrupt (IRQ, FIQ), UART, GPIO, Timer, DMA, PWM, HDMI-Ton, WLAN, Ethernet, USB (HUB, HID, Speichergeräte, MIDI, Drucker), FAT, FatFs, Grafik | https://ultibo.org/ | ca. 1 Monat |
| Raspberry-Pi Bare Metal Tutorial | Pi0-4 | C | C Runtime, Interrupts, UART, Mailbox, Grafik | https://www.valvers.com/open-software/raspberry-pi/bare-metal-programming-in-c-part-1/ | ca. 4 Jahre |
| USPi - A bare metal USB driver for Raspberry Pi 1-3 written in C | Pi0-3 | C | Circle in C | https://github.com/rsta2/uspi | ca. 10 Monate |
| dwelch67 | Pi0-3 | C | Float, Bootloader, MMU, SPI, UART, VIDEO, ZLIB | https://github.com/dwelch67/raspberrypi | ca. 6 Jahre |
| ... | Pi1 | Assembler | https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/index.html | ca. 12 Jahre | |
| Learning operating system development using Linux kernel and Raspberry Pi | Pi3 | C | Printf, Interrupt, Memory Vergleicht Bare Metal und Linux |
https://github.com/s-matyukevich/raspberry-pi-os | 3 Jahre |
| PeterLemon RaspberryPi | Pi1-3 | Assembler | https://github.com/PeterLemon/RaspberryPi | 3 Jahre | |
| pi-baremetal | Pi1 | C | https://github.com/brianwiddas/pi-baremetal | 12 Jahre | |
| Raspberry Pi Bare Bones | Pi1-4 | C | QEMU | http://wiki.osdev.org/Raspberry_Pi_Bare_Bones | ca. 1,5 Jahre |
| circle-stdlib | Pi1-4 | C++ | Circle StdLib | https://github.com/smuehlst/circle-stdlib | 3 Monate |
| sean-lawless / computersystems | Pi1-4 | C | https://github.com/sean-lawless/computersystems/tree/master | Aktuell | |
| macoy rpi-system | Pi4 | C | Circle in C (nur RPI4) | https://macoy.me/code/macoy/rpi-system | Aktuell |
Stand Januar 2024
Nützliche Links
Andere, nicht zugeordnet
Raspberry Pi DMA programming in C https://iosoft.blog/2020/05/25/raspberry-pi-dma-programming/
Mailbox property interface https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface