Hi, in your case it works. No doubt! jayasooriah wrote: > When doing data transfers on FIQ and using FIQ bank (eg a pointers and > a byte count), then you have no choice but to set up, and/or examine > these in "application code" (meaning code not running in FIQ context). This is a special case in which you must setup FIQ state to use it. > > Often completion of transfer triggers a (lower priority) IRQ, and in > this case, the code running in IRQ context peeks/pokes registers in > the FIQ bank by switching to FIQ and then back to IRQ. Ok, I think I understood! You want to modify your special pointers/counters, used by the FIQ, from a IRQ for example. This is quite tricky! > > Summary: there is nothing wrong at all with switching banks in any > code segment (not just in startup code) provided you leave the > exception in the same state that you entered in. (You can leave in a > different mode if you know what you are doing but I am not sure the > behaviour can be generalised across all ARM implementations.) > > --- In lpc2000@yahoogroups.com, Sten <list@n...> wrote: > >>it is allowed to switch context manually, during starup >>for example. But I think it is not recommended to do this >>in application code. You must initialize all modes you >>want to use (FIQ, IRQ, USR, SVR, SYS) or modes that might >>be used (for you) (ABT, UND) during startup. > -- /************************************************ Do you need a tiny and efficient real time operating system (RTOS) with a preemtive multitasking for LPC2000 or AT91SAM7? http://nanortos.net-attack.de/ Or some open-source tools and code for LPC2000? http://www.net-attack.de/ ************************************************/
Message
Re: [lpc2000] Re: IRQ / FIQ status register general question.
2006-02-01 by Sten
Attachments
- No local attachments were found for this message.