是否可以为手机编写操作系统?

我可以为手机编写操作系统吗?
我如何去建设它?
如果你的意思是从头开始:这肯定是可能的.但它需要大量的人力资源:-).手机制造商通常有数百个程序员,而SW则经常充满错误:-).

简化你可以说手机中经常有两个SW模块:

>处理显示,声音和用户输入的“UI OS”.
>处理与移动网络通信的“基带操作系统”.

UI OS可以是例如Linux或更简单的东西.香草Linux内核可以轻松地在几乎任何现代的手机上运行.

第二部分是基带操作系统.该部分通常需要实时属性来处理与移动网络的通信,因为当在特定的“时隙”中发送数据时,时序需要精确.

只有一个抓住:你需要找到一个“开放的硬件手机”,把操作系统放在哪里.电信操作符往往需要在今天的手机上采取严格的安全措施,所以很难在市场上的手机上编写自己的操作系统.此外,您将需要访问电路板原理图,芯片详细信息等,这不会发生:-).

一个想法可以是OpenMoko,它是一个“开放式手机项目”:http://wiki.openmoko.org/wiki/Main_Page或Google Android项目.

此外,用于今天的手机(如TI OMAP)的CPU通常可以通过开发板(如http://www.igep-platform.com/index.php?option=com_content&view=article&id=46&Itemid=55)使用

这里的最后一件事是,该板不包含用于处理与移动网络的通信的基带芯片.

编辑:
关于建立和运行SW手机.移动电话的启动会发生什么,显然取决于硬件平台,但是可能会发生这种情况(大多数嵌入式系统也是如此):

> ASIC(包含CPU)启动,重置自身并开始执行所谓的引导带(硬编码到ASIC中).
>引导带试图设置连接到ASIC的闪存芯片.
>引导带将SW从闪存加载到芯片的SRAM中(集成在ASIC芯片上的RAM).
> SRAM中的SW设置SDRAM(定时等),并将闪存中的“OS”(或您想要的任何SW)加载到SDRAM中.
> SRAM中的SW将CPU中的内部指令指针设置为SDRAM,因此ASIC的CPU内核在SDRAM中开始执行.
> SDRAM中的SW(“OS”)设置定时器,中断,内存管理或任何需要的.
> SW可以是任何的,一个无限循环,一个完整的操作系统,或只是一个SW拉一些LED的嗨或低.

如果ASIC将具有NOR闪存,则可以直接执行,而无需首先将SW上传到SDRAM.

SDRAM中的操作系统可能是一个香草Linux内核. Linux内核唯一需要的是几个信息块,例如内存大小,内存的物理位置等(使用ATAG列表的一种方式).当然,也需要了解ASIC的一些内部部件,这将被添加到Linux内核中.但目前市面上的大多数芯片已经存在于Linux内核中.诺基亚例如为TI OMAP3430适配器提供了大量代码,这可以在内核源代码本身(arch /目录或类似的)中看到.我不知道诺基亚哪些手机使用这款芯片,但它可能是高端的Linux和Symbian手机.

给出比上述更详细的答案将需要几页,所以你最好的选择是使用你在SO上的答案,并尝试使用它从其他地方获得更多的信息.

祝你好运 :-)

相关文章
相关标签/搜索