FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [September 2014 Threads] Port for Cortex-R5Posted by zealhero on September 3, 2014 Hi.
I searched a way of porting for RM57L843 and found it. The ways is it porting Cortex-R4 is similar with it so modify it..
I used FreeRTOS on RM48 before. So I tried it but I think it is not finished completely..
because it works strangly a little.
My system works if I make two simple task. But only one task is run when they have same priorities.
Scheduler is not start normally when I make a task, do more works. But it worked well previous system(RM48)
What files are needed change or revision?
Especially, I don't know how can I make a sys_link.cmd file for memory allocation.
I use HALCoGen 4.0 of TI for making all of base files, then combine with OS files.
Please give me a tip for port for RM57.
I'm using FreeRTOS 8.0 and using Code Composer Studio 6.0.
Thank you.
Port for Cortex-R5Posted by rtel on September 3, 2014
But only one task is run when they have same priorities.
Lets start with a simple scenario and then increase the complexity to see at which point it stops behaving as it should.
Set configUSE_PREEMPTION to 0 in FreeRTOSConfig.h to stop the tick interrupt trying to switch between the two tasks.
Next create two task as follows:
volatile unint32_t ulTask1 = 0, ulTask2 = 0;
void vTask1( void *pvParameters )
{
for( ;; )
{
ulTask1++;
taskYIELD();
}
}
void vTask2( void *pvParameters )
{
for( ;; )
{
ulTask2++;
taskYIELD();
}
}
When you run this, do both tasks run? (do ulTask1 and ulTask2 both increment at the same rate).
If so, inspect xTickCount in the debugger - is that also incrementing?
Regards.
Port for Cortex-R5Posted by zealhero on September 4, 2014 oh.. I'm sorry. My system cannot create a task.. because i tried to revise many things.
I will try your suggestion if it can create a task.
This is another question. Is it right to use RM48 cmd file(e.g. sys_link.cmd) for RM57?
RM57 has bigger memory..
Port for Cortex-R5Posted by rtel on September 4, 2014 I would assume you should use the correct file for the device you are using but you might get away with it with some wasted resources if the smaller chip is a subset of the larger.
Regards.
Port for Cortex-R5Posted by zealhero on September 11, 2014 Hi.
I found the problems and I fixed it.
It works very well.
Thank you for your help
Port for Cortex-R5Posted by rtel on September 11, 2014 Please upload your code to http://interactive.freertos.org thanks.
Regards.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|