Página 1 de 2

ARM Cortex M4 + uLinux

MensagemEnviado: 17 Abr 2012 15:42
por uilter
Olá pessoal!!

Estou começando a estudar um pouco mais sobre o mundo ARM.

A um tempo atrás participei de um hands-on da microgenios onde comprei um Kit da Freescale K60.

Achei um kit muito interessante.Imagem

Em um pequeno curso de introdução consegui aprender um pouco sobre MQX que é o SO que a freescale utiliza.

Meu objetivo aqui é saber se alguém poderia me ensinar ou me mostrar um tutorial de um projeto simples utilizando o uLinux embarcado nesse kit usando o CodeWarrior. Um pisca-pisca por exemplo...

Obrigado pela atenção!

MensagemEnviado: 17 Abr 2012 15:47
por fabim
Mais um a se decepcionar, hehehe

MensagemEnviado: 17 Abr 2012 16:02
por uilter
fabim escreveu:Mais um a se decepcionar, hehehe

Pq diz isso?

MensagemEnviado: 17 Abr 2012 16:06
por chrdcv
Trutas, NÃO TEM SEGREDO:
1). Instale sua distribuição linux preferida

2). Baixe os pacotes e compile o bootloader suportado pelo fabricante
2.1). Dependendo do bootloader, será necessário a instalação de um compilador "bare-metal" para o alvo.

3). Seu "dez te entope" (ops queria escrever desktop) é x86 (ou variantes) e o seu target é ARM, então precisará de cross-compilar para que o código seja gerado para a plataforma alvo

3). Baixe o kernel e sistema de arquivos. Para sistemas como o seu é muito recomendável o ulibC e juntamente com o BusyBox

4). Não precisa seguir os passos acima, pois geralmente a freescale possui um gerador de toolchain automático chamado ltib (veja se a tua plataforma/processador já possui port).

MensagemEnviado: 17 Abr 2012 16:15
por tcpipchip
Exato. O uboot deve ser do fabricante....senão da m.

MensagemEnviado: 17 Abr 2012 16:15
por fabim
o ralph, digo christian.

Me diz uma coisa bem cabeluda.

Por for$a maior, preci$ei parar um pouco com o linux, bem em uma parte onde eu esta quase conseguindo entender como começar a entender.

Quando eu CROSS_COMPILE= ARM_LINUX_GNU_EABI ARCH=ARM blá blá blá
E depois eu façomake no uclibc.

Eu vejo que na maioria das distros os bin util's, ficam sempre no mesmo lugar, eu costumo dar uma olhada no #ECHO PATH, para pegar os endereços e dar uma olhada no que tem dentro deles.

Mais se eu entendi bem, eu não necessariamente sou obrigado a colocar nos mesmos lugares né ?

OBS: o ultimo boot que você me mandou para o 1788 não funcionou.

MensagemEnviado: 17 Abr 2012 16:21
por uilter
chrdcv escreveu:Trutas, NÃO TEM SEGREDO:
1). Instale sua distribuição linux preferida

2). Baixe os pacotes e compile o bootloader suportado pelo fabricante
2.1). Dependendo do bootloader, será necessário a instalação de um compilador "bare-metal" para o alvo.

3). Seu "dez te entope" (ops queria escrever desktop) é x86 (ou variantes) e o seu target é ARM, então precisará de cross-compilar para que o código seja gerado para a plataforma alvo

3). Baixe o kernel e sistema de arquivos. Para sistemas como o seu é muito recomendável o ulibC e juntamente com o BusyBox

4). Não precisa seguir os passos acima, pois geralmente a freescale possui um gerador de toolchain automático chamado ltib (veja se a tua plataforma/processador já possui port).


Como eu faço para descobrir esse gerador de toolchain no CW?

MensagemEnviado: 17 Abr 2012 16:31
por fabim
uilter escreveu:
chrdcv escreveu:Trutas, NÃO TEM SEGREDO:
1). Instale sua distribuição linux preferida

2). Baixe os pacotes e compile o bootloader suportado pelo fabricante
2.1). Dependendo do bootloader, será necessário a instalação de um compilador "bare-metal" para o alvo.

3). Seu "dez te entope" (ops queria escrever desktop) é x86 (ou variantes) e o seu target é ARM, então precisará de cross-compilar para que o código seja gerado para a plataforma alvo

3). Baixe o kernel e sistema de arquivos. Para sistemas como o seu é muito recomendável o ulibC e juntamente com o BusyBox

4). Não precisa seguir os passos acima, pois geralmente a freescale possui um gerador de toolchain automático chamado ltib (veja se a tua plataforma/processador já possui port).


Como eu faço para descobrir esse gerador de toolchain no CW?


Cara, prestenção ta prestando ?
Usar IDE no WINDOWS, para gerar bins para linux é cuspir na cara de quem ta pedindo ajuda... hehehe

Existem software que mecanizam isto, estes software por si fazem download dos fontes, dos bins de GCC ou etc, compila tudo e te entrega tudo de mão beijada.
Se quiser maiores informações e mais detalhadas, não que vão te responder todas as perguntas mais vão ajudar você a conseguir alguma coisa.
Entre no blog do Sérgio prado.

