Forum: Mikrocontroller und Digitale Elektronik AVR128DA Simulator


von Stored B. (Firma: drx) (umbrecht)


Angehängte Dateien:

Lesenswert?

Servus,

ich möchte gerne in Atmel Studio 7 ohne Programmieradapter oder uC den 
AVR128DA Simulieren. Im Studio selbst gibt es diese Funktion scheinbar 
nicht mehr wie bei den Vorgängern.

Gibt es dazu alternativen oder Updates die die Funktion nachreichen?

Grundsätzlich habe ich Programmer und Chip mit dem dann das Debuggen 
funktioniert aber ich würde mir gerne sparen das Zubehör jedes mal 
mitzunehmen.

VG

von Oliver S. (oliverso)


Lesenswert?

Stored B. schrieb:
> ich möchte gerne in Atmel Studio 7 ohne Programmieradapter oder uC den
> AVR128DA Simulieren. Im Studio selbst gibt es diese Funktion scheinbar
> nicht mehr wie bei den Vorgängern.

Die Funktion gibts im Atmel Studio 7 genauso wie bei allen Vorgängern 
und Nachfolgern. Allerdings gab und gibt es den Simulator nicht für alle 
Devices.

Oliver

von C-hater (c-hater)


Lesenswert?

Stored B. schrieb:

> ich möchte gerne in Atmel Studio 7 ohne Programmieradapter oder uC den
> AVR128DA Simulieren. Im Studio selbst gibt es diese Funktion scheinbar
> nicht mehr wie bei den Vorgängern.

Die Funktion an sich gibt es schon noch. Nur leider keinen Simulator für 
das konkrete Target. Darüber hinaus gab es eigentlich nie für alle 
Targets einen Simulator und selbst für die, die es gab, war er weder 
vollständig noch fehlerfrei. Trotzdem waren die vorhandenen sehr 
hilfreich.

Leider ist aber wohl nicht damit zu rechnen, dass es jemals für 
irgendeinen der neueren AVR8 (also die verschiedenen Erben der ATXmega, 
u.a. halt auch die AVRxxxDyzzz) einen geben wird.

> Gibt es dazu alternativen oder Updates die die Funktion nachreichen?

Die einzige Ausweichmöglichkeit ist die Verwendung eines Debuggers. Aber 
den hast da ja schon.

von Cyblord -. (cyblord)


Lesenswert?

Mich würde ja mal interessieren, welche Erkenntnisse man sich vom 
Einsatz des Simulators hier verspricht.
Zumindest welche die über das Austesten grundsätzlicher Programmelemente 
in einem lokalen C Programm hinaus gehen.

von Ron-Hardy G. (ron-hardy)


Lesenswert?

zumal man für €20 ein Evaluationboard bekommt wo man den Chip live hat

von C-hater (c-hater)


Lesenswert?

Cyblord -. schrieb:

> Mich würde ja mal interessieren, welche Erkenntnisse man sich vom
> Einsatz des Simulators hier verspricht.
> Zumindest welche die über das Austesten grundsätzlicher Programmelemente
> in einem lokalen C Programm hinaus gehen.

Es gibt Fehler, die zwar grundsätzlich tatsächlich Programmierfehler 
sind, aber u.U. erst viele Millionen Takte später eine "sichtbare" 
schädliche Wirkung ausüben.

Und zum Finden solcher Fehler ist eine Simulator, gefüttert mit einer 
Aufzeichnung des Hergangs, ein Super-Werkzeug.

Ja, wenn es nicht solche beschissen unvollkommenen Sprachen wie C oder 
Assembler gäbe, bei denen es quasi zur Philosphie gehört, den Benutzer 
zu unnötigen Fehlern zu verleiten, brächte man das wohl nie. Aber es 
gibt diese Sprachen halt...

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Danke für eure Antworten.

Ich brauche sehr viele Hände, um abzuzählen wie häufig ich den Simulator 
bei älteren Modellen schon gebraucht habe.
Wie c-hater bereits schrieb, solche Probleme gehören natürlich auch zum 
Alltag und ein guter Grund für dieses Tool.

Aber es ist wie es ist.
Im Internet habe ich Simulatoren gefunden die ältere AVR supporten, 
bringt aber nichts.
Irgendwo habe ich gelesen das man mit mplab den AVR128 simulieren kann, 
kann das jemand bestätigen?

Beitrag #7366813 wurde von einem Moderator gelöscht.
von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Geht

von C-hater (c-hater)


Lesenswert?

Stefan F. schrieb:

> Geht

Und was kann dieser Simulator? Kann er Stimuli? Und was von der 
Peripherie unterstützt er?

Ein reine Core-Emulation kaum nützlicher als die Doku der verwendeten 
Programmiersprache.

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Stefan F. schrieb:
> Geht

Top.
Dann werde ich mal in ner VM Probieren ob das Programm was taugt.
Danke!

