Is ARM7 affidabile come qualsiasi altra famiglia?

T

techie

Guest
Io sono la migrazione da 8.051 a ARM7.Ho letto il problema con spurie interrupt su ARM7.È che un problema.C'è così tanto da confondere i documenti presenti sul web.Sto usando LPC2136 e vorrei sapere in parole semplici che
1.Qual è il problema.
2.È motivo di preoccupazione in termini di affidabilità
3.Come può essere gestita semplicemente.

 
Salve,

semplice come posso descriverlo:
La migrazione da un 8.051 ad un ARM7 fornirà un sacco di opportunità e di alcune sfide.
Il regime di interrupt fornite dal ARM7 originale è esattamente due opzioni di interrompere, una cosiddetta IRQ = richiesta di interrupt e un cosiddetto FIQ = fast richiesta di interrupt.Se l'applicazione è in grado di affrontare con due soli livelli di interrupt, non avrete in tutte le questioni a tutti.Tenere a mente che i vostri gestori di interrupt stanno per essere molto più veloce di quanto non fossero per il 8051, è possibile attendere per una routine di interrupt per finire, invece di interrompere di nuovo (chiamato interrupt annidati).
Se si utilizzano gli interrupt nidificati si prega di consultare la nota della domanda sul sito web di Philips:
http://www.standardics.philips.com/support/documents/microcontrollers/pdf/an10381.pdf
"AN10381 nidificazione degli interrupt nel LPC2000"

Gli interrupt su un ARM7 non è una preoccupazione in termini di affidabilità, come sono stati utilizzati in migliaia di applicazioni in tutto il mondo.

Gestione semplice è la limitazione di nidificazione di interrupt e di avere un gestore di default installato come descritto in questo AN
http://www.standardics.philips.com/support/documents/microcontrollers/pdf/an10414.pdf
Titolo "Gestione degli interrupt spurio nel LPC2000"

Un capitolo:
"2.3 Gestione degli interrupt spurio
Come accennato in precedenza, il VIC sarebbe fornire il valore di default l'indirizzo VIC Vector
Registrati al PC quando un falso interrupt si verifica.Durante l'inizializzazione VIC, insieme con
fornire un indirizzo ISR al VIC Vector Address Register, si prega di programmare un
appropriata gestore nella VIC Default Vector registro degli indirizzi per la manutenzione un falso
interrupt.In questo gestore, il seguente dovrebbe essere fatto:
1.Trovare la fonte del interrupt (se ci sono molteplici fonti di interrupt).
2.Chiara l'interrupt source (opzionale, come dimostrato nel caso UART).
3.Aggiornare il VIC scrivendo al VIC Vector Address Register.
Considerate questa routine come un normale IRQ routine ISR, perché il nucleo sarà ancora in IRQ
modalità in cui il falso interrupt è servito.Quindi si prega di utilizzare il compilatore appropriato
direttive per classificare questa funzione come un gestore di interrupt IRQ. "

Hope this helps, Robert

 
Grazie per i chiarimenti.

Can you please post po 'di codice C standard per la PVR che si prende cura di ciò che hai descritto.Supponendo che io non sto usando gli interrupt annidati.

 
Salve

Ecco un po 'di codice C per Arm LPC213x & 214x driver di base

Speranza il suo aiuto

All the best

Bobi
Ci dispiace, ma è necessario il login per visitare questo allegato

 

Welcome to EDABoard.com

Sponsor

Back
Top