strona główna
artykuły i recenzje
poradniki
galeria zdjęć
fotoblog

Espruino - interpreter języka JavaScript dla ARM Cortex-M3

Dodano: Sobota, 6 października 2012, godzina 17:46:22
Kategoria: Nowości, ciekawostki

Przygotowując programy dla mikrokontrolerów wykorzystujemy najczęściej tzw. metodę kompilacji skrośnej. Tworzymy na komputerze klasy PC kod w jednym z języków wysokiego poziomu (C, C++, Java, C# itp.), uruchamiamy jego kompilację w dedykowanym dla danej platformy kompilatorze i kod wynikowy, maszynowy - zrozumiały bezpośrednio dla układu, wysyłamy do pamięci flash lub RAM w mikrokontrolerze. Na koniec przeprowadzamy testy gotowego rozwiązania i wprowadzamy ewentualne poprawki.

Dla dużych projektów jest to sensowna i naturalna droga, natomiast jeżeli chcemy szybko coś przetestować lub potrzebujemy bardzo prostej aplikacji typu migająca dioda LED, to takie podejście wyłącznie wydłuża czas realizacji zadania. W takim wypadku z pomocą przychodzą interpretery różnych języków wysokiego poziomu, które umożliwiają wykonywanie kodu bez jego kompilacji do wersji maszynowej. Przykładowymi językami na platformie PC, które nie są kompilowane, tylko interpretowane, są bardzo popularne PHP i JavaScript.

STM32VLDISCOVERY z dołączonym konwerterem USB-TTL

STM32VLDISCOVERY z dołączonym konwerterem USB-TTL i uruchomionym Espruino

Projekt Espruino jest interpreterem języka JavaScript dla mikrokontrolerów z rodziny ARM Cortex-M3 i aktualnie obsługuje tylko jedną platformę, tj. najprostszą z rodziny STM32 Discovery, płytkę ewaluacyjną STM32VLDISCOVERY z układem STM32F100RB. Niemniej, już teraz możliwości Espruino są wystarczające do tworzenia prostych aplikacji.

Niektóre z cech Espruino to:

  • możliwość zapisania lub skasowania przygotowanego programu
  • obsługa różnych typów danych języka JavaScript
  • obsługa formatu JSON
  • dostęp do wejść i wyjść cyfrowych oraz analogowych
  • obsługa zdarzeń (np. wykonanie kodu po zmianie wartości wejścia cyfrowego - przerwanie)

Żeby rozpocząć pracę z Espruino potrzebne nam będą:

  • płytka ewaluacyjna STM32VLDISCOVERY
  • konwerter USB-TTL (lub jakieś inne urządzenie, dzięki któremu będziemy mogli komunikować się z Discovery za pomocą UART1 na pinach PA9 i PA10)
  • plik binarny z gotowym interpreterem Espruino (dostępny na stronie projektu: www.pur3.co.uk/espruino/)
  • znajomość JavaScript

Uruchomienie makiety Discovery z interpreterem Espruino sprowadza się do wykonania kilku prostych kroków:

  • wgrania gotowego pliku binarnego do pamięci flash mikrokontrolera STM32F100RB (np. przy pomocy programu STM ST-LINK Utility)
  • podłączenia konwertera TTL do UART1 na płytce (RX - pin PA10, TX - PA9, nie zapominajcie, że sygnał RX na płytce podłączamy do wyjścia TX w konwerterze i vice versa)
  • uruchomienie jakiegokolwiek programu umożliwiającego komunikację przez podłączony do PC konwerter USB-TTL (np. Putty lub Terminal)
  • rozpoczęcie pisania i wykonywania programów w JavaScript

Wszystkie informacje dotyczące instalacji i rozpoczęcia pracy z Espruino, a także listę aktualnie dostępnych metod i funkcji znajdziecie na stronie projektu: www.pur3.co.uk/espruino/.

Espruino, The JavaScript Interpreter for Microcontrollers, w działaniu

Espruino, The JavaScript Interpreter for Microcontrollers, w działaniu

Niestety, projekt jest wciąż w fazie rozwojowej, nie posiada gotowej dokumentacji i nie jest dostępny na otwartej licencji. Możliwe jest jednak pobranie gotowego pliku binarnego na użytek osobisty. Przyszłość projektu też na razie nie jest jasna - wygląda na to, że jego autor nie wie czy chce udostępnić projekt w ramach otwartej licencji, czy też pozostawić go zamkniętym i skomercjalizować. Zamierzam śledzić rozwój Espruino i na pewno poinformuję Was jeżeli coś nowego się w jego sprawie wydarzy.

Źródło

» komentarzy: 2 «

ColdPL
Dodany: Niedziela, 7 października 2012 o godzinie: 17:56:41

Bardzo fajny wpis. Sam w przyszłości chciałby zająć się tego typu programowaniem, ale to jeszcze nie teraz ;)

Przy okazji zapraszam na mojego bloga: highlab.pl ;)

tech-blog | Projekt Espruino dostępny w wersji 1v15
Dodany: Środa, 14 listopada 2012 o godzinie: 00:18:18

