ARM ?!?!? por onde começar com essa coisa.

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Mensagempor Wagner de Queiroz » 09 Mai 2008 16:54

Esse tal de LPC21 qualquer coisa pode rodar linux?
To procurando saber pq depois vou comecar a brincar com linux embarcado e ja tenho que ja ter uma ideia de qual mcu usar...
Seja Livre, Use Linux
Avatar do usuário
Wagner de Queiroz
Word
 
Mensagens: 872
Registrado em: 11 Out 2006 13:38
Localização: Barueri-SP

Mensagempor mastk » 09 Mai 2008 17:49

alguma MCU que tenha grande quantidades de RAM e flash, ou um ARM com bus externo ou coldfire...
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor xultz » 09 Mai 2008 17:54

Para rodar Linux meio que obrigatoriamente o MCU tem que acessar memória externa. O Linux precisa de 2M de RAM (típicos, existem casos de rodar atém 128k mas enxugando até o talo, e sem fazer nada de útil) e MCU com 2M internos, nem pensar, daí tem que ter RAM externa, de preferência dinâmica. E flash, o ideal é ter pelo menos 1M, tem MCU com isso interno, mas são poucas.
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 Wagner de Queiroz » 09 Mai 2008 21:01

traduzindo?
Seja Livre, Use Linux
Avatar do usuário
Wagner de Queiroz
Word
 
Mensagens: 872
Registrado em: 11 Out 2006 13:38
Localização: Barueri-SP

Mensagempor xultz » 10 Mai 2008 10:33

Spriechst du Deutsch?
Parolas Esperanto? ;)

Brincadeira a parte, que parte não fui claro? Diz aí que tento explicar mais detalhadamente.
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 Wagner de Queiroz » 10 Mai 2008 14:52

a minha pergunta é simples. esse tal LPC2148 pode rodar linux?

tudo bem que ele pode nao ter a memorai interna necessaria para rodar o linux, mas se voce colocar uma memoria externa ou um cartao SD, ele poderia rodar, digo: É possivel ou viável fazer uma placa baseada nele para rodar o linux embarcado?
Seja Livre, Use Linux
Avatar do usuário
Wagner de Queiroz
Word
 
Mensagens: 872
Registrado em: 11 Out 2006 13:38
Localização: Barueri-SP

Mensagempor xultz » 10 Mai 2008 15:22

Wagner, o maior problema de rodar Linux é RAM, e não flash. No caso do 2148, ele tem 42k de RAM e não tem interface para memória externa. Se você fosse pendurar memória nele, teria que ser via GPIO, teria que escrever um módulo para o kernel entender como usar aquela memória, ficaria lento, etc etc.
Se você pegar toda a linha LPC22XX vai ver que todos têm interface para memória externa. Os ARM possuem um barramento de 32 bits onde é acessado tudo, memória RAM, flash, registradores, etc. 32 bits são 4G posições de 8 bits, certo? Isso quer dizer que teoricamente você poderia colocar 4G de memória no micro, poderia colocar 2G de flash e 2G de RAM por exemplo. Porém, uma parte dessa memória é usada nos registradores de configuração, mas mesmo assim dá prá colocar memória prá burro. Quando você usar uma interface de memória no micro, a memória que você colocar ligado nele vai ser acessada por meio desse barramento de 32 bits, ou seja, o kernel só precisa saber onde a memória começa (qual endereço) e onde termina, e só, o hardware do microcontrolador se encarregar de gravar e ler o dados nessa memória. O mesmo ocorre com a flash.
No caso do Linux e do uCLinux, normalmente a imagem do kernel é gravada compactada da flash e é descompactada na RAM para ser executado a partir dela. Este é um motivo por que é importante ter bastante RAM. É possível ter a imagem não compactada na flash e rodar a partir dela, mas existe um ganho de velocidade em rodar a aplicação da RAM do que na flash, sem contar que na flash terão ainda os arquivos dos aplicativos que vão rodar no sistema, além do kernel, então guardar o kernel compactado costuma ser uma boa.

Resumindo: não, o 2148 não roda Linux, o ideal é usar LPC22XX com memória externa. É possível rodar o Linux a partir de uma SD, na flash vai conter um bootloader capaz de acessar a SD, ler o kernel, e descompactar na RAM, depois o kernel monta a SD como / e executa a partir dela, é uma excelente opção também. Mas não adianta, o Linux precisa de RAM, e 2M é um bom tamanho para começar.
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 Wagner de Queiroz » 10 Mai 2008 15:28

Esse é o cara. Voce matou a paulada minha duvida e ja deu subsidios para saber por onde começar. Voce é o cara!
Seja Livre, Use Linux
Avatar do usuário
Wagner de Queiroz
Word
 
Mensagens: 872
Registrado em: 11 Out 2006 13:38
Localização: Barueri-SP

Mensagempor tcpipchip » 10 Mai 2008 18:45

Boa DISSERTACAO.

Eu rodei UCLINUX 3 anos atras no LPC2294...

Se alguem tiver interesse, tenho 4Mb, 1 LPC2294 numa placa (so desolvar) e o PCB do UCLINUX...

T+

TCPIPCHIP
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor Viktor » 11 Mai 2008 08:41

xultz, você está certo, porém os LPC22xx estão longe do ideal. Melhor seria um Cirrus que não é caro e é bem melhor.
Viktor
Byte
 
Mensagens: 281
Registrado em: 12 Out 2006 11:33

Mensagempor veioloko » 12 Mai 2008 07:34

Bom se voces querem programar o ARM usando Assembly....boa sorte!....não recomendo
veioloko
Byte
 
Mensagens: 348
Registrado em: 10 Nov 2006 06:01
Localização: São Bernardo do Campo

Mensagempor fabim » 12 Mai 2008 08:21

pô meu. óia os cara.

PErguntei adonde começar, como começar de que forma começar.

Os mano ja chega metendo a bicuda no pau da barraca e falando de uLinux. pô fala sério.

Eu quero escrever numa porta, ler uma porta, entender como configurar o FDP do LPC, coisas assim. fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor proex » 12 Mai 2008 08:31

Comece pela primeira pagina do datasheet :lol:
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor fabim » 12 Mai 2008 08:34

to di mau docê, quero sua cabeça num prato com chocolate derretido.rs

á sim primeira pagina, claro.

Mas o datasheet da NXP é uma bosta.

fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor proex » 12 Mai 2008 09:12

Fio, o datasheet tem 354 paginas, como pode ser uma bosta?
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

AnteriorPróximo

Voltar para ARM

Quem está online

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

x