<> = Allgemeines = Auf dieser Wiki-Seite geht es speziell um das Flashen des Bootloaders der Navi-Ctrl. Auf der NC ist ein STR911FAM44X6 als Mikrocontroller eingesetzt. Damit ein Laden der Firmware möglich wird muss ein Bootloader über die JTAG-Schnittstelle geflasht werden. Ein Flashen über die ISP-Schnittstelle, wie bei den meisten anderen hier eingesetzten Atmels (z.B. FlightCtrl, FollowMe, [[misthaken]]), ist nicht möglich. Im Gegensatz zu anderen ARM's bieten die STR91x die Möglichkeit den Bootloader in einen 2., kleineren Flashbereich zu laden und dann diesen zum Booten vorzugeben. Der Bootloader prüft dann ob im 1., größeren Flashbereich ein gültiger Programmcode vorliegt, der, falls diese Prüfung erfolgreich verläuft, dann abgearbeitet wird. Diese Umschaltung des Flashbereich zum Booten muss ein einem spez. Config-Register, welches nur per JTAG erreichbar ist, gesetzt werden. An diese Stelle möchte ich mich noch ausdrücklich dafür bedanken, dass uns die "Wissenden im Forum", ausreichend Gelegenheit gegeben haben dazu umfangreiche eigene Erfahrungen zu sammeln. == Beiträge im Forum hierzu == http://forum.mikrokopter.de/topic-9046.html == Bootloader == Der Bootloader ist nicht öffentlich. Für Reparaturen kann aber ein passender STR911 incl. des benötigten Bootloaders erworben werden: [[https://www.mikrocontroller.com/index.php?main_page=product_info&cPath=74&products_id=524|Shoplink]] = Auswechseln eines defekten STR911FAM44X6 = == Ist der Controller überhaupt defekt? == Ein defekter STR911FAM44X6 lässt sich unter anderem daran erkennen, dass er beim Einschalten der NC sofort sehr warm wird.<
> {i} Ein "Timeout" beim Updateversuch bedeuten nicht, dass der Bootloader neu programmiert werden muss. Es (ohne Weiteres) nicht möglich den Bootloader zu löschen. Einfach mal während der "Connecting"-Meldung im MK-Tool versuchen die NaviCtrl aus- und wieder einzuschalten. Das sollte i.d.R. helfen. == Entfernen des Mikrocontrollers durch Losschneiden von der Platine == Der Mikrocontroller kann mit einem Skalpell sehr leicht von der Platine geschnitten werden. Dabei werden die einzelnen Beinchen ziemlich weit oben gegen das Gehäuse abgeschnitten, damit die Platine nicht beschädigt wird. Danach können die einzelnen Beinchenreste und das Lötzinn mit einem Lötkolben erwärmt werden und dann mit Hilfe von Entlötlitze von der Platine entfernt werden. Nach der Reinigung der Platine mit einem Wattestäbchen und "Kontakt 60" ist der Bereich fertig vorbereitet zum Auflöten des neuen Controllers. == Weitere Vorschläge zum Entfernen des MC == so man einen Heißlufterzeuger mit einstellbarer Luftmenge und kleinem Luftauslass hat, so 3 - 5 mm, wäre auch das ein gutes Hilfsmittel. ... == Woher bekommt man einen neuen STR911FAM44X6 ? == https://www.mikrocontroller.com/index.php?main_page=product_info&cPath=74&products_id=376&zenid=e766273ec875f52b6742617cd7df8586 == Auflöten des neuen Controllers == Nach dem Auflegen des neuen Controllers sollte dieser erst einmal an zwei Punkten gegen Verrutschen fixiert werden. Danach müssen die Pins mit ausreichend Lötzinn gelötet werden. Sollte das Lötzinn dabei zwischen den einzelnen Pins verlaufen, kann es problemlos mit Entlötlitze abgesaugt werden. Nachdem alle Pins gelötet wurden und alles überflüssige Lötzinn aufgesaugt wurde, kann man die einzelnen Pins nochmal mit einer feinen Lötkolbenspitze erwärmen um kalte Lötstellen zu vermeiden. = Flashen des neuen STR911FAM44X6 = Hier wird nur beschrieben, wie der Bootloader auf die NC kommt. Das Einspielen der Software auf eine funktionierende NC ist im Wiki im Bereich NaviCtrl beschrieben. Zum Flashen der NC wird sowohl entsprechende Hardware, als auch entsprechende Software benötigt. Bei der Hardwareauswahl ist zu beachten, dass der STK91x 3,3 Volt an der JTAG-Schnittstelle erwartet und 5 Volt dort vermutlich nicht überlebt.itet. == Auflistung der JTAG-Hardware == === miniFlashLink === Dank sei JUERGEN_ der auf Basis des ST Flashlink dieses kleine gut arbeitende Layout entworfen hat, dass mit ST CAPS benutzbar ist. [[http://gallery.mikrokopter.de/main.php/v/tech/IMAG0163.jpg.html|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=38528|http://gallery.mikrokopter.de/main.php/v/tech/IMAG0163.jpg.html}}]] === MK-FlashLink === miniFlashLink Alternative von '''Dirac'''. Freundlicherweise hat er das Layout sowie den Schaltplan zum Nachbau bereit gestellt [[http://gallery.mikrokopter.de/main.php/v/tech/MK-FlashLink_SCHEMATIC.pdf.html|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=54693|http://gallery.mikrokopter.de/main.php/v/tech/MK-FlashLink_SCHEMATIC.pdf.html}}]] [[http://gallery.mikrokopter.de/main.php/v/tech/MK-FlashLink_PCB.pdf.html|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=54688|http://gallery.mikrokopter.de/main.php/v/tech/MK-FlashLink_PCB.pdf.html}}]] '''[[http://www.reichelt.de/?ACTION=20;AWKID=211831;PROVID=2084|Reichelt Warenkorb]]''' === FlashLink === der JTAG-Adapter von ST zur Nutzung mittels CAPS am PC Parallelport === Wiggler === hier hat Grottenflieger ein Layout erstellt, welches am PC Parallelport unter älteren Versionen von OpenOCD arbeiten müsste === OpenOCD USB === Es ist ein JTAG-Adapter für den USB Port zur Benutzung unter OpenOCD auf Basis des FT2232 und stellt 2 serielle Ports zur Verfügung. Daher kann zu einer odb server session gleichzeitig eine debug Verbindung via Telnet aufgebaut werden. (http://www.embedded-projects.net/index.php?page_id=256) === USBProg3 === Unter OpenOCD hat man mit dem USBProg3 einen universellen Programmieradapter, der mit der entsprechenden Firmware sowohl zum ISP-, als auch zum JTAG-Adapter gemacht werden kann. (http://www.embedded-projects.net/index.php?page_id=135) Die ISP-Firmware ist ausgereift und kann gut für die Programmierung von Atmels genutzt werden, wenn keine echte serielle Schnittstelle für Sercon zur Verfügung steht. Die JTAG-Firmware scheint noch nicht ausgereift zu sein. Eine Programmierung der NC scheint damit zur Zeit nicht möglich zu sein. == Software zur Nutzung der JTAG-Schnittstelle == === CAPS === http://www.st.com/stonline/products/literature/um/11684.htm (letzte Zeile auf der Seite) ... === OpenOCD === http://developer.berlios.de/projects/openocd leider sind die verfügbaren Doc's gegenüber den aktuellen Versionen scheinbar rückständig. Besonders unangenehm ist dabei, dass dort u.A. noch Befehlssätze beschrieben werden, die schon nicht mehr vvorhanden bzw. durch andere ersetzt wurden. Eine gute Beschreibung zur Benutzung für die STR91x-Familie ist vorhanden bei http://www.intilinux.com/embedded/530/using-open-source-tools-for-str7xx-cross-development-2/ - jedoch drücken sich die Autoren da genau um die erforderliche Umschaltung der Flashbereiche zum Booten. - siehe Seite 168 unten ''Hier ist noch Potential zu intensiver Beschäftigung vorhanden.'' Der hier Schreibende hat an diese Stelle aufgegeben und sich CAPS zugewand .... ;-) == Auflistung der funktionierenden Kombinationen mit Vorgehensweise == === miniFlashLink und CAPS === Funktioniert, wurde am 29.05.09 von grottenflieger erfolgreich getestet. Ein Hauptproblem dabei war, dass auf der letzten Maske die Vorgabewerte abgeändert wurden und dadurch das Schreiben der Configuration verhindert wurde, wodurch die Umschaltung auf den 2. Flashbereich beim Reset nicht vorhanden war /!\ Anleitung und Einstellungen folgen ... vorab - schnell und schmutzig -> [[http://gallery.mikrokopter.de/main.php/v/tech/NCgreen+Flash.pdf.html|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=38558|http://gallery.mikrokopter.de/main.php/v/tech/NCgreen+Flash.pdf.html}}]] '''im unteren Teil der geöffneten Anzeige kann die Doku im Original (3 Seiten) als .pdf heruntergeladen werden''' ---- . KategorieAnleitung KategorieHardware