FreeRTOS 4.0.4, GCC, ARM7_AT91SAM7S: portmacr

thomas_nittel wrote on Wednesday, July 19, 2006:

Hello, Richard,

I compiled FreeRTOS 4.0.4. with arm-elf-gcc 4.1.0. It seems that there is a write error in the file ‘FreeRTOS\Source\portable\GCC\ARM7_AT91SAM7S\portmacro.h’.
The line 234 ‘#define portDISABLE_INTERRUPTS()’ seems being too much.

Best regards

Thomas

nobody wrote on Wednesday, July 19, 2006:

Sorry, don’t understand.

thomas_nittel wrote on Wednesday, July 19, 2006:

This is the original code:
#ifdef THUMB_INTERWORK
…   
#else
    #define portDISABLE_INTERRUPTS()   
    #define portDISABLE_INTERRUPTS()   
        asm volatile (           
…           
    #define portENABLE_INTERRUPTS()       
        asm volatile (           

#endif /* THUMB_INTERWORK */

If the second branch is compiled the error message ‘error: ‘#’ is not followed by a macro parameter’ appears.

If the code is modified as follows there isn’t an error message.

#ifdef THUMB_INTERWORK
…   
#else
    #define portDISABLE_INTERRUPTS()   
        asm volatile (           
…           
    #define portENABLE_INTERRUPTS()       
        asm volatile (           

#endif /* THUMB_INTERWORK */

rtel wrote on Wednesday, July 19, 2006:

Hi Thomas,

Thanks for pointing that out.  Looks like a paste problem.  I will remove the extra line.

However - there are not any demos that actually use that path through the code.  The only command line GCC demo for the SAM7 is the lwIP demo.  Is this what you are building, or do you have your own setup?  I think I have on file some command line projects for the SAM7S, but I suspect they will be using THUMB mode.

Regards.

thomas_nittel wrote on Wednesday, July 19, 2006:

Hi Richard,
I have set up a small FreeRTOS project based on FreeRTOSV4.0.4\FreeRTOS\Demo\lwIP_Demo_Rowley_ARM7 to evaluate FreeRTOS on Atmel’s evaluation board AT91SAM7X256-EK. I use the same compiler options as this project, i.e. I use the thumb mode and don’t use the discussed path through the code either. But when I looked through the code this line attracted my attention.
Regards.
Thomas