Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Wat is de NuttX RTOS en waarom zou het je iets kunnen schelen?

Er is een overvloed aan Real Time Operating Systems (RTOSen) beschikbaar op internet (klik hier om een ​​"kleine" lijst te zien). Veel van deze aanbiedingen zijn nu echter dode/niet-onderhouden projecten.

Van de overgebleven exemplaren hebben de meeste ondersteuning voor slechts één microcontroller of één microcontrollerfamilie. Als u nog meer filtert, zult u zien dat zelfs degenen die meerdere microcontrollers ondersteunen, doorgaans niet alle functies hebben die u nodig hebt:USB, Ethernet, Wi-Fi, 6LoWPAN, grafisch LCD-scherm, SD-kaart, FAT-bestandssysteem, CAN-bus, RS485, enz.

Ter vergelijking:de NuttX RTOS ondersteunt al deze functies en alles is al in het systeem geïntegreerd. U hoeft bijvoorbeeld geen tijd te besteden aan het overzetten van een FAT-bestandssysteem om het werkend te krijgen op RTOS, of FreeModBus, of Micropython, enz. Alles zit al in het pakket en u betaalt er niets meer voor. Wachten! Ik zei "Betalen?" In feite hoeft u niets te betalen omdat NuttX een volledig gratis en open source RTOS is. Het gebruikt een BSD-licentie, dus er zijn geen speciale clausules of GPL-uitzonderingen.

NuttX is een POSIX RTOS. U hoeft geen nieuwe API te leren om deze te programmeren. U kunt een toepassing schrijven in een POSIX-besturingssysteem zoals Linux of MacOS, deze valideren en vervolgens compileren om op NuttX te draaien. Als je niet helemaal opnieuw een applicatie wilt maken, kun je een paar kleine Linux-bibliotheken pakken en enkele kleine wijzigingen aanbrengen om ze op NuttX te laten werken.

NuttX heeft ook veel subsystemen die lijken op gelijkwaardige subsystemen in Linux. Bijvoorbeeld Virtual File System (VFS), Memory Technology Device (MTD), Audio-subsysteem, USB-systeem met USB Composite-ondersteuning en vele andere. Hoewel ze qua functies vergelijkbaar zijn, hebben ze een groot verschil (of moet ik zeggen een "klein verschil"?), omdat NuttX inherent klein is. Eigenlijk kun je een basisversie van NuttX draaien op goedkope microcontrollers met minder dan 32 KB Flash en minder dan 8 KB RAM. Als u extra functies in uw firmware wilt opnemen - USB, Ethernet/WiFi met IPv6, CAN, enz. - dan is het natuurlijk beter om een ​​microcontroller te gebruiken met meer dan 64 KB Flash en ten minste 32 KB RAM.

Al deze feiten verklaren waarom veel bedrijven NuttX al gebruiken. Heb je gehoord van de Moto Z-smartphone? De gebruiker kan slimme hoesjes (snaps genaamd) bevestigen en zo hun telefoons veranderen in digitale projectoren, echte zoomcamera's, geluidssystemen of wat ze maar willen. Zou het je verbazen te horen dat deze Moto Z Snaps NuttX draaien! Verder produceert Sony audiorecorders en andere apparaten met NuttX; Samsung gebruikt NuttX (of een afsplitsing ervan, aangezien ze de licentie van BSD in Apache2 hebben gewijzigd) in hun nieuwe TizenRT; 3DRobotics gebruikt NuttX in hun drones (of UAV's zoals sommige mensen liever zeggen om verwarring met militaire versies te voorkomen); en vele, vele andere bedrijven gebruiken NuttX in hun producten.

Het is ook belangrijk op te merken dat NuttX op geen enkele manier een "new kid on the block" is. De eerste NuttX-versie werd meer dan 10 jaar geleden (februari 2007) uitgebracht. Het brein achter NuttX is Gregory Nutt (Linus → Linux; Nutt → NuttX; wat een toeval!). Greg heeft vele jaren besteed aan het ontwikkelen van embedded systemen voor ruimtevaartbedrijven en voor HP printers. Hij werkte ook aan de ontwikkeling van ingebedde Linux-systemen voor veel bedrijven (bijv. AMD, ATI, Motorola), en was mede-oprichter van een bedrijf dat in het begin van de jaren 2000 Linux-embedded systemen ontwikkelde. Dus toen Greg om zich heen keek en merkte dat een kleine RTOS met een POSIX-stamboom ontbrak, besloot hij het te laten gebeuren.

Waarom heb je tot nu toe niets van NuttX gehoord? Nou, dit kan te wijten zijn aan het feit dat Greg zo druk bezig was met dit project dat hij geen tijd had om het te promoten. Gelukkig wordt het systeem steeds populairder vanwege de uitgebreide functieset. De recente toevoeging van 6LowPAN, bijvoorbeeld, maakt NuttX een natuurlijke optie voor complexe IoT-systemen waar geavanceerde communicatiefuncties vereist zijn.

Dus waar wacht je op? Nu is het jouw beurt om een ​​konijn uit de hoed te trekken.

Aan de slag met NuttX:

  • http://www.nuttx.org
  • https://groups.yahoo.com/neo/groups/nuttx/info
  • https://www.linkedin.com/groups/12002792
  • https://www.youtube.com/c/NuttXChannel

Alan Carvalho de Assis is afgestudeerd in computerwetenschappen en heeft een master in elektrotechniek. Alan begon in 1998 met embedded systemen (PIC MCU's) en met embedded Linux (uCLinux) in 2001. Hij werkte aan de ontwikkeling van embedded Linux-systemen bij Freescale (nu NXP) en andere lokale bedrijven in Brazilië. In 2010 ontdekte hij NuttX RTOS tijdens het lezen van een artikel in de Linux Journal en begon het te gebruiken om projecten voor veel verschillende bedrijven te ontwikkelen. Alan wil Rich Pennington en Marcelo Barros bedanken voor hun hulp bij het herzien van dit artikel.


Ingebed

  1. Het Industrial Internet Security Framework:wat het is en waarom het u iets zou kunnen schelen
  2. De digitale fabriek:wat het is en waarom het ertoe doet
  3. IoT in de gezondheidszorg:wat u moet weten
  4. Waarom Industrie 4.0 belangrijk is en waarom fabrikanten zich zorgen moeten maken
  5. Wat zijn koppelbegrenzers en waarom heb je ze nodig?
  6. Uitrusting in de spoorwegindustrie veranderen en wat u moet weten
  7. Waarom zou u de vaardigheden van de werknemers moeten bewaken?
  8. Waarom u zich zorgen moet maken over anti-vermoeidheid en wat u eraan kunt doen?
  9. Wat is een Ironworker-machine en waarom heb je er een nodig?
  10. HY-staal lassen en de voorzorgsmaatregelen die u moet nemen
  11. Wat is de GBA? En waarom is het belangrijk?