Re: VxWorks Interrupts
- From: "LarryC" <larry@xxxxxxxxxx>
- Date: 22 Jun 2006 06:52:07 -0700
Most of the things kernel init sets up are internal and don't really
get exposed. There is one big comment that shows the internal mem
layout.
Might be a good project to try an dump that info after booting.
lc
jeanwelly wrote:
Thanks!
It make things clearer...
Where could find the memory map when VxWorks is running or booting...
Just like the information you mentioned when kernelInit...
LarryC 写道:
Hi:
At the end of usrInit in usrConfig.c, you'll see a call to
kernelInit....
kernelInit ((FUNCPTR) usrRoot, ROOT_STACK_SIZE,
(char *) MEM_POOL_START_ADRS,
sysMemTop (), ISR_STACK_SIZE, INT_LOCK_LEVEL);
That's where the ISR_STACK_SIZE is set for the kernel.
vxworks system memory partition is initialized by kernelInit() with
memory between
pMemPoolStart (3rd param) and pMemPoolEnd (4th param). The interrupt
stack of intStackSize (5th param) bytes is allocated starting at
pMemPoolStart. MEM_POOL_START_ADRS is generally set to the mem
location just after the bss of vxWorks.
Some of this gets changed for cpu's that don't have interrupt stacks,
and gets permuted for cpu's where the stack grows upwards toward higher
address.
Good luck,
lc
jeanwelly wrote:
LarryC,
Just follow your discussions...
In the VxWorks Programming Guide, it is said that whether use a
seperate interrupt stack is determined by the architecture. And, I
think the PPC is not using the stack of task, but the general stack at
the task level.
One question is: Where/when that general stack for interrupt was
allocated?
Thanks!
---
Jeanwelly
LarryC 写道:
That's sort of true. Generally, vxWorks support a separate stack for
ISRs, but that really is a function of the architeture also. On some
simple targets, the ISR shares the same stack as the task-level code.
"Context switch" is pretty general, but while it's true there is no
task-to-task context switch when an interrupt occurs, there is a finite
amount of time to save the status of the executing task before the
processing of the interrupt decode occurs.
lc
Maverick wrote:
What I read from the programmers guide ..it said that vxWorks has a
seprate Interrupt stack...and there is no context switch ....when an
interrupt occurs in vxWorks....
Ne Idea..
Thanks In Advance
Abhijit
.
- References:
- VxWorks Interrupts
- From: Maverick
- Re: VxWorks Interrupts
- From: LarryC
- Re: VxWorks Interrupts
- From: Maverick
- Re: VxWorks Interrupts
- From: LarryC
- Re: VxWorks Interrupts
- From: jeanwelly
- Re: VxWorks Interrupts
- From: LarryC
- Re: VxWorks Interrupts
- From: jeanwelly
- VxWorks Interrupts
- Prev by Date: Block routines in ISR
- Next by Date: Re: Block routines in ISR
- Previous by thread: Re: VxWorks Interrupts
- Next by thread: Problems using TFFS with Intel flash 28F640
- Index(es):
Relevant Pages
|