You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
f05244a8d5
Pass core ID to task/ISR lock functions |
1 month ago | |
---|---|---|
.. | ||
README.md | 3 months ago | |
port.c | 1 month ago | |
portasm.s | 3 months ago | |
portmacro.h | 1 month ago |
README.md
RH850/F1K and F1Kx FreeRTOS Port with CC-RH Compiler
Introduction
This repository contains the port of FreeRTOS for Renesas RH850/F1K and F1Kx microcontrollers using the CC-RH compiler. The following sections provide instructions on how to use this port, a link to the test project, and other relevant information.
Prerequisites
- Compiler: CC-RH
- FreeRTOS version 11.1.0
Device | FPU | SMP |
---|---|---|
F1K | Yes | No |
F1KM-S1 | Yes | No |
F1KM-S2 | Yes | No |
F1KM-S4 | Yes | No |
F1KH-D8 | Yes | Yes |
Link to Test Project
The test project can be found here (RH850_F1Kx_CCRH
). This project contains example tasks and configurations to help you get started with FreeRTOS on the RH850/F1K and F1Kx.
Note
- Configure IPIR Interrupt: Ensure that the bit specifying the destination for binding (requesting) an interrupt is enabled (e.g: IBDxxx register of F1KH-D8) (1)
Channel 0
and address0xFFFEEC00
are used as default configuration for configIPIR_CHANNEL and configEXCLUSIVE_ADDRESS, in case of resource confliction other channel/address can be used. (2)- The minimal stack size (configMINIMAL_STACK_SIZE) must be included the reserved memory for nested interrupt. This formula can be referred:
(task_context_size) * (2 + configMAX_INT_NESTING) + Stack_depth_of_taskcode
In which,task_context_size
is calculated as36*4bytes = 144bytes
(when FPU enabled) or34*4bytes = 136
(when FPU disabled), configMAX_INT_NESTING is02
as default (Note that a value of0
is not allowed). configTIMER_PRESCALE
: This value is required in order to correctly configure clock forCPUCLK_L
. Refer to Hardware Manual atTable 44.22
foroption byte
: If the user sets the option byteCKDIVMD to 1
, thenconfigTIMER_PRESCALE = 4
. Otherwise, ifCKDIVMD is set to 0
, thenconfigTIMER_PRESCALE = 2
.
(1) This is applicable for F1KH-D8 with SMP only.
(2) This is optional and applicable for SMP only.
Other Relevant Information
-
Documentation:
- Refer to the official FreeRTOS documentation for detailed information on configuring and using FreeRTOS.
- Consult the RH850 F1K group user manual hardware manual for specific details about the microcontroller.
- For more information about Renesas RH850/F1K and F1Kx, please visit this website
- The CC-RH compiler can be downloaded here
-
Support:
- If you encounter any issues or have questions about this port, please open an issue in this repository or contact the maintainer.
-
Contributing:
- Contributions to improve this port are welcome. Please fork the repository, make your changes, and submit a pull request.