Die HighTec Development Platform enthält leistungsfähige Assistenten und unterstützt die neuesten Derivate wie die neuen TriCore-Multicore-Architekturen. Sie verwaltet die Projekteinstellungen und den gesamten Build-Prozess für Compiler, Assembler und Linker und darüber hinaus die Initialisierungseinstellungen der Hardware. Die Entwicklungsplattform umfasst:
Die Eclipse™-basierte Entwicklungsplattform ermöglicht die einfache Definition von Projekten. Nach der Auswahl eines bestimmten Mikrocontroller-Derivats kann die Generierung eines Projekts mit korrektem Startup-Code, der notwendigen Hardware-Initialisierung, einem gültigen und geeigneten Speicherlayout und Header-Dateien, die die eigentliche Hardware-Konfiguration, z.B. spezielle Funktionsregister, beschreiben, praktisch auf Knopfdruck veranlasst werden. Das Projekt enthält eine einfache Hauptfunktion, mit der die Implementierung sofort gestartet werden kann. Das Speicherlayout kann mit Hilfe der modellgesteuerten GUI in Eclipse™ leicht angepasst werden. Diese Konfiguration wird gegen das abgeleitete Speicherlayout verifiziert und unterstützt den Kunden bei der Platzierung von Code und Daten in den entsprechenden Bereichen des Speichers.
Merkmale
Die HighTec Entwicklungsplattform wird von führenden Tier1 und OEM eingesetzt.
Die Compiler-Suite von HighTec unterstützt sowohl homogene als auch heterogene Multicore-Architekturen. Die Lösung von HighTec integriert Multicore-Unterstützung auf Linker-Ebene und macht eine Anpassung des Quellcodes überflüssig. Diese ISO- und EABI-konforme Multicore-Unterstützung erleichtert die Portierung vorhandener Single-Core-basierter Quellcodes auf ein Multicore-System. Der Benutzer kann auf Linker-Ebene einfach ausführbaren Code oder Daten dem entsprechenden Kern zuweisen.
Der Datenaustausch zwischen verschiedenen Kernen erfolgt über das Hide-and-Visibility-Konzept, das benutzerdefinierte Schnittstellen zwischen den Kernen auf Linker-Ebene spezifiziert. Daten und Code müssen explizit angegeben werden, um für andere Kerne als den, zu dem sie gehören, sichtbar zu sein. Alle Daten oder Codes, die von den Kernen gemeinsam genutzt werden, werden in einer separaten Ausgabedatei aufgeführt und können zur Analyse der Querverweise zwischen den Kernen verwendet werden. Die Hide-and-Seek-Funktion impliziert eine Reduzierung der Komplexität in verteilten Systemen, was zu einem geringeren Debugging-Aufwand und einer verbesserten Wartbarkeit des Softwaresystems als Ganzes führt. Darüber hinaus wird die Ausführung unabhängiger Anwendungen auf jedem Kern unterstützt, da die Trennung von Code und Daten gewährleistet ist, sofern der Benutzer nichts anderes vorgibt. Ein Kern kann auf seine lokalen Ressourcen zugreifen, z.B. RAM, über einen lokalen Adressraum. Darüber hinaus werden diese Ressourcen in einen globalen Adressraum abgebildet, sodass die anderen Kerne auf sie zugreifen können. Auf den Speicher kann somit über unterschiedliche Adressen zugegriffen werden, je nachdem, ob der lokale Adressraum oder der globale Adressraum verwendet wird. Dies gilt auch für verschiedene Kernarchitekturen wie das GTM/MCS-Modul. Der HighTec TriCore-Linker übernimmt automatisch die Neuzuordnung von Speichern auch für heterogene Multicores. Der Linker ist in der Lage, Objektdateien für verschiedene Kernarchitekturen zu verknüpfen und eine resultierende Ausgabe-Elf-Datei zu generieren.
HighTec-Tools unterstützen auch verschiedene Core-Architekturen wie GTM/MCS (Timer-Modul) und HSM-Sicherheitsmodul. Die Binärdateien von TriCore, GTM und HSM können in einer ELF-Datei verknüpft und „en bloc“ auf das Zielsystem hochgeladen werden. Effiziente Adressierungsmodi, wie z. B. der kleine Adressierungsmodus, können für jeden Kern separat verwendet werden. Die entsprechenden Adressregister jedes Kerns müssen im Startcode initialisiert werden. Der Linker initialisiert automatisch das erforderliche Basisregister für die kleinen adressierbaren Bereiche jedes Kerns.
In Summe: