KINETIS FREEboard

KINETIS FREEboard
Razem głosów: 36 co stanowi: 92.78% całości.

kinetis-freeboard

Kolejna płytka jaką chcę zaprezentować to właśnie FREEBoard, która urzeka możliwościami mimo niewielkich rozmiarów.  Wyposażona w mikrokontroler  MKL25Z128VLK4  pędzony rdzeniem Cortex-M0+, ponadto na drugiej płytce mamy zestaw sensorów MEMS 7DoF…  Myślę że warto ja poznać …

SS104825

Płytka ta produkcji KAMAMI jest wykonana na czarnej płytce w formacie Arduino. Poza tym jest też zgodna sprzętowo ze shieldami Arduino, ale to nie wszystko przede wszystkim zachowuje 90% zgodność programową i pinową z FRDM-KL25Z z Freescale.

SS104837

Zestaw składa się z dwóch płytek i  jest zapakowana w blister z kolorową wkładką gdzie mamy podstawowy opis wyposażenia i podstawowe cechy którymi są:

—- Płytka główna:

SS104842

  • mkrokontroler MKL25Z128VLK z rodziny Kinetis L  (Cortex-M0+  48MHz)
  • pamięć FLASH 128 kB , SRAM 16 kB
  • złącze karty microSD
  • złącze USB 2.0 (Device)
  • 54 GPIO
  • LED RGB
  • 2x LED
  • złącze JTAG/SWD
  • złącza I2C i SPI w standardzie KAmod

kinetis_freeboard_baza

—- Płytka 7Dof Sensor 

SS104850

Stanowi nakładkę shield/expander wyposażony w 3 sensory MEMS (7DoF)

  • MAG3110  – cyfrowy kompas
  • MPL3115   – cyfrowy czujnik ciśnienia i temperatury
  • MMA8451  – cyfrowy akcelerometr 3D
  • dodatkowo jeden mikroswitch dla użytkownika
  • złącza I2C w standardzie KAmod
  • złącze AUX (piny PTA14, PTA15, VCC i GND)

kinetis_freeboard_7dof

Do obu płytek musimy sobie dolutować odpowiednio goldpiny lub złącza listwowe.  Płytkę bazową można zaprogramować poprzez USB Device za pośrednictwem Bootloadera programem Kinetis Updater:

a0e02ef8dcd7628b9514ba497f2e930b

Lub przy pomocy złącza JTAG/SWD  używając debugera np. Popularnego debugera J-Link z firmy SEGGER. Cena  J-Linka BASE czy ULTRA+  potrafi jednak wielu powalić na kolana – zwłaszcza hobbystów i amatorów , ale dla nich powstał J-Link EDU który jest idealny dla zastosowań hobbystycznych ma oczywiście obwarowania licencyjne, która nie zezwala na używanie tej wersji w celach komercyjnych , a jedynie hobbystycznych i edukacyjnych dzięki czemu niewygórowaną cenę i jest najtańszym oryginalnym J-Linkiem jaki jest dostępny. Wiem, że dla wielu ta cena tez znacznie przekracza budżet, ale biorąc pod uwagę możliwości naprawdę warto się poświęcić i zakupić.

d69a1c109494d6e7aef309e0b0e69067

Do kupienia w sklepie Kamami ,obsługuje on nie tylko nasze kinetisy, ale praktycznie wszystkie ARMY na rynku. Dodatkowo J-Link jest najszybszym debugerem na rynku.

dfe82678ceab0f6499c09cdc2de7ec4e

443c7a8258268acf8c61960614148a4e

Szczegóły na stronie producenta SEGGER.

 

Wracając do naszej płytki. Jak wspomniałem na wstępie ma zgodność 90% z FRDM-KL25Z  gdyż ma wyprowadzone piny zgodnie z FRDM, ma ten sam Mikrokontroler, ale :

  • brak przycisku RESET
  • brak TouchSlidera  (do kanałów TSI podłączono 2 diody LED)
  • brak wbudowanego programatora

Nie są to jednak poważne problemy i można sobie zdecydowanie dobrze poradzić bez nich jednakowoż są i mogą niektórym dokuczać.  Dlatego warto o nich wspomnieć żeby nie było niedomówień.

Po zlutowaniu gniazd i goldpinów możemy obie złączyć i korzystać  z dobrodziejstw jakie nam oferuje … czas na małą sesję zdjęciową naszej płytki:

SS104862

SS104847

SS104844

SS104863 SS104840 SS104854 SS104853

Prawda, że wygląda ślicznie , w moim odczuciu również tak samo się z niej korzysta. Pewnie przez format samej płytki ponadto praca z J-Linkiem to sama przyjemność , czego się nie dało powiedzieć o OpenSDA w zestawie FRDM.

Warto zapoznać się z dokumentacją do płytki:

Kinetis FREEboard

oraz z opisem pinów, który warto mieć pod ręką :

FREEboard opis pinów

 

Uruchomiana płytka FREEboard:

SS104979SS104978SS104980

SS104981

Płytka potrafi wiele.  Programować ją możemy w środowiskach  takich jak:

  • Freescale Kinetis Design Studio  (KDS)
  • CooCox CoIDE  – czysty język C środowisko bezpłatne oparte o eclipse
  • On-Line  mBED  – Cpp  podobne do Arduino , Compilator on-line

