• Home
  • Annotate
  • current directory
Name Date Size #Lines LOC

..21-Aug-2025-

README.md A D21-Aug-20253.1 KiB4633

port.c A D21-Aug-202529.7 KiB733367

portasm.s A D21-Aug-202510.7 KiB332259

portmacro.h A D21-Aug-20257.8 KiB19485

README.md

1# RH850/F1K and F1Kx FreeRTOS Port with CC-RH Compiler
2
3## Introduction
4
5This 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.
6
7## Prerequisites
8- Compiler: CC-RH
9- FreeRTOS version 11.1.0
10
11| Device   | FPU | SMP |
12|----------|-----|-----|
13| F1K      | Yes | No  |
14| F1KM-S1  | Yes | No  |
15| F1KM-S2  | Yes | No  |
16| F1KM-S4  | Yes | No  |
17| F1KH-D8  | Yes | Yes |
18
19## Link to Test Project
20
21The test project can be found [here](https://github.com/FreeRTOS/FreeRTOS-Community-Supported-Demos) (`RH850_F1Kx_CCRH`). This project contains example tasks and configurations to help you get started with FreeRTOS on the RH850/F1K and F1Kx.
22
23## Note
24   1. 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)
25   2. `Channel 0` and address `0xFFFEEC00` are used as default configuration for configIPIR_CHANNEL and configEXCLUSIVE_ADDRESS, in case of resource confliction other channel/address can be used. (2)
26   3. 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`
27   In which, `task_context_size` is calculated as `36*4bytes = 144bytes` (when FPU enabled) or `34*4bytes = 136` (when FPU disabled), configMAX_INT_NESTING is `02` as default (Note that a value of `0` is not allowed).
28   4. `configTIMER_PRESCALE`: This value is required in order to correctly configure clock for `CPUCLK_L`. Refer to Hardware Manual at `Table 44.22` for `option byte`: If the user sets the option byte `CKDIVMD to 1`, then `configTIMER_PRESCALE = 4`. Otherwise, if `CKDIVMD is set to 0`, then `configTIMER_PRESCALE = 2`.
29
30(1)  This is applicable for F1KH-D8 with SMP only.
31
32(2) This is optional and applicable for SMP only.
33
34## Other Relevant Information
35
36- **Documentation:**
37  - Refer to the official [FreeRTOS documentation](https://www.freertos.org/Documentation/RTOS_book.html) for detailed information on configuring and using FreeRTOS.
38  - Consult the [RH850 F1K group user manual hardware manual](https://www.renesas.com/us/en/document/mah/rh850f1k-group-users-manual-hardware?r=1170166) for specific details about the microcontroller.
39  - For more information about Renesas RH850/F1K and F1Kx, please visit [this website](https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rh850-automotive-mcus)
40  - The CC-RH compiler can be downloaded [here](https://www.renesas.com/us/en/software-tool/c-compiler-package-rh850-family#downloads)
41
42- **Support:**
43  - If you encounter any issues or have questions about this port, please open an issue in this repository or contact the maintainer.
44
45- **Contributing:**
46  - Contributions to improve this port are welcome. Please fork the repository, make your changes, and submit a pull request.