Realtime OS / LCD på $12 Discovery ombord




En dag hade jag en universitetsprofessor redo att lära oss studenter en kraftfulla matematiska trick i EE101 - mesh Kretsanalys tror jag. Innan han kommit igång sade han, "Idag, mina elever, jag ger dig en stor pistol." Det fick vår uppmärksamhet och jag minns citatet, men tyvärr, jag skulle bli svårt att mesh analys idag.

Idag, mina Instructible läsare, jag ger dig stora kanonerna!

För alla er hardcore hot-shot inbyggd programvara programmerare, dags att steget upp till nästa nivå genom att lära hur man använder en inbäddad realtime OS på ditt nästa projekt. Inte bara får du en prioritering baserat föregripande realtime OS, du också få alla godsaker som går längs med en realtime embedded OS lik: uppgifter, köer, binära semaforer, räknar semaforer, rekursiv semaforer och mutexer för kommunikation och synkronisering mellan aktiviteter, eller mellan aktiviteter och avbrott. Ger mig gåshud bara jag tänker på det! Alla denna programvara kraften kommer genom FreeRTOS som har funnits länge.

Åh, och den maskinvara som vi kommer att köra detta på gör mitt huvud snurra. Vi pratar inte lilla en Pic eller Atmel mikro. Nej, nej, vi kommer att köra den här OS på en ny 24MHz 32-bitars ARM® Cortex™-M3 från ST Micro. Folk på ST Micro har gjort en utveckling ombord, kallas STM32 VL upptäckten (VL är kort för värde linje), tillgänglig för $12 dollar! De säljer förmodligen i styrelsen vid en förlust. För jämförelse är denna styrelse ca 1/3 kostnaden för en standard Arduino ombord.

24MHz STM32F100RBT6B micro som används i Discovery styrelsen är förmodligen den långsammaste de säljer. De flesta av dessa marker köra mycket snabbare! Men chip sig är inte alltför dyra - Digi-Key bärare chip för $3,50 på order över 100 stycken. För $3,50 kan du få 128 k flash och 8 k RAM - ingen EEPROM behövs sedan mikro skriva till sin egen flash.

Nedan är speciell rätt utanför Råttfångares webbsida för STM32F100RBT6B chip:

  • Kärna: ARM Cortex M3
  • Buss databredd: 32 bit
  • Programmera minnestyp: Flash
  • Programmet minnesstorlek: 128 KB
  • Data RAM-storlek: 8 KB
  • Gränssnittstyp: I2C, SPI, USART
  • Maximala klockfrekvens: 24 MHz
  • Antal programmerbara i/OS: 51
  • Antalet Timers: 6
  • Leverans Driftspänning: 2 V till 3,6 V
  • Max arbetstemperatur: + 85 C
  • Paketet / mål: LQFP-64
  • 3: e part Development Tools: EWARM, EWARM-BL, MDK-ARM, RL-ARM, ULINK2
  • Utvecklingsverktyg från leverantören: STM32100B-EVAL
  • Minsta arbetstemperatur:-40 ° C
  • On-Chip ADC: 12 bitar, 16 kanaler
  • On-Chip DAC: 12 bitar, 2 kanal

Ifall du tror att armen inte är bra för små projekt, jag gjorde en ny sökning på Digi-Key och dök upp en ännu billigare ARM chip från NXP. NXP mikro (Digi-Key del nummer 568-5142-ND) är en annan ARM Cortex-M0 chip. NXP chip kör på 50MHz (jag får mer gåshud igen), har dock 8k Flash / 2k ram, 28 IO på 32 stift, I²C, SPI, USART för (trumvirvel Vänligen) $1,46 @ 100pcs. Jag älskar Moores lag i aktion.

Lära sig det här har verklig ansökan på arbetsmarknaden också. Pladdrigt på om din senaste Arduino kommer projekt inte att få mycket uppmärksamhet i en intervju med en arbetsgivare. Emellertid förklarar hur du löste en prioritet inversion problem på ett inbäddat realtids OS kommer! Tro mig, jag har intervjuat / hyrt massor av embedded programmerare genom åren som en tidigare anställd Motorola.