[...] wiem czy pamiętacie lub czy w ogóle czytaliście mój wcześniejszy wpis dotyczący Espruino, ale obiecywałem w nim, że będę śledzić temat. Dla przypomnienia, w dużym skrócie, Espruino [...]

» dodaj komentarz «





» Komentarze dodane przez niezarejestrowanych użytkowników muszą być zatwierdzone przez moderatora


» kategorie wpisów

Co nowego na stronie (wpisów: 43)
Dzikie.NET (wpisów: 16)
Humor (wpisów: 46)
Inne (wpisów: 34)
Kapsle Tymbark (wpisów: 29)
Moje projekty i pomysły (wpisów: 43)
Narzekam na… (wpisów: 16)
Nowości w galerii (wpisów: 12)
Nowości, ciekawostki (wpisów: 595)
O mnie (wpisów: 36)
Wordpress (wpisów: 1)
Zabawki (wpisów: 9)
Zdjęcie bez komentarza (wpisów: 91)
Zdjęcie z komentarzem (wpisów: 23)
Strony w domenie tech-blog.pl wykorzystują pliki cookies w celach statystycznych, analizy oglądalności oraz na potrzeby wyświetlania reklam. Jeżeli nie wyrażasz na to zgody, zmień ustawienia wykorzystywanej przeglądarki internetowej. Więcej informacji na stronie Polityka prywatności i cookies (ciasteczka).

» archiwum wpisów

styczeń 2014 (wpisów: 2)
grudzień 2013 (wpisów: 6)
listopad 2013 (wpisów: 27)
październik 2013 (wpisów: 21)
wrzesień 2013 (wpisów: 27)
sierpień 2013 (wpisów: 8)
lipiec 2013 (wpisów: 8)
czerwiec 2013 (wpisów: 6)
maj 2013 (wpisów: 16)
kwiecień 2013 (wpisów: 17)
marzec 2013 (wpisów: 18)
luty 2013 (wpisów: 22)
styczeń 2013 (wpisów: 19)
grudzień 2012 (wpisów: 20)
listopad 2012 (wpisów: 33)
październik 2012 (wpisów: 25)
wrzesień 2012 (wpisów: 15)
maj 2012 (wpisów: 1)
kwiecień 2012 (wpisów: 1)
marzec 2012 (wpisów: 1)
styczeń 2012 (wpisów: 2)
grudzień 2011 (wpisów: 1)
listopad 2011 (wpisów: 7)
październik 2011 (wpisów: 4)
wrzesień 2011 (wpisów: 1)
sierpień 2011 (wpisów: 3)
lipiec 2011 (wpisów: 2)
czerwiec 2011 (wpisów: 3)
maj 2011 (wpisów: 1)
marzec 2011 (wpisów: 3)
luty 2011 (wpisów: 5)
styczeń 2011 (wpisów: 5)
grudzień 2010 (wpisów: 6)
listopad 2010 (wpisów: 2)
październik 2010 (wpisów: 1)
wrzesień 2010 (wpisów: 4)
sierpień 2010 (wpisów: 2)
lipiec 2010 (wpisów: 4)
kwiecień 2010 (wpisów: 4)
marzec 2010 (wpisów: 12)
luty 2010 (wpisów: 4)
styczeń 2010 (wpisów: 1)
listopad 2009 (wpisów: 1)
październik 2009 (wpisów: 1)
wrzesień 2009 (wpisów: 1)
sierpień 2009 (wpisów: 3)
lipiec 2009 (wpisów: 2)
czerwiec 2009 (wpisów: 6)
kwiecień 2009 (wpisów: 1)
marzec 2009 (wpisów: 25)
luty 2009 (wpisów: 9)
styczeń 2009 (wpisów: 13)
grudzień 2008 (wpisów: 7)
listopad 2008 (wpisów: 11)
październik 2008 (wpisów: 1)
wrzesień 2008 (wpisów: 9)
sierpień 2008 (wpisów: 49)
lipiec 2008 (wpisów: 2)
czerwiec 2008 (wpisów: 39)
maj 2008 (wpisów: 52)
kwiecień 2008 (wpisów: 49)
marzec 2008 (wpisów: 58)
luty 2008 (wpisów: 38)
styczeń 2008 (wpisów: 12)
grudzień 2007 (wpisów: 16)
listopad 2007 (wpisów: 2)
październik 2007 (wpisów: 8)
wrzesień 2007 (wpisów: 16)
sierpień 2007 (wpisów: 7)
lipiec 2007 (wpisów: 3)
czerwiec 2007 (wpisów: 3)
maj 2007 (wpisów: 11)
kwiecień 2007 (wpisów: 11)
marzec 2007 (wpisów: 16)
luty 2007 (wpisów: 9)
styczeń 2007 (wpisów: 13)
grudzień 2006 (wpisów: 5)
listopad 2006 (wpisów: 4)
październik 2006 (wpisów: 13)
wrzesień 2006 (wpisów: 15)
sierpień 2006 (wpisów: 8)
lipiec 2006 (wpisów: 5)
czerwiec 2006 (wpisów: 39)
maj 2006 (wpisów: 38)
All rights reserved Copyright 2006-2012 Piotr Dymacz