Hello,
I hope you are well.
I work with a microcontroller Freescale HCS12 family especially the HCS12P64, I try to incorporate a real-time kernel : FreeRTOS.
I downloaded the demo file from the official website of FreeRTOS two versions 8 and 9, and it did not work with the HCS12, I tried to work with several version of Codewarrior 5 and 9 but in vain. it generates me a lot of errors that I tried to solve, but with any progress.
Is someone already worked with this demo project? and please how I can make it work?
Those demos are very old. Is the tool version used to create them fathomable from the project files?
You might be better off creating a new project. There is a page on the freertos.org site that says which files are needed, but is sounds like you can open the existing project so just copy the files that uses.
If you posted the error messages it might help too.
Indeed I created a new project which I have built the necessary files described in the official website of FreeRTOS for creating a new project, I wrote a code to hand the management of tasks and here are the errors generated :
Link Error: L1822: Symbol vTaskDelay in file C: \ Users \ FAAR Industry \ Desktop \ 23032016 \ HCS12P64 \ HCS12P64Data \ Standard \ ObjectCode \ main.c.o
is undefined
**Link Error: L1822: Symbol xTaskGenericCreate in file C: \ Users \ FAAR Industry \ Desktop \ 23032016 \ HCS12P64 \ HCS12P64Data \ Standard \ ObjectCode \ main.c.o
is undefined
**Link Error: L1822: Symbol vTaskStartScheduler in file C: \ Users \ FAAR Industry \ Desktop \ 23032016 \ HCS12P64 \ HCS12P64Data \ Standard \ ObjectCode \ main.c.o
is undefined
Link Error: Link failed
knowing that I have in the FreeRTOSConfig file: #define INCLUDE_vTaskDelay 1
and this function is already declared in task.h and defined under tasks.c
And I didn’t use the symbol xTaskGenericCreate in the main file.
Hi,
When I joined the tasks.c file in the hierarchy of the project in codeWrrior here are the errors generated:
Link Error : L1822: Symbol pxPortInitialiseStack in file …\Standard\ObjectCode\tasks.c.o
is undefined
Link Error : L1822: Symbol vPortFreeAligned in file …\Standard\ObjectCode\tasks.c.o
is undefined
Link Error : L1822: Symbol vApplicationIdleHook in file …\Standard\ObjectCode\tasks.c.o
is undefined
Link Error : L1822: Symbol xPortStartScheduler in file …\Standard\ObjectCode\tasks.c.o
is undefined
Link Error : Link failed
And when I add the port.c file in the project tree under codeWrrior here are the errors generated:
**Error : C1815: TFLG1 not declared (or typename)
port.c line 263 ** Error : C2450: Expected: ,
**port.c line 267 ** Error : Compile failed
here is the code section in which I used the variable TFLG1 under port.c
void interrupt vPortTickInterrupt( void )
{
#if configUSE_PREEMPTION == 1
{
/* A context switch might happen so save the context. */
portSAVE_CONTEXT();
/* Increment the tick ... */
if( xTaskIncrementTick() != pdFALSE )
{
vTaskSwitchContext();
}
TFLG1 = 1;
/* Restore the context of a task - which may be a different task
to that interrupted. */
portRESTORE_CONTEXT();
}
#else
{
xTaskIncrementTick();
TFLG1 = 1;
}
#endif
}
Well I will guess TFLG1 is a register definition, and either the definition in the library has changed, or a different library is being used. If it’s a memory mapped register just write to it directly. Otherwise a little inline asm code might be needed.
Thank you for your reply.
I try to change and add files such as IO_Map.h and IO_Map.c, but that adds other errors.
I wonder if you can see the project that I created to detect the problem.
I would be really grateful, because I wasted over a month just to create functional tasks FreeRTOS
Please I will like to know if it is possible to create a functional FreeRTOS project for the microcontroller HCS9P64, that is light and easy or not, just not to stay in the importation of changes to the files, and without results