Forum: Compiler & IDEs AVaRICE 2.12-rc1


von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ich habe in letzter Zeit mal einiges an AVaRICE getan.  Vor allem
initiiert wurde das durch Detlev Krafts reengineering der
Kommunikation von AVR Studio 5 mit dem JTAG ICE mkII (bzw. AVR Dragon)
und neuer Firmware-Version 7.x.  Es hat sich einiges im Bereich Xmega
getan, sodass ich nun zum ersten Mal einen zumindest einigermaßen
brauchbar funktionierenden Xmega-Support in AVaRICE verkünden würde.

Detlev gebührt hier ein herzlicher Dank für seine Arbeit, die er
wirklich vorbildlich dokumentiert hat.  Er hat auch schon einige der
Puzzle-Stückchen erraten, die die neue Firmware mit sich bringt, und
ich denke, ich konnte den Rest dann auch noch erraten.  Seine
Dokumentation befindet sich im doc/-Verzeichnis im SVN, auch wenn sie
auf Deutsch geschrieben ist.

Außerdem gibt es noch einige Performance-Verbesserungen, die zu einer
kleineren Zahl von "round-trips" zum ICE führen.  Wenn ich mir die
Kommunikation von AVR Studio 5 mit dem ICE ansehe, dann denke ich,
dass AVaRICE mittlerweile sogar schneller sein sollte.  (AVR Studio 5
bringt einen Debugger mit sich, der viel allgemeiner und damit
zwangsläufig näher am GDB dran ist, als das noch mit AVR Studio 4 und
dessen selbstgestricktem Debugger der Fall war.  Damit können all die
vielen Sonderfunktionen, die im ICE extra für AVR Studio 4
implementiert worden sind, nicht mehr wirksam werden.)

All diese Änderungen waren mit zum Teil sehr massiven Eingriffen in
den Code verbunden.  Daher bitte ich alle, den "release candidate"
möglichst gründlich zu testen um herauszufinden, ob ich hierbei
irgendwas anderes kaputt gemacht haben sollte.  Um es den
Windowsianern ein wenig zu erleichtern, konnte ich eine Win32-Maschine
finden, auf der ich einen Cygwin-Build des release candidate erzeugen
konnte.  Dieser befindet sich im Zip-File auf Sourceforge.  Man wird
sehr wahrscheinlich ein einigermaßen aktuelles Cygwin auf der
Zielmaschine trotzdem noch brauchen, um all die Abhängigkeiten von
CYG*.DLLs aufzulösen, die da referenziert werden.  Sorry, aber so, wie
AVaRICE gestrickt ist, ist eine Umstellung auf einen
plattformunabhängigen Code mit vertretbarem Aufwand nicht denkbar.
Das wimmelt nur so von fork(), Pipes, IO-Multiplexierung mittels
select() und dergleichen Posix-lastigen Dingen.

https://sourceforge.net/projects/avarice/files/avarice/avarice-2.12/

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ich habe jetzt AVaRICE 2.12 freigegeben.

Der wesentliche Unterschied zum Release-Kandidaten ist die Unterstützung
von PDI für Xmegas (mit dem JTAGICEmkII — STK600 ist noch nicht im
Programm, falls das jemanden interessiert), sowie die Ergänzung des
ATxmega16D4.  Zum Glück wird PDI aus Anwedersicht (und auch aus Sicht
der Implementierung) komplett genauso gehandhabt wie JTAG, sodass es
für den Anwender außer der neuen Option -X praktisch keine weiteren
Änderungen gibt.

http://sourceforge.net/projects/avarice/files/avarice/avarice-2.12/

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.