Can somebody please tell me whether the IAR MSP430X port uses a separate stack for interrupts?
In http://sourceforge.net/p/freertos/discussion/382005/thread/e0f63bdf/?limit=25#bdcf, Richard said that "all the newer ports maintain a separate interrupt stack". Is the MSP430X such a newer one? I had a look at the port's code and I can't see any evidence of a separate stack. Also, setting a breakpoint in an interrupt routine looks like it's using the task stack.
No it doesn't. Generally a separate interrupt stack is most useful when interrupt nesting is supported. When interrupt nesting can occur the stack can get quite big, and it is therefore wasteful to allocate enough stack to each task to contain a fully nested interrupt stack. The MPS430 port, being a small micro, does not include interrupt nesting support (from memory) so there would be little to be gained from adding the extra run time overhead of managing a separate stack for interrupts.
Thanks. Even though there aren't nested interrupts, there can be some stack used just for a single interrupt. I realise that doing too much in an ISR is bad practice, but I do call a few stack levels. It would have been nice - oh, well.