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:
Voor de RSS-feed, voegt u een "live" bookmark om:
www.ph-Elec.com/RSS.XML