Code-Optimierung

Hocheffiziente Seriencode-Generierung

  • Minimierte Ausführungszeit und Stack-Größe
  • Minimierte RAM- und ROM-Ressourcen
  • Zielprozessoroptimierter Code
 
Anforderungen der Serie erfüllen
Effizienz ist der Schlüssel zu serienreifem Code. Effizienter Code heißt, dass ein Minimum an Ausführungszeit, RAM- und ROM-Ressourcen sowie Stack-Größe notwendig sind, um den Code auf einem eingebetteten Prozessor auszuführen. TargetLink® erfüllt diese hohen Standards in der Seriencode-Generierung mit Hilfe zahlreicher technologischer Innovationen.
Die Code-Optimierungsoptionen von TargetLink kann man in drei Gruppen unterteilen:
  • Herkömmliche Optimierungen, die auch von C-Compilern verwendet werden
  • Interblock-Optimierung für die Kombination von Code mehrerer Blöcke in eine C-Code-Zeile
  • Code-Muster-Bibliotheken für hocheffizienten C-Code komplexer Blöcke wie z.B Filter
 
ANSI-C-Code und Target-optimierter Code
TargetLink generiert hocheffizienten, mikrocontrollerunabhängigen ANSI-C-Code, der für eingebettete Anwendungen mit nahezu jedem Mikrocontroller einsetzbar ist. Für zahlreiche Mikrocontroller lässt sich unter Einsatz des Target Optimization Modules große Effizienzsteigerungen bei der Generierung von mikrocontrollerspezifischen C-Code erzielen.
 

Target Optimization Modules
Prozessor- und compilerspezifische Spracherweiterungen sind eine weitere Methode zur Code-Optimierung. Bereitgestellt werden sie von den Target Optimization Modules, die compilerspezifische Instruktionen erstellen und sogar Inline-Assembler-Makros aus Bibliotheken mit hochoptimierten Code-Mustern generieren. Auch dadurch wird der Code deutlich effizienter – entscheidend, wenn die Ressourcen auf der Zielplattform begrenzt sind.Die Target Optimization Modules unterstützen folgende Kombinationen von Mikrocontrollern und Compilern1):

  • Freescale HCS12 (Metrowerks CodeWarrior Compiler, Cosmic Compiler)
  • Freescale MPC5xx (Wind River Compiler, Green Hills Compiler)
  • Freescale MPC55xx (Wind River Compiler)
  • Infineon C16x (Tasking Compiler)
  • Infineon TriCore (Tasking Compiler)
  • Renesas M32R (GAIO Compiler)
  • Renesas SH-2, nur für SH2e-Cores (Renesas Compiler)
 
1) Weitere Informationen zu unterstützten Compiler-Versionen erhalten Sie vom TargetLink Support.