Realtime OS / LCD op $12 Discovery bord



Een dag had ik een professor van de Universiteit klaar om te leren ons studenten een krachtige wiskundige truc in EE101 - mesh circuit analyse die volgens mij.  Voordat hij begon zei hij: "Vandaag mijn studenten, ik geef u een grote geweer."  Het kreeg onze aandacht en ik herinner me het citaat, maar helaas, ik zou moeilijk worden ingedrukt om mesh analyse vandaag.

Vandaag, mijn Instructible lezers, ik geef u grote kanonnen!

Voor alles wat je hardcore hot-shot ingesloten softwareprogrammeurs, tijd om de stap tot het volgende niveau door te leren hoe met een ingesloten realtime OS op uw volgende project.  Niet alleen krijg je een prioritering gebaseerd op preëmptieve realtime OS, je krijgt ook al het lekkers die meegaan met een realtime OS zoals ingesloten: taken, wachtrijen, binaire semaforen, tellen semaforen, recursieve semaforen en mutexen voor communicatie en synchronisatie tussen taken of tussen taken en interrupts.  Geeft me kippenvel-net te denken over het!  Alle macht van deze software wordt geleverd door middel van FreeRTOS die is al een lange tijd.

Oh, en de hardware die we gonna stormloop zulks op maakt mijn hoofd draaien.  We praten niet weinig een Pic of Atmel micro.  Nee, Nee, we gonna deze OS draaien op een nieuwe 24MHz 32 Bit ARM® Cortex™-M3 uit ST Micro.  De mensen bij ST Micro hebben gemaakt een ontwikkel bord, genaamd de STM32 VL ontdekking (VL is kort voor waarde-lijn), beschikbaar voor 12 dollar!  Zij verkopen waarschijnlijk het bord op een verlies.  Ter vergelijking is dit bestuur ongeveer 1/3 van de kosten van een standaard Arduino board.

De 24MHz STM32F100RBT6B micro die wordt gebruikt op het bord van de ontdekking is waarschijnlijk de langzaamste ze verkopen.  De meeste van deze chips lopen veel sneller!  Echter de chip zelf is niet overdreven duur - Digi-Key vervoerders de chip voor $3,50 op bestellingen meer dan 100 stuks.  Voor 3,50 dollar kunt krijg je 128 k flash en 8 k RAM - geen EEPROM nodig sinds de micro naar eigen flash schrijven.

Hieronder staan de specs recht uit Mouser van web-pagina voor de STM32F100RBT6B chip:

  • Kern: ARM Cortex-M3
  • Gegevensbreedte Bus: 32 bits
  • Program geheugentype: Flash
  • Programma de grootte van het systeemgeheugen: 128 KB
  • RAM gegevensomvang: 8 KB
  • Interfacetype: I2C, SPI, USART
  • Maximale klokfrequentie: 24 MHz
  • Aantal programmeerbare invoer/uitvoerbewerkingen: 51
  • Aantal Timers: 6
  • Operationele voedingsspanning: 2 V naar 3.6 V
  • Maximale bedrijfstemperatuur: + 85 C
  • Pakket / Case: LQFP-64
  • 3e partij ontwikkelprogramma's: EWARM, EWARM-BL, MDK-ARM, RL-ARM, ULINK2
  • Ontwikkelprogramma's door leverancier: STM32100B-EVAL
  • Minimum temperatuur:-40 C
  • On-Chip ADC: 12 bit, 16 kanaal
  • On-Chip DAC: 12 bit, 2-kanaals

Alleen in geval u denkt dat de ARM is niet goed voor kleine projecten dat, ik heb een andere zoekopdracht op Digi-Key en opgedoken van een nog minder dure ARM-chip van NXP.  De NXP micro (Digi-Key onderdeel nummer 568-5142-ND) is een andere ARM Cortex-M0 chip.  Maar de NXP chip werkt aan 50MHz (ik krijg meer kippenvel-opnieuw), heeft 8k van flash / 2k Ram, 28 IO op 32 pins, I²C, SPI, USART voor (drum roll please) $1.46 @ 100st.  Ik hou van de wet van Moore in actie.

Echte toepassing heeft op de arbeidsmarkt te leren dit spul.  Jabbering op over uw laatste Arduino is project niet gonna get veel aandacht in een interview met een werkgever.  Echter legt uit hoe u een probleem met prioriteit inversie op een ingesloten realtime die OS zal opgelost!  Geloof me, ik heb geïnterviewd / veel ingesloten programmeurs loop der jaren als een voormalig medewerker van de Motorola ingehuurd.

Hier is een link naar de STM32 ontdekking voor 12 dollar te kopen van Mouser.  Koop twee alleen in het geval - de verzendkosten is gek, zodat je zo goed twee krijgen net.  Oh, en het LCD-scherm in de afbeelding komt ook uit Mouser ($12.50 elk).

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

Het OS die we gaan gebruiken heet FreeRTOS en hun webadres wordt vervolgens vermeld.

http://www.freertos.org/

Maak je geen zorgen, kunt u dit OS in uw commercieel product zonder uw broncode bloot te stellen.  Het OS gebruikt een gemodificeerde GPL licentie en is ook vrij van royalties.  Voor een volledige weergave van de licentievoorwaarden is hier nog een link:

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

De FreeRTOS realtime OS is rond voor een lange tijd geweest en is zeer stabiel.  De OS is geport naar 26 verschillende architecturen en is zeer goed gedocumenteerd.  Ik gebruikte eerst FreeRTOS op een product voor GM.  Mijn code, in combinatie met FreeRTOS, draait rond in 10 duizenden voertuigen.  In die dagen gebruikte ik FreeRTOS op een Freescale Star12 chip (veel minder krachtige).  Ik geloof echt met behulp van FreeRTOS aan dat project uitgezonderd mijn spek.

Hebben van de OS kundig voor stormloop op 26 verschillende architecturen, zoals ik al zei, betekent niet dat uw gebonden aan een specifiek stuk van hardware.  Ik graag keuzevrijheid.  Als je echt wilt om te duiken, zou ik stel voor aanschaf van het boek "Met behulp van het FreeRTOS Real Time Kernel - een praktische gids".  De eBook versie is slechts $25 bucks - het boek helpt de ontwikkeling van FreeRTOS te kopen.  U kunt het boek gemakkelijk vinden op FreeRTOS.org.  Opmerking, ik heb geen financiële interesse in FreeRTOS of ST - ik graag beide.

Om bij te houden over de toekomstige ontwikkelingen die ik ben bezig met je kunnen altijd koppelen aan mijn RSS-feed van mijn website.  Ik probeer te plaatsen van tussenliggende stappen voordat ik verzamel genoeg dingen samen voor een instructible.  Het adres van mijn website (Powerhouse Elektronika) wordt vervolgens vermeld:

pH-elec.com

Voor de RSS-feed, voegt u een "live" bookmark om:

www.ph-Elec.com/RSS.XML

Gerelateerde Artikelen

Directe lezing van LCD-scherm met behulp van algemene doel IO

Directe lezing van LCD-scherm met behulp van algemene doel IO

Moeilijkheid: e a s y .. Schema, solderen, C programmerenVeel apparaten hebben schermen van LCD (Liquid Crystal Display) - uw magnetron, digitale klok en Weegschaal zijn een paar bekende voorbeelden. Meer dan eens, heb ik wil kunnen gebruiken op een
Interfacing 20 x 4 LCD met Arduino

Interfacing 20 x 4 LCD met Arduino

Een vloeistof - crystal display (LCD) is een flat-panelbeeldscherm, elektronische visuele weergave of video weergave die gebruikmaakt van het licht modulerende eigenschappen van vloeibare kristallen. Vloeibare kristallen doen licht niet rechtstreeks
Hoe u een 16 x 2 LCD met behulp van een AVR ATtiny2313

Hoe u een 16 x 2 LCD met behulp van een AVR ATtiny2313

als je gewoon bent om in microcontrollers er is een hoop te weten zoals u waarschijnlijk heb ontdekt. Er is een heleboel goede online tutorials voor de Atmel AVR en kansen zijn dat u een paar van die inmiddels heb zien. Ik onlangs heb in microcontrol
Foto nachtlampje van een gebroken LCD

Foto nachtlampje van een gebroken LCD

een gebroken LCD omzetten in een backlit beeld. Tijd om opnieuw purpose de Prullenbak...Het LCD-scherm die ik had was een zwart-witprinter backlit ras dat was verbrijzeld, de LCD-gedeelte niet meer werkte, maar de achtergrondverlichting was prima.Elk
Sparrow - my assistant

Sparrow - my assistant

Hallo iedereen. Ik ben een grafisch ontwerper met een rusteloze ziel (). Ik hield doen elektronica jaar geleden en dan heb bezig met leven en werk. Ik ben nu gezegend met enige tijd (zeldzaam nu een dagen: P). Dit is mijn eerste microcontroller / ard
Quadcopter met KK 2.15 Module

Quadcopter met KK 2.15 Module

Alle noodzakelijke sensoren, verwerkingscapaciteit, en chips van de communicatie moet een drone vliegen autonoom, ingebouwde. Terwijl dat niet veel lijkt misschien, elimineert het eigenlijk veel van de huidige commerciële civiele maar beschikbaar voo
LapPi - een Raspberry Pi Netbook

LapPi - een Raspberry Pi Netbook

de Raspberry Pi is een opmerkelijke machine. Lichtgewicht, krachtige, en tot nu toe het was volledig vastgebonden aan een stopcontact. De LapPi is gebouwd om de Pi vrij! Het is gemaakt van een mengsel van reserveonderdelen, niet-toegewezen elektronic
Alfanumerieke Display Arduino Kit: Vergadering tutorial

Alfanumerieke Display Arduino Kit: Vergadering tutorial

De Alfanumerieke LCD Kit voor Arduino met behulp van slechts één component, en natuurlijk de LCD, bevatten de Arduino board met ten minste een 16 × 2 alfanumerieke LCD tekens op een achtergrondverlichting display dat kan worden gebruikt in elke zelfs
Draagbare Raspberry Pi (V4)

Draagbare Raspberry Pi (V4)

De Raspberry Pi. Haar een $35-computer de grootte van een creditcard. Zeer klein, zijn groot voor de draagbaarheid. Dit is echter meestal het probleem want het is moeilijk om te maken het draagbare.Het afgelopen jaar en een half, heb ik gewerkt met m
Delta Robot Klok

Delta Robot Klok

Een delta robot is een eenvoudige robot die drie servo's gebruikt om te bewegen een einde effector. Het einde effector blijft in een vaste stand ten opzichte van de base maar is vrij om te bewegen in drie afmetingen.In dit project heb ik een digitale
PIvena montage-instructies (B +)

PIvena montage-instructies (B +)

Dit instructable gaat om u te tonen hoe te monteren van het PIvena Raspberry Pi geval! Ga naar Lees meer over de PIvena, te thingiverse downloaden van alle bestanden van het ontwerp en maak je eigen of naar mijn Etsy -winkel te kopen van een kit.Stap
LCD controle met LinkIt één bord

LCD controle met LinkIt één bord

Vandaag, zullen we kijken naar manieren om te communiceren met de buitenwereld, met behulp van uw LinkIt een ontwikkeling boord. In deze handleiding leert u hoe u een 16 door 2 LCD-module met behulp van alleen een potentiometer, wat draadjes en de Li
ATTiny45/85 LCD Weergave besturingselement met een shift register, geprogrammeerd in Arduino

ATTiny45/85 LCD Weergave besturingselement met een shift register, geprogrammeerd in Arduino

uitgevoerd op een ATTiny45 van 85 chip Arduino is een grote kosten-spaarder voor mini-projecten. Echter geen u een HD44780 compatibele LCD display verbinding maken als u nodig hebt 6 uitgangen, maar u slechts 5 hebt. Dit probleem kan worden opgelost
Hoe een Laptop LCD converteren naar een externe Monitor.

Hoe een Laptop LCD converteren naar een externe Monitor.

Hallo daar. Dit is mijn eerste InstructableEen tijdje terug ik zat rond en vroeg zich af wat te doen met mijn stroomloos laptop. Ik wist dat de moederbord was gebakken maar alles was nog in werkende staat. Dientengevolge, ik besloten om een externe m