ARM7 Inline assembler issues

Some cross compilers will not allow you to manipulate stack pointer SP. For example the compiler will crib at the following inline assembly code which are part of EnterCritical & ExitCritical macros __asm{ STMDB    SP!, {R0}};/* Push R0.*/ …… …… ……. __asm{ LDMIA    SP!, {R0}};/* Pop R0.*/ It seems the compiler will do the pushing and poppin. Development suite metroworks codewarrior for ARM7.   

ARM7 Inline assembler issues

Can you write it "out of line" in a separate asm file?

ARM7 Inline assembler issues

Sure it works just fine as standalone assembler code, I am just providing a helpful info to potential users with the same development environment.

ARM7 Inline assembler issues

hi,      I am a beginner to FreeRTOS and also Keil. I have a LPC2148 development board. I tried to run the freeRTOS with a small test task, but while compiling it says there is a systax error in the inline asm macro defined in portmacro.h specifically in the DISABLE_INTERRUPTS macro.      I would be great ful, if some one can guide my working it out. thank you, Shanmuganandh

ARM7 Inline assembler issues

Probably you are using the wrong compiler.  The Keil demo was written using the Keil compiler, which you cannot get anymore.  Keil now ship with the RVDS compiler, which is not compatible.