Skip to content

Commit da3c35a

Browse files
authored
Add CC-RH port for Renesas F1Kx devices (#1100)
Add CC-RH port for Renesas F1Kx devices
1 parent c963d24 commit da3c35a

File tree

5 files changed

+1315
-1
lines changed

5 files changed

+1315
-1
lines changed

.github/.cSpellWords.txt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ CCNT
7575
CCNTR
7676
CCPN
7777
CCPR
78+
CCRH
7879
CDTY
7980
CDTYR
8081
CFBS
@@ -86,6 +87,7 @@ CHSR
8687
CICR
8788
CISR
8889
CKDIV
90+
CKDIVMD
8991
CKEY
9092
CKGR
9193
CKLO
@@ -125,6 +127,7 @@ CODR
125127
comms
126128
COMPA
127129
CONFG
130+
coreid
128131
coremqtt
129132
CORTUS
130133
coverity
@@ -149,6 +152,7 @@ CPRE
149152
cpsid
150153
cpsie
151154
CPSR
155+
CPUCLK
152156
CPUID
153157
CRCB
154158
crflash
@@ -164,6 +168,8 @@ csrs
164168
csrw
165169
CTCR
166170
ctest
171+
CTPC
172+
CTPSW
167173
CTRLA
168174
CTSIC
169175
CUPD
@@ -227,6 +233,7 @@ DTREN
227233
DTXD
228234
DUNITY
229235
DVAR
236+
Dxxx
230237
EABI
231238
ecall
232239
ECIT
@@ -237,6 +244,7 @@ EEVT
237244
eevtedg
238245
EEVTEDG
239246
EFRHD
247+
EIIC
240248
EINT
241249
EIPC
242250
EIPSW
@@ -310,6 +318,7 @@ FNTR
310318
FOSC
311319
FPCCR
312320
FPCSR
321+
FPEPC
313322
FPSW
314323
FPUL
315324
FRDY
@@ -338,6 +347,7 @@ GPTA
338347
HCLK
339348
Hitach
340349
HRESP
350+
HTCFG
341351
HWHSH
342352
HWORD
343353
HWRD
@@ -353,6 +363,7 @@ ICCR
353363
ICCRPR
354364
ICCRX
355365
ICERST
366+
ICIPI
356367
ICSR
357368
IDCR
358369
IECR
@@ -372,6 +383,7 @@ INTTM
372383
IODEFINE
373384
IORLW
374385
IPEN
386+
IPIR
375387
IPLB
376388
ipsr
377389
IPSR
@@ -380,8 +392,8 @@ IRET
380392
IRXFCS
381393
ISRAM
382394
ISRR
383-
ISR's
384395
ISRS
396+
ISR's
385397
ISRTICK
386398
isystem
387399
ITIF
@@ -564,6 +576,7 @@ OSCEN
564576
OSCOFF
565577
OSCOUNT
566578
OSMC
579+
OSTM
567580
outpw
568581
OVLY
569582
OVRE
@@ -584,6 +597,7 @@ PCLKSEL
584597
PCSR
585598
PCXI
586599
PDSR
600+
PEID
587601
PEIE
588602
PENDSV
589603
PENDSVCLEAR
@@ -799,6 +813,8 @@ SWINTR
799813
SWRST
800814
SWTRG
801815
synchronise
816+
SYNCM
817+
syncm
802818
SYSC
803819
sysclk
804820
Sysclk

portable/CCRH/F1Kx/README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# 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

Comments
 (0)