Ich habe ein paar Handys herumliegen, eines davon ist dieses:
http://www.gsmarena.com/sony_ericsson_elm-3057.php Es
ist möglich, den Flash-Speicher zu löschen und ihn durch einen Bootloader zu ersetzen und dann Arduino-Skizzen hochzuladen oder Pic32-Skizzen (C # / C ++).
Ich bin auf diese Idee gekommen, weil es eine sehr kostengünstige Plattform für die Entwicklung von Hardwareprojekten ist. (Sie erhalten einen Bildschirm, Schaltflächen, Audio-E / A, Internet usw., Sie erhalten alles zu einem sehr günstigen Preis im Vergleich zu dem, was Sie erhalten, wenn Sie jedes Teil separat kaufen.)
Ist es möglich, den Flash-Speicher zu löschen und einen Bootloader in ein Telefon zu installieren, um es als eingebetteten Computer zu verwenden?
microcontroller
telephone
bootloader
cellphone
Harry Svensson
quelle
quelle
Antworten:
Kosten sind nie ein Problem. Viele Enthusiasten werden bereit sein, für leicht zu hackende High-End-Geräte einen moderaten Preis zu zahlen. Das Problem ist, dass ARM eine geschlossene Plattform ist. In der Regel befindet sich ein Teil mit dem Namen Private ROM auf dem eigentlichen Silizium von SoC (System on Chip). Es blockiert die Wiederverwendung.
Dieser Teil des ROM ist für die Auswahl eines Bootloaders in einer bestimmten Reihenfolge verantwortlich: Z-Modem auf seriellem, externem Nand, seriellem ROM, SD-Karte, externem USB. Für jedes Gerät ist die Bestellung individuell und schlecht dokumentiert. In der Regel sollten Sie nur wenige Tasten gedrückt halten, um in einen alternativen Lader zu verzweigen. Das Image des Bootloaders, wenn die meiste Zeit nach der digitalen Signatur des Plattformbesitzers gesucht wurde. Also kein Glück.
Für ein einzelnes Projekt ist es in Ordnung, ein zufälliges Gerät auszuwählen. Möglicherweise interessieren Sie sich jedoch mehr für bekannte Geräte mit veröffentlichten Schaltplänen und verfügbarem Quellcode für Linux, Android usw.
Daher schlage ich vor, Geräte zu betrachten, die von Communitys aktiver Benutzer umgeben sind : Raspberry Pi, BeagleBone, BeagleBoard, eine Samsung-Evaluierungsplattform (PandaBoard?)
Meine persönliche Erfahrung mit TI AM35XX endete mit einer Enttäuschung über die Komplexität von allem. Das kleinste Linux der Welt mit dem Namen Angstrom verfügt über ein 3-GB-Distributions-Image. Die Dokumente für Chips sind 4000-5000 Seiten. Es fühlte sich nicht viel wie ein Hobby an und machte keinen Spaß.
Die Situation kann sich ändern, nachdem Intel Atom SoC populär wird. Ich erwarte massives Benutzerinteresse und werde der Menge in Richtung eines möglichst kleinen Atoms mit Bildschirm folgen. Hoffe, jemand wird ein Panel-Stück mit Größe der Kreditkarte und GPIO vervollständigen. Es wird Spaß machen.
quelle
Vor langer Zeit gab es ein ähnliches Projekt (Reverse Engineering einer billigen und sehr beliebten Telefonfamilie).
http://nokix.pasjagsm.pl/help/blacksphere/sub_050main.htm
Und ja, die Android-Option ist wahrscheinlich die einfachste. Oder Windows Mobile, sie ist auch einigermaßen offen.
quelle
Ich habe keine Erfahrung damit, aber ich denke nicht, dass es einfach sein würde (wenn überhaupt möglich). Ich denke, Sie können das Programmieren in C ++ oder C # und eher in ASM + C vergessen. Es wäre nicht kompatibel mit Arduino-Skizzen oder PIC32-Code oder irgendetwas anderem, das nicht für die spezifische CPU gemacht ist. Viele neue Handys haben so etwas wie einen ARM-Kern.
Ich weiß nicht wirklich, wie Sie das Gerät programmieren würden, aber ich gehe davon aus, dass dies möglich ist, da sie normalerweise die Firmware aktualisieren können, wenn Sie sie zur Wartung an sie senden.
Außerdem müssten Sie Ihre eigenen Treiber für die gesamte Hardware (Display, WLAN, Sensoren usw.) codieren, was ohne weitere Informationen zu der Hardware, die der Telefonhersteller Ihnen wahrscheinlich nicht zur Verfügung stellen wird, sehr schwierig wäre .
Ich denke, der einfachste Weg wäre so etwas wie ein altes Android-Handy, da man den Quellcode mit Treibern und all den Sachen auf niedriger Ebene kostenlos bekommen kann. Sie könnten die Benutzeroberfläche und andere für den Benutzer sichtbare Komponenten wegreißen oder verwenden. Aber dies ist wahrscheinlich nicht das, was Sie wollen, es sei denn, Sie haben ein paar alte Android-Handys herumliegen.
Wenn das Telefon "gehackt" wurde, um ein anderes Betriebssystem auszuführen, insbesondere Open Source-Betriebssysteme wie Android, können Sie möglicherweise die Quellen für den Port abrufen, mit dem Sie spielen möchten.
quelle
Das alles selbst zu tun wird bestenfalls schwierig sein. Mit einem der vom Rockbox- Projekt unterstützten Geräte , bei dem es sich um Open-Source-Firmware für MP3-Player handelt, hätten Sie es viel einfacher . Einige dieser Geräte sind kostengünstig und bieten viele der von Ihnen genannten Vorteile. Außerdem wurde die Firmware über USB aktualisiert. Sie hätten die Hilfe einer aktiven Community, die bereits die grundlegenden Probleme in Bezug auf Compiler, Bootloader usw. sowie einige Quellcodes herausgefunden hat.
Ein nettes Feature von Rockbox ist, dass es die Geräte auf Dual-Boot einrichtet, sodass sie auch dann für ihren ursprünglichen Zweck verwendet werden können, wenn Sie die neue Firmware nicht verwenden.
quelle
Nein.
In der öffentlichen Dokumentation für dieses Telefon (z. B. auf der Seite, auf die Sie verlinkt haben) wird nicht einmal der Prozessortyp aufgeführt. Selbst wenn dies der Fall wäre, müssten Sie den Schaltplan (einschließlich der Teilenummern aller ICs) verwenden, um Code dafür schreiben zu können. Das wäre Eigentum von Sony / Ericsson, Sie werden es also nicht bekommen. Gleiches gilt für jedes andere Handy.
In dem unwahrscheinlichen Fall, dass Sie die gesamte Dokumentation für den Prozessor, den Flash-Speicher usw. haben, ist es möglicherweise möglich, einen Arduino-kompatiblen Bootloader zu schreiben, nachdem Sie mehrere Wochen Ihrer Zeit damit verbracht haben. Natürlich würde dies erfordern, dass Sie die Entwicklungsumgebung für das Telefon erhalten, was wahrscheinlich Hunderte, wenn nicht Tausende von Dollar kosten würde.
Selbst wenn Sie einen Arduino kompatiblen Bootloader schreiben konnten, wäre es unmöglich Wiederholung unmöglich Arduino Skizzen zu laden und zu laufen , weil 1) der Compiler für die Arduino wird folgender Code zu emittieren für einen Arduino kompatiblen Mikrocontroller (Atmega, PIC32 etc.) , und das Telefon wird definitiv nicht mehr von diesen Gebrauch machen - höchstwahrscheinlich wird es eine Variante von ARM sein); und 2) die I / O-Ports werden nicht an denselben Stellen (Ports) des Mobiltelefons liegen wie auf dem Arduino.
Beachten Sie, dass es einige Open-Source-Handys gibt, Sie jedoch keine Arduino-Software für die oben genannten Geräte ausführen können (Prozessor- und Hardware-Inkompatibilität). Einige der anderen Antworten haben Android vorgeschlagen, stellen jedoch fest, dass es aufgrund proprietärer Treiber nicht auf der Liste der Open-Source-Telefone steht. Und wieder war die Frage, ob Sie Arduino-Code für diese ausführen können, und die Antwort lautet definitiv nein.
Es ist also viel billiger, einfach in die Kugel zu beißen und ein Arduino-Board und Peripheriegeräte zu bekommen.
quelle
Was braucht es, um verschiedene "alltägliche" Hardware in Mikrocontroller-Plattformen zu verwandeln? Sprites Mods sind eine exzellente Inspirationsquelle. Es gibt eine gute Erklärung des Prozesses, der erforderlich ist, um die Geräte zu "öffnen" und die Kontrolle über sie zu erlangen. TL; DR: Sie können Linux auf einer SD-Karte und auf einer Festplatte ausführen. Nein, nicht mit einer Festplatte. Auf einer Festplatte - auf der ziemlich leistungsstarken CPU, die den Controller der Festplatte darstellt.
quelle