Código celular embutido

votos
1

O que a maioria dos celulares usa para executar o hardware? C?

Eu só estou falando sobre o telefone celular comum, não smart phone / stuff android.

Publicado 19/05/2009 em 14:00
fonte usuário
Em outras línguas...                            


7 respostas

votos
2

Eu trabalho para o fornecedor de chips semicondutores sem fio, e nós trabalhamos com variedade de plataformas de telefonia de ULC (Ultra baixo custo) segmentos para telefones inteligentes.

Em nosso projeto de telefone de referência, o código inteiro (incluindo pilha de protocolo, Kernel, Middleware, Aplicação e MMI) é escrito puramente em C. AFAIK clientes, mesmo de primeira linha usar a linguagem C para o seu quadro, pelo menos para ULC e Mid telefones categoria, como o tamanho da memória tende a ser uma grande exigência.

Respondeu 26/05/2009 em 06:32
fonte usuário

votos
1

Ao falar sobre celulares, geralmente há dois componentes do processador na mesma.

  1. O "principal" do processador que abrange a interface do usuário.
  2. O processador "baseband" que alimenta o modem celular. Ele lida com a interface de rádio de baixo nível, torres de comutação, etc.

O código para # 1 tende a ser de maior nível (C, C ++, Java, etc). A linguagem utilizada realmente depende do sistema operacional que está sendo executado (Windows Mobile, Symbian, Linux, home-grown algo, etc). Claro, há quase sempre algum conjunto de baixo nível para o carregador de inicialização.

O código para # 2 é muito baixo nível. Processadores de banda base tendem a ser pouco mais de microcontroladores. Principalmente linguagem assembly e C. Muito improvável encontrar nível de qualquer coisa maior aqui. (Apesar de ter visto algumas modems de células com um interpretador embutido.)

Normalmente, o processador de banda base está executando algum tipo de RTOS mínimos, ou em alguns casos OS-menos. Eles são muitas vezes a execução de um RTOS chamado Núcleo de Mentor Graphics.

Em alguns telefones celulares de baixo custo, # 1 e # 2 estão unidas para cortar custos (apenas um processador e sistema operacional no sistema).

Respondeu 21/05/2009 em 14:26
fonte usuário

votos
1

Telefones que executam uma variedade do Symbian OS, muito provavelmente, ter toda a funcionalidade do núcleo OS escrito em C ++, como é que a linguagem "nativa" do Symbian.

Respondeu 19/05/2009 em 14:01
fonte usuário

votos
0

A maioria dos telefones celulares têm diferentes camadas de Software, em grande parte, podemos dividir isso em três partes.

1.Application camada: qualquer coisa como BREW, C ++ ou Android

2.Middle-layer: Consiste em código OS em tempo real: código C [principalmente como eu já vi]

3.Lower-Layer: Device Drivers: Escrita em C.

Por favor note: a maioria dos celulares comuns são propensos a usar C ++ como uma camada de aplicação, Brew é amplamente utilizada pelos telefones CDMA para a camada de aplicação

Respondeu 27/11/2009 em 13:37
fonte usuário

votos
0

Telefones com Android vai usar principalmente C sob a máquina java, eo Java nas camadas superiores.

Mas se você olhar para a maioria dos telefones eles são como o resto do mercado incorporado, é um monte de c e em algum projeto algum c ++.

E quanto menor forem, mais c você vai encontrar.

/ Johan

Respondeu 26/05/2009 em 06:44
fonte usuário

votos
0

coisas de hardware, como o ajuste registos e tratamento de interrupções para executar o rádio, são todos feitos em C.

Dois problemas com C ++ são, na minha opinião, que

  1. É mais difícil de conceber programas eficientes nele. A CPU pode ser apenas algumas centenas de MHz.
  2. Os compiladores para CPUs mais exóticos a apenas trabalho em C, então executá-los em C ++ seria um milagre.
Respondeu 19/05/2009 em 14:07
fonte usuário

votos
-1

Nokia comprou a Trolltech, os fabricantes de Qt - uma aplicação multi-plataforma e estrutura de interface do usuário para desktop e aplicações móveis. Presumivelmente, isso inclui telefones celulares. Qt é escrito em C ++. http://www.qtsoftware.com/developer/getting-started

Respondeu 19/05/2009 em 14:44
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more