Skalierbare RTOS-Lösung für Einzel- und Multicore-Bausteine
TI-RTOS beschleunigt Zeitpläne für die Entwicklung, da die Lösung die Erfordernis zur Neuerstellung grundlegender Systemsoftwarefunktionen beseitigt. TI-RTOS stellt; wichtige, vorab getestete und bereits integrierte Systemsoftwarekomponenten bereit, damit sich Entwickler ganz auf die Differenzierung ihrer Anwendung konzentrieren können. Für Mikroprozessoren und DSPs von TI stellt TI-RTOS einen TI-RTOS-Kernel mit Echtzeit-Multitasking (ehemals SYS/BIOS), Gerätetreiber, Multicore-Kommunikation und TCP/IP-Vernetzung bereit. Die Zuverlässigkeit der TI-RTOS-Komponenten hat sich bereits in Anwendungsbereichen wie der Industriekommunikation und -steuerung, drahtlosen Kommunikation und Automobilindustrie bewährt.
Zum Herunterladen von TI-RTOS für SitaraTM-Prozessoren und DSP
- Klicken Sie oben auf die Schaltfläche „Software herunterladen“, um das entsprechende Softwareentwicklungskit (Software Development Kit, SDK) für TI-Prozessoren zu finden. Diese Prozessor-SDKs enthalten zusätzliche Beispiele, Middleware, Platinenunterstützungspakete und Compiler-Tools, die auf unterstützten Evaluierungsmodulen vorab mit TI-RTOS getestet wurden.
Lizenzierung – TI-RTOS wird mit vollständigem Quellcode bereitgestellt. Es fallen keine im Voraus zu zahlenden oder laufzeitbasierten Lizenzgebühren an. Multitasking-Kernel, Gerätetreiber, Multicore-Kommunikation, TCP/IP-Netzwerkstack und alle Beispiele nutzen eine BSD-ähnliche Open-Source-Lizenzierung. Dies ermöglicht Entwicklern die einfache Weitergabe von Software an Partner oder Unterauftragnehmer ohne umständliche Lizenzierungsbeschränkungen. Im Gegensatz zur GPL-Lizenz stellt die BSD-Lizenz keine Anforderungen an Entwickler, ihren gesamten Anwendungs-Quellcode auszuliefern.
TI-RTOS bietet die folgenden Komponenten für Sitara-Mikroprozessoren und TI-DSPs:
| TI-RTOS-Modul | Beschreibung |
| TI-RTOS-Kernel | TI-RTOS-Kernel (ehemals SYS/BIOS) bietet deterministische präemptive Multithreading- und Synchronisationsdienste, Speicherverwaltung und Interrupt-Handling. |
| TI-RTOS-Gerätetreiber | TI-RTOS-Gerätetreiber bieten eine gemeinsame API-Schnittstellenschicht, die Unterschiede zwischen verschiedenen Prozessoren abstrahiert. |
| TI-RTOS-Netzwerktechnik | Die RTOS-Netzwerktechnik von TI (früher NDK) bietet einen IPv4- und IPv6-konformen TCP/IP-Stack sowie zugehörige Netzwerkanwendungen wie DNS, HTTP und DHCP. |
| TI-RTOS-IPC | TI-RTOS-IPC bietet eine effiziente Interprozessor-Kommunikation in Multicore-Bausteinen. |
| TI-RTOS-Instrumentierung | Die TI-RTOS-Instrumentierung ermöglicht es Entwicklern, Debug-Instrumentierung in ihre Anwendung einzubinden, welche die Anzeige von Laufzeitverhalten, einschließlich Kontextwandler, mit Analysetools auf Systemebene ermöglicht. |
TI-RTOS-Kernel-Übersicht
Der TI-RTOS Kernel ist ein deterministischer, präemptiver und multitaskingfähiger Kernel, der es Entwicklern ermöglicht, anspruchsvolle Anwendungen ohne Kompromisse bei den Echtzeitterminen zu erstellen. Die Kernel-Services sind in der folgenden Tabelle zusammengefasst:
| Kernel-Service | Beschreibung |
| Cache | Cache-Konfiguration und -Verwaltung |
| Takt- | Zeitgesteuerte Funktionen |
| Diags | Benutzerkonfigurierbare Tracing-Funktion, einschließlich Asserts für Parameter- und Zustandsprüfung |
| Fehler | Definieren, erhöhen und überprüfen Sie Fehler-Handler |
| Event | Warten Sie auf eine beliebige Kombination aus mehreren RTOS- oder benutzerdefinierten Ereignissen |
| GateMutex | Binärmutex mit Prioritätvererbung |
| HeapBuf | Schnelle, deterministische Puffer-Pools fester Größe |
| HeapMem | Dynamische Heaps mit variabler Größe |
| HeapMultiBuf | Deterministische dynamische Heaps mit variabler Größe, die auf mehreren Puffer-Pools basieren |
| Hardware Interrupts (HWI) | Schnittstelle von Hardwareunterbrechungen zum Echtzeitbetriebssystem (RTOS) |
| Log | Protokollierung und Druckanweisungen mit geringem Overhead |
| Mailbox | Synchronisierter Datenaustausch zwischen Aufgaben |
| Speicher | Speicherzuweisungsschnittstelle |
| Semaphores | Counting Semaphore |
| Software Interrupts (SWI) | Schlanke präemptive Threads, die den Programm-Stack verwenden, aber keine Ergebnisse liefern können |
| System | Allgemeine Systemfunktionen wie Abbruch, Beenden und Systemdruck |
| Task | Unabhängige Ausführungs-Threads, die den Prozessor ergeben können |
| Timer | Schnittstelle zu Hardware-Timern |
| Timestamp | 32- und 64-Bit-Zeitstempel-Services |
Multicore-Unterstützung für den TI-RTOS-Kernel
TI-RTOS bietet vollständige Unterstützung für die Multicore-ARM- und DSP-Lösungen von TI. Der TI-RTOS-Kernel kann auf ARM Cortex A-, ARM Cortex M- und DSP-Kernen ausgeführt werden und stellt einen einheitlichen Satz von Betriebssystem-APIs über alle Kerne bereit. Der TI-RTOS-Kernel bietet zudem Bildfreigabe- und SMP-Unterstützung für entsprechende Bausteine. Das zugehörige IPC-Paket bietet einen umfangreichen Satz von Multicore-Kommunikationsmechanismen, welche die Entwicklung verteilter Anwendungen vereinfachen und alle Hardwarefunktionen zum gegenseitigen Ausschluss nutzen, um so maximale Leistung zu erzielen. Die IPC-Services sind sowohl für TI-RTOS als auch für Linux verfügbar. Dies ermöglicht es Entwicklern, Linux auf dem ARM Cortex A-Kern und TI-RTOS auf DSP- und ARM Cortex M-Kernen zu verwenden, falls gewünscht:
| IPC-Objekte | Beschreibung der IPC-Services |
| HeapBuf | Multicore-/prozessorsichere HeapBuf-Implementierung mit gemeinsamem Speicher |
| HeapMultiBuf | Multicore-/prozessorsichere HeapMultiBuf-Implementierung mit gemeinsamem Speicher |
| List | Atomare verknüpfte Listen |
| ListMP | Atomare verknüpfte Listen mit mehreren Prozessoren |
| MessageQ | Transparente Nachrichten mit variabler Länge |
| Multiproc | Prozessoridentifikation |
| NameServer | Ermöglicht die Lokalisierung von IPC-Objekten in Multicore-/Prozessortopologien |
| Notify | Asynchroner Interrupt mit kurzer Latenzzeit zu einem anderen Prozessor |
| SharedRegion | Ermöglicht die Definition von gemeinsamen Zeigern zwischen verschiedenen Prozessoren/Kernen |
| Stream | Lese-/Schreib- oder Puffer-Streamingschnittstelle zu Peripherietreibern |
Betriebssystemfähige Debug- und Analysetools
In Verbindung mit Code Composer Studio (CCS) stellt der RTOS Kernel von TI verschiedene Tools zur Verfügung, die das Debugging und die Optimierung von Multithread-Anwendungen unterstützen. Mit dem Runtime Object Viewer (ROV) kann der Entwickler den Status von Betriebssystemobjekten wie Tasks, Mailboxen und Semaphoren prüfen. Entwickler können erkennen, ob eine Aufgabe bereit, ausgeführt oder blockiert ist, welche Tasks auf einem IPC blockiert sind und ob Tasks ihre Stack-Limits überschritten haben. Der RTOS Analyzer kann das Verhalten in Echtzeit erfassen und die Thread-Ausführung und Schaltsequenz, die Thread- und System-CPU-Auslastung, Betriebssystemereignisse und benutzerdefinierte Protokollinformationen anzeigen.
TI-RTOS-Networking – Übersicht
TI-RTOS Networking – früher Network Developer Kit (NDK) – kombiniert einen Dual-Mode IPv4/IPv6-Stack mit einigen Netzwerkanwendungen. TI-RTOS Networking-Unterstützung ist für Ethernet-fähige MCU, MPUS und DSPs verfügbar. Das TI-RTOS-Networking umfasst folgende Komponenten:
- Kern-TCP/IP-Protokollstack: Dual-Mode IPv6/IPv4-Stack sowohl im Quell- als auch im Binärmodus, einschließlich VLAN-Paketprioritätskennzeichnung, TCP, UDP, ICMP, IGMP, IP und ARP
- Netzwerk-Anwendungen: HTTP, TELNET, TFTP, SNTP, DNS, DHCP-Client und -Server (nur IPv4)
- Unterstützung für serielles/Mobilfunkmodem: PPP und PPPoE
- Anwendungsprogrammierschnittstellen: BSD-Sockets, Zero-Copy-Sockets und Unterstützung für RAW-Ethernet