我有几部手机,其中一部就是这个:
http
:
//www.gsmarena.com/sony_ericsson_elm-3057.php 可以清除闪存并用引导加载程序替换它,然后上传 arduino 草图或 pic32 草图(C#/C++)。
我有这个想法是因为它是一个非常便宜的硬件项目开发平台。(您可以获得屏幕、按钮、音频 I/O、互联网等,与单独购买每个部件相比,您可以以非常便宜的价格获得所有东西。)
是否可以擦除闪存并将引导加载程序安装到手机中以将其用作嵌入式计算机?
我有几部手机,其中一部就是这个:
http
:
//www.gsmarena.com/sony_ericsson_elm-3057.php 可以清除闪存并用引导加载程序替换它,然后上传 arduino 草图或 pic32 草图(C#/C++)。
我有这个想法是因为它是一个非常便宜的硬件项目开发平台。(您可以获得屏幕、按钮、音频 I/O、互联网等,与单独购买每个部件相比,您可以以非常便宜的价格获得所有东西。)
是否可以擦除闪存并将引导加载程序安装到手机中以将其用作嵌入式计算机?
很久以前,有一个项目可以做类似的事情(对廉价且非常受欢迎的手机系列进行逆向工程)。
http://nokix.pasjagsm.pl/help/blacksphere/sub_050main.htm
是的,Android 选项可能是最简单的……或者 Windows Mobile,它也相当开放。
成本从来不是问题。许多爱好者愿意为易于破解的高端设备支付适中的价格。问题是 ARM 是一个封闭的平台。SoC(片上系统)的硅片上通常有一个名为私有 ROM 的部分。它阻止了重用。
这部分 ROM 负责按某种顺序选择引导加载程序:串行上的 Z-Modem、外部 Nand、串行 ROM、SDCard、外部 USB。对于每个设备,订单都是单独的并且记录不充分,您通常应该在通电以分支到替代加载程序时按住几个按钮。如果大部分时间检查平台所有者的数字签名,则引导加载程序的图像。所以没有运气。
对于一次性项目,可以选择随机设备。但是您可能会对知名设备更感兴趣,这些设备具有已发布的原理图和适用于 Linux、Android 等的可用源代码。
所以我的建议是查看被活跃用户社区包围的设备:Raspberry Pi、BeagleBone、BeagleBoard、一些三星评估平台(PandaBoard?)
我对 TI AM35XX 的个人体验以对一切复杂性感到失望而告终。世界上最小的 Linux Angstrom 拥有 3GB 的发行版镜像。芯片的文档是 4000-5000 页。感觉不像是一种爱好,也不愉快。
在英特尔凌动 SoC 流行之后,情况可能会发生变化。我期待大量用户的兴趣,并将跟随人群朝着最小可能的 Atom 方向发展。希望有人能完成一个具有信用卡和 GPIO 大小的面板安装件。这会很有趣的。
我没有这方面的经验,但我认为这并不容易(如果可能的话)。我认为你可以忘记用 C++ 或 C# 进行编程,而是用 ASM + C。它与 arduino 草图或 PIC32 代码或任何不是为特定 CPU 制作的东西不兼容。许多新手机都有类似 ARM 内核的东西。
我真的不知道您将如何对设备进行编程,但我认为这是可能的,因为如果您将固件发送给他们进行维修,他们通常可以更新固件。
此外,您必须为所有硬件(显示器、WLAN、传感器等)编写自己的驱动程序,如果没有有关硬件的更多信息,这将非常困难,电话制造商可能不会向您发布这些信息.
我认为最简单的方法是使用旧的安卓手机,因为您可以免费获得带有驱动程序的源代码和所有低级的东西。您可以撕掉或使用用户可见的 UI 和其他组件。但这可能不是你想要的,除非你周围有一些旧的安卓手机。
此外,如果手机已被“黑客入侵”以运行任何其他操作系统,尤其是像 android 这样的开源操作系统,您也许可以获取该端口的源代码以供使用。
自己做这一切充其量是困难的。使用Rockbox项目支持的设备之一会更轻松,这是 mp3 播放器的开源固件。其中一些设备价格低廉,并提供您提到的许多优势,并且它们旨在通过 USB 升级其固件。您将得到一个活跃社区的帮助,他们已经弄清楚了有关编译器、引导加载程序等的基本问题以及一些源代码。
Rockbox 的一个不错的功能是它将设备设置为双启动,因此当您不使用新固件时,它们仍然可以用于其原始用途。