Eclipse + GNUARM

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Eclipse + GNUARM

Mensagempor Maia » 18 Jun 2007 18:30

Olá Todos,
Estou tentando usar o Eclipse e segui todos os passos pra configurar o mesmo segundo o arquivo ARM_Cross_Development_with_Eclipse.pdf porém quando fui rodar o exemplo recebi o seguinte erro no make:
arm-elf-gcc: Command not found
Digitei o nome desse arquivo no prompt e o computador achou ele, significando que o path tá certo. Alguém já teve algum problema parecido?
Abraços,
Maia
Avatar do usuário
Maia
Byte
 
Mensagens: 348
Registrado em: 15 Out 2006 16:25
Localização: Rio de Janeiro

Mensagempor Maia » 19 Jun 2007 17:55

Neniu? (Ninguém em Esperanto) :lol:
Avatar do usuário
Maia
Byte
 
Mensagens: 348
Registrado em: 15 Out 2006 16:25
Localização: Rio de Janeiro

Mensagempor Fábio Pereira » 19 Jun 2007 18:05

Bom,

Eu não sei quanto a versão que você está utilizando mas o pacote fornecido pela ST deve ser instalado no drive C do computador.

T+
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Mensagempor chipselect » 20 Jun 2007 09:01

bom dia

se você está utilizando o eclipse e criou um makefile ou está usando um que é gerado automaticamente, olhe a linha do makefile:
cc=arm-elf-gcc

substitua por
cc=c:\gcc\arm-elf-gcc

isso supondo que o compilador esteja instalado em c:\gcc

coloque ali o caminho completo do executável (compilador), eu acho que funciona. A barra invertida é pra Windows... se estiver rodando em linux, troque \ por / e etc
chipselect
Word
 
Mensagens: 744
Registrado em: 16 Out 2006 18:50

Mensagempor eletroinf » 09 Ago 2007 10:04

Daí Maia, conseguiu fazer funcionar? Instalei aqui o Eclipse + GNUarm (precisa também o Cygwin), aparentemente está funcionando, só não gera o código HEx na compilação, não entendi isso ainda... O DBG, segundo entendi, instalando esses pacotes como eu fiz era pra instalar algum debugger, porém dá erro quando eu mando depurar... Bueno, to no começo disso, agora entendo porquê muitos diziam que esses ARM são meio cabulosos... não é o chip em sim, mas as ferramentas de trabalho são sofríveis!
"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 948
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Mensagempor eletroinf » 09 Ago 2007 10:25

A saída do compilador:
**** Build of configuration Debug for project elev_v8 ****

make all
Building file: ../hw.c
Invoking: Cygwin C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"hw.d" -MT"hw.d" -o"hw.o" "../hw.c"
Finished building: ../hw.c

Building file: ../main.c
Invoking: Cygwin C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o"main.o" "../main.c"
Finished building: ../main.c

Building target: elev_v8.exe
Invoking: Cygwin C Linker
gcc -o"elev_v8.exe" ./hw.o ./main.o ./uart.o
Finished building target: elev_v8.exe

Não dáh erro, mas não gera o bendito HEX pra gravar no LPC! Alguma idéia?!
"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 948
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Mensagempor Maia » 09 Ago 2007 15:26

Olá Eletroinf,
Na época segui a dica do Chipselect e deu certo. Só que tô sem tempo de continuar mexendo com ARM. Tem um pdf explicando passo a passo como instalar isso tudo. Não lembro bem mas acho que lá explica como gerar o HEX.
Abraços,
Maia
Avatar do usuário
Maia
Byte
 
Mensagens: 348
Registrado em: 15 Out 2006 16:25
Localização: Rio de Janeiro

Eclipse + GNUARM

Mensagempor Gilsom » 09 Ago 2007 17:22

Maia

Qual o endereço eletronico do chipselect ou como eu faço
para conseguir o arquivo PDF que explica como fazer .

Gilsom
Gilsom
Nibble
 
Mensagens: 50
Registrado em: 15 Dez 2006 11:22

Mensagempor eletroinf » 09 Ago 2007 21:17

O doc que me baseei foi este:
http://www.newmicros.com/download/appno ... clipse.pdf
Porém: Pelo que entendi, agora não precisa baixar o Eclipse SDK + o pacote CDT porquê tem o Eclipse CDT. Aqui eu baixei este último, aquele de 62MB lá do site do Eclipse. Aparentemente está tudo funcionando. Só falta eu descobrir como gerar o HEX (Pelo que entendi do Makefile está configurado pra gerar o HEX, só que não tá gerando).
"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 948
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Mensagempor Maia » 09 Ago 2007 22:28

