Programowanie mikrokontrolera w STM32Butterfl y przez RS232

Programowanie mikrokontrolera w STM32Butterfl y przez RS232
Pobierz PDF Download icon
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.
114 ELEKTRONIKA PRAKTYCZNA 12/2009 NOTATNIK KONSTRUKTORA Dodatkowe materiały na CD i FTP: host: ep.com.pl, user: 12235, pass: 60u61csy Programowanie mikrokontrolera w STM32Butter?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. Eksperymentalną platformą sprzętową, którą wykorzystamy do przedstawienia funkcjonowania bootloadera zaimplementowanego w pamięci systemowej mikrokontrolerów STM32F, jest STM32Butter- ?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. STM32Butter?y wyposażono w  mikrokontroler z  podrodziny ConnectivityLine oznaczony symbolem STM32F107. Mikrokontrolery 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). 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 STM32Butter?y. Do komunikacji z  PC wybrano interfejs USART2, NOTATNIK KONSTRUKTORA Dodatkowe materiały na CD i FTP 115ELEKTRONIKA PRAKTYCZNA 12/2009 Programowanie mikrokontrolera w STM32Butter?y przez RS232 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. 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 ?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- 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 Rys. 1. Schemat elektryczny interfejsu TTL/RS232 Fot. 2. Złącze portu D (GPIO) na płytce STM32Butter?y Fot. 3. Ustawienie zwor na liniach BOOT umożliwiające uruchomienie bootloadera Rys. 4. Okno startowe programu Flash bootloader demonstrator Rys. 5. Okno z informacją o pojemności pamięci Flash programowego mikrokon- trolera 116 ELEKTRONIKA PRAKTYCZNA 12/2009 NOTATNIK KONSTRUKTORA Rys. 6. Okno z wykazem sektorów pamięci i ich statusów 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 ?rmę STMicroelectronics, która wszystkim zakwali?kowanym uczestnikom sprezentowała niezwykle praktyczny zestaw upominkowy składający się z płytki STM32Butter?y (specy?kacja w ramce), modułu z gra?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 ?rmy STMicroelectronics w Polsce (m.in. pod adresem www.stm32.eu). Na spotkania przybyły łącznie 472 osoby, zarów- no z dużych ?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 ?rmy STMicroelectronics, wspierani przez przedstawicieli ?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. Krakowska sesja warsztatowa podczas STM32TechDays Warsztaty we Wrocławiu Początek warsztatów w Warszawie Sesja warsztatowa STM32TechDays w Gliwicach Wsparcie organizatorom STM32TechDays świadczyli przedstawiciele ?rm dystrybucyjnych Rys. 8. Okno z paskiem postępu, ilustrują- cym przebieg programowania pamięci Flash Rys. 7. Okno kon?guracji mikrokontrolera i sektorów pamięci tyczne uruchomienie nastąpi po ustawieniu na liniach: BOOT0 = 1 i BOOT1 = 0. Prawidłowe ustawienie zwor kon?guracyjnych na płytce STM32Butter?y pokazano na fot. 3. Po dołączeniu zestawu STM32But- ter?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 kon?gurację programowanego mikrokontrolera, włączyć lub wyłączyć zabezpieczenie odczytu zawartości pamięci Flash 117ELEKTRONIKA PRAKTYCZNA 12/2009 Programowanie mikrokontrolera w STM32Butter?y przez RS232 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 ?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. Andrzej Gawryluk W przypadku braku komunikacji pomiędzy programem Flash bootloader demonstrator i bootloaderem mikrokontrolera pojawi się komunikat jak poniżej. 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ść kon?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 kon?guracji mikrokontrolera można rozpocząć programowanie jego pamięci (rys. 8). R E K L A M A
Artykuł ukazał się w
Grudzień 2009
DO POBRANIA
Pobierz PDF Download icon
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich styczeń 2025

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów