Update firmware LPC21xx, LPC23xx

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Update firmware LPC21xx, LPC23xx

Mensagempor jeanfernandes » 01 Mar 2010 22:59

Prezados

Depois de sofrer um pouco no campo, decidi implementar o update de firmware via RS-485/ETHERNET/RS-232 nos ARM.

Antes de começar a sofrer, gostaria de saber se alguem já andou fazendo isso. Entra em contato.

Bom, antes de mais nada o mecanismo de armazenamento provisorio na placa, normalmente eu uso uma data flash externa, pra onde o código é enviado antes de ser atualizado.

Pelo que li, primeira coisa a fazer é um bootloader secundário e remanejar o programa final mais pra frente.

Via protocolo proprio, fazer com que a placa receba todo o codigo, e depois vá um GOTO la para o secondary. ....creio que é por ae....

Nota: to usando Ethernet via SPI, com o modulo da Wiznet. Assim por onde vem os dados nao importa muito.


Ajuda será bem vinda.
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor Renato » 02 Mar 2010 11:55

Jean:
Realmente isso daí é quase que imprescindível para o produto não ter que andar viajando via sedex ...
Mas pergunto, se para o caso do cliente ter fazer esse upgrade em campo,
não é mais adequado fazer via PC com algum utilitário que faça o mesmo
que o Flash utility, via web direto, para o hex não precisar ser baixado/armazenado na casa do cliente ?

Sobre o Wiznet: Tenho aqui e até o momento não testei. Achei o consumo
bem elevado. Funciona redondo tanto Client como Server ?
Renato
Byte
 
Mensagens: 224
Registrado em: 20 Out 2006 08:35

Mensagempor tcpipchip » 02 Mar 2010 14:19

Jean

Tentou descobrir o protocolo do bootloader do NXP ? (será que nao é XMODEM que nem os ARM9 da ATMEL ?
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor jeanfernandes » 02 Mar 2010 19:26

Miguel

Achei umas coisas no PUDN , e nuns sites turcos, vou dar uma olhada. Na vera voce pode fazer com qq protocolo, pois nao precisa mudar sua camada de acesso.

Bom, o Pirex (sempre ele) me deu umas dicas sobre o que procurar pra nao levar pegadinha. Vou olhar umas coisas no site da NXP antes de adentrar... mas em tese o que o pirex (antes que eu me esqueça, foi on concours para rainha da bateria da escola de samba amisissimos do PLanalto Paulista)

- Na area de gravacao, sempre manter o codigo atual.
- O programa de analise e transferencia de dados, nao pode ser apagado, o que implica no codigo começar um pouco mais pra frente....
- Se der pau no update, volta a version anterior.
- E se quebrar as duas ? A placa deve informar pro seu sistema de gerencia que ta no osso....

Bom eh por ae... o que eu nao curti em gravar na propria flash a atualizacao eh que precisa desabilitar as interrupcoes... (mas eu juro que tinha visto um jeito de evitar isso). Maldita NXP, enfim....

Depois que essa m* tiver pronta , dou um arregaço aqu... que to pagando os pecados... indo em obra fazer updade de ...

Isso ae... (pirex ainda me disse que tem que chafurdar na lama, pois nao da pra gravar o .hex direto)....

Po, ces que trabalham com ARm, nao querem ir pro task force nao ?

Valews.
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor tcpipchip » 03 Mar 2010 12:43

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

Mensagempor jeanfernandes » 04 Mar 2010 11:59

Olhando umas app notes e umas coisas no site da Keil descobri o seguinte:

- No target layout de Flash e Ram, voce pode pegar seus modulos .C e dizer onde ele vai ser gravado e executado.

a) Voce pode definir areas de IROM e IRAM, e depois jogar os codigos pra onde voce queira.

b) Na parte baixa da memoria eu posso colocar as rotinas que gerenciam o protocolo de acesso e faz o copy pra area de flash onde ira ficar o resto do programa, assim essa parte nao sera mais atualizada.

c) Na parte superior da flash eu posso colocar minha aplicacao. Em tese o "main()", fica na parte de baixo e roda o "main fake da aplicacao" com outro nome com "while(1)".....

d) Soa mais ou menos com 2 gerenciamentos

e) A grande vantagem eh que so vou entrar na parte critica de update no passo final do processo, mantendo tudo ativo, enquanto estiver recebendo comandos.

f) Outra coisa que vi, é a vantagem dos Cortex em relacao ao ARM, no que diz respeito à manipulação (handling) das interrupções. No ARM por exemplo é meio que crítico para FIQ e IRQ, pois por exemplo só tem um flag FIQ interno.

Pelo que pouco li no cortex, a coisa é mais organizada.

A versao do Keil que tenho aqui, ja manipula o LPC1768 que é o top da linha.

g) Comprei uma placa de develop desse cortex pra zuar. Comprei la na www.micro4you.com. Ja vem com mizéria. Comprei tb um JTAG la mais decente.



h) Usando esse cortex no futuro eu posso fazer ate update por pen drive (pois o animalzinho tem OTG).

O Cortex roda mais rapido que o ARM (em tese), custa 1.5 dolar mais barato (nao importa ehehehe).

Acho qeu é por ae....
Vamos ver. Eu ja montei a base para testar isso. Só falta tempo pra iniciar a bagaça. O chato mesmo é o suporte da NXP pra certos detalhes (por exemplo, o gerenciamento de MAM no NXP).

i) Outra cois que nao sei ao certo é se da pra proteger areas de flash contra copia, ou se apenas protege o range todo. Coisa que acontece por exemplo nos campinas-scale segundo o marcelo/sethi.

j) Off topic... as placas blackfin sao do peru mesmo... eheheheh
Preciso apenas achar um device drive pra um codec de audio ae....
Boots em 2 a 4 segundos...maravilha...

------------------------
Fotos
------------------------

Imagem

Imagem

Imagem
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB


Voltar para ARM

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

cron

x