Här är en länk att köpa STM32 upptäckten för $12 spänn från råttfångare. Köp två ifall - fraktkostnad är galet så du kan lika gärna få två. Åh, och LCD i bilden kommer också från råttfångare ($12,50 varje).

http://www.Mouser.com/stm32discovery/

Den OS ska vi använda kallas FreeRTOS och deras webbadress visas nästa.

http://www.freertos.org/

Oroa dig inte, du kan använda detta OS i din kommersiell produkt utan att utsätta din källkod. OS använder en modifierad GPL licens och är avgiftsfri. För en fullständig uppdelning av licensvillkoren här är en annan länk:

http://www.freertos.org/index.html?http :// www.freertos.org/a00114.html

FreeRTOS realtime OS har funnits länge och är mycket stabil. OS har portats till 26 olika arkitekturer och är mycket väl dokumenterat. Jag använde först FreeRTOS på en produkt för GM. Min kod, tillsammans med FreeRTOS, kör i 10: or av tusentals fordon. I dessa dagar använde jag FreeRTOS på en Freescale Star12 chip (mycket mindre kraftfull). Jag tror verkligen använda FreeRTOS för projektet sparas min bacon.

Har OS kan köras på 26 olika arkitekturer, som jag sa innan, betyder inte att din bundna till en viss del av maskinvaran. Jag gillar valfrihet. Om du vill verkligen dyka i, skulle jag föreslå att köpa boken "Med the FreeRTOS realtid Kernel - en praktisk Guide". Den eBook versionen är endast $25 dollar - köpa boken bidrar till utvecklingen av FreeRTOS också. Du kan lätt hitta boken på FreeRTOS.org. Observera att jag har inga ekonomiska intressen i antingen FreeRTOS eller ST - jag bara gillar båda.

För att hålla på framtida utveckling arbetar jag på du kan alltid länka till mitt RSS-flöde från min webbplats. Jag försöker att lägga mellansteg innan jag samla tillräckligt med saker tillsammans för en instructible. Min webbplats (kraftpaket elektronik) adressen listas nästa:

pH-elec.com

För RSS-flöde, lägga till en "live" bokmärke för att:

www.pH-elec.com/RSS.XML

Se Steg
Relaterade Ämnen

Hur du ansluter en seriell LCD till en Arduino UNO

I detta instructable jag kommer att visa dig hur jag ihop en seriell LCD 16 X 2 med en Arduino UNO.Det finns massor av instructables och flashmanualer som visar dig hur du ansluter en vanlig LCD till en Arduino men inte många visar en seriell LCD och...

Arduino Mega GPS med LCD och SD loggning

Använd din Audino Mega som en GPS logger med tydlig LCD display och 5 funktionsknappar. En bi-färg LED används för att ange statusinformation.SDcard kan vara kvar i och läsa med en kort läsaren skiss, med utgång till den seriella Monitor.Detta instru...

Arduino text LCD animation

jag har sett många sidor om hur tråd upp en LCD-panel till en Arduino och sidor som hjälper dig att rita egna tecken, men jag såg inte många som använt funktionen anpassade tecken för animering.Vad du behöver för detta:-Arduino Uno-HD44780-kompatibel...

ESP8266 WiFi touch skärmen termostat

I den här guiden visar vi hur man bygger WiFi kontrollerade termostat med ESP8266, Arduino och beröring skärm uppvisning. Termostaten kommer också att visa annan information, som väderprognos och temperaturen utanför. Totala kostnaden för termostat ä...

O-Cade: Bärbara OUYA mini Arcade skåp med mobila laddning Station

O-Cade är en bärbar batteridriven mini arcade skåp som också har en inbyggd laddstationen för mobiltelefoner och surfplattor. Tänk dig att ha din egen mini arcade skåp som har över 800 + spel finns att spela som kan också ladda telefonen och tablette...

Touchscreen väggmonterad familj Sync & hem Kontrollpanelen

Vi har en kalender som uppdateras varje månad med händelser men det sker manuellt. Vi tenderar också att glömma saker vi har sprang av eller andra mindre sysslor.I denna ålder som jag tyckte det var mycket lättare att ha en synkronisering kalender oc...

Buggy rullstol Robot

