Skocz do zawartości
PierwiastekZdwa

STM32L - tryb programowania pamięci flash

Pomocna odpowiedź

Napisano (edytowany)

Cześć, chcę zaprogramować STM32L011L4T6 za pomocą konwertera USB - UART. Zapoznałem się (o ile z moją wiedzą można to tak nazwać) z notami katalogowymi, wiem, że potrzebuję uruchomić tryb programowania pamięci flash, wiem których pinów mam do tego użyć korzystając z UART ale trafiłem na tabelkę na której stanąłem i nie potrafię pójść dalej. Procesor ma wyprowadzony pin Boot0 ale nigdzie nie mogę znaleźć informacji na temat nBoot1(bit) i nBoot0_SW(bit). Dla przykładu taki STM32F411xx ma w tej tabelce tylko jedną możliwość i ustawia się tylko dwa piny które są ładnie opisane w tabeli z pinami. Mógłbym prosić o pomoc?
Pozdrawiam

stm.thumb.jpg.f38283b15528b3b807d7b07e32a3b054.jpg

 

 

Edytowano przez PierwiastekZdwa

Udostępnij ten post


Link to post
Share on other sites

Chyba pominąłeś jedną zasadnicza różnice między boot0 a boot1. Pierwszy to pin kontrolera a drugi to bit, który znajdziesz pod hasłem "Option byte register", oczywiście w Reference Manual

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Option bytes możesz  zmieniać co najmniej dwojako, albo poprzez dostęp z kodu zaszytego w procesorze, pewnie jest to przydatne przy tworzeniu własnych bootloaderów, ale do tej tajemnej wiedzy jeszcze nie doszedłem, albo choćby z poziomu oprogramowania STLink. W takim F042 wygląda to tak jak na zrzucie:

image.thumb.png.8213d65ed7c94fb93338f62b2406ef4a.png

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Myślę, że powinieneś spojrzeć do RM od STM32L011, tam masz tabelkę:

image.thumb.png.5cd9161d6bd4901492db962748675c23.png

Te procki mają tylko 3 możliwości, a chodzi o różne możliwości startu programu.

"•  Boot from Flash program memory: the Flash program memory is aliased in the boot memory space (0x0000 0000), but still accessible from its original memory space (0x0800 0000). In other words, the Flash memory contents can be accessed starting from address 0x0000 0000 or 0x0800 0000.

• Boot from system memory: the system memory is aliased in the boot memory space (0x0000 0000), but still accessible from its original memory space (0x1FF0 0000).

• Boot from the embedded SRAM: the SRAM is aliased in the boot memory space (0x0000 0000), but it is still accessible from its original memory space (0x2000 0000)."

Żeby skonfigurować odpowiedni dla Ciebie tryb musisz skonfigurować odpowiednio pin boot0 oraz bity nBoot1 oraz nBoot_sel. Te dwa ostatnie możesz ustawić za pomocą STlinka jak już pisałem, zaznaczając odp. "ptaszki" w programie.

  • Lubię! 2

Udostępnij ten post


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!

Gość
Napisz odpowiedź...

×   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...