Forum: Compiler & IDEs Webserver auf Arm ohne OS?


von Hendi (Gast)


Lesenswert?

Hallo Leute, ich hab mal so ein paar grundsätzliche Fragen.
Ich habe bei meiner Diplomarbeit die Aufgabe diverse, bzw. erst mal 
eins, Mikrocontrollermodule mit einem PC über Ethernet kommunizieren zu 
lassen. Soweit so gut. Es handelt sich dabei um einen ARM-Kern(LPC2378). 
Der PC und das Modul sollen, um eine einfache Kommunikation zu 
gewährleisten mit Hilfe von Webservices über Soap kommunizieren. Dadurch 
ist gleichzeitig später auch eine dezentrale Steuerung des/der 
Moduls/Module möglich.
Ich hoffe, das sich jemand hier evtl. mit Webservices auskennt. Ich habe 
mich im Netz informiert und bis jetzt heraus gefunden, das irgendwie 
immer Webserver benötigt werden. Was ich nicht ganz verstanden hab ist 
ob beide Seiten einen Webserver zur Verfügung stellen müssen, wenn die 
Kommunikation bidirektional laufen soll. Theoretisch könnte man doch 
auch über ein Polling den TCP-Kanal abfragen.
So, da geht es schon weiter der Controller hat ein eingebautes 
Ethernetinterface, heißt das dann ich brauche keinen TCP-Stack mehr?
Des Weiteren bräuchte ich noch nen Soap Parser, was wirklich 
brauchbares(schlankes) hab ich da bis jetzt auch noch nicht gefunden.
Mit einem uLinux wäre das ganze wahrscheinlich einfacher zu handlen, da 
wär auch der Webserver nicht problematisch. Nun zur Kernfrage, kann man 
einen Webserver ohne Betriebssystem aufspielen? Ich meine nicht diese 
Derivate, wo letztendlich schon einer integriert ist.

So, ich hoffe mal das war alles nicht zu verwirrend, n paar Sachen 
verstehe ich selbst noch nicht so ganz, deswegen sieht das so nach 
Brainstorm aus ;-).

Ich danke euch schon mal für eure Antworten, bis dann.

von mthomas (Gast)


Lesenswert?

> heißt das dann ich brauche keinen TCP-Stack mehr?
Nein, der LPC2378 bietet keinen TCP-Stack in der Hardware. Der 
Ethernetcontroller ist integriert, Treiber dafür muss man bereitstellen 
(inkl. PHY-Ansteuerung) und darauf setzt dann ein TPC/IP Stack auf.

>Nun zur Kernfrage, kann man einen Webserver ohne Betriebssystem aufspielen?
Ja, Beispiele fuer einen einfachen http-Server ohne "Betriebsystem" 
sollten in uIP vorhanden sein. Man muss dann halt regelmäßig auf neue 
Päckchen prüfen. Bei Keil gibt es ein "Web-Server" Beispiel für deren 
MCB2300-Board (für Realview Toolchain), habe mir das selbst noch nicht 
richtig angeschaut und bin nicht sicher, ob Keil deren RTOS dafür nutzt, 
aber einen Blick ist es sicher wert. Weiterhin gibt es von Olimex auf 
Anfrage Beispielcodes für deren LPC2378-Board inkl. "Web-Server" ohne 
(RT)OS (für IAR EWARM, nicht GNU). Von NXP gibt es kostenlos eine 
spezielle LPC23xx/24xx-Version eines kommerziellen Stacks. Noch nicht 
angeschaut aber ein http-Server Beispiel dürfte auch dabei sein. Bei 
allen genannten: Lizenzen beachten, sind sehr unterschiedlich. 
Portierung auf GNU arm-elf/arm-eabi Toolchain sollte nicht allzu 
kompliziert sein.

Mit SOAP auf Microcontrollern habe ich mit bisher nicht beschäftigt aber 
ein XML-Parser für wenig RAM dürfte zu finden sein.

Martin Thomas

(Thread wäre im uC/Elektronik-Forum besser aufgehoben)

von Hendi (Gast)


Lesenswert?

Hi Martin, danke erst mal für die schnelle und hilfreiche Antwort. Ich 
dachte im uc&Elektronikforum gehts eher um Hardware, naja, ist halt n 
gemischtes Problem, kann ja evtl ein Mod verschieben...
Das mit den Treibern schockt mich ehrlich gesagt ein bischen, ich hatte 
vermutet, gehofft, dass ich mir Treiberprogrammierung ersparen kann... 
Naja, wir werden sehen, vielleicht hat sich ja schon mal jemand darüber 
Gedanken gemacht. Zumindest hab ich wieder ein paar neue Suchstichworte 
;-). Falls jemd. noch etwas einfällt immer raus damit.

MfG,

Hendi


P.S.: Ich glaub ich meld mich mal an, das war bestimmt nicht die letzte 
Frage

von Gast (Gast)


Lesenswert?

Willkommen in der Welt der Mikrocontroller ;-)

Ich denke in Software ist das ganze flexibler. Jeder hat ja andere 
Anforderungen. Und in Hardware wäre auch Entwicklungsaufwand und 
Chipfläche notwendig gewesen, was die Controller ein wenig teurer 
gemacht hätte. Und wenn man manchmal die Errataliste sieht, kann man 
sich freuen, dass man da in Software arbeitet (man bekommt es 
wahrscheinlich nicht besser hin, aber Änderungen können einfacher und 
kostengünstiger Implementiert werden).

Das mit den Treibern ist aber auch nicht so schwer, es gibt ja wie 
bereits erwähnt freie Stacks, die wohl recht gut sind. Du kannst das 
Ganze dann ja um die Webservices erweitern. Da freuen sich bestimmt auch 
andere.

Ich denke, man kann damit die Integration von Netzwerksensoren in 
"normale" Webanwendungen erleichtern (Teperatur des Webservers, der 
Küche, des Kellers,... zu Hause auf dem eigenen Server in Webseiten 
einbauen) --> Webprogrammierer müssen sich dann nicht mehr um die 
embeddedwelt kümmern (oder RS232, USB-Treiber,...).

Just my opinion.

von Icke M. (Firma: my-solution) (hendi)


Lesenswert?

Danke für die Begrüßung :-).
Ich bin nicht ganz neu, hab schon mit PIC zu tun gehabt, aber da hab ich 
mir wohl grad mal die Grundlagen erarbeitet, jetzt wirds etwas 
lustiger....
Ja, mit der Flexibilität hast du schon recht, hab auch festgestellt, das 
die Bsp. bei Keil schon ziemlich gut sind, darauf kann man aufbauen.
Wenn es soweit ist kann ich ja dann die Peripherie mal hier beschreiben, 
so dass andere auch was davon haben, hätte mich ja schließlich auch über 
ne fertige Lsg. gefreut ;-).
So´ne richtige Webanwendung ist das nicht, im eigentlichen Sinne. Es 
soll so laufen, dass ein Leitrechner mehrere Module ansprechen kann und 
deren, recht atomare, Dienste für eine Produktionsstrecke nutzen kann. 
Also unterschiedliche Module mit spezifischen Aufgaben werden je nach 
Prozessanforderung hintereinander geschaltet (Stichwort: Service 
orientierte Architektur). Das könnte man auch anders implementieren, 
aber mit Hilfe von SOAP und den Webservices hat man einen offenen 
Standard, der leicht erweiterbar ist, was später von Vorteil sein 
könnte. Ich werd euch auf dem laufenden halten,

bis dann,

Hendi

von Gast (Gast)


Lesenswert?

>Ich werd euch auf dem laufenden halten

Super!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.