2014-10-14 2 views
0

Я пытаюсь запустить freertos на обнаружении stm32f303. Включая все заголовки и исходные файлы из архива freertos, загруженные с официального сайта. Также я включаю переносные файлы из папки /GCC/ARM_CM4F. Я использую компилятор codeourcery lite. И когда я пытаюсь скомпилировать проект я получаю ошибку:Stm32f303 freertos

In file included from freertos/inc/portable.h:321:0, 
       from freertos/inc/FreeRTOS.h:100, 
       from freertos/src/croutine.c:66: 
freertos/inc/portmacro.h:167:7: error: missing binary operator before token "long" 

portmacro.h «s 167-172 строк:

#if(configMAX_PRIORITIES > 32) 
     #error configUSE_PORT_OPTIMISED_TASK_SELECTION can only be set to 1 when configMAX_PRIORITIES is less than or equal to 32. It is very rare that a system requires more than 10 to 15 difference priorities as tasks that share a priority will time slice. 
    #endif 

Поиск в Google дают, что есть ошибка препроцессор, но не поймите меня точку что я должен делать. Мои Makefile настройки:

# Set Libraries 
LIBS  = -lm -lc 

################################################### 
# Set Board 
MCU   = -mthumb -mcpu=cortex-m4 
FPU   = -mfpu=fpv4-sp-d16 -mfloat-abi=softfp 
DEFINES  = -DSTM32F3XX -DUSE_STDPERIPH_DRIVER 
DEFINES  += -DUSE_DEFAULT_TIMEOUT_CALLBACK 

# Set Compilation and Linking Flags 
CFLAGS  = $(MCU) $(FPU) $(DEFINES) $(INCLUDES) \ 
      -g -Wall -std=gnu90 -O0 -ffunction-sections -fdata-sections 
ASFLAGS  = $(MCU) $(FPU) -g -Wa,--warn -x assembler-with-cpp 
LDFLAGS  = $(MCU) $(FPU) -g -gdwarf-2\ 
      -Tstm32f30_flash.ld \ 
      -Xlinker --gc-sections -Wl,-Map=$(PROJ_NAME).map \ 
      $(LIBS) \ 
      -o $(PROJ_NAME).elf 

Где я ошибаюсь?

ответ

2

Компилятор сообщает, что предварительный процессор C не понимает определения configMAX_PRIORITIES. Посмотрите на определение в FreeRTOSConfig.h, я подозреваю, что он включает в себя бросок, который препроцессор не понимает. Удалите бросок, и это, вероятно, будет в порядке.

+0

См. Также дискуссию на форумах поддержки FreeRTOS. [Ссылка] (http://www.freertos.org/FreeRTOS_Support_Forum_Archive/October_2014/freertos_FreeRTOS_V812_portmacro.h_missing_binary_operator_before_token_long_bffa0f71j.html) – eatyourgreens