David Hawkins <dwh@...> schrieb am Tue, 20 Sep 2005 17:33:45 -0700: > >> I guess you could do that, but that would add extra overhead to the >> SWI calls. >> >> AFAIK, the problem only applies to a few encodings of ldm/stm that you >> don't use in normal use anyway. Therefore I don't see much need to >> jump through hoops to accomodate it. > > Thats what I am trying to determine. > >> For calling APCS compilant (ie. C generated isrs) you do not have to >> save all registers, only r0..r3. The called function will save any >> other registers it needs itself. > > Right, but if you are running an RTOS, then the C generated ISR > code is insufficient, since a context switch may occur as a > consequence of the interrupt. For most applications the interrupt latency is interresting, so commercial RTOS' save at first only the registers a APCS compliant function will not save (i.e. r0-r3, lr_sys,lr_irq). Only if the ISR causes a re-schedule the rest is also saved. The reason is simply, that not every ISR causes a re-schedule and the time in front of the ISR should be kept short. -- 42Bastian Schick
Message
Re: [lpc2000] Re: ARM_UCOS port and the use of stmfd/ldmfd
2005-09-21 by 42Bastian Schick
Attachments
- No local attachments were found for this message.