Mikrokontrolery z rdzeniem ARM weszły już wśród konstruktorów w modę, ale dynamiczny rozwój popularnych aplikacji jest utrudniony przez nie zawsze dobrze przygotowaną (przez producentów) dokumentację. O co mi chodzi? Otóż o rzecz zupełnie podstawową: programowanie pamięci mikrokontrolerów.
Programowanie pamięci Flash w STM32F107 przez USB
Mikrokontrolery STM32 z grupy Connectivity Line, w skład której wchodzą układy STM32F105 oraz STM32F107, można programować w dwa zasadnicze sposoby: za pomocą interfejsu JTAG oraz za pomocą bootloadera ulokowanego w pamięci mikrokontrolera.
Oszczędzanie energii w mikrokontrolerach STM32
Zmniejszenie poboru energii przez mikrokontroler można osiągnąć poprzez zmniejszenie częstotliwości jego taktowania (co wiąże się ze spowolnieniem działania) lub przez selektywne wyłączanie układy peryferyjnych wbudowanych w jego strukturę. Ten drugi mechanizm doskonale sprawdza się w mikrokontrolerach STM32, które są konstrukcyjnie przystosowane do selektywnego włączania i wyłączania większości wbudowanych bloków peryferyjnych.
Funkcje API w obsłudze GPIO
Operowanie bezpośrednio na rejestrach 32–bitowego procesora lub mikrokontrolera nie należy do zadań prostych. Mimo, iż samo napisanie (stosunkowo zaawansowanych) aplikacji przy użyciu nazw rejestrów jest możliwe, to wprowadzanie zmian do istniejącego kodu po upływie na przykład kilku miesięcy, dodatkowo przez osobę, która nie jest autorem programu, jest w zasadzie niemożliwe do wykonania w sensownym czasie. Z tego powodu do takich operacji programiści wykorzystują funkcje o mniej lub bardziej kojarzących się nazwach. Jeżeli mamy do czynienia z bardzo skomplikowanym projektem wykorzystującym wiele peryferiów mikrokontrolera, to napisanie stosownych funkcji jest pracochłonne i wymaga dobrej znajomości architektury mikrokontrolera.
Bootloader dla STM32 z obsługą karty SD
Przedstawimy sposób wymiany zawartości pamięci programu Flash w mikrokontrolerach STM32 z wykorzystaniem nośnika w postaci karty SD.
Tajniki Cortex-M3 – tryby pracy rdzenia
Rdzeń Cortex-M3 może pracować wykonując program normalnie (Thread mode – TM) lub obsługując przerwanie (Handler mode – HM). Takie rozróżnienie ma kluczowe znaczenie dla aplikacji pisanych opartych dla systemów operacyjnych.
Programowanie pamięci Flash mikrokontrolera na płytce STM32Butterfly 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.
Przykład 2 – wykorzystanie linii GPIO (joystick)
W ćwiczeniu należy zaświecić diodę LED po przechyleniu joysticka.
Cortex-M3: pierwszy projekt w Open Source
Zintegrowane komercyjne środowiska programistyczne są wyposażane w kreatory umożliwiające stworzenie projektu za pomocą kilku kliknięć myszką. Eclipse nie ma żadnych ułatwień w tym kierunku, ale ten problem można rozwiązać bardzo prosto…
Obsługa programowanego detektora napięcia PVD
PVD (Programmable Voltage Detector) jest wewnętrznym blokiem sprzętowym w mikrokontrloerach STM32 mającym za zadanie monitorowanie wartości napięcia zasilania. Progi, po których przekroczeniu generowane będzie przerwanie, mogą być programowane przez użytkownika w szerokich granicach.