Prvi koraki pri uporabi MBED razvojnega okolja in C programskega jezika z vezjem FRDM-KL46Z

Kaj sploh je MBED? To je razvojno okolje in prevajalnik za ARM mikrokontrolerje. NE potrebujemo drage programske opreme, saj se programi prevedejo na strani strežnika, mi samo prenesemo prevedeno *.bin datoteko in jo prekopiramo na razvojno ploščico.

MBED najdemo na naslovu: https://mbed.org/

Razvojne ploščice pa lahko naročimo preko njihove strani ali pa kar preko Farnell.si. Sam sem ploščico naročil pri Farnelu: 2318318.
Za slabih 13€ dobimo ploščico s procesorjem, ki ima vgrajen alfanumerični LCD prikazovalnik, nekaj ledic, merilec pospeška, in kompas z magnetometrom.

Za uporabo za začetek ne rabimo praktično ničesar razen USB kabla, preko katerega se vezje napaja in programira.

Ko ploščico dobimo jo priključimo preko USB kabla na računalnik in računalnik namesti prve gonilnike, ki so potrebni, da na ploščico nalagamo programe. Privzet bootloader in program je že naložen - izdelan pri Freescale, ki je tudi avtor procesorja in ploščice. Za uporabo z MBED okoljem potrebujemo najprej zamenjati bootloader.

Kaj sploh je bootloader? Programček, ki skrbi za osnovni zagon procesorja. Skrbi tudi za kopiranje in zagon nameščenega programa na procesorju.

Zato najprej poiščemo stran naše ploščice na Mbedu - torej FRDM-KL46Z. Priklikamo se do strani platform: Platforme, ter izberemo našo tiskanino. Odpre se podstran, kjer je ogromno informacij, ki jih bomo potrebovali za naše delo. Trenutno pa nas zanima najbolj nadgradnja bootloaderja, zato se zapeljemo do vrstice, ki omenja Firmware in klikemo na povezavo "Step by step firmware upgrade instruction"

Odpre se nova stran, z vodičem za namestitev novega bootloaderja.

Zadeva je povsem preprosta. Pritisnemo na reset tipko med obema USB konektorjema, iztaknemo USB kabel in med tem, ko tipko držimo USB kabel priključimo nazaj. (USB kabel priključimo na spodnji konektor, če sta konektorja na levi strani ploščice, ko gledamo stran komponent na tiv.

V oknih se mora odpreti okno diska z nazivmo Bootloader.

Najdemo povezavo na nov bootloader. V času pisanja je to 20140530_k20dx128_kl46z_if_opensda.s19. Odpre se pogovorno okno za prenos datoteke. Datoteko shranimo lahko direkno na USB disk z imenom Bootloader in s tem namestimo nov bootloader.

Pritisnemo še tipko reset in TIV je pripravljeno za uporabo - za prenos programov iz MBED okolja.

Priporočam še namestitev gonilnika za serijski prenos podatkov preko USB kabla, ki ga omogoča ta procesor. Gonilnik je na voljo na MBed strani: https://mbed.org/handbook/Windows-serial-configuration

Datoteko prenesemo v času pisanja je to Gonilnik Po namestitvi se ob priključeni razvojni ploščici v upravitelju naprav pojavijo nova serijska vrata, preko katerih lahko procesor pošilja podatke. Zelo uporabno za razhroščevanje programov!.

Mbed in Linux

Pod Linuxom je uporaba Mbed okolja praktično enaka kot na Windows okolju, saj prevajalnik teče v brskalniku.
V kolikor hočemo da Mbed ploščica izpisuje kakšne podatke v terminal je pa uporaba do neke mere lažja, saj ni potrebno namestiti nobenih gonilnikov.
Priklopimo Mbed ploščico na PC in v terminal vpišemo:
sudo ls /dev/ttyACM0
V kolikor vezje deluje in imamo dostop se v naslednji vrstici izpiše samo "/dev/ttyACM0"
Če hočemo videti izpis pa potrebujemo ukaz "screen". V kolikor ga ni nameščenega ga lahko namestimo z:
sudo apt-get install screen
Po namestitvi pa ga že lahko uporabimo:
sudo screen /dev/ttyACM0
Ko naložimo program na Mbed, zaženemo ukaz "screen..." v terminalu, ter nato pritisnemo na tipko reset na Mbed-u Izpis lahko prekinemo s pritiskom na tipke CTRL+A+D. S tem se vrnemo nazaj v običajno konzolo. Če želimo spremljati izpis naprej lahko z ukazom
screen -r
povežemo izpis nazaj na prej prekinjeno mesto.

Na kaj moramo paziti?

Pri priklapljanju periferije na Mbed moramo paziti na katere pine povežemo našo periferijo.
V mojem primeru sem porabil izhode D0-D4 za povezavo na perierijo, hkrati pa sem hotel izpisovati tudi v konzolo. Zadeva ni delovala. Oziroma periferija je delovala, le serijska komunikacija ni delovala. Podrobnejši pregled je pokazal, da sta izhoda D0 in D1 tudi pina, ki sta uporabljena za RX in TX za serijsko komunikacijo preko USB. Ko sem povezave prestavil in popravil moj program je izpis začel "čudežno" delovati....

Programska koda

Seznam ukazov:
Seznam MBED ukazov
Pinu A6 določeno ime RW, in je izhod
DigitalOut rw(A6);

Pin RW postavljen na 0
rw = 0

Get Firefox Linux Mint