mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik XML auf Arm7 (Phillips 2292)


Autor: Dominik F. (buzzpuppet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,
hat jemand von euch Erfahrung mit dem Einsatz von XML auf einem ARM7?
Nach einigem suchen hab ich ein paar Parser gefunden, die darauf
vielleicht laufen könnten (expat,xmlparser,libxml2,tinyxml),
aber wie sieht es mit der Geschwindigkeit aus, wäre der wohl schnell
genug um ein per XML abgelegtes Menü auszulesen, und auch die
dazugehörigen Werte?

Und wie sieht das mit einer validierung aus, vor allem Geschwindigkeit
bei einer Schema validierung, vielleicht per libxml2?

Mir würde schon ein Wink in die Richtung reichen ob das möglich wäre,
bzw komplett Aussichtslos ;)

Danke schonmal für die Hilfe :)

Grüße
Buzzi

Autor: jmoney (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab ehrlich gesagt mit xml noch nichts gemacht aber ich denke mal,
dass ein Arm7 damit auf keinen Fall überfordert sein sollte. Ein Menü
besteht ja aus einer recht kleinen, selbst für den Menschen
überschaubaren Anzahl von Punkten mit gewissen Eigenschaften. Sowas
sollte in keinem Format ein Problem darstellen.
Ich weiß natürlich nicht, wie die genannten XML-Implementationen sowas
auflösen aber ich denke nicht, dass es ein Problem wäre.

Autor: Dominik F. (buzzpuppet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das XML an sich nichts aufregendes ist ist mir ja schon klar.
Der ARM hat ja aber nur 16kb RAM, und da ist die Frage ob das genug ist
für den Parser und die DOM Bäume die darin aufgebaut werden (falls der
Parser denn DOM macht).
Im Moment sieht es nach 4 XML Dokumenten aus, wobei nur 2 davon
umfangreicher sein werden.
Auch sollte der µc ja nicht nur mit XML parsen beschäftigt sein,
sondern nebenbei noch andere Aufgaben erledigen.

Grüße
Buzzi

Autor: Martin Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein sogenannter SAX-Parser sollte mit relativ wenig RAM auskommen.
http://de.wikipedia.org/wiki/Simple_API_for_XML

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
XML? DOM-Bäume? Schema-Validierung? Auf einem Mikrocontroller mit 16 kB
RAM? Das ist ja absurd. Wieso muss es denn XML sein, das von allen
Dateiformaten dieser Welt am schlechtesten für einen Mikrocontroller
geeignete? CSV oder YAML ist besser menschenlesbar, braucht weniger
Speicher, und lässt sich mit ein paar Zeilen C interpretieren.

Autor: Dominik F. (buzzpuppet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin,
das hatte ich mir auch schon gedacht, allerdings unterstützen die
meisten Parser (die in C geschrieben sind) nur DOM...

@Andreas:
endlich springt mal einer auf meine provokative Fragestellung an ;)
Die Sache ist; es geht um eine Machbarkeitsstudie, dabei sollen Daten
aus einem Softwaresystem gewonnen werden (als XML) und auf den
Mikrocontroller gebracht werden, und dort verarbeitet (angezeigt,
verändert,...) werden.
Schön wäre es natürlich auch die Sachen per XSLT z.B. zu html zu
transformieren und auf einem embedded webserver zur Verfügung zu
stellen.
Da es so viele Möglichkeiten gibt muss eben ausgelotet werden, was
davon realistisch ist.
Und so wie es im Moment aussieht könnte ich schon glücklich sein wenn
überhaupt _irgendein Parser auf dem Ding läuft.

Das wird dann wohl die nächste zu tuende Sache werden, mal sehen wann
ich dazu komme :)

Grüße
Buzzi

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde mir gründlich überlegen ob es nicht prinzipiell möglich ist
dem "Softwaresystem" ein anderes Datenformat beizubringen. Wenn ja,
dann würde ich die µC-seitige Lösung sofort vergessen, weil sie mit
einem Controller dieser Größe unrealistisch ist. Wenn du auf XML
bestehst, nimm gleich was größeres mit Speicher im MB-Bereich, z.B. das
Fox-Board.

Zu XSLT: ich habe keine Ahnung wofür diese Sprache sinnvoll nutzbar ist
- zur Transformation von XML ist sie es meiner Erfahrung nach nicht.
Alleine angesichts der Tatsache dass XSLT selber gültiges XML ist
sollten die Warnlichter mit der Aufschrift "overengineered" und
"praxisfern" zu blinken anfangen. Bei mir haben sie das damals leider
erst getan als ich es schon gelernt hatte.

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas Schwarz,

verfalle bitte nicht in den gleichen Fehler wie viele andere.
Nur weil man das Konzept hinter einer Programmiersprache nicht
verstanden hat muss man sie nicht gleich niedermachen.
Das Hauptproblem bei XSLT ist, dass die meisten Leute nicht verstehen
wie man diese beschreibende Sprache einsetzt. Man kann sich eben nur
schwer vom prozeduralen Denken lösen. Wenn man das einmal geschafft hat
kann man in XSLT in wenigen (ok zugegeben - XSLT ist chatty, also doch
mehreren) Zeilen wahre Wunder mit strukturierten Daten vollbringen. Ich
habe vorbedacht nicht "mit XML Dokumenten", sondern "strukturierten
Daten" geschrieben, denn XSLT ist nicht auf XML beschränkt. Eine
seiner Stärken. Zudem arbeiten moderne XSLT Prozessoren nicht mehr
unbedingt mit DOM-Baeumen, viele setzen  inzwischen auf das
eventorientierte SAX.

Abgesehen davon...
Die LPC22xx haben ein externes Speicherinterface und können damit
ausreichend RAM/ROM/FLASH verwalten. Das sollte sogar für einen XML
Parser reichen. Vom Speed her ... sogar Linux läuft auf den LPC22xx in
brauchbarer Geschwindigkeit. Aber XML, geschweige denn XSLT, ist für
eine Menüsteuerung nun wirklich nicht nötig (aber zugegebenermaßen -
Elegant).

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Konzept von XSLT verstanden - das Konzept ist ja auch
ziemlich offensichtlich. Es mag formal "elegant" sein, und vielleicht
gibt es Anwendungsfälle wo es sinvoll einsetzabr ist, um XML in (X)HTML
umzuwandeln ist es (nicht nur meiner Erfahrung nach) in der Praxis aber
schlicht und einfach unbrauchbar, das selbe Problem lässt sich in einer
Scriptsprache mit XML-Unterstützung mit sehr viel weniger Zeit- und
Tippaufwand lösen.

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da steht das Stichwort:  XML in (X)HTML

Da muss ich dir recht geben; dafür eignet es sich definitiv "nur sehr
bedingt".

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.