Programowanie pamięci Flash mikrokontrolerów STM32 – Flash Loader.pdf
(
873 KB
)
Pobierz
089-090_stm32_loader.indd
PODZESPOŁY
Programowanie pamięci
Flash mikrokontrolerów
STM32 – Flash Loader
Demonstrator
Pamięć Flash mikrokontrolerów STM32 może być programowana za
pomocą bootloadera zapisanego w pamięci systemowej programu,
który do ładowania programu wykorzystuje interfejs RS232.
Dzięki temu jest możliwe zaprogramowanie mikrokontrolera bez
konieczności posiadania dodatkowego sprzętu, poza zwykłym kablem
RS232 i układem konwertera napięć, który zazwyczaj jest elementem
większości systemów mikroprocesorowych. Jeśli natomiast obwody
służące do komunikacji za pomocą interfejsu RS232 nie zostały
umieszczone w systemie wystarczy podłączyć zewnętrzny konwerter
poziomów napięć, by móc niskim kosztem zaprogramować pamięć
mikrokontrolera przygotowanym programem.
We wspomniany bootloader wy-
posażono wszystkie aktualnie pro-
dukowane mikrokontrolery z rodziny
STM32F101xx oraz STM32F103xx.
Aby mikrokontroler wykonał program
bootloadera należy wymusić odpo-
wiedni dla pamięci systemowej stan
na wyprowadzeniach BOOT0 i BOOT1
(
rys. 1
) oraz wyzerować mikrokontro-
ler. Zależność pomiędzy stanem na
wyprowadzeniach BOOT0 i BOOT1
a rodzajem pamięci, z której wykony-
wany będzie program przedstawiono
w
tab. 1
.
Tab. 1.
BOOT0 BOOT1 Obszar pamięci
0 x Pamięć Flash
1 0 Pamięć systemowa
1 1 Pamięć RAM
Z tabeli wynika,
iż bootloader zostanie
uruchomiony, gdy wy-
prowadzenie BOOT0
będzie się znajdo-
wało w stanie wyso-
kim, a wyprowadzenie
BOOT1 w stanie ni-
skim. Stan tych wy-
prowadzeń jest odczy-
tywany przy czwar-
tym narastającym
zboczu sygnału SYS
CLK po wyzerowa-
niu mikrokontrolera.
Bootloader komuni-
kuje się za pomocą
interfejsu USART1,
przy czym wykorzy-
stywane są tylko linie
USART1_RX (PA10)
oraz USART1_TX
(PA9). Pozostałe wy-
prowadzenia ukła-
du USART1 nie są
wykorzystywane przez bootloader.
Sygnał zegarowy jest otrzymywany
z wewnętrznego generatora RC wy-
sokiej częstotliwości, tak więc do
pracy bootloadera nie jest wymaga-
ny zewnętrzny oscylator kwarcowy.
Prędkość transmisji jest ustalana au-
tomatycznie przez bootloader, który
Rys. 1.
Rys. 2.
Elektronika Praktyczna 7/2008
89
PODZESPOŁY
gram ma postać kreatora, który krok
po kroku przeprowadza użytkownika
przez proces programowania pamięci
Flash.
Jako pierwsze jest wyświetlane
okno powitalne (
rys. 2
). Po kliknięciu
przycisku
Next
wyświetlone zostanie
okno pokazane na
rys. 3
, służące do
określenia numeru portu COM oraz
parametrów transmisji, przy czym je-
dyną opcją mogącą wymagać zmiany
przez użytkownika jest numer portu
COM. Pozostałe parametry nie wy-
magają zmian. Na tym etapie należy
ustawić na wyprowadzeniach BOOT0
i BOOT1 odpowiedni stan oraz wy-
zerować mikrokontroler. Po kliknię-
ciu przycisku
Next
zostanie podjęta
próba nawiązania łączności z mikro-
kontrolerem. W przypadku jej niepo-
wodzenia zostanie wyświetlone okno
z komunikatem jak na
rys. 4
. Przyczy-
ną braku komunikacji może być źle
wybrany numer portu COM lub nie-
poprawny stan na wyprowadzeniach
BOOT0 i BOOT1. Kolejne okno służy
do wyboru grupy, do której należy
programowany mikrokontroler (
rys. 5
).
W polu
Flash Mapping
zostaną wy-
świetlone wszystkie dostępne dla da-
nej grupy sektory pamięci Flash wraz
z ich adresami oraz atrybutami. Ko-
lejne okno (
rys. 6
) służy do wyboru
operacji, jaka ma zostać wykonana
na pamięci Flash programowanego
mikrokontrolera. Do wyboru mamy
kasowanie (opcja
Erase
) całego obsza-
ru pamięci lub tez wybranych sekto-
rów pamięci (
rys. 7
). Opcja
Downlo-
ad
służy do przesłania programu do
mikrokontrolera. Plik z kodem pro-
gramu może być zapisany w trzech
formatach: binarnym (
*.bin
), Intel–
HEX (
*.hex
) oraz Motorola S–Record
(
*.s19
). W przypadku pliku binarnego
możemy określić adres, pod którym
zostanie umieszczony ładowany pro-
gram. W przypadku pozostałych forma-
tów adres ten jest określony w pliku,
a opcja określenia adresu jest nieak-
tywna. Opcja
Upload
służy do odczy-
tu zawartości pamięci Flash. Podobnie
jak w przypadku kasowania pamięci,
możliwy jest wybór poszczególnych
sektorów pamięci Flash, których za-
wartość ma zostać odczytana. Program
Flash Loader Demostrator w obecnej
wersji posiada drobne niedociągnięcie.
Mianowicie odczytywane dane muszą
być zapisane do już istniejącego pli-
ku – program nie jest w stanie samo-
dzielnie utworzyć pliku, do którego
trafią odczytane dane. Spowodowane
jest to faktem, iż wyświetlone zosta-
Rys. 7.
Rys. 3.
dostosowuje ją na podstawie danych
odebranych z komputera PC.
Flash Loader Demonstrator
Firma STMicroelectronics dostarcza
aplikację dla systemu Windows prze-
znaczoną do programowania pamięci
Flash mikrokontrolerów STM32 z wy-
korzystaniem umieszczonego w pamięci
systemowej bootloadera i portu COM
komputera PC. Program Flash Loader
Demostrator jest dostępny pod adre-
sem
http://www.st.com/stonline/products/
support/micro/files/um0462.zip
(publi-
kujemy go także na CD–EP7/2008B).
Po rozpakowaniu archiwum należy
uruchomić znajdujący się wewnątrz
plik
UM0462.exe
i zainstalować pro-
gram Flash Loader Demostrator. Pro-
Rys. 8.
Rys. 9.
Rys. 4.
nie okno dialogowe
Otwórz
w sytuacji,
gdy właściwe byłoby okno dialogowe
Zapisz jako…
. Po określeniu rodza-
ju operacji wykonywanej na pamięci
Flash oraz wybraniu odpowiednich
plików i sektorów w pamięci, należy
kliknąć przycisk
Next
. Nastąpi przej-
ście do kolejnego okna (
rys. 8
)
oraz
zostanie wykonana wybrana operacja.
W oknie będą wyświetlone szczegóły
na temat aktualnie wykonywanej ope-
racji oraz pasek postępu operacji. Po-
myślne zakończenie operacji zostanie
zasygnalizowane odpowiednim komu-
nikatem wyświetlonym na pasku po-
stępu (
rys. 9
). Po kliknięciu przycisku
Finish
program zostanie zamknięty.
Teraz pozostaje nam tylko przywró-
cić na liniach BOOT0 i BOOT1 stan
właściwy dla wykonywania programu
z pamięci Flash (BOOT0 = 0; BOOT1
= 0) oraz wyzerowanie mikrokontro-
lera. Załadowany program powinien
zostać wykonany.
Radosław Kwiecień, EP
radoslaw.kwiecien@ep.com.pl
Rys. 5.
Rys. 6.
90
Elektronika Praktyczna 7/2008
Plik z chomika:
sliwak
Inne pliki z tego folderu:
Zewnętrzne pamięci statyczne i mikrokontrolery STM32.pdf
(1596 KB)
Alternatywna metoda programowania pamięci Flash mikrokontrolerów STM32.pdf
(2108 KB)
Atollic TrueSTUDIO - Sposób na mikrokontrolery STM32.pdf
(1555 KB)
Bootloader dla mikrokontrolerów STM32 - Aktualizacja oprogramowanie z zastosowaniem karty SD lub przez USB.pdf
(640 KB)
Darmowe narzędzia programowe dla mikrokontrolerów STM32.pdf
(1063 KB)
Inne foldery tego chomika:
! 2015
! 2016
! 2016 automatyka
! 2018
! MATURA FIZYKA
Zgłoś jeśli
naruszono regulamin