STM32_Butterfly_RS232.pdf

(844 KB) Pobierz
609897987 UNPDF
NOTATNIK KONSTRUKTORA
mikrokontrolera
Dodatkowe materiały
na CD i FTP
w STM32Butterfl y
przez RS232
Pamięć Flash mikrokontrolerów STM32
można programować poprzez interfejs JTAG
lub – w  przypadku gdy nie jest konieczne
bieżące debugowanie pracy mikrokontrolera
– z  wykorzystaniem bootloadera ulokowanego
w  pamięci systemowej mikrokontrolerów z  tej
rodziny. Jak załadować pamięć Flash poprzez
interfejs UART pokażemy krok po kroku w  artykule.
Dodatkowe materiały na CD i FTP:
host: ep.com.pl , user: 12235 , pass: 60u61csy
te, podobnie do STM32F105 (także należą do podrodziny Connectivi-
tyLine , ale nie wyposażono ich w interfejs Ethernet MAC) fabrycznie
wyposażono w oprogramowanie spełniające rolę bootloadera, obsłu-
gujące kilka kanałów komunikacyjnych: USB, CAN i RS232. Pozostałe
podrodziny mikrokontrolerów STM32F (101, 102, 103) także wypo-
sażono w botloader, ale obsługuje on wyłącznie kanał RS232 ( tab. 1 ).
Eksperymentalną platformą sprzętową, którą wykorzystamy do
przedstawienia funkcjonowania bootloadera zaimplementowanego
w pamięci systemowej mikrokontrolerów STM32F, jest STM32Butter-
fl y – ostatnio niezwykle popularna dzięki ogólnopolskiemu cyklowi
seminariów STM32 TechDays, które odbyły się w 14 miastach na te-
renie Polski.
STM32Butterfl y wyposażono w  mikrokontroler z  podrodziny
ConnectivityLine oznaczony symbolem STM32F107. Mikrokontrolery
Sprzęt i oprogramowanie
Do zaprogramowania mikrokontrolera poprzez interfejs RS232
z wykorzystaniem bootloadera konieczny jest konwerter poziomów
logicznych TTL/RS232 dołączony do wybranej pary linii GPIO: PA9
(TxD) i PA10 (RxD) lub PD5 (TxD) i PD6 (RxD).
Schemat elektryczny przykładowego konwertera pokazano na
rys. 1 , na fot. 2 pokazano miejsce dołączenia go do płytki zestawu
STM32Butterfl y. Do komunikacji z PC wybrano interfejs USART2,
114
ELEKTRONIKA PRAKTYCZNA 12/2009
NOTATNIK KONSTRUKTORA
Programowanie
609897987.051.png 609897987.062.png 609897987.068.png 609897987.069.png 609897987.001.png
Programowanie mikrokontrolera w STM32Butterfl y przez RS232
Tab. 1. Zestawienie dostępnych kanałów komunikacji bootloadera z otoczeniem w podrodzinach STM32
Podrodzina
USART1
USART2
CAN2
USB
Xtal
[MHz]
F101 TX-PA9 RX-PA10
F102 TX-PA9 RX-PA10
F103 TX-PA9 RX-PA10
F105 TX-PA9 RX-PA10 TX-PD5 RX-PD6 TX-PB6 RX-PB5
DP-PA12
DM-PA11
ID-PA10 **
VBUS-PA9
–/8, 14,7456, 25 *
F107 TX-PA9 RX-PA10 TX-PD5 RX-PD6 TX-PB6 RX-PB5
DP-PA12
DM-PA11
ID-PA10 **
VBUS-PA9
–/8, 14,7456, 25 *
* – zewnętrzny rezonator jest niezbędny wyłącznie podczas korzystania z bootloadera USB i CAN
** – linia używana wyłącznie gdy interfejs USB mikrokontrolera pracuje w trybach host i device USB-OTG
Errare humanum est
Erratowa plaga dotknęła także mikrokontrolery STM32F105/107,
które w wersji krzemu „Z” (aktualnie produkowanej) mają problemy
z działaniem bootloadera. Kłopoty napotkają użytkownicy
mikrokontrolerów z kodem daty poniżej 937, w nowszych wersjach
mikrokontrolerów wada ta nie występuje.
W erracie (ID15866 rev2) opisano sposób uniknięcia problemów
z bootloaderem w starszych wersjach mikrokontrolerów, przy
czym skutkują one wyłącznie w przypadku układów w obudowach
LQFP100.
Rys. 1. Schemat elektryczny interfejsu TTL/RS232
Fot. 2. Złącze portu D (GPIO) na płytce STM32Butterfl y
ponieważ jego linie TxD
i  RxD są przez bootlo-
ader przemapowywane
do linii GPIO PD5 i PD6,
które wyprowadzono na
10-stykowe złącze gold-
pin przeznaczone do wy-
korzystania w  aplikacji
użytkownika.
Obsługę transferu
danych pomiędzy PC
i  mikrokontrolerem za-
pewnia oprogramowanie
Flash bootloader demon-
strator , przystosowane
do obsługi wszystkich
dostępnych kanałów
transmisji danych: CAN,
USB i  RS232. Program
jest dostępny bezpłatnie
na stronie fi rmy STMi-
croelectronics ( www.
st.com/stm32 ), wymaga
on standardowej instala-
cji w systemie Windows.
Jak wspomniano,
bootloader jest ulokowa-
ny w  pamięci systemo-
wej mikrokontrolerów
STM32, jego automa-
Rys. 4. Okno startowe programu Flash
bootloader demonstrator
Fot. 3. Ustawienie zwor na liniach BOOT umożliwiające
uruchomienie bootloadera
Rys. 5. Okno z informacją o pojemności
pamięci Flash programowego mikrokon-
trolera
ELEKTRONIKA PRAKTYCZNA 12/2009
115
609897987.002.png 609897987.003.png 609897987.004.png 609897987.005.png 609897987.006.png 609897987.007.png 609897987.008.png 609897987.009.png 609897987.010.png 609897987.011.png 609897987.012.png 609897987.013.png 609897987.014.png 609897987.015.png 609897987.016.png 609897987.017.png 609897987.018.png 609897987.019.png 609897987.020.png 609897987.021.png 609897987.022.png 609897987.023.png 609897987.024.png 609897987.025.png 609897987.026.png 609897987.027.png 609897987.028.png 609897987.029.png 609897987.030.png 609897987.031.png 609897987.032.png 609897987.033.png 609897987.034.png 609897987.035.png 609897987.036.png 609897987.037.png 609897987.038.png 609897987.039.png 609897987.040.png 609897987.041.png 609897987.042.png 609897987.043.png 609897987.044.png 609897987.045.png 609897987.046.png
NOTATNIK KONSTRUKTORA
Krakowska sesja warsztatowa podczas STM32TechDays
W dniach 22.09 do 28.10.2009 odbyły się w 14 miastach Polski
warsztaty techniczne dla konstruktorów zainteresowanych mikro-
kontrolerami STM32. Impreza została zorganizowana przez fi rmę
STMicroelectronics, która wszystkim zakwalifi kowanym uczestnikom
sprezentowała niezwykle praktyczny zestaw upominkowy składający
się z płytki STM32Butterfl y (specyfi kacja w ramce), modułu z grafi cz-
nym wyświetlaczem LCD oraz książki poświęconej mikrokontrolerom
STM32. Uczestnicy seminariów mieli także możliwość
doposażenia otrzymanych motyli w programator-de-
bugger ZL30PRG (zgodny z ST-Link) oraz interfejs PHY
Ethernet zamontowany na module ZL2ETH.
Chęć uczestnictwa w STM32TechDays
zgłosiło blisko 1200 osób, z czego 550
otrzymało zaproszenia do uczestnictwa
w pierwszej turze warsztatów. Ze względu
na dużą liczbę chętnych w przyszłym roku
odbędą się kolejne sesje szkoleniowe,
o których informacje będą publikowane
m.in. w Elektronice Praktycznej, Elektroniku
oraz stronach internetowych partnerów
fi rmy STMicroelectronics w Polsce (m.in.
pod adresem www.stm32.eu ).
Na spotkania przybyły
łącznie 472 osoby, zarów-
no z dużych fi rm elektro-
nicznych jak i studenci,
których wsparcie w pierw-
szych krokach z mikro-
kontrolerami STM32 było
jednym z celów organiza-
tora imprezy. Spotkania
w ramach STM32TechDays
składały się z dwóch sesji,
z których jedna miała
charakter prezentacyjny,
druga była klasycznym
pokazem posługiwania się
mikrokontrolerami STM32
na prostych przykładach.
Szkolenia i prezentacje
prowadzili przedstawicie-
le polskiego biura fi rmy
STMicroelectronics, wspierani przez przedstawicieli fi rm dystrybucyjnych.
Z myślą o uczestnikach warsztatów STM32TechDays oraz wszystkich kon-
struktorów zamierzających korzystać w swoich projektach z mikrokontrole-
rów STM32 została uruchomiona strona informacyjna www.stm32.eu , do
której współtworzenia zapraszamy wszystkich Czytelników EP.
Wsparcie organizatorom STM32TechDays
świadczyli przedstawiciele fi rm dystrybucyjnych
Początek warsztatów w Warszawie
Sesja warsztatowa STM32TechDays
w Gliwicach
Warsztaty we Wrocławiu
tyczne uruchomienie nastąpi po ustawieniu na liniach: BOOT0 = 1
i BOOT1 = 0. Prawidłowe ustawienie zwor konfi guracyjnych na płytce
STM32Butterfl y pokazano na fot. 3 . Po dołączeniu zestawu STM32But-
terfl y z interfejsem RS232 do komputera PC i uruchomieniu wcześniej
zainstalowanego programu Flash bootloader demonstrator , należy wy-
brać kanał komunikacyjny ( rys. 4 ), następnie zrestartować mikrokontro-
ler (naciskając przycisk RESET na płytce zestawu) i nacisnąć przycisk
Next . Jeżeli inicjalizacja nastąpi poprawnie, zostanie wyświetlone okno
z  informacją o  pojemności pamięci programowego mikrokontrolera
( rys.   5 ), następnie okno z wykazem sektorów Flash i ich statusów ( rys.
6 ). W kolejnych oknach użytkownik może wybrać plik zawierający dane
do zapisania w pamięci Flash ( bin lub hex ), ustalić ręcznie lub pobrać
z zewnętrznego pliku konfi gurację programowanego mikrokontrolera,
włączyć lub wyłączyć zabezpieczenie odczytu zawartości pamięci Flash
Rys. 6. Okno z wykazem sektorów pamięci
i ich statusów
Rys. 7. Okno konfi guracji mikrokontrolera
i sektorów pamięci
Rys. 8. Okno z paskiem postępu, ilustrują-
cym przebieg programowania pamięci Flash
116
ELEKTRONIKA PRAKTYCZNA 12/2009
609897987.047.png 609897987.048.png 609897987.049.png 609897987.050.png 609897987.052.png 609897987.053.png 609897987.054.png 609897987.055.png 609897987.056.png 609897987.057.png 609897987.058.png
Programowanie mikrokontrolera w STM32Butterfl y przez RS232
W przypadku braku komunikacji pomiędzy programem Flash
bootloader demonstrator i bootloaderem mikrokontrolera pojawi się
komunikat jak poniżej.
Dla dociekliwych
Sposób pracy działania bootloaderów zastosowanych w  mi-
krokontrolerach STM32 został szczegółowo opisany w dokumen-
tacji udostępnionej bezpłatnie przez fi rmę STMicroelectronics na
stronie www.st.com/stm32 . Opis bootloaderów mikrokontrolerów
STM32F101/102 i 103 jest dostępny w nocie aplikacyjnej AN2606,
a bootloader mikrokontrolerów STM32F105/107 opisano w nocie
aplikacyjnej AN2662.
W obydwu przypadkach szczegółowo opisano algorytm działa-
nia bootloaderów, sposób wymiany danych z PC, a także polecenia
obsługiwane przez bootloader.
Szczegółową instrukcję obsługi programu Flash bootloader de-
monstrator producent zawarł w  dokumencie UM0462. Opisano
w nim m.in. sposób korzystania z programu wywoływanego z linii
poleceń, co pozwala na jego integrację z różnymi środowiskami pro-
gramistycznymi.
W takim przypadku należy sprawdzić:
– poprawność podłączenia linii transmisyjnych mikrokontrolera do
konwertera napięć RS232,
– poprawność wyboru portu komunikacyjnego i trybu pracy
bootloadera w początkowym oknie programu Flash bootloader
demonstrator,
– poprawność konfi guracji linii BOOT mikrokontrolera (po każdej
zmianie ich stanu niezbędne jest zerowanie mikrokontrolera!).
i poszczególnych sektorów pamięci ( rys. 7 ) itp. Po ustaleniu konfi guracji
mikrokontrolera można rozpocząć programowanie jego pamięci ( rys. 8 ).
Andrzej Gawryluk
R
E
K
L
A
M
A
ELEKTRONIKA PRAKTYCZNA 12/2009
117
609897987.059.png 609897987.060.png 609897987.061.png 609897987.063.png 609897987.064.png 609897987.065.png 609897987.066.png 609897987.067.png
Zgłoś jeśli naruszono regulamin