Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Loading

implicit declaration of function 'xTaskCreateRestricted', 'vPortResetPrivilege'

Posted by dnadler on December 14, 2016

Hi Guys - A minor nit but I know you try hard to make all your code compile clean. I get warnings about two implicit declarations (everything else compiles without warnings). Details below. Thanks as always, Best Regards, Dave

~~~ Invoking: Cross ARM C Compiler arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -Wextra -g3 -D"CPUMK64FN1M0VDC12" -DUSBSTACKFREERTOS -DHSBBUILDWPA -I../source -I../CMSIS -I../GenerateduCsetup -I../board -I../drivers -I../freertos/Source/include -I../freertos/Source/portable/GCC/ARMCM4F -I../startup -I../utilities -I"E:/Cap/MFW2/MFW2firmware/USB/include" -I"E:/Cap/MFW2/MFW2firmware/USB/device/include" -I"E:/Cap/MFW2/MFW2firmware/USB/device/class" -I"E:/Cap/MFW2/MFW2firmware/USB/osa" -I"E:/Cap/MFW2/MFW2firmware/USB/device/class/cdc" -I"E:/Cap/MFW2/MFW2firmware/USB/device/source" -I"E:/Cap/MFW2/MFW2firmware/USB/device/source/khci" -std=gnu99 -Wno-unused-parameter -MMD -MP -MF"FreeRTOS/Source/portable/Common/mpuwrappers.d" -MT"FreeRTOS/Source/portable/Common/mpuwrappers.o" -c -o "FreeRTOS/Source/portable/Common/mpuwrappers.o" "../FreeRTOS/Source/portable/Common/mpuwrappers.c" ../FreeRTOS/Source/portable/Common/mpuwrappers.c: In function 'MPUxTaskCreateRestricted': ../FreeRTOS/Source/portable/Common/mpuwrappers.c:104:2: warning: implicit declaration of function 'xTaskCreateRestricted' [-Wimplicit-function-declaration] xReturn = xTaskCreateRestricted( pxTaskDefinition, pxCreatedTask ); ^ ../FreeRTOS/Source/portable/Common/mpu_wrappers.c:105:2: warning: implicit declaration of function 'vPortResetPrivilege' [-Wimplicit-function-declaration] vPortResetPrivilege( xRunningPrivileged ); ^

~~~


implicit declaration of function 'xTaskCreateRestricted', 'vPortResetPrivilege'

Posted by rtel on December 15, 2016

Hi Dave - thanks for taking the time to report this.

I've just compared the head revision of mpuwrappers.c with the revision from the FreeRTOS V9.0.0 release and it looks like this has already been picked up as MPUxTaskCreateRestricted() is now only compiled if configSUPPORTDYNAMICALLOCATION is set to 1.


implicit declaration of function 'xTaskCreateRestricted', 'vPortResetPrivilege'

Posted by dnadler on December 16, 2016

Is the updated code available? I only find 9.0.0 on sourceforge (sorry if I'm looking in the wrong place)... Thanks, Best Regards, Dave


implicit declaration of function 'xTaskCreateRestricted', 'vPortResetPrivilege'

Posted by rtel on December 16, 2016

Did you look in the SVN repository - also on SourceForge?

https://sourceforge.net/p/freertos/code/HEAD/tree/trunk/FreeRTOS/Source/portable/Common/mpu_wrappers.c


implicit declaration of function 'xTaskCreateRestricted', 'vPortResetPrivilege'

Posted by dcrocker on January 2, 2018

I am getting these same warnings, compiling freshly-downloaded FreeRTOS 10.0.0 with target GCC/ARM_CM4F. Shouldn't these prototypes be declared in task.h?

Edit: looks like xTaskCreateRestricted does get declared in task.h, but only if portUSINGMPUWRAPPERS=1 is defined. Where is that macro supposed to be defined?


implicit declaration of function 'xTaskCreateRestricted', 'vPortResetPrivilege'

Posted by rtel on January 2, 2018

Is this also the case in FreeRTOS V10.0.1? If so, please describe how to replicate the problem (e.g. which port are you using, what are configSUPPORTDYNAMICALLOCATION and configSUPPORTSTATICALLOCATION set to, and any other relevant configuration items).


implicit declaration of function 'xTaskCreateRestricted', 'vPortResetPrivilege'

Posted by fjrg76mx on April 15, 2018

I'm facing the same situation with these specs:

FreeRTOS 10.0.1, ATMega328 port Compiler and flags: avr-gcc, -std=gnu11 -Wall, -Wpedantic avr-gcc version: 4.9.2 FreeRTOSConfig flags: ~~~ #define configSUPPORTDYNAMICALLOCATION 1 #define configSUPPORTSTATICALLOCATION 1 ~~~ The situation is the same even if configSUPPORTSTATICALLOCATION is set to 0.

An output's excerpt: ~~~ /home/fjrg76/Documentos/arduino-1.8.5/hardware/tools/avr/bin/avr-gcc -MMD -c -mmcu=atmega328p -DFCPU=16000000L -DARDUINO=185 -DARDUINOARCHAVR -D__PROGTYPESCOMPAT__ -I/home/fjrg76/Documentos/arduino-1.8.5/hardware/arduino/avr/cores/arduino -I/home/fjrg76/Documentos/arduino-1.8.5/hardware/arduino/avr/variants/standard -I/home/fjrg76/Documentos/arduino-1.8.5/libraries/FreeRTOS/src -Wall -ffunction-sections -fdata-sections -Os -std=gnu11 -Wall -Wpedantic /home/fjrg76/Documentos/arduino-1.8.5/libraries/FreeRTOS/src/mpuwrappers.c -o build-uno/libs/FreeRTOS/src/mpu_wrappers.o /home/fjrg76/Documentos/arduino-1.8.5/libraries/FreeRTOS/src/mpuwrappers.c: In function 'MPUxTaskCreateRestricted': /home/fjrg76/Documentos/arduino-1.8.5/libraries/FreeRTOS/src/mpuwrappers.c:64:3: warning: implicit declaration of function 'xTaskCreateRestricted' [-Wimplicit-function-declaration] xReturn = xTaskCreateRestricted( pxTaskDefinition, pxCreatedTask ); ~~~

If you guys need more information please don't hesitate. Greetings!


implicit declaration of function 'xTaskCreateRestricted', 'vPortResetPrivilege'

Posted by rtel on April 15, 2018

From the looks of it you are not using code provided by us, but from a third party, so we can only provide general assistance and ideas as we are not familiar with the code you are building (mpuwrappers.c).

These warnings are nothing to do with static or dynamic allocation, but with whether or not you are using a FreeRTOS port that support memory protection or not. I'm not aware of a port for the ATMega that has memory protection, and in fact are not aware that any ATMega parts even have memory protection unit - so I think you are just building the wrong files for that target.


implicit declaration of function 'xTaskCreateRestricted', 'vPortResetPrivilege'

Posted by fjrg76mx on April 15, 2018

I got it. It's a compressed version of FreeRTOS, directly downloaded from sourceforge.net. I took only what it was needed it to make it work from the ATMega323 official port, and it works! Perhaps it's important to mention that this port is using heap_3.c. Maybe you want to take a look the files that are been compiled, please see the attached pic.

As others have said, such situation isn't critical, but I read that you like clean compilations.


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]


Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Careers

FreeRTOS and other embedded software careers at AWS.


Latest News

FreeRTOS kernel V10.0.1 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner