{{tag>review}}{{tag>german}}
===== UHSDR Fehlerbeseitigung (Troubleshootig) =====
==== Weißer LCD Bildschirm - "White screen" ====
Bleibt der Bildschirm nach dem Einschalten des OVI40 UI boards konstant weiß beleuchtet ohne Text, so läuft der Bootloader nicht und muß geflasht werden, d.h. auf dem OVI40 UI installiert werden (siehe XXXXX).
Prüfen des Bootloaders mit einfachen Mitteln:
* Wenn beim Einschalten der LCD Bildschirm kurz weiß wird ("flickert") ist das ein positives Zeichen dafür, daß der Bootloader gestartet hat.
* Taste "Band +" drücken, danach +5V an OVI40 UI board anlegen. Es sollte ein Text auf dem Displa erscheinen
* Taste "Band -" drücken, danach +5V an OVI40 UI board anlegen. Es sollte ein Text auf dem Displa erscheinen
Sollte trotz Neuinstallation der Bootloader immernoch nicht laufen so sind die Hinweise weiter unten (MCU tot, Option Bytes) zu beachten. Es kann auch ein Hardware Defekt vorliegen.
==== UI Board "tot" - MCU ("bricked") ====
Wenn kein Hardware-Defekt vorliegt, kann es helfen:
* den [[:uhsdr:uhsdrbl|Bootloader re-installieren]]
* die [[:uhsdr:uhsdrfw|Firmware re-installieren]]
=== Falls ST-Link vorhanden ===
ToDo Text on unbricking
Eine nicht mehr funktionierende OVI40 MCU kann - sofern es sich um keinen Hardware Defekt handelt - via ST-Link V2 Adapter und .bin-Datei wiederbelebt werden. Die Dateien dazu finden sich [[:uhsdr:uhsdrdownload|hier]].
[[https://github.com/df8oe/UHSDR/blob/81dd4afae1a52103b2f1824cba34e2ff35e805ea/mchf-eclipse/useful_manuals/bootloader_doc.md|Github Doc]]
Benötigt wird:
* STM32 ST-Link Programm
* [[http://www.st.com/content/st_com/en/products/development-tools/hardware-development-tools/development-tool-hardware-for-mcus/debug-hardware-for-mcus/debug-hardware-for-stm32-mcus/st-link-v2.html|ST-Link V2 Adapter]], günstige kompatible Nachbauten des Adapters finden sich auf Amazon, ebay etc.
* [[:uhsdr:uhsdrdownload|Neueste]] Bootloader und UHSDR Firmware.
Following based on [[https://www.amateurfunk-sulingen.de/forum/attachments/UHSDR_STlink.pdf
=== 1. Vorraussetzung ===
STlink Software ist installiert, Adapter ist angeschlossen und Rechner ist mit den Internet verbunden. Firmware im STlink Adapter auf neuesten Stand bringen. Dazu im Reiter ST-Link Firmware update anklicken, und dort dann device connect anklicken. Nach kurzer Zeit wird die aktuell installierte STlink V2 Firmware Version angezeigt. Gibt es dort eine neuere Version sollte man das update auch durchführen.
[{{:uhsdr:st-link1.png?400|}}]
=== 2. Adapterkabel ===
Das Adapterkabel sollte nicht länger als 10cm sein. Es werden 3 oder 4 Litzen verbunden.
|< 60% 50% 25% 25% >|
|ST-link adapter |OVI40 UI JP8 |Remark |
|Pin-13 TRACESWO |JP8 Pin 1 |Debug Output |
|Pin-15 NRST |JP8 Pin 2 |Reset |
|Pin-07 SWDIO |JP8 Pin 3 |Debug I/O |
|Pin-09 SWCLK |JP8 Pin 4 |Debug Clock |
|Pin-01 MCU VDD |JP8 Pin 5 |VDD from MCU |
|Pin-20 Gnd |JP8 Pin 6 |Ground |
{{:uhsdr:en.dm00026748.pdf|Beschreibung ST-Link V2 und ST-Link ISO Adapter, Pin out}}
[{{:ovi40test:img_1971.jpg?400|Connection ST-Link to UI board (photo F4HTX)}}]
=== 3. Connect ===
Hat man alles richtig gemacht erscheint nach betätigen von Target Connect sowie File → Open (entsprechendes *.bin file auswählen) folgender Bildschirm (hier Beispiel mchf Bootloader)
[{{:uhsdr:st-link3.png?400|}}]
=== 4. Programmierung starten ===
Programmierung starten mit Target → Program & Verify In dem dort sich öffnenden Fenster die Start adress für das *.bin file eintragen
Startadresse für den Bootloader: 0x08000000 Dann mit Start den Programmiervorgang auslösen Nun das Firmware *.bin file über File → open laden Programmierung starten mit Target → Program & Verify In dem dort sich öffnenden Fenster die Start adress für das *.bin file eintragen
[{{:uhsdr:st-link4.png?400|}}]
Startadresse für die Firmware: 0x08010000 Dann wieder mit Start den Programmiervorgang auslösen.
[{{:uhsdr:st-link2.png?400|}}]
=== 5. Fertig ===
Das war es dann auch schon. Bootloader und Firmware sind nun Programmiert.
==== MCU Registerwerte wiederherstellen ("Option Bytes") ====
1. Auch hier wird das [[http://www.st.com/en/embedded-software/stsw-link004.html|ST-Link Tool]] benötigt. Man braucht keinen Account, es reicht Name und Email anzugeben, der Download-Link kommt dann per Email.
2. Verbinde den ST-LINK USB (3 Leitung SWDIO, SWCLK und GND) mit den entsprechenden Pins von UI Board P8, siehe oben.
3. Spannung anschalten und dann im ST-Tool auf Menu "Target" - "Connect" klicken. Der Prozessor sollte erkannt werden. Wenn nicht, nochmal die 3 Leitungen kontrollieren, ob da nicht etwas vertauscht ist.
4. Wenn das alles klappt, kann man mit "Target" "MCU Core" die Register des Prozessors auslesen.
Dies sind die korrekten Werte für die MCU "Option Bytes":
[{{:uhsdr:optionbytes.png?400|Option Bytes Werte STM32F767ZI (Screenshot DF9TS)}}]
|< 50% 50% 50% >|
|Read Out Protection:|Level0|
|BOR-Level:|Level3|
|IWDG_SW:|gesetzt|
|WWDG_SW:|gesetzt|
|nRST_STOP:|gesetzt|
|nRST_STDBY:|gesetzt|
|FZ_IWDG_STOP:|gesetzt|
|FZ_IWDG_STDBY:|gesetzt|
|nDBOOT:|gesetzt|
|nDBANK:|nicht gesetzt|
|BOOT_ADD0:|0x0080 Boot from 0x200000|
|BOOT_ADD1:|0x0040 Boot from 0x100000|
|bei keiner der Boxen unter "Flash Section Protection" ist ein Haken gesetzt| |
==== SW Fehler ("Bugs") im Bootloader oder in Firmware ====
Die Liste der offenen Fehler findet sich [[https://github.com/df8oe/UHSDR/issues|hier]].
* Fals der Fehler in der Liste ist:
* Hilfreiche zusätzliche Informationen bitte als Kommentar zur Fehlermeldung posten
* Wenn der Fehler "in Bearbeitung" ist bitte etwas Geduld. Alle Entwickler arbeiten ehrenamtlich und in ihrer Freizeit daran, UHSDR zu verbessern
* Falls der Fehler nicht in der Liste ist, bitte in der [[https://github.com/df8oe/UHSDR/issues?q=is%3Aissue+is%3Aclosed|Liste der **geschlossenen** Fehler]] nachsehen.
* Falls nicht in der Liste der offenen und geschlossenen Fehler:
* Im [[https://www.amateurfunk-sulingen.de/forum/index.php?board=19|Forum]] diskutieren - vor allem wenn man unsicher ist ob es sich tatsächlich um einen SW Fehler handelt
* Neue Fehlermeldung [[https://github.com/df8oe/UHSDR/issues/new|erzeugen]]
==== Hardware Defekt prüfen ====
* Ist die MCU in korrekter Orientierung (Pin 1) eingelötet?
* +3.3V für MCU vorhanden, ebenso MAsse?
* Takt vorhanden (TXCO)?
* Alle Leitungen von MCU zu den USB Buchsen ohne Kurzschlüße und Unterbrechungen?
\\