USB Troubleshooting

 

Der USB Support der C-Control Pro AVR32Bit wird durch den Prozessor selbst ausgeführt, und nicht durch einen externen Chip, wie z.B. auf dem C-Control Pro Mega Applicationboard. Dies ist soweit problematisch, da das Windows Betriebssystem nicht immer Unterbrechungen des USB Systems korrekt verarbeitet. Man merkt das im Alltag, wenn hin- und wieder ein USB-Stick, eine USB-Harddisk oder USB-Seriell Wandler erst beim zweiten Anstecken funktioniert. Um dem entgegen zu wirken, sind mehrere Maßnahmen getroffen worden, um die Anzahl der USB Neustarts zu minimieren:

 

Die C-Control Pro AVR32Bit Unit bleibt so lange wie möglich in der Firmware und springt seltener in den Bootloader als die C-Control Pro Mega Units.

Man kann mit dem Start/Stop Taster die Unit anhalten, ohne einen Reset durchführen zu müssen.

Ein Druck auf den Reset Taster überspringt die USB Initialisierung im Bootloader, und startet direkt die Firmware. Nur ein Power-On Reset belässt das AVR32Bit Modul im Bootloader (wenn der Autostart-Jumper nicht gesetzt ist).

 

 In seltenen Fällen kann es vorkommen, das die Unit bei einem Power-On nicht erkannt wird. Dies kann man im Device Manager erkennen, wenn dort beim Einschalten der Unit der C-Control AVR32Bit COM Port nicht im Gerätemanager auftaucht. Dann bitte (falls vorhanden) den USB-Hub ab- und anstecken, oder falls das nicht hilft, einen Restart von Windows durchführen. Danach wird die C-Control Pro Unit wieder erkannt.

 

 Wird das Benutzerprogramm durch einen Autostart direkt gestartet, so wird keine Meldung "Interpreter gestartet" ausgegeben. Das liegt daran, dass das USB-Subsystem bis zu 2 Sekunden benötigt um den virtuellen COM Port zu aktivieren. Da das Benutzerprogramm aber sofort los läuft, gehen alle Ausgaben der ersten 2 Sekunden verloren. Auch Debugausgaben sind in dieser Zeit bei aktivem Autostart nicht sichtbar. Ein Start des Programms durch den Start-Taster, wenn die Unit im Bootloader ist (z.B. nach einem Power-On Reset), verhält sich wie ein Autostart. Deswegen gibt es auch dort in den ersten 2 Sekunden keine Ausgaben.

 

IDE antwortet nicht

 

Wird bei der Abarbeitung der Programme auf der AVR32Bit fremder Speicher überschreiben, kann das Auswirkungen bis auf die IDE haben. In diesem Fall wird das USB CDC Protokoll vom AVR32 nicht mehr fehlerfrei ausgeführt, und der virtuelle COM Port auf dem PC kann in einen blockierenden Zustand geraten, der der IDE nur mit Verzögerungen (Timeouts) erlaubt die Daten entgegenzunehmen. Die IDE arbeitet dann nicht mehr richtig. Im Normalfall lässt sich mit einem Druck auf den Reset Taster des AVR32Bit Moduls die IDE aus dieser Situation zu befreien, manchmal hilft es aber nur, die IDE mit dem Task Manager zu beenden.