von Stefan F. (Gast)


Lesenswert?

C-hater schrieb:
> Und was kann dieser Simulator? Kann er Stimuli? Und was von der
> Peripherie unterstützt er?

Das weis ich nicht. Mangels Erfahrung mit der IDE kann ich das auch 
nicht "mal eben schnell" nachgucken. Ich hatte sie nur gerade auf der 
Festplatte, weil ich vor ein paar Wochen wissen wollte, welche 
Programmieradapter die IDE unterstützt (denn auch dazu findet man nur 
lauter widersprüchliche Infos auf den Webseiten von Microchip).

von C-hater (c-hater)


Lesenswert?

Stefan F. schrieb:

> Das weis ich nicht.

Schade. Ich hatte gehofft, dass es mir erspart bleibt, mich selber 
intensiver damit auseinander zu setzen. Attraktiv wäre es schon, das 
Werkzeug einsatzbereit in der Hinterhand zu haben.

von Stefan F. (Gast)



Lesenswert?

C-hater schrieb:
> Und was kann dieser Simulator? Kann er Stimuli? Und was von der
> Peripherie unterstützt er?

Da scheint einiges zu gehen. Vielleicht helfen die Screenshots für einen 
ersten Überblick.

von C-hater (c-hater)


Lesenswert?

Stefan F. schrieb:

> Da scheint einiges zu gehen. Vielleicht helfen die Screenshots für einen
> ersten Überblick.

Das sieht tatsächlich sehr vielversprechend aus.

Andererseits wird spätestens damit auch glasklar: das AVR-Studio wird 
über kurz oder lang beerdigt werden. Ich wollte das lange nicht wahr 
haben. Aber DAS hat mich endgültig überzeugt. Der Aufwand zur 
Erstellung eines derartigen Simulators ist sehr groß im Vergleich zum 
Aufwand, den dann auch in das Studio zu integrieren. Wenn die das nicht 
machen, wollen die das Studio wirklich sterben lassen.

von Stefan F. (Gast)


Lesenswert?

Mein erster Eindruck ist zudem, dass Mplab X erheblich flotter läuft, 
als das Atmel/Microchip Studio.

Ich verstehe bloß nicht, was die sich bei der kastrierten XC8 Toolchain 
gedacht haben. Ich verstehe ja, dass man den eigenen Compiler gerne 
verkaufen möchte, aber der avr-gcc ist open-source und woanders 
kostenlos ohne Einschränkungen zu bekommen.

Zum Glück muss man die XC8 (für AVR) nicht verwenden.

Ich habe noch nicht heraus gefunden, wie man eigene Makefiles (nicht die 
von der IDE generierten) verwendet.

von C-hater (c-hater)


Lesenswert?

Stefan F. schrieb:

> Ich verstehe bloß nicht, was die sich bei der kastrierten XC8 Toolchain
> gedacht haben. Ich verstehe ja, dass man den eigenen Compiler gerne
> verkaufen möchte, aber der avr-gcc ist open-source und woanders
> kostenlos ohne Einschränkungen zu bekommen.

Nunja, zumindest diese XC8-Propagation haben sie auch "ganz dezent" in 
das Studio eingebaut... Wenigstens die BWLer und Marketingler bei MC 
machen offensichtlich ihren Job...
Das Studio wird also zum reinen Werbeplakat. Der Hinweis, besser MPLabX 
zu benutzen wird wohl in näherer Zukunft folgen. Ähnlich "dezent"...

von Maxim B. (max182)


Lesenswert?

C-hater schrieb:
> Die Funktion an sich gibt es schon noch. Nur leider keinen Simulator für
> das konkrete Target. Darüber hinaus gab es eigentlich nie für alle
> Targets einen Simulator und selbst für die, die es gab, war er weder
> vollständig noch fehlerfrei. Trotzdem waren die vorhandenen sehr
> hilfreich.

Dabei können neuere Studio-Varianten wenige AVR simulieren als früheren. 
Z.B. AT90CAN, -PWM und -USB kann man mit Stuio 4.19 simulieren, mit 
späteren aber nicht mehr.

Glücklicherweise läuft Studio 4.19 auch mit Win11, das habe ich 
getestet. Beide (7 und 4.19) stehen nebeninander problemlos.

Was aber AVR128DA betrifft: man kann kritische Code zuerst mit so etwas 
wie ATmega1284 simulieren. Schließlich bleibt CPU-Kern gleich.

: Bearbeitet durch User
von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Habe mplab nun mal in ner W10VM Installiert um es zu testen. Hoffe man 
hat keine Einschränkungen durch den "kostenlosen" xc8 Compiler. Den gibt 
es ja auch als Kaufoption.

Viele Funktionen sind auf jeden Fall ähnlich mit AS7. Bei mplab kann man 
sogar die UART Ausgabe anzeigen lassen, wäre mir bei AS7 nicht 
aufgefallen dass das geht.

