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:
Falls ST-Link vorhanden
Note: 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 hier.
Benötigt wird:
- STM32 ST-Link Programm
- ST-Link V2 Adapter, günstige kompatible Nachbauten des Adapters finden sich auf Amazon, ebay etc.
- Neueste Bootloader und UHSDR Firmware.
<bootnote>Following based on https://www.amateurfunk-sulingen.de/forum/attachments/UHSDR_STlink.pdf</bootnote>
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.
2. Adapterkabel
Das Adapterkabel sollte nicht länger als 10cm sein. Es werden 3 oder 4 Litzen verbunden.
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 |
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)
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
Startadresse für die Firmware: 0x08010000 Dann wieder mit Start den Programmiervorgang auslösen.
5. Fertig
Das war es dann auch schon. Bootloader und Firmware sind nun Programmiert.
MCU Registerwerte wiederherstellen ("Option Bytes")
1. Auch hier wird das 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“:
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 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 Liste der **geschlossenen** Fehler nachsehen.
- Falls nicht in der Liste der offenen und geschlossenen Fehler:
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?