Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

K (Gegenüberstellung)
 
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Überarbeiten}}
+
=Gegenüberstellung=
 
+
=Gegenüberstellung Assembler und Hochsprache=
+
  
 
{| {{Blauetabelle}}
 
{| {{Blauetabelle}}
| <div align="center">'''Quellcode'''</div>
+
|- bgcolor="#ccccff"
| <div align="center">'''Vorteile'''</div>
+
! | Quellcode
| <div align="center">'''Nachteile'''</div>
+
! | Vorteile
  |- valign="top"
+
! | Nachteile
  | '''Assembler'''
+
  |- valign="top"  
 +
  | Assembler
 
  | <!--------------------- + Assembler -->
 
  | <!--------------------- + Assembler -->
Prinzipiell der schnellste bzw kürzeste Code, weil man volle Kontrolle über die Maschine hat
+
* Prinzipiell der schnellste bzw kürzeste Code, weil man volle Kontrolle über die Maschine hat
 
  | <!--------------------- - Assembler -->
 
  | <!--------------------- - Assembler -->
 
* komplette Neuimplementierung bei Portierung auf eine andere Architektur
 
* komplette Neuimplementierung bei Portierung auf eine andere Architektur
 +
* bei Umstieg auf eine andere Architektur muss zuerst ein anderer Assembler-Code erlernt werden
 
* sogar Portierung innerhalb der gleichen Controllerfamilie (z.B. AVR) erfordert Anpassungen wegen unterschiedlichem Befehlssätze
 
* sogar Portierung innerhalb der gleichen Controllerfamilie (z.B. AVR) erfordert Anpassungen wegen unterschiedlichem Befehlssätze
* aufwändig in der Entwicklung, fehleranfällig, schwer zu debuggen und nachzuvollziehen
+
* aufwändig in der Entwicklung
 +
* Wartung ist schwierig, denn Code wird leicht unübersichtlich
 
  |- valign="top"
 
  |- valign="top"
 
  | '''Hochsprache'''
 
  | '''Hochsprache'''
Zeile 20: Zeile 21:
 
* gute Portierbarkeit  
 
* gute Portierbarkeit  
 
* schnelle Entwicklung
 
* schnelle Entwicklung
* weniger fehlerabfällig, bessere Fehlersuche
+
* der Compiler kann bekannte Hardware-Bugs umschiffen
* beim Upgrade auf eine neue Compiler-Version mit besserten Optimierunsstrategien hat man die Optimierungen, ohne die Quelle ändern zu müssen
+
* beim Upgrade auf eine neue Compiler-Version mit besseren Optimierungsstrategien hat man die Optimierungen, ohne die Quelle ändern zu müssen
 
  | <!--------------------- - Hochsprache -->
 
  | <!--------------------- - Hochsprache -->
 
* ineffizienterer Code
 
* ineffizienterer Code
 
* Unsicherheit, wie der Code genau aussieht
 
* Unsicherheit, wie der Code genau aussieht
 +
* Compiler sind oft wesentlich komplexer aufgebaut als Assembler, was die Wahrscheinlichkeit von Fehlern im Compiler im Vergleich zu einem Assembler erhöht.
 
  |- valign="top"
 
  |- valign="top"
 
  | '''Intermix''' Hochsprache&nbsp;+&nbsp;Assembler'''
 
  | '''Intermix''' Hochsprache&nbsp;+&nbsp;Assembler'''
Zeile 37: Zeile 39:
 
* es sind zwei Sprachen zu beherrschen
 
* es sind zwei Sprachen zu beherrschen
 
* Objektformat bzw. Compiler und Assembler müssen zueinander passen
 
* Objektformat bzw. Compiler und Assembler müssen zueinander passen
 +
* Je nach verwendeter Mix-Technik (Inline Assembler, Link mehrerer Objekte, dynamisch linkender Bootloader) sind noch zusätzliche Kenntnisse erforderlich.
 
  |}
 
  |}
  
 
[[Kategorie:Software]]
 
[[Kategorie:Software]]

Aktuelle Version vom 25. Juni 2009, 20:12 Uhr

Gegenüberstellung

Quellcode Vorteile Nachteile
Assembler
  • Prinzipiell der schnellste bzw kürzeste Code, weil man volle Kontrolle über die Maschine hat
  • komplette Neuimplementierung bei Portierung auf eine andere Architektur
  • bei Umstieg auf eine andere Architektur muss zuerst ein anderer Assembler-Code erlernt werden
  • sogar Portierung innerhalb der gleichen Controllerfamilie (z.B. AVR) erfordert Anpassungen wegen unterschiedlichem Befehlssätze
  • aufwändig in der Entwicklung
  • Wartung ist schwierig, denn Code wird leicht unübersichtlich
Hochsprache
  • gute Portierbarkeit
  • schnelle Entwicklung
  • der Compiler kann bekannte Hardware-Bugs umschiffen
  • beim Upgrade auf eine neue Compiler-Version mit besseren Optimierungsstrategien hat man die Optimierungen, ohne die Quelle ändern zu müssen
  • ineffizienterer Code
  • Unsicherheit, wie der Code genau aussieht
  • Compiler sind oft wesentlich komplexer aufgebaut als Assembler, was die Wahrscheinlichkeit von Fehlern im Compiler im Vergleich zu einem Assembler erhöht.
Intermix Hochsprache + Assembler
  • Vorteile von Hochsprache und Assembler
  • nur die Assembler Module/Schnippsel sind schwer portierbar
  • Assembler kann ganz zielgerichtet an kritischen Stellen eingesetzt werden
  • Quellcode bleibt gut lesbar
  • Nachteile von Hochsprache und Assembler
  • die Konvention der Hochsprache muss genau befolgt werden (Registerverwendung bei Funktionsaufrufen, etc.)
  • es sind zwei Sprachen zu beherrschen
  • Objektformat bzw. Compiler und Assembler müssen zueinander passen
  • Je nach verwendeter Mix-Technik (Inline Assembler, Link mehrerer Objekte, dynamisch linkender Bootloader) sind noch zusätzliche Kenntnisse erforderlich.

LiFePO4 Speicher Test