Autor Thema: OS für's Mobile  (Gelesen 8000 mal)

lorenzodimedici

  • Beiträge: 6
    • Profil anzeigen
    • ptask.de
Gespeichert
« am: 08. August 2011, 11:51 »
Hallo Leute!
Bin ganz neu hier und ausser ein bisschen Delphi kann ich gar nichts  :cry:
Arbeite gerade den "Crashkurs" durch, doch habe bisher nichts zum Thema OS für Mobile Geräte gefunden. Sollte doch eigentlich nicht viel schwieriger sein, als für den PC, oder?  :?
Android basiert ja schliesslich auch auf Linux.
Wäre toll, wenn mir jemand Links zu Tutorials schicken könnte oder wenn ihr mir sagen könntet ob und wie so etwas ganz grob machbar wäre!  :-D

Danke!!!!   :-D

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 08. August 2011, 12:48 »
Hallo,

Betriebssysteme für mobile Geräte zu entwickeln, ist grundsätzlich ähnlich schwer wie für normale PCs, aber:
  • es gibt weniger Dokumentation und Beispiele (es haben halt mehr Leute einen PC rumstehen als z.B. einen HTC Desire irgendwas, außerdem haben die Hersteller meist eine Abneigung gegen Fremdbetriebssysteme)
  • es gibt keine feste Plattform (welcher IRQ für welche Hardware zuständig ist, welcher Pin an welchem Baustein die Hintergrundbeleuchtung einschaltet, welche Pins wackeln, wenn du auf dem Bildschirm rumtippst - das ist von Gerät zu Gerät unterschiedlich)
  • die konkrete Plattform ist nicht öffentlich dokumentiert (es gibt keine Schaltpläne)
  • schlechte Debugmöglichkeiten (meist keine serielle Console ohne Löten möglich, d.h. Garantieverlust)
  • wenn es nicht mehr bootet, brauchst du spezielle Hardware oder hast du einen Briefbeschwerer (beim PC reicht eine Boot-CD)
  • solche Geräte kriegst du mit Software komplett zerstört (falsche PLL-Parameter und die CPU brennt), beim PC ist das viel schwieriger
  • viel komplexe Peripherie (USB-Touchscreen oder SDIO-WLAN-Chip sind viel komplexer als eine Tastatur am PC)
  • das K.O.-Kriterium sind aber kryptographisch gesicherte Bootloader, d.h. die führen nur signierten Code aus [wobei das inzwischen weniger wird]

Wenn du es geschafft hast, für den PC ein Betriebssystem zu schreiben, welches mit ähnlich komplexer Hardware umgehen kann, d.h. USB-Mäuse und WLAN-Unterstützung, dann kannst du daran denken, sowas für mobilen Geräte zu programmieren. Das dauert aber mindestens ein paar Jahre, bis du soweit bist. Wenn dein Android-Tablet über die serielle Schnittstelle eine Shell ausgibt, kannst du das Gerät nämlich trotzdem nicht vernünftig verwenden...

Anmerkung: Wenn du dir Evaluationsboards beschaffst, gelten die meisten Punkt nicht. Die sind dann aber ohne Gehäuse und kosten Geld...

Gruß,
Svenska
« Letzte Änderung: 08. August 2011, 12:53 von Svenska »

erik.vikinger

  • Beiträge: 1 277
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 08. August 2011, 12:51 »
Hallo,


ein OS für ein SmartPhone o.ä. zu entwickeln ist grundsätzlich nicht schwerer als für andere Plattformen, aber wie da bereits geschrieben steht bauen die Hersteller solcher Geräte sehr gerne irgendwelche Sicherheitsmechanismen ein die es Außenstehenden extrem schwierig bis unmöglich machen eigene Software oder gar ein eigenes OS drauf laufen zu lassen.

Wenn Du nicht auf PC aus bist dann lautet mein Rat: kauf Dir ein hübsches Entwicklungsboard mit einem ARM/PowerPC/....-Mikrocontroller drauf und da kannst du viel Spaß haben weil die für gewöhnlich sehr gut dokumentiert sind. Diese Teile gibt es in verschiedenen Größenordnungen von Daumengröße (wo meist nur Ethernet und ein paar simple Schnittstellen dran sind) bis hin zu normaler Main-Board-Größe (wo oft ein richtiger Monitor-Anschluss, USB-Hosts, Sound und vieles mehr drauf ist). Das ist natürlich auch eine Frage des Geldes aber OS-Dev-Spaß haben kann man auf allen diesen Systemen.


Grüße
Erik
Reality is that which, when you stop believing in it, doesn't go away.

lorenzodimedici

  • Beiträge: 6
    • Profil anzeigen
    • ptask.de
