Nun habe ich ein seltsames Problem dem bekannten STM8S103F3P6 Board.
Es arbeitet das zuletzt aufgespielte Programm noch ab (sendet/empfängt
über UART, TEST-LED blinkt) lässt jedoch keinen neuen Flashvorgang mehr
zu. stm8flash gibt "Tries exceeded", STVP die Fehlermeldung, dass
keine Verbindung möglich ist.
Der STM8 bleibt aber offenbar stehen, wenn ich versuche eine Verbindung
herzustellen.
Das Mysterium:
- Am ST-Link V2 bzw. der Software (stm8flash oder STVP) liegt es nicht,
ein anderes baugleiches Board funktioniert einwandfrei.
- An der Problematik, dass der SWIM-Pin als Ausgang geschalten ist kann
es nicht liegen, denn der STM8S103F3 hat einen eigenen NRST Pin und ich
nutze in meinem Code keine GPIOs (bis auf die TEST-LED, und dieser Code
ist seit Anfang der Entwicklung unverändert geblieben). Die Gefahr
sich auszusperren wie beim STM8S001J3 (reinster Murks, sorry ST) besteht
meines Wissens nach nicht.
- Den STM8 habe ich mit Flussmittel nachgelötet und auch mit
Durchgangstest verifiziert, dass die relevanten Pins (NRST und SWIM)
verbunden sind und keine Kurzschlüsse auftreten.
- Den Onboard-Reset-Taster habe ich entfernt, falls dieser defekt sein
sollte und auch manuell den NRST-Pin auf Masse gezogen.
- Ein Unlock-Kommando per stm8flash hat keinen Effekt:
1 | $ ./stm8flash -cstlinkv2 -pstm8s103?3 -u
|
2 | Determine OPT area
|
3 | Unlocked device. Option bytes reset to default state.
|
4 | Bytes written: 11
|
Der Programmcode bleibt unverändert, flashen lässt er sich weiterhin
nicht.
Weiss jemand weiter? Sind zwar nur 50 Cent, aber ich finde es einfach
schade, einen funktionierenden STM8 wegzuwerfen.