Suche ARM Simulator (ähnlich wie simulavr‹)

Gast #6986743
Lesenswert?
• ▲
▼
Einen schönen Guten Morgen allesamt.
Wie im Betreff schon sanft angedeutet suche ich
(ganz so wie im Stile des ›simulavr‹ als AVR-Simulator)
nun einen ARM Simulator für:
1
ARCH = -mcpu=cortex-m0plus -march=armv6-m -mthumb
Hat jemand schon einen solchen ARM-Simulator gefunden, getestet und für 
gut befunden?
Danke schon einmal im voraus.

PS: Sollte, nein müsste auf Linux laufen!
Gast #6986814
Lesenswert?
• ▲
▼
Εrnst B. schrieb:
> https://wiki.qemu.org/Documentation/Platforms/ARM
> ist aber eher für "größere" ARMs gedacht, obwohl auch Cortex-M{3,4}
> unterstützt werden. Ob der mit machine=none deinen M0 emulieren kann,
> musst du selber rausfinden.
Verdammt, an den QEMU hatte ich natürlich überhaupt nicht gedacht.
Werd' ich gleich mal reinschauen.
Da fällt mir ein, hab' ja auch noch einen alten RPi. facepalm
Vielen Dank für den Denkanstoß und die Info.
Gast #6986818
Lesenswert?
• ▲
▼
IAR EWARM hat einen integrierten Simulator. Bin allerdings allgemein 
kein großer Fan von IAR und würde daher auch den qemu vorschlagen. Den 
benutzen wir auf einem CI-System um Unit-Tests durchzuführen.

Der qemu simuliert natürlich keine Mikrocontroller-Peripherie, aber 
dafür funktionieren einige der normalen Linux-Syscalls direkt aus dem 
ARM-Code heraus; d.h. du kannst "ganz normal" printf() aufrufen und das 
ARM-Programm auf der Konsole laufen lassen und erhältst die Ausgaben. Du 
kannst den Kernel sogar so konfigurieren dass er qemu automatisch für 
alle ARM-Programmdateien aufruft. Das finde ich schon ziemlich cool.
#6986819
Lesenswert?
• ▲
▼
Braucht man bei den Cortex-M nicht.

Stattdessen verbindet man den Debugger mit der "echten" Hardware via 
JTAG oder SWD. Unter Linux siehe OpenOCD (oder z.B. Segger JLink).

Die Simulatoren (z.B. QEmu) haben üblicherweise nicht den vollständigen 
Zoo an Peripherie implementiert, der zusätzlich zum Cortex-M Core im µC 
verbaut ist.
Gast #6986842
Lesenswert?
• ▲
▼
Programmierer schrieb:
> Der qemu simuliert natürlich keine Mikrocontroller-Peripherie, aber
> dafür funktionieren einige der normalen Linux-Syscalls direkt aus dem
> ARM-Code heraus; d.h. du kannst "ganz normal" printf() aufrufen und das
> ARM-Programm auf der Konsole laufen lassen und erhältst die Ausgaben. Du
> kannst den Kernel sogar so konfigurieren dass er qemu automatisch für
> alle ARM-Programmdateien aufruft. Das finde ich schon ziemlich cool.

Das isses. Genial. Da es mir hauptsächlich (nee ausschließlich) um die 
CPU und Assembler geht, wird das wohl die erste Wahl.

PS: Danke auch an @Jim M. Wird wichtig wenn's später an die Peripherie 
geht.
Gast #6987003
Lesenswert?
• ▲
▼
Klaus W. schrieb:
> Nur zur Sicherheit: du kennst https://godbolt.org/ ?
Hatte ich von gehört, aber nie reingeschaut.
Nun hab' ich, bin erschüttert! ;-)
Da ich sowieso gerade das v6-M Arch. Ref. Manual auf hatte, gleich mal 
ein
1
stmia r0!, {r1, r2, r3, r4, r5, r6, r7}
geprüft.
Er macht's, 0xc0fe, die Leute sind doch völlig krank. ;-)
Cooles Teil, kommt in die Link-Sammlung.
Danke!
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 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.