Gespeichert
« Antwort #3 am: 08. August 2011, 12:52 »
Whoops, so hab ich mir das nicht vorgestellt, aber danke!
Werde also erstmal den "normalen" Weg nehmen.

erik.vikinger

  • Beiträge: 1 277
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 08. August 2011, 13:13 »
Hallo lorenzodimedici,


Du solltest Deine Pläne nicht zu schnell aufgeben (Hartnäckigkeit ist eine der geheimen Qualifikationen eines echten OS-Devers), auch auf dem PC gibt es einige Tücken zu umschiffen (die es auf anderen Plattformen meist nicht so ausgeprägt und zahlreich gibt). Schau Dich erst mal im Wiki und hier im Forum gut um und triff dann Deine Entscheidung.
Wie auch immer die aussehen mag so wirst Du hier trotzdem Unterstützung finden.


Grüße
Erik
Reality is that which, when you stop believing in it, doesn't go away.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 08. August 2011, 15:50 »
Je nachdem welche Entscheidung es ist, wird die Unterstützung aber umfangreicher sein oder eben nicht. Für jemanden, der "nur ein bisschen Delphi" kann, würde ich es sehr empfehlen, erstmal die ausgetretenen Pfade zu probieren anstatt sich in Gebiete zu begeben, wo hier die wengisten helfen können.

Je nachdem, was "ein bisschen" bedeutet, wäre es unter Umständen auch hilfreich, wenigstens eine Programmiersprache erstmal im Userland richtig zu lernen bevor man ein OS in Angriff nimmt.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

lorenzodimedici

  • Beiträge: 6
    • Profil anzeigen
    • ptask.de
Gespeichert
« Antwort #6 am: 08. August 2011, 16:16 »
Ja, genau! Ich werde jetzt erstmal das Tutorial für Einsteiger durcharbeiten, was bestimmt auch so seine Zeit braucht. Danach kann ich mich ja immer noch an die "Spezialthemen" ranmachen.
Danke!

lorenzodimedici

  • Beiträge: 6
    • Profil anzeigen
    • ptask.de
Gespeichert
« Antwort #7 am: 08. August 2011, 16:20 »
Vielleicht trotzdem noch eine letzte Frage: Hat einer von euch ein bisserl erfahrung mit dem Thema?

erik.vikinger

  • Beiträge: 1 277
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 08. August 2011, 16:30 »
Hat einer von euch ein bisserl erfahrung mit dem Thema?
Zum Thema OS-Dev? Hier auf LowLevel.eu?
Hm, nee ich glaub eher nicht!  SCNR  :-P
Reality is that which, when you stop believing in it, doesn't go away.

LittleFox

  • Beiträge: 306
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #9 am: 08. August 2011, 16:40 »
Ich glaub er meint OsDev für Handys :D

lorenzodimedici

  • Beiträge: 6
    • Profil anzeigen
    • ptask.de
Gespeichert
« Antwort #10 am: 08. August 2011, 16:55 »
jaaaa, ich mein OS Dev für Handys  :-o

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 08. August 2011, 17:27 »
Also für Handys hab ich noch kein OS geschrieben.
Aber für embedded schon. Also je nachdem wie tief deine Fragen gehen, versuche ich dir gerne zu helfen.
Als Einstieg für Os-Dev für Handieswürde ich dir erst einmal das Embedded-OsDev empfehlen.
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

MasterLee

  • Beiträge: 49
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 09. August 2011, 07:40 »
Für Neo FreeRunner wäre das Debug Board empfehlenswert. Denke mal das so was für andere Handy bei der OS Entwicklung auch ganz nützlich ist, aber wird wohl kein Hersteller freiwillig raus rücken.

lorenzodimedici

  • Beiträge: 6
    • Profil anzeigen
    • ptask.de
Gespeichert
« Antwort #13 am: 09. August 2011, 10:33 »
Danke! Sehr gute Idee, das mit dem Free Runner! Ich glaube fast, ich leg mir so ein Teil zu, denn das erleichtert bestimmt den Einstieg!

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 09. August 2011, 19:34 »
Ich vermute, meine Empfehlung ist hier total gegen den Strich, aber... so ein Android-Gerät würde ich eher mit meiner eigenen Linux-Distribution ausstatten, statt dort ein eigenes OS für zu schreiben. Allerdings ist das die Frage, ob man damit am Ende auch arbeiten können möchte oder ob man das alles nur aus Spaß an der Freude bereibt.

Oder andersrum: Für sinnvolle Dinge würde ich alles, was ne MMU hat, nicht mehr mit einem eigenen OS versehen wollen. (Linux als Kernel und das Userland von Grund auf zu bauen, ist kompliziert genug.)

Gruß,
Svenska

 

Einloggen