MensagemEnviado: 17 Abr 2012 16:38
por uilter
fabim não estou usando CW para windows. Existe uma versão 10.2 para linux. E eu uso ela.

MensagemEnviado: 17 Abr 2012 17:41
por chrdcv
uilter escreveu:fabim não estou usando CW para windows. Existe uma versão 10.2 para linux. E eu uso ela.


Então mano, vc pode usar o CW ou então um cross-compiler para bare-metal tb, sem probema algum; especificamente, no caso do uso do MQX, tem a opção de ser pelas vias fáceis ou obscuras. As fáceis seria a utilização do CW ou IAR. Já a difícil seria PORTAR o MQX para um cross-compiler (o que não é muito difícil opu tarefa hercúlea -- basta ter tempo, interesse e vontade).

Recentemente estive trabalhando com o redboot e verifiquei que o ecos foi portado para o kinetis. O ecos é um RTOS de código livre, originalmente desenvolvido pela RedHat e atualmente disponibilizado gratuitamente para uma ampla gama de dispositivos!

Caso opte pelo uso do uClinux, como disse anteriormente, verifique se o fabricante já te dá um "port completo". Caso contrário, terá que fazer um similar ou então dentro de um projeto similar nos geradores de toolchain automático, fazer o teu próprio. Documentação é o que não falta!

Vale algumas ressalvas acerca do uClinux tais como fragmentação de memória, ausência do fork (possui vfork) o que leva a ter um desenvolvimento da aplicação mais cuidadoso!

chrdcv

MensagemEnviado: 17 Abr 2012 17:52
por chrdcv
fabim escreveu:o ralph, digo christian.

Me diz uma coisa bem cabeluda.

Por for$a maior, preci$ei parar um pouco com o linux, bem em uma parte onde eu esta quase conseguindo entender como começar a entender.


Tranquilo truFa, quando estiver afim de voltar com o projeto, estou à disposição! Acho que seria uma boa fazer uns projetos bem bolados de automação (água, luz e gás), obviamente com ethernet e modem GSM/GPRS e um uClinux para o desenvolvedor final desenvolver a aplicação sem stress. O que acha? Qualquer mão, manda um salve para o meu e-mail.

fabim escreveu: Quando eu CROSS_COMPILE= ARM_LINUX_GNU_EABI ARCH=ARM blá blá blá
E depois eu façomake no uclibc.

Eu vejo que na maioria das distros os bin util's, ficam sempre no mesmo lugar, eu costumo dar uma olhada no #ECHO PATH, para pegar os endereços e dar uma olhada no que tem dentro deles.

Mais se eu entendi bem, eu não necessariamente sou obrigado a colocar nos mesmos lugares né ?


Certo, desde que faça links ou adicione os paths na variável do "ambiente"!

fabim escreveu: OBS: o ultimo boot que você me mandou para o 1788 não funcionou.

Devo então ter que dar uma inspecionada no código e verificar se a inicialização que está lá, procede com os periféricos (configurações de clock, EMI, etc) que tem na placa. Já tenho o kernel, filesystem e binutils compilado, mas precisamos primeiro do bootloader senão nádegas feito!

Falous!

MensagemEnviado: 17 Abr 2012 23:32
por msamsoniuk
a pergunta que nao quer calar: como roda linux nesse kit se usa um K60 com 128KB de SRAM e esse kit nao suporta SDRAM ou DDR externa? algum dos sabichoes ae sabe responder? eh um K60 ou K70? O_o

http://www.freescale.com/webapp/sps/sit ... 40B1ECDBC2

http://www.freescale.com/webapp/sps/sit ... 40B1ECDBC2

o K70 tem SDRAM.

MensagemEnviado: 17 Abr 2012 23:42
por chrdcv
hehehe tem razão Marcelo! Não tem como!

O K70 sim, agora que eu ví no site da freescale. Inclusive, já tem port do uClinux para ele:

http://forums.freescale.com/t5/Kinetis-ARM-Cortex-M4/uClinux-for-Kinetis-K70/td-p/94887/page/2

O ecos tb. foi portado:
http://www.mail-archive.com/ecos-discuss@ecos.sourceware.org/msg12798.html

Fica ratificado então a minha falha!

MensagemEnviado: 18 Abr 2012 00:21
por uilter
Pois é galera era uma das minhas duvidas pois ele roda o MQX e achava que rodava linux.
Achei um material que pode ser importante para quem queira mexer com o k70.

Obrigado pelas duvidas tiradas.

http://www.emcraft.com/index.php/products/95

http://www.emcraft.com/images/jdownloads/linux-twr-k70f120m-bspg-1.4.1.pdf

MensagemEnviado: 18 Abr 2012 08:35
por tcpipchip
Marcelo
Nos utilizamos Netburner....que vende os coldfire SOM...
podes indicar outro?
Deu uma aumentada de preço...
tcp