tinyXML2 auf Microcontroller mit embOS und emfile

Gast #5485680
Lesenswert?
• ▲
▼
Hallo zusammen!

Hat jemand schon mal tinyXML2 auf ein nicht Windows/Linux System 
portiert?
Auf dem Targetsystem läuft embOS und emfile von Segger.
Ich "sehe" hier keine saubere Portierungsschicht. Alles im Code manuell 
zu ändern ist nicht nur sehr aufwändig, sondern verwehrt einem auch die 
Möglichkeit ein Update durchzuführen ...

Bei mir geht es um essentielle Funktionen zur dynamischen 
Speicherallokierung und Verwendung, sowie auch dem Filesystemzugriff.

Oder übersehe ich hier was?

Danke & Grüße
Jochen
Gast #5485693
Lesenswert?
• ▲
▼
Das Ding nutzt C++. Auf Microcontrollern kann man das problemlos nutzen 
- aber Menge gilt es dabei zu beachten (viele  "schöne" C++ Befehle 
setzen auf gruselige Allokatoren oder fressen eine Menge Flash weg).

Wuerde mir einen anderen Stack suchen.
#5485730
Lesenswert?
• ▲
▼
https://github.com/leethomason/tinyxml2 sagt:
> It does not rely on exceptions, RTTI, or the STL.

Das sind schonmal gute Vorraussetzungen für einen erfolgreichen Port.

Ich finde die Schnittstelle jetzt nicht so schwer zu verstehen. Im 
einfachsten Fall übergibst du einen Text und lässt den parsen:
https://github.com/leethomason/tinyxml2/blob/master/xmltest.cpp#L145

Wenn du es direkt aus einer Datei parsen willst, dann würde ich mal 
einen Blick auf die Methoden
1
 XMLError LoadFile( FILE* );
2

3
// und/oder
4

5
 XMLError LoadFile( const char* filename );

werfen. Die musst du natürlich entsprechend anpassen. Generell finde ich 
XML (nicht nur auf uC) nicht so prickelnd. "XML combines the readability 
of binary with the efficiency of text data" ist leider viel zu wahr. bei 
JSON gibt es einige Parser, die nicht nur rasend schnell, sondern auch 
sehr kompakt sind und denen einer Verwendung in kleinsten 
Embedded-Systemen absolut nichts im Weg steht, z.B. cJSON: 
https://github.com/DaveGamble/cJSON
Gast #5488033
Lesenswert?
• ▲
▼
Hallo!

Danke für die Antworten!
Die Frage ist, ob es ein besseres Dateiformat oder Parser gibt.
Ich sehe hier nur keine saubere Portierungsschicht, um tinyXML2 auf mein 
Target zu bringen. Die Frage ist daher, ob das jemand schon gemacht hat 
und wie "wartbar" das Ganze zum Schluss ist.

Danke & Grüße
Jochen
#5488049
Lesenswert?
• ▲
▼
Jochen schrieb:
> Hallo!
>
> Danke für die Antworten!
> Die Frage ist, ob es ein besseres Dateiformat oder Parser gibt.
> Ich sehe hier nur keine saubere Portierungsschicht, um tinyXML2 auf mein
> Target zu bringen. Die Frage ist daher, ob das jemand schon gemacht hat
> und wie "wartbar" das Ganze zum Schluss ist.
>
> Danke & Grüße
> Jochen

BSON oder MessagePack sind deutlich bessere Kandidaten für kleine 
Prozessoren mit wenig Speicher.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.