Página 1 de 1

FLASH MAGIC: Cuidado como Set Read Protect

MensagemEnviado: 14 Dez 2009 08:53
por Rodrigo_P_A
Pessoal, cuidado ao usar o Set Read Protect no FLASH MAGIC.

Se você fizer um programa, e quando gravar ele com o flash magic perceber que está funcionando de forma estranha ou não estivert funcionando, verifique se você setou a proteção de código.

Usando o LPC2368 quando seto o Set Read Protect o programa não roda, o Flash magic gratuíto deve ter um pau ao calcular o valor que deve ser escrito na área da flash que é lida pelo bootloader ao inicializar o chip "OU ESSE BUG é PROPOSITAL" pois o Flash Magic gratuíto não pode ser usado em modo de produção.

Se você precisar setar a proteção de código, faça isso manualmente dentro de seu código C.

fica a dica.

MensagemEnviado: 14 Dez 2009 09:24
por proex
Cacilda, mais essa!!!

.

MensagemEnviado: 14 Dez 2009 09:24
por proex
O que usar entao na produçao?

.

MensagemEnviado: 14 Dez 2009 10:11
por Rodrigo_P_A
proex escreveu:O que usar entao na produçao?

.


Pode usar o flash magic, mas não sete a Proteção de código, e faça o seguinte em seu programa:

#include <absacc.h>
// Proteçào do código
long proteger __at(0x01FC) =0x87654321;


ATENÇÃO, não faça isso e tente depurar via JTAG, pois após gravado o código no ARM com esta "instrução" você não vai mais conseguir usar o JTAG com o LPC, para voltar a usar você terá que apagar o código usando o FLASH MAGIC.

MensagemEnviado: 14 Dez 2009 13:18
por proex
Isso é muito complicado, nao vou usar mais ARM, vou voltar pro 8051.

MensagemEnviado: 18 Dez 2009 15:53
por lopesjm
Olá,

Quer voltar para o 8051 ? Olha só que interessante. Tenho o mesmo problema do Rodrigo_PA, só que no LPC915 e no LPC952, que é core 8051.
Se eu setar a Proteção de código, o micro não lê minha tabela. Legal né !

Minha alternativa foi jogar a tabela para o final da flash e não proteger essa área.

Será "problema" do flashmagic mesmo ?

Jorge

proex escreveu:Isso é muito complicado, nao vou usar mais ARM, vou voltar pro 8051.

MensagemEnviado: 20 Dez 2009 19:59
por Rodrigo_P_A
lopesjm escreveu:Olá,

Quer voltar para o 8051 ? Olha só que interessante. Tenho o mesmo problema do Rodrigo_PA, só que no LPC915 e no LPC952, que é core 8051.
Se eu setar a Proteção de código, o micro não lê minha tabela. Legal né !

Minha alternativa foi jogar a tabela para o final da flash e não proteger essa área.

Será "problema" do flashmagic mesmo ?

Jorge

proex escreveu:Isso é muito complicado, nao vou usar mais ARM, vou voltar pro 8051.


no meu caso é problema no Flash Magic, pois qdo mando protejer no código escrevendo no endereço de "proteção" o valor para "proteção" da flash funciona.

MensagemEnviado: 21 Dez 2009 08:14
por fabim
sei lá, sou contra passar raiva com o flash magic, ao invés de usar um Jtag.

MensagemEnviado: 18 Jan 2010 08:46
por lrfad2
#include <absacc.h>
// Proteçào do código
long proteger __at(0x01FC) =0x87654321;


Eu já havia percebido isso à um tempo.
Acontece que esse endereço é fixo (olhem o item Code Read Protection (CRP) no manual ). Quando o compilador gera o *.hex ele escreve código nesse endereço. Quando vc manda setar o código de proteção no flash mágic ele escreve por cima, corrompendo o programa.
No meu ponto de vista não tem nada de errado com o flash magic. Se tiver que culpar alguem, culparia o compilador por não prever isso

Podem fazer isso que o Rodrigo sugeriu, que eu já venho testando a tempos e sempre funciona.

Fabim,
Eu pelo menos, nem mando montar o circuito do JTAG quando o equipamento está em produção (grava tudo pela serial). Primeiro que a serial é muito mais barata que o JTAG. Os pinos do processador ficam expostos, sendo que a chance de queimar o processador por uma chave de fenda que caia do bolso aumenta significativamente. Sem falar que pode ser mais uma fonte de ruído (pelo menos no que eu trabalho, vejo algumas coisas absurdas). A produção não precisa debugar o software