Reset por Software no LPC2148

Alguem ?
Num achei nada que me convença....
alguma ideia de rotina ae pra fazer isso ?
Grato.

Num achei nada que me convença....
alguma ideia de rotina ae pra fazer isso ?
Grato.

Fórum sobre desenvolvimento de sistemas embarcados: Hardware e Software, Tecnologias: Eletrônica digital e analógica, Microcontroladoras, Microprocessadores, Sistemas *NIX (Linux, BSD), Software embarcado Baremetal. Sem fins lucrativos.
http://www.asm51.com.br/phpbb/
jeanfernandes escreveu:Alguem ?
Num achei nada que me convença....
alguma ideia de rotina ae pra fazer isso ?
Grato.
void reboot(void)
{
// Caso o setor zero tenha sido remapeado pra ram, devolve pra flash.
SCB_MEMMAP = 1;
// Salta pro endereço zero.
asm volatile("bx %0" : : "r" (0));
}
polesapart escreveu:Outra idéia: habilita o reset por watch dog timer pra estourar rapidao, e faz um loop infinito esperando ele estourar, isto seria o mais próximo de um reset por hardware, provocado por software
Rodrigo_P_A escreveu:polesapart escreveu:Outra idéia: habilita o reset por watch dog timer pra estourar rapidao, e faz um loop infinito esperando ele estourar, isto seria o mais próximo de um reset por hardware, provocado por software
Eu acho essa sua idéia mais confiável hehehe
Pois eu testei esse negócio de saltar para o endereço zero aqui , e agora percebi que às vezes dá pau.
melhor usar o WDT mesmo
polesapart escreveu:Os LPC22xx tem uma errata (EXTINT.1 se lembro bem) e o reset por software pode complicar as coisas mais ainda neste caso.
A opção "portável" e segura entre lpc21xx, 22xx e 23xx parece ser mesmo o reset por watchdog.
Ou por uma GPIO no reset físico quando desenhar a placa, mas isto é medonho