Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

STM32F051C8 samoistne resetowanie

Kertoip95 17 Maj 2017 13:05 648 3
  • #1 17 Maj 2017 13:05
    Kertoip95
    Poziom 10  

    Problem stanowi mikrokontroler STM32F051C8 który po wgraniu kilkadziesiąt razy programu zaczął się samoistnie resetować co 400ms. Pin reset nie był podciągnięty pod 3.3V, ale po podłączeniu pull-upa nic to nie zmieniło. Dało się go programować za pomocą ST-Link Utility (connect under reset). Pin BOOT0 podciągnięty pod masę, za pomocą zworki, którą można też podciągnąć go do 3.3V (żeby mieć łatwy dostęp do bootloadera). Wstępnie byłem pewien, że mikrokontroler został uszkodzony fizycznie i wlutowałem nowy. Działał on dobrze, jednak nagle po kilkudziesięciu wgraniach nowego programu stało się dokładnie to samo co z poprzednim, znowu samoistnie się restartuje. Nie kombinowałem nic z watchdogiem, ani rejestrami odpowiedzialnymi za reset. Ponadto przy próbie wgrania programu w eclipse pojawia się w konsoli następujący komunikat:

    Error: stm32x device protected
    Error: failed erasing sectors 0 to 10

    Co może być przyczyną tego zachowania?

  • Pomocny post
    #2 17 Maj 2017 13:19
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Włączył Ci się "hardware watchdog". Zrób "mass erase" a następnie albo wyłącz "hardware watchdog", albo skasuj też obszar "option bytes" (lub przywróć tam wartości domyślne).

  • #3 17 Maj 2017 14:24
    Kertoip95
    Poziom 10  

    Wielkie dzięki, wszystko działa tak jak powinno, oto lista kroków jakby ktoś miał podobny problem:

    1. Włączenie ST-Link Utility.
    2. Target -> Option Bytes -> Flash sectors protection -> Unselect All.
    3. Target -> Option Bytes -> User configuration option byte -> Zaznaczyć checkbox "WDG_SW".
    4. Full chip erase.

    Teraz wszystko powinno wrócić do normy. Tak z ciekawości, jaka może być przyczyna tego błędu?

  • #4 17 Maj 2017 14:46
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Kertoip95 napisał:
    Tak z ciekawości, jaka może być przyczyna tego błędu?

    1. Jakiś błąd podczas programowania.
    2. Błąd w kodzie programu jeśli są w nim jakiekolwiek operacje zapisu flash i/lub option bytes.
    3. User error (;

Szybka odpowiedź lub zadaj pytanie
Dziękuję Ci. Ta wiadomość oczekuje na moderatora.
 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME