Datenblatt vom Raspberry Pi

OP #7441093

Vielen Dank für eure Links und Hilfestellungen, die werden mich weiterbringen.

Ich will den Pi für ein Projekt, in C/C++ programmieren und wenn möglich in Bare-Metal. Falls jemand damit schon Erfahrungen gesammelt hat, wäre ich für jeden weiteren Tipp sehr dankbar.

Ich will es zwar in Bare-Metal programmieren, aber eine eigne Library wollte ich jetzt nicht anfertigen. Ich will die Steuerung des Pi's in Hex programmieren.

Viele Grüße Robert

OP #7441545

Norbert schrieb:

Erklär' uns doch einfach wie man Hex programmiert,...

Das ist doch mal eine Herangehensweise, was zivilisiert ist. Da antworte ich doch sehr gerne drauf und vor allem bin ich auch für deine Hilfe dankbar.

Ich meinte mit Hex programmieren, dass ich gerne mit dem Datenblatt/Registern arbeiten möchte. Unter Hex-Zahlen, verstehe ich Magic-Numbers.

Ein Beispiel:

while(1) { GPIOA->BSRR |= 0x20; // Set PA5 high, 0b 0010 0000 delayMs(100); GPIOA->BSRR |= 0x00200000; // 0b 0000 0000 0010 0000 0000 0000 0000 0000 set PA5 low delayMs(100); }

Statt den PA5 schreiben, verwende ich 0x20 oder 0xFF = 00000000 00000000 00000000 11111111;

#7441577

Εrnst B. schrieb:

Ich hab noch in "Hex programmieren" gelernt. NDR/RDK-Computer, Z80, Tastatur 0-9A-F + Funktionstasten. Tabelle ASM->Opcode griffbereit daneben, aber "programmiert" hat man eigentlich vorab mit Papier und Bleistift.

Hier SC/MP, dann KIM-1, usw. Aber was du meinst ist die Programmierung in Maschinensprache. Also aus der Liste der Mnemonics die entsprechenden Befehle heraus suchen, evtl. notwendige Bit-Operationen durchführen und das Resultat eingeben. Wenn man das dann zB. mittels Schalter pro Bit macht, ist das dann ›Bin-Programmierung‹?

#7441583

Robert B. schrieb:

Statt den PA5 schreiben, verwende ich 0x20 oder 0xFF = 00000000 00000000 00000000 11111111; Unter Hex-Zahlen, verstehe ich Magic-Numbers.

Was bist Du, 12? Hältst Du Dich jetzt für den Superprogrammierer weil Du die Steinzeit entdeckt hast? Das ist ja wie die Kinder die sich für SuperHacker halten, wenn sie die Windows-Shell und Batch-Dateien entdecken.

Ja, Du kannst den Pi auch in Maschinensprache/Assembler programmieren. Das ist aber nichts besonders tolles sondern nur komplizierter, darum ist man davon abgegangen. Nimm Dir einen Arduino und mach das da, bei den kleinen 8-Bittern macht das noch Sinn und hat Vorteile.

#7441593

Oliver R. schrieb:

Nimm Dir einen Arduino und mach das da, bei den kleinen 8-Bittern macht das noch Sinn und hat Vorteile.

Oder einen Pi Pico/RP2040. Da könnte er die PIO in ASM programmieren. Ist dann auch übersichtlich mit nur 9 Befehlen. Das Datenblatt enthält die Bitmuster für die Opcodes, d.H. da kann er sich beim Umrechnen Binär->Hex so richtig austoben.

Angehängte Dateien:
OP #7441795

Oliver R. schrieb:

Was bist Du, 12? Hältst Du Dich jetzt für den Superprogrammierer weil Du die Steinzeit entdeckt hast?

Bald!

Ja, Du kannst den Pi auch in Maschinensprache/Assembler programmieren. Das ist aber nichts besonders tolles sondern nur komplizierter, darum ist man davon abgegangen. Nimm Dir einen Arduino und mach das da, bei den kleinen 8-Bittern macht das noch Sinn und hat Vorteile.

Es bleibt beim RP!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 3 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.