Na época eu usei esse:

http://www.sparkfun.com/tutorial/ARM/ARM_Cross_Development_with_Eclipse.pdf

Já estava meio desatualizado mas serviu.
Abraços,
Maia
Avatar do usuário
Maia
Byte
 
Mensagens: 348
Registrado em: 15 Out 2006 16:25
Localização: Rio de Janeiro

Mensagempor xultz » 10 Ago 2007 08:32

Ele não gera .HEX, você precisa de mais um comando. Estou espremendo meu célebro prá lembrar do comando...
Lembrei!
você precisa executar o arm-elf-objcopy -O ihex origem.elf destino.hex
Eu também me bati nesta parte no começo...
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor Gilsom » 13 Ago 2007 15:34

Pessoal consegui que fucionasse gerando ate o Hex.
Mas ele so funciona direito se eu ja utilizar ums arquivos
ja prontos atrves do comando import
os arquivos São
LPC210x.h
crts.s
main.c
makefile
demo2106_blink_flash_.cmd

O que eu gostaria de saber e como eu faço
para começar o projeto do começo e gerar todos
arquivos necessarios para compilação

Gilsom
Gilsom
Nibble
 
Mensagens: 50
Registrado em: 15 Dez 2006 11:22

Mensagempor xultz » 13 Ago 2007 16:08

Primeira, entenda o que cada arquivo faz:

LPC210x.h - este arquivo contém somente os endereços dos registradores, é somente um facilitador, porque é mais fácil usar IOPIN do que decorar que o endereço dele é 0x400012BF (esse valor eu chutei, só de exemplo ;)

crt.s - este é o programa de inicialização do teu chip. Ele faz bem poucas coisas, configura os ponteiros para interrupção, stack pointers, e mais algumas coisinhas. Ele é um arquivo em assembly.

main.c - ele não tem nada demais, provavelmente somente um include do LPC210x.h, além da função main (que é chamada no final do crt.s) e o teu programa.

makefile - esse script basicamente compila o crt.s, o main.c, e linka os dois. O formato dele é estranho porque ele é capaz de fazer um bocado de coisas, quando o projeto cresce bastante ele faz sentido.

demo2106_blink_flash_.cmd - esse é um arquivo bastante importante. Ele tem os endereços de início e fim das memórias (RAM e ROM) e é usado pelo linker para gerar o binário do teu firmware.


Então, respondendo à tua pergunta. Modificar o LPC210x.h ou criar um novo não faz muito sentido, mas se você quer realmente fazer tudo do zero, vai criar um .h com os nomes de todos os registradores que usar. Se você usar outro microcontrolador, pode ter que alterar ou adicionar registradores, conforme o caso.
O crt.s é importante conhecer, pelo mesmo caso do anterior, mas lembre-se que ele é em asm
O .cmd é de suma importância que você conheça BEM se mudar de modemo de micro.

De qualquer maneira, uma mão na roda é dar uma lido no livro de ARM do Fábio.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor Gilsom » 13 Ago 2007 16:59

xultz

Entendi.Vou ler o livro para sanar minhas duvidas

Por enquanto muito obrigado

Gilsom
Gilsom
Nibble
 
Mensagens: 50
Registrado em: 15 Dez 2006 11:22

Mensagempor eletroinf » 14 Ago 2007 10:03

Bueno, ainda estou bem perdido, mas de vagarzito to conseguindo alguma coisa.
Esse arquivo crt.s, nos exemplos que baixei tá configurado para o "GCC Assembler", só que quando mando compilar (Ctrl + B) dá erro em todas linhas dele! Qualé a opção certa pra ele? Mudei pra Cygwin C Linker e não deu mais erros, mas se esse arquivo tá em asm devia compilar com a opção GCC Assembly...
Outra coisa, sobre geração do HEX: No Makefile tem referências sobre ele, como:
test: main.out
@ echo "...copying"
$(CP) $(CPFLAGS) main.out main.hex
$(OD) $(ODFLAGS) main.out > main.dmp

Porém não gera o HEX, sobre as linhas que o Xultz citou acima pra gerar o HEX não descobri em que parte inserí-las no programa, paciência, devagar chegamos lá!
"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 948
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Próximo

Voltar para ARM

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x