Von der Oberflächenoptik, Bedienbarkeit und Handling finde ich ist AS7 
wesentlich Moderner als mplab. Habe es bis jetzt noch nicht geschafft 
ein anderes Design für mplab auszuwählen. Das helle weiß ist 
schrecklich.

Was ich auch schade finde, dass kein .lss file erzeugt wird. Den Befehl 
dazu muss man dann eben von Hand in die Projektoptionen einfügen. Der 
Codeoffset fehlt hier leider auch.
Auch blöd ist, dass mplab gerne abstürzt.

Meine Meinung bisher ist, dass ich eigentlich lieber bei AS7 bleiben 
möchte. In naher Zukunft denke ich aber werde ich mplab nutzen müssen da 
hier zumindest noch weiterentwickelt wird.

PS: Zum Thema Design habe ich mir jetzt den Dracula Theme Installiert, 
jetzt ist es wenigstens etwas dunkler..
Tools -> Plugins Download -> Go to MPLAB X Plugin Manager -> Click 
Checkbox for Darcula LAF for Netbeans -> Click Install
Restart IDE when prompted.

PPS: nutzt man den AVR-GCC compiler kann man das .lss file und den code 
offset einfach setzen.

: Bearbeitet durch User
von C-hater (c-hater)


Lesenswert?

Maxim B. schrieb:

> Was aber AVR128DA betrifft: man kann kritische Code zuerst mit so etwas
> wie ATmega1284 simulieren. Schließlich bleibt CPU-Kern gleich.

Nein. All die neueren AVR8 (also die XMega-Erben) haben einen leicht 
modifizierten XMega-Kern. Und der unterscheidet sich doch in vielen 
Punkten recht erheblich von dem der klassischen ATmega. Insbesondere 
bezüglich des Timings etlicher Operationen und des Interrupt-Handlings.

von Stefan F. (Gast)


Lesenswert?

Stored B. schrieb:
> Hoffe man
> hat keine Einschränkungen durch den "kostenlosen" xc8 Compiler.

O2, -O3, -Os, -flto, -fwhole-program, -fuse-linker-plugin

wurden gesperrt.

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Stefan F. schrieb:
> Stored B. schrieb:
>> Hoffe man
>> hat keine Einschränkungen durch den "kostenlosen" xc8 Compiler.
>
> O2, -O3, -Os, -flto, -fwhole-program, -fuse-linker-plugin
>
> wurden gesperrt.

Denke nicht das ich den xc8 nutzen werde oder hat der Vorteile zum 
avr-gcc?

von Stefan F. (Gast)


Lesenswert?

Stored B. schrieb:
> Denke nicht das ich den xc8 nutzen werde oder hat der Vorteile zum
> avr-gcc?

Das XC8 Paket unterstützt auch PIC Controller. Die kannst du mit dem 
avr-gcc nicht programmieren.

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Stefan F. schrieb:
> Die kannst du mit dem
> avr-gcc nicht programmieren.

Gut das ist klar.

Die Familie der ATSAMD11 kann im mplab auch Simuliert werden. Anders als 
in AS7. Falls relevant für jemanden.

von M. K. (sylaina)


Lesenswert?

Stefan F. schrieb:
> Das XC8 Paket unterstützt auch PIC Controller. Die kannst du mit dem
> avr-gcc nicht programmieren.

Die neuen AVRs kann der XC8 auch, der avr-gcc ist da recht überschaubar 
aufgestellt (kann der acvr-gcc inzwischen sowas wie den Atmega4809 und 
co oder Attiny1626?)

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

M. K. schrieb:
> Stefan F. schrieb:
>> Das XC8 Paket unterstützt auch PIC Controller. Die kannst du mit dem
>> avr-gcc nicht programmieren.
>
> Die neuen AVRs kann der XC8 auch, der avr-gcc ist da recht überschaubar
> aufgestellt (kann der acvr-gcc inzwischen sowas wie den Atmega4809 und
> co oder Attiny1626?)

Den 4809 auf jeden Fall.
Der tiny sollte demnach auch gehen

von Olaf D. (Firma: O.D.I.S.) (dreyero)


Lesenswert?

Hi,

für andere als den AVR habe ich schon erfolgreich mit Qemu gearbeitet.
Der soll aber auch dafür funktionieren:

https://qemu-project.gitlab.io/qemu/system/target-avr.html

Gruß
Olaf

von Hmmm (hmmm)


Lesenswert?

M. K. schrieb:
> kann der acvr-gcc inzwischen sowas wie den Atmega4809 und
> co oder Attiny1626?

Mit dem passenden Device Pack schon länger:

1.2.150 (2017-09-27)   Remove no-ascii characters from iomxx4.h. Added 
ATmega4809, ATmega4808, ATmega3209 and ATmega3208.

1.4.301 (2020-01-28)   Added ATtiny1627/1626/1624.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.