LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

.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!