.NET Micro Framework dla STM32F429I-DISCOVERY
Firma ST Microelectronics udostępniła pakiet STSW-STM32141 zawierający narzędzia niezbędne do tworzenia aplikacji wykorzystujących .NET Micro Framework na płytce STM32F429I-DISCO. Pakiet zawiera:
- sterowniki USB NETMF
- gotowy do użycia obraz .NET Micro Framework dla płytki STM32F429I-DISCO (stworzony przez firmę Mountaineer Group)
- bibliotekę dla płytki STM32F429I-DISCO
- przykłady (ADC, DAC, EXTI, GPIO, LCD, PWM, SPI, touchscreen, UART)
Firma STMicroelectronics zadbała również o dokumentację, dostępna jest instrukcja (UM1767), dzięki której można w kilkadziesiąt minut stworzyć pierwszą aplikację.
Jak to działa?
Użycie .NET Micro Framework umożliwia rozwój aplikacji dla mikrokontrolerów pisanych w języku C# z wykorzystaniem środowiska Microsoft Visual Studio. Firma Mountaineer Group przygotowała framework do pracy m.in. z płytką Discovery. Po skonfigurowaniu oprogramowania zgodnie z instrukcją musimy przygotować płytkę do pracy. W tym celu zapisujemy w pamięci procesora zestawu Discovery obraz .NET Micro Framework (najprościej oczywiście użyć do tego ST-Linka, ktrórego mamy na pokładzie), następnie dołączamy płytkę do komputera przez gniazdo USB User (czyli CN6) i instalujemy sterowniki, ktróre są w pakiecie. Inaczej niż zwykle to to właśnie gniazdo będzie używane do debugowania.
Po co?
Najważniejsze argumenty przemawiające za frameworkiem:
- jest bezpłatny
- umożliwia programistom .NET stworzenie pierwszych działających projektów na mikrokontrolery dosłownie w kilka minut
- dla zupełnie początkujących programistów jest znacznie bardziej przyjazny niż standardowe biblioteki (SPL). Kod przykładowego programu migającego diodami wygląda tak:
using System.Threading; using Microsoft.SPOT.Hardware; using STM32F429I_Discovery.Netmf.Hardware; public class BlinkingLed { public static void Main() { LED.LEDInit(); // Init LED GPIOs while (true) { LED.GreenLedToggle(); // Tooggle green led Thread.Sleep(250); // wait 250 ms LED.RedLedToggle(); // Tooggle red led Thread.Sleep(250); // wait 250 ms } } }
- umożliwia dość łatwe przenoszenie aplikacji między różnymi mikrokontrolerami
Oczywiście są i minusy, najważniejsze to:
- zajęcie części zasobów mikrokontrolera (w tym pamięci Flash)
- niewielka liczba dostępnych płytek, na których można wykorzystać framework, w chwili pisania artykułu są to MCBSTM32E (Keil), ET-STM32-Stamp (Futurelec), STM3230G-EVAL, STM3240G-EVAL, STM32F4DISCOVERY, 32F429IDISCOVERY (STMicroelectronics). Chcąc wykorzystać framework na innych płytkach musimy dostosować biblioteki samodzielnie bądź poczekać aż ktoś być może zrobi to za nas.
Zachęcamy do pobrania pakietu i obejrzenia kodu pozostałych przykładów, zadziwiające jak łatwa może być np. obsługa wyświetlacza dotykowego!