You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# RH850/F1K and F1Kx FreeRTOS Port with CC-RH Compiler
2
+
3
+
## Introduction
4
+
5
+
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.
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
+
21
+
The 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) * (1 + 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.
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.
0 commit comments