Benutzerbeiträge von „Satyria“
Aus C und Assembler mit Raspberry
Ein Benutzer mit 1.341 Bearbeitungen. Das Konto wurde am 2. Juli 2024 erstellt.
12. Juli 2024
- 07:3107:31, 12. Jul. 2024 Unterschied Versionen +38 Bytes K Programm auf dem Raspberry Pi 5 ausführen →Kernel-Datei kopieren
- 07:3007:30, 12. Jul. 2024 Unterschied Versionen 0 Bytes K Hauptseite Keine Bearbeitungszusammenfassung
- 07:2607:26, 12. Jul. 2024 Unterschied Versionen +7.865 Bytes N Grafik in C (PI5) Die Seite wurde neu angelegt: „Vorab: Auf dem Raspberry Pi 5 hat sich in Sachen Grafik einiges geändert, was es für BareMetal-Entwickler schwieriger macht, die Grafik richtig zu programmieren. Dazu gab es bereits eine Diskussion auf GitHub: [https://github.com/raspberrypi/firmware/issues/1904 Raspberry Pi Firmware Issue #1904]. Diese Entwicklung oder Entscheidung gefällt mir nicht! Dennoch habe ich es geschafft, eine Anzeige auf dem Raspberry Pi 5 zu implementieren, die funktional…“
- 07:0907:09, 12. Jul. 2024 Unterschied Versionen +186 Bytes K Hauptseite Keine Bearbeitungszusammenfassung
6. Juli 2024
- 19:5919:59, 6. Jul. 2024 Unterschied Versionen +13.888 Bytes N Making the LED Blink (PI5) Die Seite wurde neu angelegt: „With the previously created Makefile and linker script, we have established a foundation to develop a meaningful program. Our goal is to make the built-in LED of the Raspberry Pi blink. I will explain each step and why it is implemented in this project. === Directory Preparation === First, create a new directory, for example, LED, and place the Makefile and the linker.ld file in it. Also, create the "include" directory within LED to organize our header…“
- 19:3219:32, 6. Jul. 2024 Unterschied Versionen +3.419 Bytes N Working with Make and Linker Script Die Seite wurde neu angelegt: „In this section, we will learn how to develop an operating system on the Raspberry Pi 5 by creating multiple source files and linking them with a linker. We will also use a Makefile to automate the build process. Additionally, we will cover C and C++. === Creating a Makefile === A Makefile helps us automate the build process and keep track of our files. Here is an example Makefile: <syntaxhighlight lang="shell"> CSRCS := $(wildcard *.c) CPPSRCS := $(wildc…“
- 19:2519:25, 6. Jul. 2024 Unterschied Versionen +915 Bytes N Running the Program on the Raspberry Pi 5 Die Seite wurde neu angelegt: „== Preparing the SD Card == To create a bootable SD card for the Raspberry Pi 5, we first need an SD card formatted in FAT32. === Downloading the File === Download the following file from this GitHub repository https://github.com/raspberrypi/firmware/tree/master/boot: *bcm2712-rpi-5-b.dtb === Copying the File to the SD Card === Copy the downloaded file to the SD card. === Creating config.txt === Create a file named config.txt on the SD card and add th…“
- 19:2319:23, 6. Jul. 2024 Unterschied Versionen +2 Bytes Our First Program (PI5) Keine Bearbeitungszusammenfassung
- 19:2319:23, 6. Jul. 2024 Unterschied Versionen +2 Bytes Unser erstes Programm (PI5) Keine Bearbeitungszusammenfassung
- 19:2219:22, 6. Jul. 2024 Unterschied Versionen +2.314 Bytes N Our First Program (PI5) Die Seite wurde neu angelegt: „Our first program will initially do nothing. It will simply run an infinite loop. This serves as a basic building block for all further experiments. I will explain how to create, compile, and run such a program. First, let's check if everything works. === Creating the Source Code === Open a text editor to write our first Assembly program: <syntaxhighlight lang="GAS"> // // The first program // 01.07.2024 www.satyria.de // .section .init // Ensure the link…“
- 19:1919:19, 6. Jul. 2024 Unterschied Versionen +755 Bytes N Introduction to C and Assembly Programming with the Raspberry Pi 5 Die Seite wurde neu angelegt: „In this tutorial, we will cover some topics not described in the previous script for the Raspberry Pi 4. Creating an operating system requires various functions. For example, we need to set up memory management and handle interrupts. Interaction via a USB interface can also be complicated. Later on, we will introduce disk operations, launching additional programs written for this operating system, and more. === Why C and Assembly? === Although the focus o…“
- 19:1719:17, 6. Jul. 2024 Unterschied Versionen +1.145 Bytes N Setting up the Programming Environment (64-Bit) Die Seite wurde neu angelegt: „== Installing the GNU Toolchain == The GNU Toolchain can be downloaded directly from ARM: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads There is only a 32-bit version available, but this does not affect us. Download the ZIP file. none|400px === Downloading and Extracting the Toolchain === Go to your download directory, select the ZIP file, and right-click on it. Choose "Extract All…". === Selecting th…“
5. Juli 2024
- 12:5012:50, 5. Jul. 2024 Unterschied Versionen 0 Bytes Setting up the Programming Environment (Console) Keine Bearbeitungszusammenfassung
- 12:5012:50, 5. Jul. 2024 Unterschied Versionen +4.397 Bytes N Setting up the Programming Environment (Console) Die Seite wurde neu angelegt: „To create programs, it is essential to establish a suitable programming environment where both programming and compiling are possible. In the following sections, I will explain how to set up such an environment. It is generally possible to program directly on the Raspberry Pi. For this, an operating system must be installed to serve as a development environment. However, this can be challenging when it comes to writing an SD card for the self-created ke…“
- 12:4712:47, 5. Jul. 2024 Unterschied Versionen +50 Bytes Programmierumgebung erstellen (Konsole) Keine Bearbeitungszusammenfassung
- 12:4012:40, 5. Jul. 2024 Unterschied Versionen +3.553 Bytes N Basics of Assembly Die Seite wurde neu angelegt: „Assembler is a programming language designed for the specific instruction set of a particular processor. This programming language was developed by Nathaniel Rochester between 1948 and 1950 and represents the second generation of processor programming. Previously, programming had to be done with very obscure numeric codes. Assembler code is more readable than the binary codes of machine language. Commands and their operators are represented in text form.…“
- 12:3712:37, 5. Jul. 2024 Unterschied Versionen +2.855 Bytes N Preface Die Seite wurde neu angelegt: „For ARM assembly, there isn't much available yet. Even on the internet, it’s not as easy to find as one might think. But why ARM assembly? The ARM instruction set is used in many devices: in most smartphones and tablet computers as well as in embedded systems. And just now, as I write this, a press release announced that the new Apple MAC will receive a processor that uses this instruction set. Why that is, I will reveal later. Many people wonder why o…“
- 12:0712:07, 5. Jul. 2024 Unterschied Versionen +961 Bytes N English Die Seite wurde neu angelegt: „== <strong>ARM Assembly Programming with the Raspberry Pi</strong> == frameless|300x300px Matthias Steiner Satyria Press © 2020-2024 == Content == *Preface *Basics of Assembly **The ARM Assembler *Setting up the Programming Environment (Console) == Raspberry Pi 5 == *Setting up the Programming Environment (64-Bit) *Introduction to C and Assembly Programming with the R…“
- 12:0512:05, 5. Jul. 2024 Unterschied Versionen +13 Bytes Hauptseite →Translations/Traducciones
- 12:0212:02, 5. Jul. 2024 Unterschied Versionen 0 Bytes Hauptseite Keine Bearbeitungszusammenfassung
- 12:0112:01, 5. Jul. 2024 Unterschied Versionen +5 Bytes N Chars (PI5) Die Seite wurde neu angelegt: „Chars“
- 12:0112:01, 5. Jul. 2024 Unterschied Versionen +18 Bytes Hauptseite Keine Bearbeitungszusammenfassung
- 11:5911:59, 5. Jul. 2024 Unterschied Versionen +2.033 Bytes Grafik (PI5) Keine Bearbeitungszusammenfassung
- 11:4811:48, 5. Jul. 2024 Unterschied Versionen +2.401 Bytes Grafik (PI5) Keine Bearbeitungszusammenfassung
- 11:4211:42, 5. Jul. 2024 Unterschied Versionen +948 Bytes Grafik (PI5) Keine Bearbeitungszusammenfassung
- 11:3711:37, 5. Jul. 2024 Unterschied Versionen +4.954 Bytes Grafik (PI5) Keine Bearbeitungszusammenfassung
4. Juli 2024
- 17:0317:03, 4. Jul. 2024 Unterschied Versionen −7 Bytes Programm auf dem Raspberry Pi 5 ausführen Keine Bearbeitungszusammenfassung
- 16:5616:56, 4. Jul. 2024 Unterschied Versionen −3 Bytes Programm auf dem Raspberry Pi 5 ausführen →Dateien herunterladen
- 16:5616:56, 4. Jul. 2024 Unterschied Versionen −36 Bytes Programm auf dem Raspberry Pi 5 ausführen →Dateien herunterladen
- 10:0710:07, 4. Jul. 2024 Unterschied Versionen +7 Bytes Hauptseite →Raspberry Pi 5
- 10:0710:07, 4. Jul. 2024 Unterschied Versionen +10 Bytes N Grafik (PI5) Die Seite wurde neu angelegt: „Die Grafik“
- 10:0710:07, 4. Jul. 2024 Unterschied Versionen +18 Bytes Hauptseite →Raspberry Pi 5
3. Juli 2024
- 17:2917:29, 3. Jul. 2024 Unterschied Versionen −163 Bytes Fehlerbehandlung Keine Bearbeitungszusammenfassung Markierung: Manuelle Zurücksetzung
- 17:2217:22, 3. Jul. 2024 Unterschied Versionen +163 Bytes Fehlerbehandlung Keine Bearbeitungszusammenfassung Markierung: Zurückgesetzt
- 17:0617:06, 3. Jul. 2024 Unterschied Versionen 0 Bytes Unser erstes Programm (PI5) →Sourcecode erstellen
- 17:0517:05, 3. Jul. 2024 Unterschied Versionen −5 Bytes Unser erstes Programm (PI5) →Sourcecode erstellen
- 17:0217:02, 3. Jul. 2024 Unterschied Versionen +6 Bytes Unser erstes Programm (PI5) →Sourcecode erstellen
- 16:5516:55, 3. Jul. 2024 Unterschied Versionen +65 Bytes Fehlerbehandlung Keine Bearbeitungszusammenfassung
- 16:5316:53, 3. Jul. 2024 Unterschied Versionen +1.770 Bytes N Fehlerbehandlung Die Seite wurde neu angelegt: „Da wir bisher keine Möglichkeit haben, Informationen bewusst an uns zu senden, nutzen wir nun die LED, um festzustellen, wenn etwas schiefgeht. Dazu erstellen wir eine Funktion, die über die LED einen Fehlercode anzeigen kann. Wir erweitern dazu unseren '''led.s''' Code mit dieser Funktion: <syntaxhighlight lang="asm"> .globl LED_Error // In w0 = Fehlercode LED_Error: mov w10, w0 // Da die Funktion "wait" w0 als Zeit verwendet, müssen wir w0 zu…“
- 16:5016:50, 3. Jul. 2024 Unterschied Versionen +22 Bytes Hauptseite →Raspberry Pi 5
- 08:5808:58, 3. Jul. 2024 Unterschied Versionen +3.096 Bytes Lass die LED leuchten (PI5) Keine Bearbeitungszusammenfassung
- 08:4708:47, 3. Jul. 2024 Unterschied Versionen +5.825 Bytes Lass die LED leuchten (PI5) Keine Bearbeitungszusammenfassung
- 08:2208:22, 3. Jul. 2024 Unterschied Versionen +638 Bytes Lass die LED leuchten (PI5) Keine Bearbeitungszusammenfassung
- 08:1808:18, 3. Jul. 2024 Unterschied Versionen +1.030 Bytes Lass die LED leuchten (PI5) Keine Bearbeitungszusammenfassung
- 08:0708:07, 3. Jul. 2024 Unterschied Versionen +3.205 Bytes Lass die LED leuchten (PI5) →Programmierung des Startverhaltens des Raspberry Pi
- 07:3507:35, 3. Jul. 2024 Unterschied Versionen +1.875 Bytes N Lass die LED leuchten (PI5) Die Seite wurde neu angelegt: „Mit den zuvor erstellten Makefile und Linker-Script haben wir eine Basis geschaffen, um ein sinnvolles Programm zu entwickeln. Unser Ziel ist es, die fest eingebaute LED des Raspberry Pi zum Blinken zu bringen. Ich werde jeden Schritt erklären, warum er in diesem Projekt so implementiert wurde. === Vorbereitung des Verzeichnisses === Erstelle zunächst ein neues Verzeichnis, z.B. LED, und platziere darin das Makefile und die Datei linker.ld. Erzeuge au…“
2. Juli 2024
- 19:2919:29, 2. Jul. 2024 Unterschied Versionen +3.700 Bytes N Arbeiten mit Make und Linker-Script Die Seite wurde neu angelegt: „In diesem Abschnitt werden wir lernen, wie man ein Betriebssystem auf dem Raspberry Pi 5 entwickelt, indem wir mehrere Source-Dateien erstellen und mit dem Linker verknüpfen. Wir werden auch ein Makefile verwenden, um den Build-Prozess zu automatisieren. Zusätzlich werden wir auf C und C++ eingehen. === Ein Makefile erstellen === Ein Makefile hilft uns, den Build-Prozess zu automatisieren und den Überblick über unsere Dateien zu behalten. Hier ist ein…“
- 19:0519:05, 2. Jul. 2024 Unterschied Versionen +1.122 Bytes N Programm auf dem Raspberry Pi 5 ausführen Die Seite wurde neu angelegt: „== SD-Karte vorbereiten == Um eine bootfähige SD-Karte für den Raspberry Pi 5 zu erstellen, benötigen wir zunächst eine SD-Karte, die im FAT32-Format formatiert ist. === Dateien herunterladen === Laden Sie die folgenden Dateien von diesem GitHub-Repository https://github.com/raspberrypi/firmware/tree/master/boot herunter: *bcm2712-rpi-5-b.dtb *bootcode.bin *fixup.dat *start.elf === Dateien auf die SD-Karte kopieren === Kopieren Sie die heruntergela…“
- 15:3715:37, 2. Jul. 2024 Unterschied Versionen +2.580 Bytes N Unser erstes Programm (PI5) Die Seite wurde neu angelegt: „Unser erstes Programm wird zunächst nichts tun. Es wird einfach eine Dauerschleife durchlaufen. Dies dient als Grundbaustein für alle weiteren Versuche. Ich werde erklären, wie ein solches Programm erstellt, kompiliert und ausgeführt wird. Zunächst schauen wir, ob alles funktioniert. === Sourcecode erstellen === Öffnen Sie ein Textprogramm, um unser erstes Assemblerprogramm zu schreiben: <syntaxhighlight lang="asm"> // // The first program // 01.07.…“
- 15:3115:31, 2. Jul. 2024 Unterschied Versionen +92 Bytes Hauptseite →Raspberry Pi 5