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:
För RSS-flöde, lägga till en "live" bokmärke för att:
www.pH-elec.com/RSS.XML