ATxmega128A1 Simulator

michap

Neues Mitglied
24. Juli 2013
2
0
0
Sprachen
Hallo,

ich habe wirklich große Schwierigkeiten. Im Zuge meiner Bachelorarbeit
muss ich den ATxmega128A1-Mikrokontroller simulieren. Davon brauche ich
dann auch gleich mehrere Instanzen. Gleichzeitig sollen die verschiedenen
Register der einzelnen Instanzen ausgelesen und beschrieben werden
können.
Ich habe mich jetzt schon seit längerer Zeit mit simulavr beschäftigt.
Aber irgendwie hab ich den Verdacht, dass das nichts werden wird. Der
Simulator unterstützt nämlich offiziell nur den atmega128 und nicht den
atxmega128a1. Ich habe gedacht, dass man das irgendwie schon patchen
kann. Aber nach langem Suchen und vielem Probieren, bin ich leider nicht
weiter gekommen.
Aber vielleicht stell ich mich auch einfach nur blöd an... Habt ihr
vielleicht Ideen?
Ich habe mich auch schon nach Alternativen umgeschaut. Aber leider sind
die meisten Simulatoren schon auf den ersten Blick nicht genügend.
Entweder sind diese zu langsam, es fehlen Features, es gibt zu viele
Bugs oder sie laufen nur unter Windows.

Am Besten wäre natürlich irgendeine Art workaround damit simulavr
funktioniert. An sich schluckt simulavr ja das image, aber beim eeprom
schreiben mit avrdude kommen bei avrdude timeout-Errors und bei simulavr
unknown-request-Errors und incomplete-read-Errors.

Vielen Dank für jede Hilfe.

Gruß
micha
 
Hi Micha,

Ich habe mich jetzt schon seit längerer Zeit mit simulavr beschäftigt.
Aber irgendwie hab ich den Verdacht, dass das nichts werden wird. Der
Simulator unterstützt nämlich offiziell nur den atmega128 und nicht den
atxmega128a1. Ich habe gedacht, dass man das irgendwie schon patchen
kann. Aber nach langem Suchen und vielem Probieren, bin ich leider nicht
weiter gekommen.
Aber vielleicht stell ich mich auch einfach nur blöd an... Habt ihr
vielleicht Ideen?

Der ATmega128 und der ATXmega128 sind zwei ziemlich verschiedene Prozessorfamilien. So ähnlich die auch im Namen sind so verschieden sind die im Aufbau. Er hat gegenüber den normalen Megas unter anderem ...
- Four-channel DMA controller
- AES and DES crypto engine
- Two two-channel, 12-bit, 1msps Digital to Analog Converters
Das alleine ist schon ein ziemlicher Unterschied im internen Aufbau des Controllers. Alleine wegen dem DMA wird der Aufbau des Prozessorkerns schon anders aussehen.
Außerdem unterstützt diese Familie auch SDRAM das gegenüber dem SRAM was von der Mega-Familie unterstützt wird noch Refresh-Zyklen benötigt um den Speicherinhalt nicht zu verlieren.

Tinys und Megas sind mit dem Prozessorkern vergleichbar. Die XMega-Familie ist leider ziemlich unterschiedlich.

Du hast dir da nen ganz schönen Brummer für deinen Simulator ausgesucht. Hast du dir vor deiner Entscheidung wenigstens mal die Datenblätter der XMega-Familie angesehen oder überhaupt mit den Internas eines Prozessors beschäftigt?

Wie tief mußt du denn den Prozessor simulieren?

Gruß
Dino
 
Hallo,

danke für den schönen Überblick. Das bestätigt mir, was ich mir schon gedacht habe.
Wie tief ich den Prozessor simulieren muss? Der Simulator soll die Hardware möglichst genau nachbilden können.
Der Simulator soll dabei mit einer eigens erstellten Firmware gefüttert werden. Zur Laufzeit müssen dann verschiedene Register ausgelesen oder beschrieben werden. Zusätzlich muss die Geschwindigkeit des Simulators mit der der realen Hardware möglichst übereinstimmen.
Leider muss ich dazu sagen, dass ich mir den Prozessor nicht selber ausgesucht habe, sondern vorgegeben bekommen habe.
Also gibt es keine Möglichkeiten den Prozessor unter Linux zu simulieren?

gruß micha
 
In realer Geschwindigkeit schafft das keine Umgebung die ich kenne.
Das AVR Studio ist ganz ok, aber auch um längen langsamer als der Controller selbst, Bascom ist noch ein vielfaches schlimmer.

Das einzige was so einigermaßen deine Bedienungen erfüllen würde wäre das via debugWire direkt auf dem Chip zu debuggen. Dazu brauchst du aber das AVR Studio und (z. B.) den Avr Dragon. Also schauts mit Linux schon mal schlecht aus. Wobei ich hab aber noch nie was mit den Xmega gemacht...
 
Hallo,

In realer Geschwindigkeit schafft das keine Umgebung die ich kenne.
Das AVR Studio ist ganz ok, aber auch um längen langsamer als der Controller selbst, Bascom ist noch ein vielfaches schlimmer.

Das einzige was so einigermaßen deine Bedienungen erfüllen würde wäre das via debugWire direkt auf dem Chip zu debuggen. Dazu brauchst du aber das AVR Studio und (z. B.) den Avr Dragon. Also schauts mit Linux schon mal schlecht aus. Wobei ich hab aber noch nie was mit den Xmega gemacht...

naja ... reale Geschwindigkeit soll da wohl nicht erreicht werden. Ich sehe das so das wohl die internen Abläufe und damit die Registerinhalte simuliert werden sollen. Damit man sieht was das Programm im Prozessorinneren bewirkt und wohl auch ohne Hardware sondern sozusagen eine Art Emulator.

Genaues muß er wohl selber erklären.

Es gab mal für den AppleIIe nen Z80-Emulator. Da hat man die Register und Daten/Adressbusse auf dem Bildschirm gesehen und dann wie die Daten über die internen Busse zwischen den Registern und der ALU hin und her gewandert sind. Ist aber schon so etwa 25-30 Jahre her. So eine Darstellung wäre natürlich für nen Prozessor der Kategorie XMega schon recht unübersichtlich.


Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)