Skocz do zawartości

STM32F746G-DISCO. Jak zapisać zmienną do pamięci FALSH podczas zaniku zasilania?


Pomocna odpowiedź

Na 100% skorzystam z rozwiązania jeśli zajdzie taka potrzeba.Jednakże mam pytanie- gdzie w pamięci  stm32fxxxxxx zostają zapisane zmienne.STMicroelectronics w arkuszu danych twierdzi,że  danej komórki pamięci można użyć jako eeprom co najwyżej kilkaset razy .Dlatego zaproponował rozwiązanie polegające na tym,że dane są zapisywane  na ostatnich stronach pamięci flash.STM przestrzega przed zapisywaniem w pamięci gdzieś tam gdzie jest program bo jak  ulegnie uszkodzeniu komórka pamięci to kontroler jest do wymiany.Opis emulatora eeprom jest w pliku AN4061.

obraz.thumb.png.04eb378629f778a68befd5d7031fac0e.png

Gdzieś w necie można znaleźć biblioteki STM ale są to przykłady i należy je w razie czego przerabiać.O wiele lepszym rozwiązaniem jest użycie bibliotek ee-master autorstwa Nima Askari, które można znaleźć na Git Hubie http://www.github.com/NimaLTD a sposób użycia na youtube:    https://www.youtube.com/channel/UCUhY7qY1klJm1d2kulr9ckw.Ponieważ używam STM32 cube ide to sposób wklejania bibliotek jest windowsowy czyli  przeciągnij i upuść.Biblioteki .h do Inc,biblioteki .c  do src a następnie w folderze głównym projektu refresh i po wszystkim a dalej tak jak zwykle # include ..... W bibliotece ee.c można przeczytać ,które mikrokontrolery są obsługiwane ale zawsze można pokusić się o dopisanie jakiegoś innego procka.Biblioteki zastosowałem w dwóch programach i działają doskonale.Nieprawdopodobna prostota obsługi!Polecam.

  • Lubię! 1
Link to post
Share on other sites

Dziękuję za podpowiedź. Przy najbliższej okazji spróbuję. Przyznam, że przy dochodzeniu do wersji jaką zaprezentowałem zapisałem coś, gdzieś i .... Musiałem wymienić płytę.

Andrzej

Link to post
Share on other sites

Może uda się odzyskać płytę.Zainstaluj STM32cubeProgrammer ,podłącz płytę przez ST-Link a następnie kliknij  connect.Jeśli się połączysz to kliknij dwa razy w ikonę po lewej stronie u góry ze strzałką w dół.Otworzy się okno ,po prawej stronie u góry jest Full chip erase ,kliknij.Może uda się  jeszcze wymazać  pamięć i wszystko będzie działać.Gdybyś nie mógł się połączyć naciśnij przycisk reset  na  płycie i przytrzymaj, następnie myszą najedź na connect i kliknij po czym puść przycisk reset.To puszczenie przycisku to prawie natychmiast po naciśnięciu  przycisku connect.Zbyt długie przytrzymanie przycisku reset po kliknięciu connect spowoduje,że się nie połączysz.Trochę wprawy i będzie ok.

  • Lubię! 1
Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Płytę odczytał .Spróbuj najpierw wgrać nowszy firmware  przycisk firmware upgrade.Później podeślę plik o programie.Debugger to jak masz ustawiony w Keilu bo chyba w keilu pracujesz.

Link to post
Share on other sites

Jeśli masz jakąś  na 100% sprawną płytę to spróbuj przetestować połączenie z STMcube programmer.To na pewno pomoże w działaniu na tej feralnej płycie.

  • Lubię! 1
Link to post
Share on other sites

Rozdział 2.1.4 do przerobienia.Może uda się połączyć w  Connect Under Reset albo Hot Plug

Connect Under Reset  -> Połącz w ramach resetowania : Ten tryb umożliwia połączenie z celem za pomocą resetowania vector catch przed wykonaniem jakichkolwiek instrukcji. Jest to przydatne w wielu przypadkach na przykład, gdy cel zawiera kod, który wyłącza piny JTAG / SWD.

Hot Plug : umożliwia połączenie z celem bez zatrzymywania lub resetowania. Jest to przydatne do
aktualizacji adresów pamięci RAM lub rejestrów IP podczas działania aplikacji.

Jeśli się nie uda połączyć w ten sposób to jeszcze pozostaje połączenie przez UART.

  • Lubię! 1
Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.