FreeRTOS porting for Renesas U2A16 RH850 R7F702300BFABA-C microcontroller

I am using Renesas RH850 R7F702300BFABA-C microcontroller and CS+ IDE and CC-RH toolchain I need to port FreeRTOS in that, How can i find portable file for my MCU Specific series ?

@keyur_khatri

You can find the portable file for Renesas RH850 series here: FreeRTOS-Kernel-Community-Supported-Ports/CCRH/RH850_F1KM_S4 at main · FreeRTOS/FreeRTOS-Kernel-Community-Supported-Ports · GitHub

The above linked repository is submoduled in the FreeRTOS-Kernel, in this path: portable/ThirdParty

Can i Use this port.c , portasm.s , and postmacro.h file directly for my MCU ?

You should be able to use that. Here is an example demo for RH850 F1KM-S4 and F1KH-D8 that uses this port files.

The above linked demo repository is submoduled in the FreeRTOS, in this path:
Demo/ThirdParty

I have included these portable files in my project but in build i am getting error regarding the ticktimer interuppt in Renesas CS+ IDE

Can you please help me in these?

Can you please post the details of the error in the thread?

This source code is ported from provided F1KM and F1KH ports.
Hope it’s useful for you,

Demo project: GitHub - renesas/FreeRTOS-Partner-Supported-Demos at u2x_port

1 Like

I have port the FreeRTOS and I am able to compile code successfully and able to create a task
but when i use the timers functions like xTimerCreate getting error , check this below error
E0562310:Undefined external symbol “_xTimerCreate” referenced in “DefaultBuild\r_cg_main.obj”

Can you please guide me how can i resolve this error?

Are you compiling timers.c in your project. Did you set configUSE_TIMERS to 1in your FreeRTOSConfig.h?

Yes I have Set define this in freeRTOSconfig.h file
#define configUSE_TIMERS 1
#define configTIMER_TASK_PRIORITY 2
#define configTIMER_QUEUE_LENGTH 10
#define configTIMER_TASK_STACK_DEPTH 128

and i have include timers.h in build

Have you enabled configSUPPORT_DYNAMIC_ALLOCATION? Its required to use xTimerCreate.

If you prefer not to enable it, then you should use xTimerCreateStatic instead. [provided you have set configSUPPORT_STATIC_ALLOCATION]

Yes in FreeRTOS.h file it is define like this
#ifndef configSUPPORT_DYNAMIC_ALLOCATION
** /* Defaults to 1 for backward compatibility. /*
** #define configSUPPORT_DYNAMIC_ALLOCATION 1**
#endif

and I have define this same in FreeRTOSconfig.h file like this
#define configSUPPORT_DYNAMIC_ALLOCATION 1

I have done porting using this github link Renesas_FreeRTOS/RH850/freeRTOS/V10.4.1/CS+ with inline asm at main · dinguluer/Renesas_FreeRTOS · GitHub

Is there anything wrong in FreeRTOSConfig.h or timers.h file ?

You need to compile timers.c file not the .h file.

thank you for your response , I have already done this changes and i am not getting any error now

Glad that you figured.