嵌入式手机代码

时间:2009-05-19 13:00:51

标签: embedded

大多数手机用于运行硬件? C 1

我只是在谈论“普通手机”,而不是智能手机/安卓手机。

7 个答案:

答案 0 :(得分:2)

我为无线半导体芯片供应商工作,我们致力于从ULC(超低成本)细分市场到智能手机的各种电话平台。

在我们的参考手机设计中,整个代码(包括协议栈,内核,中间件,应用程序和MMI)完全用C语言编写.AFAIK即使是第一层客户也使用C语言作为其框架,至少适用于ULC和Mid类别手机,因为内存大小往往是一个很大的要求。

答案 1 :(得分:1)

运行各种Symbian操作系统的手机很可能拥有用C ++编写的所有核心操作系统功能,因为这是Symbian的“原生”语言。

答案 2 :(得分:1)

在谈到手机时,通常会有两个处理器组件。

  1. 涵盖用户界面的“主”处理器。
  2. 为蜂窝调制解调器供电的“基带”处理器。它处理低级无线电接口,交换塔等。
  3. #1的代码往往是更高级别的(C,C ++,Java等)。使用的语言实际上取决于它运行的操作系统(Windows Mobile,Symbian,Linux,本土的东西等)。当然,引导加载程序几乎总是有一些低级程序集。

    #2的代码非常低级。基带处理器往往只是微控制器。主要是汇编语言和C.这里不太可能找到更高级别的东西。 (虽然我已经看到一些内置Python解释器的单元调制解调器。)

    通常,基带处理器运行某种最小的RTOS,或者在某些情况下运行无操作系统。他们经常从Mentor Graphics运行名为Nucleus的RTOS。

    在一些低成本手机上,#1和#2连接在一起以降低成本(系统中只有一个处理器和操作系统)。

答案 3 :(得分:0)

硬件事项,如设置寄存器和处理中断来运行无线电,都是用C语言完成的。

在我看来,C ++的两个问题是

  1. 设计高效的程序比较困难。 CPU可能只有几百MHz。
  2. 更多奇异CPU的编译器几乎不能在C中运行,因此在C ++中运行它们将是一个奇迹。

答案 4 :(得分:0)

运行Android的手机将主要使用Java机器下的C和顶层的Java。

但如果你看大多数手机,它们就像嵌入式市场的其他部分一样, 它是很多c ,在某些项目中有些c ++。

它们越小,你会发现的越多。

/约翰

答案 5 :(得分:0)

大多数手机都有不同的软件层,大部分我们可以将它分为三个部分。

1.Application Layer:BREW,C ++或Android

之类的东西

2.Middle-layer:由实时操作系统代码组成:C代码[主要是我见过的]

3.Lower-Layer:设备驱动程序:用C语言编写。

请注意:大多数普通手机都可能使用C ++作为应用层,Brew主要用于CDMA手机应用层

答案 6 :(得分:-1)

诺基亚收购了Qt的制造商Trolltech,这是一款面向桌面和移动应用的跨平台应用和UI框架。据推测,这包括手机。 Qt是用C ++编写的。 http://www.qtsoftware.com/developer/getting-started