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/
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.