Is ARM7 zo betrouwbaar als iedere andere familie?

T

techie

Guest
Ik migratie van 8051 tot ARM7.Ik lees over het probleem met valse onderbreken op ARM7.Is dat een probleem.Er is zoveel verwarrend documenten aanwezig op het web.Ik gebruik LPC2136 en willen weten in eenvoudige woorden, die
1.Wat is dit probleem.
2.Is het een bron van zorg in termen van betrouwbaarheid
3.Hoe kan het gewoon worden behandeld.

 
Hoi,

zo eenvoudig als ik kan beschrijven:
Migreren van een 8051 naar een ARM7 biedt veel mogelijkheden en een aantal uitdagingen.
De Interrupt regeling door de oorspronkelijke ARM7 heeft precies twee onderbreken opties, een zogeheten IRQ = onderbreken verzoek en een zogenaamde FIQ = snel onderbreken verzoek.Als je aanvraag is in staat om te gaan met slechts twee niveaus van interrupts, zul je niet krijgen in eventuele problemen at all.Houd er rekening mee dat uw behandelaars onderbreken zullen zijn een stuk sneller dan ze waren voor de 8051, dus je kunt wachten op een interrupt routine te voltooien in plaats van een onderbreking van het weer (de zogenaamde geneste interrupts).
Als u geneste interrupts gebruiken kijk dan op de toepassing van de nota over de Philips-website:
http://www.standardics.philips.com/support/documents/microcontrollers/pdf/an10381.pdf
"AN10381 nesten van Interrupts in de LPC2000"

Het onderbreekt op een ARM7 zijn is geen probleem in termen van betrouwbaarheid als zij zijn gebruikt in vele duizenden toepassingen wereldwijd.

Eenvoudige behandeling is het beperken van nesten van interrupts en met een standaard handler geïnstalleerd zoals beschreven in deze AN
http://www.standardics.philips.com/support/documents/microcontrollers/pdf/an10414.pdf
Titel "Behandeling van spurious onderbreekt in de LPC2000"

Een hoofdstuk:
"2.3 Behandeling van valse interrupts
Zoals hierboven vermeld, zou de VIC bepalen de waarde van de VIC Standaard Vector Adres
register op de pc wanneer een valse interrupt optreedt.Tijdens initialisatie VIC, samen met
ISR die een adres aan de VIC Vector adres te registreren, kunt u een programma
passend handler in de VIC Standaard Vector adres te registreren voor het onderhoud van een valse
onderbreken.In dit handler moet het volgende worden gedaan:
1.Zoek de bron van het onderbreken (als er meerdere bronnen onderbreken).
2.Wis de interrupt bron (optioneel zoals aangegeven in de UART-zaak).
3.Update de VIC door te schrijven naar de VIC Vector adres te registreren.
Beschouw dit als een gewone routine ISR IRQ routine omdat de kern nog steeds in IRQ
modus als de onechte onderbreken wordt schoongemaakt.Dus gebruik de juiste compiler
richtlijnen te classificeren deze functie als een IRQ interrupt handler. "

Hope this helps, Robert

 
Bedankt voor de verduidelijkingen.

Kunt u na een aantal standaard C-code voor de ISR dat zorgt voor wat je beschreven.Ervan uitgaande dat ik niet met behulp van geneste interrupts.

 
Hoi

Hier is een aantal C-code voor Arm LPC213x & 214X Basic bestuurder

Hope zijn hulp

All the best

Bobi
Sorry, maar je moet inloggen om deze gehechtheid

 

Welcome to EDABoard.com

Sponsor

Back
Top