This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Code Composer Studio
Hello,
I need help with configuration FreeRTOS in CCS. I try to follow instructions from official site but without success
( The following directories must be in the compiler’s include path (the compiler must be told to search these directories for header files):
Depending on the port, it may also be necessary for the same directories to be in the assembler’s include path. )
So I think I ok include FreeRTOS/Source/include and FreeRTOS/Source/portable/[compiler]/[architecture].
I manual add FreeRTOSConfig.h and maybe that is problem. So please guide me how to config FreeRTOS in CCS, every info will help me a lot.
Hi,
I am not sure we provide direct support for independent creation of FreeRTOS projects but, looking at the error message, it seems you did not include a FreeRTOS library that contains the Task Functions (this is a linker error). In your second screenshot you need to add all the used FreeRTOS libraries under the option --library.
For a working example of integrating this into a CCS project, can you check the Tivaware FreeRTOS demo project typically installed at:
C:\ti\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c123gxl\freertos_demo
You can install this package and access this project from the TI Resource Explorer (menu View --> Resource Explorer)
Hope this helps,
Rafael
Thanks for answer desouza,
I dont have problem with importing demo project, my problem is how to configurate Properties for project. I add FreeRTOS files into Build -> ARM Compiler -> Include Options and into Build -> ARM Linker -> File Search Path. Can someone how successfully configurate FreeRTOS show me where is problem and how to solve this? Once again in ccs I can call api from FreeRTOS, I see prototypes, but when build I had errors. rtosConfig folder contains all necessary c and h files.
Hi,
As I mentioned before, the error you are seeing is a linker error and not a #include file error - this tells me that a source or a library are missing from your project.
Comparing your project with the FreeRTOS demo of the Tivaware, I see the latter includes the entire source code used - thus the linker is able to properly solve all the symbols (functions, variables) given they are part of the project itself. In your project I don't see the FreeRTOS source code included in your project and nor a library that could have the FreeRTOS code (only driverlib.lib and IQMathLib.lib are specified in the linker options).
Therefore, for the linker to properly find the xQueueCreateGeneric function, it requires it to be defined somewhere - the header files only declare functions and variables.
Hope this helps,
Rafael
P.S.
As general statements about adding source and library files and including header files:
- All .c files must be added to the project - either copied to its directory or linked
- All .h file directories must be configured using the Compiler option --include_path
- A .c file that is present in a directory that is passed as a --include_path parameter to the compiler is not acknowledged. This option is only for .h files
- A .c file that is present in the project directory or one of its subdirectories is automatically compiled
- A .lib file that is present in the project directory or one of its subdirectories is automatically linked
- All other .lib files present in your system should be configured using the Linker options --search_path and --library in the following way:
- The .lib directories should be configured using the --search_path option
- The .lib filenames should be configured using the --library option