作为一名开发人员,我是否有可能为Android手机编写一个操作系统,可以打开徽标,并有一个简单的屏幕键盘用于文本输入,接收文本命令并可以自拍并保存? 我该如何构建它以及需要多长时间?
答案 0 :(得分:26)
如果你是从头开始:它肯定是可能的。但它需要大量的人力资源:-)。手机制造商通常拥有数百名程序员,而SW则经常出现错误: - )。
简化事情,你可以说手机中通常有两个SW模块:
UI OS可以是例如Linux或更简单的东西。一个vanilla Linux内核几乎可以在任何现代手机上运行。
第二部分是基带OS。这部分通常需要实时属性才能处理与移动网络的通信,因为在特定的“时隙”中发送数据时,时序需要精确。
只有一个问题:您需要找到一个“开放式硬件移动电话”,将操作系统放在哪里。电信运营商通常需要在当今的手机上采取严格的安全措施,因此很难在市场上的手机上编写自己的操作系统。您还需要访问电路板原理图,芯片详细信息等,这是不会发生的: - )。
一个想法可能是OpenMoko,这是一个“开放电话项目”:http://wiki.openmoko.org/wiki/Main_Page或谷歌Android项目。
此外,今天的手机中使用的CPU(例如TI OMAP)通常可通过开发板提供,例如http://www.igep-platform.com/index.php?option=com_content&view=article&id=46&Itemid=55
这里的问题是该主板不包含基带芯片来处理与移动网络的通信。
编辑: 关于构建和运行手机软件。移动电话启动时会发生什么显然取决于硬件平台,但这种情况可能会发生(大多数嵌入式系统也是如此):
如果ASIC具有NOR闪存,则可以直接执行,而无需先将SW上传到SDRAM中。
SDRAM中的操作系统可能是一个普通的Linux内核。 Linux内核唯一需要的是一些信息块,例如内存大小,内存的物理位置等等(一种方式是使用ATAG列表)。当然,它还需要了解ASIC的一些内部结构,这将被添加到Linux内核中。但是目前市场上的大多数芯片已经存在于Linux内核中。例如,诺基亚为TI OMAP3430适配提供了大量代码,这可以在内核源代码本身(arch /目录或类似代码)中看到。我不确定诺基亚哪款手机使用这款芯片,但它可能是高端的Linux和Symbian手机。
给出一个比上面更详细的答案需要几页,所以你最好的选择是使用你在SO上得到的答案并尝试使用它从其他地方获取更多信息。
祝你好运: - )答案 1 :(得分:4)
我认为这将是您自己的困难,并且没有关于您希望运行它的设备的详细信息。但如果你还想尝试......
Symbian have just open sourced他们的整个移动操作系统。这可能是一个很好的起点。
答案 2 :(得分:4)
Android也是开源的,如果你不想从头开始。否则,您需要查找手机架构的文档。你有特定的手机吗?
答案 3 :(得分:1)
希望这更多是Phantom而不是幻影威胁(badoom-tish),但是这个人正在编写自己的移动操作系统,你可能会觉得这个网站很有趣。