Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Eingebettet

Was ist das NuttX-RTOS und warum sollte es Sie interessieren?

Es gibt eine Vielzahl von Echtzeit-Betriebssystemen (RTOS) im Internet (Klicken Sie hier, um eine „kleine“ Liste anzuzeigen). Viele dieser Angebote sind jedoch jetzt tote/nicht gewartete Projekte.

Von den verbleibenden unterstützen die meisten nur einen Mikrocontroller oder eine Mikrocontrollerfamilie. Wenn Sie noch mehr filtern, werden Sie feststellen, dass selbst diejenigen, die mehrere Mikrocontroller unterstützen, normalerweise nicht über alle erforderlichen Funktionen verfügen:USB, Ethernet, Wi-Fi, 6LoWPAN, Grafik-LCD, SD-Karte, FAT-Dateisystem, CAN-Bus, RS485 usw.

Im Vergleich dazu unterstützt das NuttX RTOS all diese Funktionen und alles ist bereits im System integriert. Sie müssen beispielsweise keine Zeit damit verbringen, ein FAT-Dateisystem zu portieren, damit es auf RTOS, FreeModBus oder Micropython usw. funktioniert. Alles ist bereits im Paket enthalten und Sie zahlen nichts mehr dafür. Warten! Ich sagte "Bezahlen?" Tatsächlich müssen Sie nichts bezahlen, da NuttX ein völlig kostenloses und Open-Source-RTOS ist. Es verwendet eine BSD-Lizenz, daher gibt es keine speziellen Klauseln oder GPL-Ausnahmen.

NuttX ist ein POSIX-RTOS. Sie müssen keine neue API lernen, um sie zu programmieren. Sie können eine Anwendung in einem POSIX-Betriebssystem wie Linux oder MacOS schreiben, validieren und dann für die Ausführung auf NuttX kompilieren. Wenn Sie keine Anwendung von Grund auf neu erstellen möchten, können Sie sich einige kleine Linux-Bibliotheken schnappen und einige kleinere Änderungen vornehmen, damit sie auf NuttX funktionieren.

NuttX hat auch viele Subsysteme, die äquivalenten Subsystemen in Linux ähneln. Zum Beispiel Virtual File System (VFS), Memory Technology Device (MTD), Audio-Subsystem, USB-System mit USB-Composite-Unterstützung und viele andere. Obwohl sie sich in den Funktionen ähneln, haben sie einen großen Unterschied (oder sollte ich einen „kleinen Unterschied“ sagen?), da NuttX von Natur aus klein ist. Tatsächlich können Sie eine Basisversion von NuttX auf kostengünstigen Mikrocontrollern mit weniger als 32 KB Flash und weniger als 8 KB RAM ausführen. Wenn Sie natürlich zusätzliche Funktionen in Ihre Firmware aufnehmen möchten – USB, Ethernet/WiFi mit IPv6, CAN usw. – dann ist es besser, einen Mikrocontroller mit mehr als 64 KB Flash und mindestens 32 KB RAM zu verwenden.

All diese Fakten erklären, warum viele Unternehmen NuttX bereits einsetzen. Haben Sie schon vom Moto Z-Smartphone gehört? Der Benutzer kann Smart Covers (sogenannte Snaps) anbringen und so seine Telefone in digitale Projektoren, True Zoom-Kameras, Soundsysteme oder alles andere verwandeln, was er möchte. Würde es Sie überraschen zu hören, dass diese Moto Z Snaps mit NuttX laufen! Darüber hinaus produziert Sony Audiorecorder und andere Geräte mit NuttX; Samsung verwendet NuttX (oder eine Abzweigung davon, da sie die Lizenz von BSD auf Apache2 geändert haben) in ihrem neuen TizenRT; 3DRobotics verwendet NuttX in seinen Drohnen (oder UAVs, wie manche Leute gerne sagen, um Verwechslungen mit Militärversionen zu vermeiden); und viele, viele andere Unternehmen setzen NuttX in ihren Produkten ein.

Es ist auch wichtig zu beachten, dass NuttX in keiner Weise ein „neues Kind auf dem Block“ ist. Die erste NuttX-Version wurde vor mehr als 10 Jahren veröffentlicht (Februar 2007). Das Mastermind hinter NuttX ist Gregory Nutt (Linus → Linux; Nutt → NuttX; was für ein Zufall!). Greg hat viele Jahre damit verbracht, eingebettete Systeme für Luft- und Raumfahrtunternehmen und für HP-Drucker zu entwickeln. Er arbeitete auch an der Entwicklung von Linux-Embedded-Systemen für viele Unternehmen (z. B. AMD, ATI, Motorola) und war Mitbegründer einer Firma, die Anfang der 2000er Jahre Linux-Embedded-Systeme entwickelte. Als Greg sich umsah und bemerkte, dass ein kleines RTOS mit einem POSIX-Stammbaum fehlte, beschloss er, dies zu tun.

Warum haben Sie bis jetzt noch nichts von NuttX gehört? Nun, das mag daran liegen, dass Greg so beschäftigt war, an diesem Projekt zu arbeiten, dass er keine Zeit hatte, es zu promoten. Glücklicherweise wird das System aufgrund seines umfangreichen Funktionsumfangs immer beliebter. Die jüngste Ergänzung von 6LowPAN beispielsweise macht NuttX zu einer natürlichen Option für komplexe IoT-Systeme, bei denen anspruchsvolle Kommunikationsfunktionen erforderlich sind.

Also, worauf wartest Du? Jetzt bist du an der Reihe, ein Kaninchen aus dem Hut zu ziehen.

So starten Sie mit NuttX:

Alan Carvalho de Assis ist Diplom-Informatiker und hat einen Master-Abschluss in Elektrotechnik. Alan begann 1998 mit eingebetteten Systemen (PIC-MCUs) und 2001 mit eingebettetem Linux (uCLinux) zu arbeiten. Er arbeitete an der Entwicklung von eingebetteten Linux-Systemen bei Freescale (jetzt NXP) und anderen lokalen Unternehmen in Brasilien. 2010 entdeckte er NuttX RTOS beim Lesen eines Artikels im Linux Journal und begann damit, Projekte für viele verschiedene Unternehmen zu entwickeln. Alan möchte Rich Pennington und Marcelo Barros dafür danken, dass sie ihm bei der Überarbeitung dieses Artikels geholfen haben.


Eingebettet

  1. Die digitale Fabrik:Was sie ist und warum sie wichtig ist
  2. IoT im Gesundheitswesen:Was Sie wissen sollten
  3. Warum Industrie 4.0 wichtig ist und warum sich Hersteller darum kümmern sollten
  4. Was sind Drehmomentbegrenzer und warum brauchen Sie sie
  5. Austausch von Ausrüstung in der Eisenbahnindustrie und was Sie wissen sollten
  6. Warum sollten Sie die Fähigkeiten der Mitarbeiter überwachen?
  7. Warum Sie sich für Anti-Müdigkeit interessieren sollten und was Sie dagegen tun können
  8. Was ist eine Ironworker-Maschine und warum brauchen Sie eine?
  9. Schweißen von HY-Stahl und die Vorsichtsmaßnahmen, die Sie ergreifen sollten
  10. Was ist der GBA? Und warum ist es wichtig?