Код мобильного телефона - PullRequest
1 голос
/ 19 мая 2009

Что большинство мобильных телефонов используют для запуска аппаратного обеспечения? C

Я просто говорю о "обычном мобильном телефоне", а не о смартфонах / Android.

Ответы [ 7 ]

2 голосов
/ 26 мая 2009

Я работаю в провайдере беспроводных полупроводниковых чипов, и мы работаем на различных телефонных платформах от сегментов ULC (ультранизкая стоимость) до смартфонов.

В нашей модели эталонных телефонов весь код (включая стек протоколов, ядро, промежуточное программное обеспечение, приложения и MMI) написан исключительно на языке C. AFAIK даже клиенты первого уровня используют язык C для своей платформы, по крайней мере для телефонов ULC и средней категории. , поскольку объем памяти имеет тенденцию быть большим требованием.

1 голос
/ 21 мая 2009

Говоря о мобильных телефонах, обычно в нем присутствуют два компонента процессора.

  1. «Основной» процессор, охватывающий пользовательский интерфейс.
  2. Процессор "baseband", который питает сотовый модем. Он обрабатывает радиоинтерфейс низкого уровня, коммутационные вышки и т. Д.

Код для # 1, как правило, более высокого уровня (C, C ++, Java и т. Д.). Используемый язык действительно зависит от ОС, на которой он работает (Windows Mobile, Symbian, Linux, что-то домашнее и т. Д.). Конечно, почти всегда есть НЕКОТОРЫЕ низкоуровневые сборки для загрузчика.

Код для # 2 довольно низкоуровневый. Процессоры основной полосы частот имеют тенденцию быть немного больше чем микроконтроллеры В основном на ассемблере и C. Очень вряд ли можно найти что-то более высокого уровня здесь. (Хотя я видел несколько сотовых модемов со встроенным интерпретатором Python.)

Обычно процессор основной полосы работает с какой-то минимальной ОСРВ или, в некоторых случаях, без ОС. Они очень часто используют ОСРВ Nucleus от Mentor Graphics.

На некоторых недорогих сотовых телефонах # 1 и # 2 объединены для сокращения затрат (только один процессор и ОС в системе).

1 голос
/ 19 мая 2009

Телефоны с операционной системой Symbian , скорее всего, будут иметь все основные функциональные возможности ОС, написанные на C ++, поскольку это «родной» язык Symbian.

0 голосов
/ 27 ноября 2009

Большинство мобильных телефонов имеют разные уровни программного обеспечения, в основном мы можем разделить это на три части.

1.Слой приложений: что-то вроде BREW, C ++ или Android

2. Средний слой: состоит из кода ОС реального времени: кода C [в основном, как я видел]

3.Lower-Layer: Драйверы устройств: написано на C.

обратите внимание: большинство распространенных мобильных телефонов, вероятно, используют C ++ в качестве прикладного уровня, Brew в основном используется телефонами CDMA для прикладного уровня

0 голосов
/ 26 мая 2009

Телефоны под управлением Android будут использовать в основном C под Java-машиной, а Java - в верхних слоях.

Но если вы посмотрите на большинство телефонов, они похожи на остальную часть встроенного рынка, много c , а в некоторых проектах - c ++.

И чем они меньше, тем больше вы найдете.

/ Johan

0 голосов
/ 19 мая 2009

Nokia купила Trolltech, создателя Qt - кроссплатформенного приложения и инфраструктуры пользовательского интерфейса для настольных и мобильных приложений. Предположительно это включает в себя мобильные телефоны. Qt написан на C ++. http://www.qtsoftware.com/developer/getting-started

0 голосов
/ 19 мая 2009

Аппаратные средства, такие как настройка регистров и обработка прерываний для запуска радиостанции, все выполняются в C.

Две проблемы с C ++, на мой взгляд,

  1. В нем сложнее создавать эффективные программы. Процессор может быть только несколько сотен МГц.
  2. Компиляторы для более экзотических процессоров едва работают в C, поэтому запуск их в C ++ был бы чудом.
...