detta är en ändring av en elektrisk rullstol.Jag kallade det "Buggy" av två skäl. #1 mina barn kan fortfarande rida runt eftersom jag lämnade stolen intakt. #2 jag har inte programmerat något på länge.Jag planerar att skapa "jobb" för...

Mätning av avstånd (och mer) enhet använder Arduino och GPS

i min tidigare Instructable, visade jag hur du få grundläggande uppgifter från en bärbar GPS, Holux M-1000 och konvertera UTC till lokal tid. I morse (Nov. 3: e), slutade i sommartid. Jag vände på enheten när jag vaknade upp i morse för att se om tid...

"ditt val"

idén att måla shopping bara skickar rysningar längs min ryggrad. För att bli av med besväret med färg shopping jag kom med en enhet som läser och visar RGB-värdet av färg skannas. På så sätt färg shopping inte längre tittar på paint prov kort men ist...

LapPi - en Raspberry Pi Netbook

The Raspberry Pi är en märklig maskin. Lätt, kraftfull, och fram till nu det var helt bundna till ett vägguttag. I Lappland är byggd för att fria Pi! Gjorda av en blandning av reservdelar, ofördelade elektronik, och skrotas komponenter & kablar jag h...

Raspberry Pi: Väggmonterad kalender och Notification Center

Innan den "digitala eran" för många familjer väggkalendrar för att Visa månatliga utsikt över kommande händelser. Denna moderna version av vägg monterade kalendern innehåller samma grundläggande funktioner:En månatlig agendaSynkronisering av fam...

Skrapa gratis

hålla din bil "Skrapa gratis" med vår produkt! Som gillar att lyssna på botten av deras bil stötfångare screech när det skrapar en trottoarkant eller parkeringsplats stötfångaren. Följ steg för steg guide för att bli "Skrapa gratis"!St...

LCD ombord befogenheter leverera reparation.

jag vände på min #6 PC idag och ingen bildskärm. Svart! Efter kontroll av strömkabeln och VGA-kabel, fortfarande ingenting. Så vad gör jag, Jo jag tar isär den ju! Vad jag fann var alla 6 om makt leverans mössa var inte bra. Tog bara en visuell kontr...

LCD-Display ombord med en Linkit och Bluetooth

HejI detta instructable lär du dig gränssnitt LCD med Linkit en och hur man styr samma med BluetoothSteg 1: Komponenter som krävs Linkit en styrelseArduino UNO16 * 2 LCD LCD sköldBluetooth-antenn (hittade tillsammans med en Linkit)SmartPhonesladdarSt...

4-i-1 Arduino LCD sköld Version 2

Med detta projekt, har du minst fyra produkter i en eftersom detta kit består av en Arduino Uno, en LCD-skärm, en USB-A till USB-B kabel och alla material som du kommer att behöva utveckla följande fyra projekt: en disk, en termometer, en kondensator...

Hur konvertera en Laptop LCD till en extern bildskärm.

Hallå där. Detta är min första InstructableFör ett tag sedan jag satt och undrar vad de ska göra med min döda laptop. Jag visste att moderkortet var stekt men allt annat var fortfarande i skick. Som ett resultat jag beslutat att göra en extern bildsk...

ATTiny45/85 LCD Visa kontroll med ett skiftregister, programmerat i Arduino

kör Arduino på en ATTiny45 av 85 chip är en enorm kostnad-sparare för mini-projekt. Dock kan du inte ansluta en HD44780 kompatibel LCD-display som du kräver 6 utgångar, men du har bara 5. Problemet kan lösas genom att använda ett skiftregister till k...

Atmega16/32 utveckling styrelsen med LCD

detta instructable visar, hur du gör din egen utveckling styrelsen för Atmega16 eller Atmega32 processorer. Internet är fullt av hemgjorda utveckling styrelser, men jag tror att det finns utrymme kvar för en annan. Denna styrelse har varit mycket anv...

Android kontrollerade LCD/LED Display - ingen Android-programmering, nr lödning behövs.

IntroductionDetta bygga använda Arduino plattform för att styra en LCD/LED display från din Android mobil. Det är en plug and play bygga som kräver nr Android programmering, ingen lödning och ingen handstil av Arduino kod, det du inte vill.Den grundl...