Embedded 嵌入式手机代码

Embedded 嵌入式手机代码,embedded,Embedded,大多数手机使用什么来运行硬件?C 我刚才说的是“普通手机”,而不是智能手机/ Android的东西。 < P>运行各种OS的手机很可能有C++写的所有核心OS功能,这就是Symbian的“原生”语言。 < P>硬件设置,如设置寄存器和处理中断来运行无线电,都是在C.中完成的。 我认为C++中的两个问题是 在It中设计高效的程序比较困难。CPU可能只有几百MHz 对于更多的异类CPU,编译器在C中几乎不工作,因此在C++中运行它们将是一个奇迹。 诺基亚收购了Trolltech,它是Qt的制造商,Q

大多数手机使用什么来运行硬件?C


我刚才说的是“普通手机”,而不是智能手机/ Android的东西。

< P>运行各种OS的手机很可能有C++写的所有核心OS功能,这就是Symbian的“原生”语言。

< P>硬件设置,如设置寄存器和处理中断来运行无线电,都是在C.</P>中完成的。 我认为C++中的两个问题是

  • 在It中设计高效的程序比较困难。CPU可能只有几百MHz 对于更多的异类CPU,编译器在C中几乎不工作,因此在C++中运行它们将是一个奇迹。
    诺基亚收购了Trolltech,它是Qt的制造商,Qt是一种用于桌面和移动应用程序的跨平台应用程序和UI框架。这大概包括手机。Qt是用C++编写的。p> 当谈到手机时,通常有两个处理器组件

  • 覆盖用户界面的“主”处理器
  • 为蜂窝式调制解调器供电的“基带”处理器。它处理低电平无线电接口、开关塔等
  • <> 1的代码往往是更高级的(C、C++、java等)。所使用的语言实际上取决于它所运行的操作系统(Windows Mobile、Symbian、Linux、一些国产软件等)。当然,引导加载程序几乎总是有一些低级程序集

    #2的代码非常低级。基带处理器往往比微控制器多一点。主要是汇编语言和C语言。在这里不太可能找到更高级的东西。(尽管我见过一些内置Python解释器的cell调制解调器。)

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


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

    我为无线半导体芯片供应商工作,我们在从ULC(超低成本)到智能手机的各种手机平台上工作


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

    运行Android的手机将在java机器下主要使用C语言,在顶层使用java语言

    但如果你看看大多数手机,它们就像嵌入式市场的其他部分一样, 它是强的>很多c,在某些项目中有一些C+++< /p> 它们越小,你会发现c越多


    /Johan

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

    应用层:任何类似BREW、C++或Android < /P> 2.中间层:由实时操作系统代码组成:C代码[主要如我所见]

    3.底层:设备驱动程序:用C编写

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