SS104957Płytkę warto bliżej poznać, KL25Z128  to bardzo wydajny mikrokontroler  oparty na rdzeniu ARM Cortex-M0+ i bardzo przyjemny w programowaniu dla początkujących z ARM zwłaszcza w środowisku mBED.  Wiele przykładów programów i rozwiązań znajdziecie też na portalu Kinetis.pl poświęconego właśnie mikrokontrolerom KINETIS.  I choć nie jest tania patrząc przez pryzmat choćby płytek konkurencyjnych  STM  jak Nucleo czy Discovery , a dodatkowo trzeba ponieść koszt zewnętrznego Debugera  to jednak nie jest wiele zwłaszcza że debuger nie jest uwiązany z rozwiązaniami jednej firmy, a rdzeń M0+ to jest to co naprawdę jest warte uwagi zwłaszcza dla początkujących.

I to by było na tyle dzisiejszego wpisu – z cyklu płytki do zabaw …. :)

 

 

7 thoughts on “KINETIS FREEboard

  1. Płytka fajna ale bootloader to jakaś porażka. Niestety oprócz przykładowej aplikacji (wgrywając przez bootloader), która działa, nie udało mi się uruchomić nic poza tym. Te same aplikacje wgrywane przez J-link działają poprawnie. Nie doszedłem do tego co trzeba zmienić / dodać w ustawieniach tworzonego projektu aby ruszył wgrywając go przez bootloader (działam w KDS). Na mikrokontroler.pl napisali że:
    „W przypadku zapisu innej aplikacji użytkownik w swoim projekcie powinien wykorzystać plik startup_MKL25Z4.s znajdujący się w katalogu apps\led_demo\MKL25Z4\src i opisujący wektory w pamięci Flash mikrokontrolera (w innych środowiskach niż IAR Embedded Workbench konieczna jest drobna modyfikacja pliku pod wymagania używanego kompilatora)”, ale nie udało mi się tego rozgryźć i kupiłem J-link EDU :)

    • No niestety .. bootloader jest w sumie ok , gorzej z programem ładującym oprogramowanie który niestety , ale jest wadliwy :(
      W przypadku bootloadera ważny jest adres pod który wgrywamy programy i to jest główna przyczyną niedziałania programów , ba wręcz nawet można sobie bootloader uszkodzić …

      Dlatego polecam J-Linka, Colinka do zabaw z płytką
      wiem że drogo , ale to z czasem procentuje , przynajmniej nie wyrywamy sobie włosów z głowy :)

    • Po wielu bojach jednak uruchomiłem aplikację przygotowaną w KDS/Processor Expert 2.00 wgraną za pomocą Kinetis Updater do płytki Freeboard z bootloaderem Kboot przez USB. W dużym skrócie: należy ustawić we właściwościach komponentu CPU adresy przesunięte o 0x8000 (Buld options->ROM/RAM Areas->m-interrupts 0x8000, 0xc0 oraz m_text 0x8410, 0x17BF0), wyłączyć generację Flash Configuration Field oraz ustawić zegar (tu działałem trochę po omacku nie czytając specyfikacji CPU – włączyłem System Oscillator 0 z kwarcem 8 MHz, ustawiłem MGC Mode na PEE i mnożnik na 8 usyskując MGC Output 48 MHz). Aby generował się plik .hex trzeba we właściwościach projektu ustawić C/C++Build->Settings->Toolchains->Create flash image.
      Tak otrzymany plik .hex należy przekonwertować do .bin (Kinetis Updater wprawdzie niby akceptuje .hex, ale tak wgrany wsad nie działa – musi on być w formacie binarnym. Użyłem do tego ewaluacyjnej wersji Hex Workshopa.
      Jeszcze jedno – komponent Wait pobrany ze strony Wydawnictwa BTC według wskazówek ze str. 37 książki Sunrivera nie działa – jego użycie wprawdzie niby nie generuje błędów, ale nie generuje się też plik .hex. Zainstalowałem zamiast niego paczkę pobraną z Components%202015-02-03.zip

      • zauważ że KDS się nieco różni od CW , który był w tamtym, czasie wiec i różnice występują
        dlatego tez nie używam środowiska Freescale i zdecydowanie namawiam do CoIDE lub Eclipse
        Kepler dla ARM — choć sam używam SunDevelopment IDE , dla STM32 i Kinetis napisane w C Sharp, którego
        nie będę udostępniał.

  2. Ja również nie potrafię uruchomić aplikacji tworzonej w KDS i wgrywanej bootloaderem. Zapytam więc ponownie o to, o co kilku kolegów już pytało (i nie dostało jednoznacznej odpowiedzi), ale nieco inaczej: czy plik bin przeznaczony do wgrania j-linkiem (jak się domyślam od adresu 0x0000) jest identyczny z tym dla bootloadera (od 0x8000)? A jeśli nie, to co przestawić w KDS?

    • ech… plik nie jest inny tylko bootloader zmienia wektory resetu i startu pamięci programu. Bootloader rezyduje w pamięci od adresu 0x0000 przez co startowy adres aplikacjijest pod 0x8000. Sprawdzałem kilka programów i wszystkie działają prawidłowo
      z bootloaderem. Nie używam już KDS bo jest wkurzające.

  3. Link do CoIDE CooCox’a jest błędnie podany i wskazuje na KDSa.

Możliwość komentowania jest wyłączona.