ARM Procesor
Get the Flash Player to see this player.
STM32 Wstęp |
We wcześniejszym artykule podałem linki do kursu dla procesorów z rdzeniem Cortex-M0. Oczywiście nie mam zamiaru się powtarzać i opisywać tego samego, dlatego kupiłem sobie płytkę z kamami Z29ARM z procesorem STM32F107VCT6 (rodzina Cortex-M3) i postanowiłem przedstawić kilka prostych przykładów dla tej rodziny procesorów. Sporo informacji na temat samych SMT32 można znaleźć na stronie http://stm32.eu/ oraz w literaturze. Notę katalogową można znaleźć na http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00220364.pdf Ja polecam książkę z której się uczyłem http://www.kamami.pl/index.php?ukey=product&productID=187337 która jest naprawdę niezła jeśli się jest kompletnie zielonym w procesorach 32 bitowych. Chcą zakupić tylko książkę bez dodatków, polecam http://margines.pl/index.php?ukey=product&productID=187337 zawsze troszkę taniej. W książce znajdziecie podstawowy kurs języka C, opis mikrokontrolerów z rodziny STM32F1x, opis czujników i wyświetlaczy oraz gotowe przykłady z naprawdę dobrymi komentarzami. Jeśli na razie nie macie 71-79zł to polecam odwiedzić stronę http://www.mikrokontroler.pl/content/STMCC założyć sobie konto i ściągnąć przykłady dla tej książki. Znajdziecie tam naprawdę dobre podstawowe programy, które wystarczą do tworzenia własnych projektów. Ale naprawdę polecam książkę. Oprócz książki zaprezentowanej powyżej zakupiłem sobie także zestaw http://www.kamami.pl/index.php?ukey=product&productID=187517 W którego skład wchodzi:
Jeśli kupujecie cały zestaw, to będzie taniej, ale cena też jest spora jak na hobbistyczną zabawkę do domu. Taki zestaw w połączeniu z dobrą lekturą może dać wiele zabawy na długie letnie wieczory :). Opis ZL29ARM można znaleźć na http://www.kamami.pl/dl/zl29arm.pdf Mając już programator JTAG i płytkę ewaluacyjną można wybrać środowisko pracy. W książce polecają uVision (firmy Keil/ARM, dla STM32), ale ja korzystałem z TrueSTUDIO (firmy Atollic, dla STM32). Dla każdego z tych środowisk jest ograniczenie wgrywanego kodu 32kB, ale dla moich celów to wystarczało. Można także skonfigurować Eclipsa tak, aby kompilował program pod dany mikrokontroler przy pomocy toolchaina, ale jest to bardzo czasochłonne i męczące w obsłudze. Najlepszym rozwiązaniem na tę chwilę jest zainstalować środwisko CooCox, które bazuje na Eclipsie i także wykorzystuje toolchaina. Plus jest taki, że środowisko jest całkowicie darmowe, posiada debugera, obsługuje popularne programatory (w tym ZL30PRGv2 jako ST-LINK), program kompiluje się szybciej niż w jakimkolwiek środowisku i udostępniona jest masa przykładów dla tego środowiska. W sumie nie znalazłem minusów, dlatego polecam. Link oczywiście załączam http://www.coocox.org/CooCox_CoIDE.htm . Aby stworzyć pierwszy program musimy kliknąć file->New->C Project: Następnie wpisać nazwę i wybieramy Embedded C Project: W ciskamy dalej i wybieramy rodzaj mikroporcesora: Oraz programator (dla ZL30ARM wybieramy ST-Link):
Automatycznie w pliku main.c pojawią się przykłady dla bibliotek. Projekt będzie zawierał dołączone biblioteki obsługi portów, interfejsów itp. Oczywiście w internecie możecie natknąć się na dość kontrowersyjne wypowiedzi odnośnie standardowych bibliotek, co nie oznacza, że one są złe. Fakt jest taki, że za pomocą standardowych bibliotek można stworzyć bardzo dużo w krótkim czasie nie zgłębiając samych rejestrów i struktury mikrokontrolera. Wystarczy mieć tylko podstawową wiedzę o programowaniu w języku C. W taki sposób można łatwo zachęcić młodych ludzi do tego hobby, a z czasem i tak zaczną poznawać rejestry i strukturę procesora. Jeśli nie zaczną, to znaczy, że ich to nie zainteresowało. Ja przechodząc z ATmegi16 na procesory ARM po prostu nie mogłem wyjść z podziwu jak łatwo się programuje przy użyciu standardowych bibliotek. Nie musiałem przeglądać żadnych PDF'ów i szukać w nich różnych rejestrów oraz sposobów konfiguracji. Oczywiście czasem będziecie musieli skorzystać z rejestrów mikrokontrolera. Powody będą różne począwszy od chęci zrozumienia jakiegoś nieznanego kodu pobranego z internetu, a skończywszy na braku Flasha, albo po prostu z czystej ciekawości. Tu z pomocą przychodzi User Manual, który można ściągnąć ze strony producenta naszego procka. Dla STM32 jest dostępny tu: http://www.st.com |