FreeRTOS.h: No such file or directory

Won’t compile

Example Error just below, 6 other errors saying this file is missing as well.
…/src/config/sam_e51_cnano/osal/osal_freertos.h:56:10: fatal error: FreeRTOS.h: No such file or directory

I apologize folks, not sure if here is the place to ask this.

I have started very basic projects multiple times using SAME51 on multiple computers. Current computer is running MPLABX 6.05, MCC 5.5, not sure on FreeRTOS
Others were older versions of software and not all up to date.

I use MCC harmony to create them. Simple, create new project, start MCC, add a usart. The usart adds FreeRTOS. Set up the serial port pins. Everything else is defaulted. Generate the project. Then Clean and build the project, sure enough, every time on every computer I have MPLabx installed, same issue.

I see this issue come up on here and the response is to put the freeRTOS in the path.
I do a search on my computer for freertos.h and I’m guessing 100 plus instances of the same file show up on my hard drive. Ones for different processors, and utilities. Seems that it would need to know exactly which to point to.

I am open for suggestions on how to solve this.

Thank you

Hi @andyhol,

Ideally if you configure your project using MCC Harmony the paths to include files should be configured by the Harmony itself. Have you made sure that you have installed the packages required for FreeRTOS in the MCC Harmony plugin manager?

Also FreeRTOS.h is not specific to any port or compiler you can include it from the required version of FreeRTOS that you want to use.

MPLAB 6.0+ changed things. The Assembler no longer uses “Common include dirs”.

Edit the project, go to XC32 (Global Options) → xc32-as → Assembler Include directories.
Begin by including the path to your FreeRTOS.h and FreeRTOSConfig.h files. Add additional directories as necessary until your Assembly includes all work.

A little documentation of this big change would have been nice, Microchip.

Oh, and use the path’s from XC32 (Global Options) → Common include dirs
to figure out which FreeRTOS.h and FreeRTOSConfig.h files are the correct ones.

The alternative solution is to return to MPLAB X 5.XX

No luck!

There was nothing in the XC32 (globe options) com Incld dirs. Tony said they are all the same so I took a guess with relation to core, usart and such and added the folder to the global options and asm.

Any other thoughts?

It should be incorrectly setup include search paths. Can you share your project? (724.5 KB)
Here is a project.

Thank you!

The following are the include directories for your project -

Looking at these, the compiler expects a third_party/rtos/FreeRTOS directory in the src directory which is not there. That is the cause of your error.

Thank you!
Any idea what I am doing wrong to not get this done automatically?

FYI, I won’t be able to try this for a few days probably.

I am not familiar with the Harmony and therefore, cannot say why it is not spitting FreeRTOS code. You can ask that on Microchip forums.

No worries, thank you for your help!

I think the problem came about because I didn’t have the arm CMSIS / CMSIS-FreeRTOS loaded in MCC/Harmony

I just ran another project and it all seems good.
It is strange that I can have the FreeRTOS showing in the Project Graph window and it doesn’t yell at me that it is not loaded

Thanks for the help everyone! Sorry for the newbie mistake

No worries! Thank you for reporting back.