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 kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów