Problem in compiling FREERTOS for STM32F207IG

faizans wrote on Wednesday, November 21, 2012:

Hi,

I am getting compilation error, when i try to compile FreeRtos with Rowley’s Crossworks for STM32F207IG.
I am using version 6.1.0 of freeRtos. I am getting a compilation error in the File “queue.c” & port.c
The error are “undefined reference to vPortSetInterruptMask”

Building “Example” in configuration “THUMB Debug”
  Compiling queue.c
  Linking Example.elf
    THUMB Debug/queue.o: In function `xQueueGenericSendFromISR’:
     undefined reference to `vPortSetInterruptMask’
     undefined reference to `vPortClearInterruptMask’
    THUMB Debug/tasks.o: In function `vTaskStartScheduler’:
     undefined reference to `vPortSetInterruptMask’
    THUMB Debug/port.o: In function `vPortEnterCritical’:
     undefined reference to `vPortSetInterruptMask’
    THUMB Debug/port.o: In function `vPortExitCritical’:
     undefined reference to `vPortClearInterruptMask’
    THUMB Debug/port.o: In function `xPortSysTickHandler’:
     undefined reference to `vPortSetInterruptMask’
     undefined reference to `vPortClearInterruptMask’
Build failed

Kindly Oblige

rtel wrote on Wednesday, November 21, 2012:

Where did the project come from?  I’m using FreeRTOS V7.3.0 and there isn’t a vPortSetInterruptMask() function or macro in the CM3 GCC port layer.

I just tried compiling the FreeRTOS\Demo\CORTEX_STM32F107_GCC_Rowley demo and didn’t get any problems (there were 17 warnings that came from the uIP stack code, but it compiled and linked).

Regards.

faizans wrote on Wednesday, November 21, 2012:

Thanks for the reply, I am using freeRtos V6.1. I have used the source file from other FreeRTOS project Build on Different IDE.
The Project is based on demonstration of building on top of the LwIP (Lightweight IP) TCP/IP stack.

I have also tried & compilied  FreeRTOS\Demo\CORTEX_STM32F107_GCC_Rowley demo without any errors, but i cannot use this, as I am using STM32F207IG based Development board.

Kindly oblige.

rtel wrote on Wednesday, November 21, 2012:

All the Cortex-M3 demos use exactly the same port layer code.  FreeRTOS does not care if it is a 107 or a 207, but you will have to change the linker script to have the correct memory layout.

http://www.freertos.org/Creating-a-new-FreeRTOS-project.html
http://www.freertos.org/porting-a-freertos-demo-to-different-hardware.html

Regards.