Autor Tópico: Como criar aplicativo para rodar em um ARM920?  (Lida 4970 vezes)

Offline Andre Cavalcante

  • Usuário Ubuntu
  • *
  • Mensagens: 51
    • Ver perfil
Como criar aplicativo para rodar em um ARM920?
« Online: 04 de Janeiro de 2007, 19:09 »
Olá a todos.

É isso aí, como está no assunto.

Tô precisando compilar um aplicativo para rodar em um ARM920. Em princípio o gcc é compatível, mas não tô conseguindo compilar nada nem com a opção -mcpu=arm920, nem com -march=armv4. Pesquisei no google e achei um toolchain para arm. Alguém já ouviu falar no arm-linux-gcc?

O que eu queria era simplesmente um compilador que gerasse o código para arm.

André Cavalcante
Manaus, AM.
--------------
André Cavalcante
Manaus, AM

Offline polo

  • Usuário Ubuntu
  • *
  • Mensagens: 12
    • Ver perfil
    • Site pessoal bem incompleto por enquanto
Re: Como criar aplicativo para rodar em um ARM920?
« Resposta #1 Online: 06 de Janeiro de 2007, 13:47 »
Fica dificil ajudar em qualquer coisa se voce nao dizer exatamente porque ele nao compila nada ? Alguma mensagem de erro do compilador ?

Se voce so quer saber que compilador gera codigo para arm, entao ja achou, gcc gera se tiver sido compilado com suporte pra arm
-- Guilherme H. Polo Goncalves <ggpolo@gmail.com>

Offline Andre Cavalcante

  • Usuário Ubuntu
  • *
  • Mensagens: 51
    • Ver perfil
Re: Como criar aplicativo para rodar em um ARM920?
« Resposta #2 Online: 08 de Janeiro de 2007, 11:41 »
Olá Polo, grato pela resposta
De fato, não disse qual era o erro, mas é porque não há efetivamente erro e sim falta de suporte do gcc para o arm. Se eu coloco as opções de -mcpu=arm920, como tá no man gcc, ele inclusive diz que a opção está deprecated e não compila:

Código: [Selecionar]
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
cardacc.c:1: error: bad value (arm920) for -mtune= switch

Depois dessa mensagem aparece mensagens de erro de compilação normais, apesar de os arquivos existirem... :

Código: [Selecionar]
bi_processo.h:39:23: error: sop_adapt.h: Arquivo ou diretório inexistente
In file included from dger_sist.h:45,
                 from cardacc.h:34,
                 from GBT_funcoes_cit.c:2:

Creio que você acertou em cheio. O problema é que o gcc aqui não está compilado com suporte para arm. Tenho duas alternativas, ou compilo o gcc com suporte (como?) ou então compilo um toolchain completo (pre-processador+compilador+assemblador+ligador+gerador de hex+...).

De qualquer forma tô com esse problema.

André Cavalcante
Manaus, AM.
--------------
André Cavalcante
Manaus, AM

Offline polo

  • Usuário Ubuntu
  • *
  • Mensagens: 12
    • Ver perfil
    • Site pessoal bem incompleto por enquanto
Re: Como criar aplicativo para rodar em um ARM920?
« Resposta #3 Online: 08 de Janeiro de 2007, 13:23 »
o mais simples seria pegar os binarios de um arm toolchain para a versao do seu gcc, acredito que voce deve ter visitado o site www.gnuarm.com

Nesse site ai tem os binarios para varias versoes do gcc ja (http://www.gnuarm.com/files.html#binaries), se tiver algum problema com esse toolchain eh so ir ali em Support nesse mesmo site ;)
-- Guilherme H. Polo Goncalves <ggpolo@gmail.com>

Offline Andre Cavalcante

  • Usuário Ubuntu
  • *
  • Mensagens: 51
    • Ver perfil
Re: Como criar aplicativo para rodar em um ARM920?
« Resposta #4 Online: 15 de Janeiro de 2007, 17:44 »
Polo,
Mais uma vez muito grato por sua resposta. Passei a semana ainda tentando baixar os binários no www.gnuarm.org e, pasme, a versão para windows é só baixar que tá funcioando. As versões para linux não.
O bash simplesmente me retorna dizendo que não é possível executar o arquivo binário.

Você saberia me dizer o porque disso?

Abaixo, um resumo do problema e da solução (pelo menos em teoria):

Citar

Para se gerar um aplicativo para rodar em uma plataforma embarcada (no meu caso um ARM920) você deve baixar um cross-compiler, isto é, um compilador cujo target seja o que você quer (ARM920), mas com o host no PC (em teoria o SO que você usa, Windows, Linux ou MacOS).

Para compilar simplesmente:
Código: [Selecionar]
arm-elf-gcc -o saida main.c

Até aí tudo bem, mas não consigo fazer um simples hello world. Detalhes, no Windows eu consegui! O problema é que eu tenho que usar o linux, porque eu quero e porque os arquivos base são todos do linux, incluindo alguns headers do kernel, termios etc.


André Cavalcante
Manaus, AM.
« Última modificação: 15 de Janeiro de 2007, 17:46 por Andre Cavalcante »
--------------
André Cavalcante
Manaus, AM

Offline Andre Cavalcante

  • Usuário Ubuntu
  • *
  • Mensagens: 51
    • Ver perfil
Re: Como criar aplicativo para rodar em um ARM920? (SOLUCIONADO)
« Resposta #5 Online: 16 de Janeiro de 2007, 10:12 »
Acredite se quiser, mas o erro era o mais trivial possível. Estava baixando a versão para 64bits em vez da de 32bits...
Agora tá redondo!

André Cavalcante
Manaus, AM.
--------------
André Cavalcante
Manaus, AM

Offline polo

  • Usuário Ubuntu
  • *
  • Mensagens: 12
    • Ver perfil
    • Site pessoal bem incompleto por enquanto
Re: Como criar aplicativo para rodar em um ARM920?
« Resposta #6 Online: 17 de Janeiro de 2007, 22:18 »
que bom ;) demorei para aparecer, tava resolvendo umas coisas por aqui

agora é so aproveitar o arm =)
-- Guilherme H. Polo Goncalves <ggpolo@gmail.com>

Offline Andre Cavalcante

  • Usuário Ubuntu
  • *
  • Mensagens: 51
    • Ver perfil
Re: Como criar aplicativo para rodar em um ARM920?
« Resposta #7 Online: 18 de Janeiro de 2007, 11:07 »
Olá, Polo

Grato pelas suas respostas. A propósito abri uma outra thread sobre um erro. Vê se você pode me ajudar, ok?

André
--------------
André Cavalcante
Manaus, AM