Página 1 de 1

Bootloader do LPC2140

MensagemEnviado: 09 Abr 2010 10:06
por Francesco
Pessoal, queria entender melhor como funciona o bootloader desse ARM. Pelo que entendi, logo após o reset ele verifica o pino P0.14, se estiver em 0 ele entra no bootloader, se estiver em 1 ele roda o firmware gravado.

Mas a que taxa? Com qual software de programação? Esse bootloader está em flash? Pode ser apagado?

Valew.

Francesco

MensagemEnviado: 09 Abr 2010 10:09
por fabim
sim, o bootloader ja esta na flash..

você utiliza o INT0, e o software MAGIC FLASH..
Baud rate 38400..

etc etc..

MensagemEnviado: 09 Abr 2010 10:14
por Francesco
Mas se está na flash, pode ser apagado? Ou é como no ADuC812, que fica em 2K não acessíveis?

Como assim, utiliza o INT0? É a função do P0.14?

MensagemEnviado: 09 Abr 2010 10:22
por fabim
38400 e usando o MAGIC FLASH.
Maiores detalhes, procure por
LPC2140 user manual.

E outra, você mesmo ja tinha dito como fazer, só não sabia a velocidade e qual programa usar para o bootloader..

Sim, o boot fica na flash uái, e esta fora daqueles nK de flash informado pelo datasheet, sendo assim não se preocupe com isso...

MensagemEnviado: 09 Abr 2010 10:30
por Francesco
É Fabim... a memória falha.
Realmente, já sabia (mais ou menos) disso. É que agora estou fazendo mesmo, e quando coloca $$$ no meio do caminho a gente fica com o c# na mão.

Valew pela ajuda.

Francesco

MensagemEnviado: 09 Abr 2010 10:56
por xultz
Eu não li o datashit do 2140, mas no 2106 o bootloader executa como você disse, porém ele tem autobaudrate. Para isso, o primeiro caracter que ele espera é um '?' (pode mandar até via hiperterminal), se ele pegar este byte, calcula o baud e responde com "SYNCRONIZED" na serial, daí prá frente funciona o protocolo do bootloader (tem um documento que explica ele inteirinho). Ou seja, se você mandar o ? em 1200, ele vai operar toda a gravação em 1200, se mandar a 115200, vai gravar a 115200 e assim por diante. Se ele não responder SYNCRONIZED é porque ele não conseguiu achar o baud rate.
Ele precisa fazer isso porque ele aceita uma gama grande cristais, e tem que se achar independente do clock.

MensagemEnviado: 09 Abr 2010 11:25
por Francesco
Aproveitando o post e estendendo a pergunta... a versão demo do Keil compila até 32K, pelo que me disseram. Mas é para qualquer processador da linha LPC?

Por exemplo, o LPC2148 tem 512K de flash, compilar 32K na versão demo é aceitável.

Já o LPC2141 tem 32K de flash. O Keil vai compilar os mesmos 32K, ou para esse processador vai diminuir para 4 ou 8k?

Sei que são perguntas meio bobas, mas agora é para sair fazendo.
Valew.

Francesco

MensagemEnviado: 09 Abr 2010 11:42
por Sergio38br
Sempre o 32k..

[ ]'s
Sergio

MensagemEnviado: 09 Abr 2010 12:06
por msamsoniuk
pq vc nao usa o gcc? o limite dele eh 4GB na versao gratis.

Francesco escreveu:Aproveitando o post e estendendo a pergunta... a versão demo do Keil compila até 32K, pelo que me disseram. Mas é para qualquer processador da linha LPC?

Por exemplo, o LPC2148 tem 512K de flash, compilar 32K na versão demo é aceitável.

Já o LPC2141 tem 32K de flash. O Keil vai compilar os mesmos 32K, ou para esse processador vai diminuir para 4 ou 8k?

Sei que são perguntas meio bobas, mas agora é para sair fazendo.
Valew.

Francesco

MensagemEnviado: 09 Abr 2010 12:23
por Francesco
Adoraria usar o GCC... mas é um pouco mais complicado para se explicar em um kit didático. Se me der uma ajuda, não tenho problema nenhum em usar.

Francesco

MensagemEnviado: 09 Abr 2010 12:44
por xultz
Não tem nenhum patch prá poder usar mais que 4G? :P

MensagemEnviado: 09 Abr 2010 13:04
por Francesco
Se precisar usar mais de 4G, então está na hora de migrar para um x86.

MensagemEnviado: 09 Abr 2010 14:32
por msamsoniuk
Francesco escreveu:Se precisar usar mais de 4G, então está na hora de migrar para um x86.


dae tem que ser x86-64

MensagemEnviado: 09 Abr 2010 16:28
por Francesco
Já respondendo o GCC para ARM... olha um documento aqui que explica tudo:
http://www.sparkfun.com/tutorial/ARM/ARM_Cross_Development_with_Eclipse.pdf

Francesco