Donoseći odluku o tome koji ću mikrokontroler koristiti u sledećem većem projektu dobavio sam sebi nekoliko različitih development i evaluation pločica kako bih pored standardnih (PIC, AVR, TI MSP430) mikrokontrolera sa kojima redovno radim probao jos ponešto. Kako se dosta priča o ARM Cortex M3 jezgru, a kako ja nisam sa njim ništa do sada radio dobavio sam nekoliko pločica sa istim. Najjeftinija (oko 1000din) evaluation pločica sa ARM-om je DISCOVERY. Pored toga što je cena smešna neke od bitnijih stvari na ovoj pločici su:

  • STM32F100RB mcu sa 128 KB flash, 8 KB RAM
  • ST-Link debager na pločici (dakle za rad nije potrebno da imate svoj ST-link ili JTAG debager) sve sa SWD konektorom ako hoćete da koristite externi debager
  • Napaja se sa USB-a ili sa externog 5V ili 3V napajanja
  • Ima i 5V i 3V izlaz (za napajanje externih modula)
  • Dve ledare (zelena i plava)
  • Dva mikroprekidača, jedan je reset a drugi je vezan na PA0 (INT0)
  • Standardni 0.1″ heder tako da možete lako da celu pločku zabodete u protobord

Da ne dužim, uz pločku dolazi nešto jednostavnih primera koji ne rade ništa pametno (pale i gase zelenu i plavu ledaru)… a kako sam ja rešio da napravim sam neki blink led projekat sa ovim ARM-om palo mi je na pamet da iskoristim 9cm FAN koji mi se vuče ovde na stolu a koji ima na sebi 4 ledare, da probam da strobujem ledare tako da izgleda kao da fan stoji, ili kao da se vrti na jednu ili drugu stranu sporo. Kako mi pod Linuxom nikako nije proradio ovaj ST-Link, na virtual box-u sam namestio da mi forwarduje ST-link, tako da XP koji se vrti u vbox-u vidi ovu DISCOVERY pločku kao da je zabodena direkt na njega. Kako sam već tu onda sam odabrao i ATOLIC FREE STUDIO, dzaba komplet ide + kompajler + debugger i to sve sa podrškom za DISCOVERY pločku. Posle jedno 45 minuta provaljivanja kako rade interapti na ARM-u sve je proradilo.

Kod ima jedan define na početku da odaberete da li hoćete da se operacija izvodi pomoću interapta (rpm signal sa fan-a ide na PA1 sto je EXTINT1, a dugme je na PA0 sto je EXTINT0) ili u while(1) petlji u main-u (gde se povlači stanje PA1 i u odnosu na to generiše strob) … dugme služi da odaberete da li hoćete da lopatice izgledaju kao da miruju ili da idu levo desno.

Kod možete skinuti ovde.

Video kako to izgleda (na žalost nije uopšte ovo lako snimiti, okom izgleda odlično ali nijedna moja kamera ne ume lepo da ga snimi) je na ut-u (ovo treperenje je do kamere a ono kad postane svetlije to je zato što sam ja upalio lampu pored … možda bi sa jačim ledarama bilo lakše za snimiti):

DISCOVERY plocicu mozete naruciti (tako sam i ja) preko Beogradske firme TECHNODIS. Podatke o istoj mozete nadji na spisku firmi koje se bave prodajom elektronike u Srbiji.