Alle öffentlichen Logbücher
Aus C und Assembler mit Raspberry
Dies ist die kombinierte Anzeige aller in C und Assembler mit Raspberry geführten Logbücher. Die Ausgabe kann durch die Auswahl des Logbuchtyps, des Benutzers oder des Seitentitels eingeschränkt werden (Groß-/Kleinschreibung muss beachtet werden).
- 08:59, 8. Aug. 2025 Satyria Diskussion Beiträge erstellte die Seite Speicherverwaltung (PI4) (Die Seite wurde neu angelegt: „Speicherverwaltung“)
- 06:29, 31. Jul. 2025 Satyria Diskussion Beiträge löschte die Seite Interrupt (PI4) (Inhalt war: „Eine neue "boot.S" mrs x1, mpidr_el1 //Lies den Inhalt des Systemregisters MPIDR_EL1 (Multiprocessor Affinity Register) und speichere ihn in Register x1. and x1, x1, #3 cbz x1, 2f 1: // Core 1-3 schlafen legen wfe b 1b Wir werden zunächst keine Multi-CPUs unterstützen. Damit der Raspberry Pi 4 nicht durcheinander kommt, verbieten wir die Ausführung der CPU 1-3. W…“. Einziger Bearbeiter: Satyria (Diskussion))
- 09:40, 28. Jul. 2025 Satyria Diskussion Beiträge erstellte die Seite Interrupt Teil 2 (PI4) (Die Seite wurde neu angelegt: „Im vorhergehenden Kapitel haben wir einen Interrupt für den Timer erstellt. Dies ist zur Zeit auch der einzige, der in unserem System, welches wir entwickeln, zur Verfügung haben. Im nächsten Kapitel wird es dann aufwendig. Wir werden uns um den USB-Eingang kümmern und zunächst einen Treiber für die Tatstatur und anschließend noch auf Mausbewegungen reagieren. Dazu werden wir dann auch Interrupts benötigen, die ausgelöst werden, wenn jemand auf…“)
- 07:45, 25. Jul. 2025 Satyria Diskussion Beiträge erstellte die Seite Beispiel Timer-Interrupt (PI4) (Die Seite wurde neu angelegt: „Nun versuchen wir, einen Timer-Interrupt zu erstellen und verwenden eine Vector-Tabelle, wie diese zuvor beschrieben wurde. Wir verzichten zunächst auf die Gleitkomma-Unterstützung. Wir verwenden die Vectortabelle aus der vorigen Beschreibung. Unterstützen allerdings nur "IRQs" und "Synchronous Exception". Andere Ausnahmen werden in eine Dauerschleife versetzt: <syntaxhighlight lang="asm"> .align 11 .globl VectorTable VectorTable: // Vektoren für EL1…“)
- 07:53, 17. Jun. 2025 Satyria Diskussion Beiträge erstellte die Seite Datei:Logo hexenlaedle.png
- 07:53, 17. Jun. 2025 Satyria Diskussion Beiträge lud Datei:Logo hexenlaedle.png hoch
- 15:56, 19. Apr. 2025 Satyria Diskussion Beiträge erstellte die Seite Interrupt (PI4) (Die Seite wurde neu angelegt: „Du kannst den Source-Code als ZIP-Datei mit folgenden Link downloaden: https://www.satyria.de/arm/sources/RPI4/C/9.zip ----- {| style="width: 100%; | style="width: 33%;" | < Zurück (Systeminformationen (PI4)) | style="width: 33%; text-align:center;" | < Hauptseite > | style="width: 33%; text-align:right;" | Weiter (xyz) > |}“)
- 08:27, 19. Apr. 2025 Satyria Diskussion Beiträge erstellte die Seite Systeminformationen (PI4) (Die Seite wurde neu angelegt: „Du kannst den Source-Code als ZIP-Datei mit folgenden Link downloaden: https://www.satyria.de/arm/sources/RPI4/C/8.zip“)
- 07:56, 16. Apr. 2025 Satyria Diskussion Beiträge erstellte die Seite Interrupts (PI4) (Die Seite wurde neu angelegt: „Was sind Interrupts“)
- 10:23, 11. Apr. 2025 Satyria Diskussion Beiträge erstellte die Seite Sprungadressen (Labels) (Die Seite wurde neu angelegt: „= Labels im ARM64-Assembler = Labels sind **Bezeichner für Adressen** im Code oder in den Datenabschnitten. Sie dienen vor allem dazu, Sprünge, Verzweigungen und Datenzugriffe lesbar und wartbar zu gestalten. Es gibt zwei Hauptarten von Labels: == 1. Benannte Labels == Ein benannter Label ist ein selbstgewählter Name, der mit einem Doppelpunkt abgeschlossen wird: <syntaxhighlight lang="asm"> loop_start: // Anweisungen b loop_start // Sp…“)
- 19:05, 8. Apr. 2025 Satyria Diskussion Beiträge erstellte die Seite Übersicht der Fehlercodes (Die Seite wurde neu angelegt: „{| class="wikitable" |+ Übersicht der Fehlercodes |- ! Fehlercode !! Kurzname !! Bedeutung |- | 1 || EPERM || Vorgang nicht zulässig |- | 2 || ENOENT || Datei oder Verzeichnis nicht gefunden |- | 3 || ESRCH || Kein solcher Prozess |} #define EPERM 1 Vorgang nicht zulässig: #define ENOENT 2 No such file or directory: #define ESRCH 3 No such process: #define EINTR 4 Interrupted system call: #define EIO 5 I/O error: #de…“)
- 09:03, 8. Apr. 2025 Satyria Diskussion Beiträge erstellte die Seite NEON Coprozessor (Die Seite wurde neu angelegt: „== NEON Coprozessor == Der NEON-Coprozessor, der in ARM64-Prozessoren integriert ist, bietet erweiterte SIMD (Single Instruction, Multiple Data)-Fähigkeiten. Diese ermöglichen es, mehrere Datenpunkte mit einer einzigen Anweisung zu verarbeiten, was die Leistung bei bestimmten Arten von Berechnungen erheblich steigert. NEON-Coprozessor: Überblick Architektur und Integration: SIMD-Fähigkeiten: NEON erweitert die ARMv8-A-Architektur (auch bekannt als A…“)
- 08:48, 8. Apr. 2025 Satyria Diskussion Beiträge erstellte die Seite Makros in Assembler (Die Seite wurde neu angelegt: „== Makros == .macro Name übergabe1,übergabe2,... Beispiel: .macro speicher wert1,wert2 ldr x0,=\wert1 ldr x1,=\wert2 .endm .global _start _start: speicher buffer1,buffer2 ... .data buffer1: .fill 255,1,0 buffer2: .fill 255,1,0 Beim Aufruf "speicher" wird an dieser Stelle des Codes einfach das Makro eingesetzt. Das definieren des Makros erzeugt keinen Code!“)
- 07:56, 8. Apr. 2025 Satyria Diskussion Beiträge erstellte die Seite Direktiven (Die Seite wurde neu angelegt: „* .data -> Dezimalzahl: Beginnt mit 1-9 und enthält 0-9 -> Oktalzahl: Beginnt mit 0 und enthält 0-7 -> Binärzahl: Beginnt mit 0b und enthält 0-1 -> Hexadezimal: Beginnt mit 0x und enthält 0-f -> Gleitkommawerte: Beginnt mit 0f oder 0e und enthält die Gleitkomma-Zahl -> Präfix: "-" nimmt das Zweierkomplement, "~" nimmt das Einerkompliment .byte -0xa3, -22, ~0b11010010 Directive Beschreibung .ascii Eine Zeichenfolge in doppelten Anführungszeichen…“)
- 07:50, 8. Apr. 2025 Satyria Diskussion Beiträge erstellte die Seite Logische Operatoren (Die Seite wurde neu angelegt: „and{s} Xd, Xs, Operand2 eor{s} Xd, Xs, Operand2 orr{s} Xd, Xs, Operand2 bic{s} Xd, Xs, Operand2 | and | eor | orr | bic | Xs | 1100 | 1100 | 1100 | 1100 | Operand2 | 1010 | 1010 | 1010 | 1010 | Ergebnis | 1000 | 0110 | 1110 | 0100 | * CMN Xn, Operand2 -> addiert Operand2 von Xn * TST Xn, Operand2 -> Bitweise AND von Operand2 und Xn“)
- 07:47, 8. Apr. 2025 Satyria Diskussion Beiträge erstellte die Seite Aliase (Die Seite wurde neu angelegt: „== Aliase == -> Verwendung von Aliase, um den Code besser zu verstehen, Problem beim debuggen, objdump, da eventuell andere Aliases verwendet werden. Die von dir beobachtete Diskrepanz resultiert aus dem Unterschied zwischen der **Assembly-Syntax** und der tatsächlichen **Maschinencodierung** sowie der Art und Weise, wie `objdump` und der Assembler die Befehle interpretieren. Lass uns das Schritt für Schritt erklären: --- ### **1. ARM64-Befehlsalias…“)