Página 1 de 1
Bootloader do LPC2140

Enviado:
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

Enviado:
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..

Enviado:
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?

Enviado:
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...

Enviado:
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

Enviado:
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.

Enviado:
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

Enviado:
09 Abr 2010 11:42
por Sergio38br
Sempre o 32k..
[ ]'s
Sergio

Enviado:
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

Enviado:
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

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


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

Enviado:
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

Enviado:
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