Skip to content

Commit 82c9af7

Browse files
authored
[Add] Added project generation support for RX23E-B devices (#22)
* [Update] Make portSET_INTERRUPT_MASK_FROM_ISR() a real function instead of a macro function Signed-off-by: RESG_XX <xiao-xuan.ngew.xc@renesas.com> * [Update] Updated default heap size to 8KB in MDF Signed-off-by: RESG_XX <xiao-xuan.ngew.xc@renesas.com> * [Update] Added PG support for RX23E-B - Updated default heap size to 8KB - Revert portSET_INTERRUPT_MASK_FROM_ISR() bug fix Signed-off-by: RESG_XX <xiao-xuan.ngew.xc@renesas.com> * [Update] Re-apply portSET_INTERRUPT_MASK_FROM_ISR() bug fix Signed-off-by: RESG_XX <xiao-xuan.ngew.xc@renesas.com> --------- Signed-off-by: RESG_XX <xiao-xuan.ngew.xc@renesas.com>
1 parent 35997e9 commit 82c9af7

File tree

23 files changed

+120
-23
lines changed

23 files changed

+120
-23
lines changed

configuration/config_files/FreeRTOSConfig.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
#define configPERIPHERAL_CLOCK_HZ ( BSP_PCLKB_HZ )
5252
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
5353
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 140 )
54-
#define configTOTAL_HEAP_SIZE_N ( 4 )
54+
#define configTOTAL_HEAP_SIZE_N ( 8 )
5555
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( configTOTAL_HEAP_SIZE_N * 1024 ) )
5656
#define configMAX_TASK_NAME_LEN ( 12 )
5757
#define configUSE_TRACE_FACILITY 1

configuration/freertos.mdf

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,10 @@ A high tick rate frequency will have the effect of reducing the 'time slice' giv
4545
<description>Generally this should not be reduced from the value set in the FreeRTOSConfig.h file provided with the demo application for the port you are using.
4646
The stack size is specified in words, not bytes.</description>
4747
</property>
48-
<property id="configTOTAL_HEAP_SIZE_N" display="The configTOTAL_HEAP_SIZE_N" default="4" type="textbox">
48+
<property id="configTOTAL_HEAP_SIZE_N" display="The configTOTAL_HEAP_SIZE_N" default="8" type="textbox">
4949
<constraint display="Value must be an integer">testInteger("${configTOTAL_HEAP_SIZE_N}")</constraint>
50-
<constraint display="Value must be greater than or equal to 1 and less than or equal to Device.ramSize">("${configTOTAL_HEAP_SIZE_N}" &gt;= 1) &amp;&amp; ("${configTOTAL_HEAP_SIZE_N}" &lt;= ${Device.ramSize})</constraint>
50+
<constraint display="Heap size must be greater than 0">("${configTOTAL_HEAP_SIZE_N}" &gt; 0)</constraint>
51+
<constraint display="Heap size must be less than RAM capacity">("${configTOTAL_HEAP_SIZE_N}" &lt;= ${Device.ramSize})</constraint>
5152
<description>The total amount of RAM available in the FreeRTOS heap(Unit: Kbytes). The value is used for calculating HEAP_SIZE(Bytes) in following expression:
5253
( size_t ) ( configTOTAL_HEAP_SIZE_N * 1024 ) </description>
5354
</property>

configuration/freertos.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
<product>GNURX</product>
1212
<version>4.8.4</version>
1313
</toolchain>
14+
<memoryreq>
15+
<RAM>16</RAM>
16+
</memoryreq>
1417
<!-- only one target entry allowed; multiple sub tags permitted -->
1518
<target>
1619
<toolchain>RXC</toolchain>
@@ -25,6 +28,7 @@
2528
<group>RX231</group>
2629
<group>RX23W</group>
2730
<group>RX23E-A</group>
31+
<group>RX23E-B</group>
2832
<group>RX24T</group>
2933
<group>RX26T</group>
3034
<group>RX64M</group>
@@ -62,6 +66,7 @@
6266
<group>RX231</group>
6367
<group>RX23W</group>
6468
<group>RX23E-A</group>
69+
<group>RX23E-B</group>
6570
<group>RX24T</group>
6671
<group>RX26T</group>
6772
<group>RX64M</group>
@@ -91,7 +96,7 @@
9196
<package>
9297
<type>rtosmodule</type>
9398
<name>FreeRTOSKernel</name>
94-
<version>10.4.3-rx-1.0.7</version>
99+
<version>10.4.3-rx-1.0.8</version>
95100
<!-- include path setting -->
96101
<incdir>
97102
<path>src/FreeRTOS/Source/include</path>
@@ -111,6 +116,7 @@
111116
<group>RX231</group>
112117
<group>RX23W</group>
113118
<group>RX23E-A</group>
119+
<group>RX23E-B</group>
114120
<group>RX24T</group>
115121
<group>RX26T</group>
116122
<path>src/FreeRTOS/Source/portable/GCC/RX600v2</path>
@@ -153,6 +159,7 @@
153159
<group>RX231</group>
154160
<group>RX23W</group>
155161
<group>RX23E-A</group>
162+
<group>RX23E-B</group>
156163
<group>RX24T</group>
157164
<group>RX26T</group>
158165
<path>src/FreeRTOS/Source/portable/Renesas/RX600v2</path>
@@ -245,6 +252,7 @@
245252
<group>RX231</group>
246253
<group>RX23W</group>
247254
<group>RX23E-A</group>
255+
<group>RX23E-B</group>
248256
<group>RX24T</group>
249257
<group>RX26T</group>
250258
<folder>portable/Renesas/RX600v2</folder>
@@ -284,6 +292,7 @@
284292
<group>RX231</group>
285293
<group>RX23W</group>
286294
<group>RX23E-A</group>
295+
<group>RX23E-B</group>
287296
<group>RX24T</group>
288297
<group>RX26T</group>
289298
<folder>portable/GCC/RX600v2</folder>
@@ -384,6 +393,7 @@
384393
<group>RX231</group>
385394
<group>RX23W</group>
386395
<group>RX23E-A</group>
396+
<group>RX23E-B</group>
387397
<group>RX24T</group>
388398
<group>RX26T</group>
389399
<path>src/FreeRTOS/Source/portable/Renesas/RX600v2/portmacro.h</path>
@@ -426,6 +436,7 @@
426436
<group>RX231</group>
427437
<group>RX23W</group>
428438
<group>RX23E-A</group>
439+
<group>RX23E-B</group>
429440
<group>RX24T</group>
430441
<group>RX26T</group>
431442
<path>src/FreeRTOS/Source/portable/GCC/RX600v2/portmacro.h</path>

portable/GCC/RX100/portmacro.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,16 @@ extern void vTaskExitCritical( void );
124124
/* As this port allows interrupt nesting... */
125125
uint32_t ulPortGetIPL( void ) __attribute__((naked));
126126
void vPortSetIPL( uint32_t ulNewIPL ) __attribute__((naked));
127-
#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortGetIPL(); portDISABLE_INTERRUPTS()
128-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( uxSavedInterruptStatus )
127+
128+
static int32_t set_interrupt_mask_from_isr( void );
129+
static int32_t set_interrupt_mask_from_isr( void )
130+
{
131+
int32_t tmp = ulPortGetIPL();
132+
vPortSetIPL( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY );
133+
return tmp;
134+
}
135+
#define portSET_INTERRUPT_MASK_FROM_ISR() set_interrupt_mask_from_isr()
136+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( ( long ) uxSavedInterruptStatus )
129137

130138
/* Tickless idle/low power functionality. */
131139
#if configUSE_TICKLESS_IDLE == 1

portable/GCC/RX100/readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ RX21A RXv1 No --- Renesas/RX200 (*3) N/A (*3)
1717
RX220 RXv1 No --- Renesas/RX200 (*3) N/A (*3) N/A (*3)
1818
RX230,RX231 RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
1919
RX23E-A RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
20+
RX23E-B RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2021
RX23W RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2122
RX23T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2223
RX24T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2

portable/GCC/RX200/portmacro.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,16 @@ extern void vTaskExitCritical( void );
127127
/* As this port allows interrupt nesting... */
128128
uint32_t ulPortGetIPL( void ) __attribute__((naked));
129129
void vPortSetIPL( uint32_t ulNewIPL ) __attribute__((naked));
130-
#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortGetIPL(); portDISABLE_INTERRUPTS()
131-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( uxSavedInterruptStatus )
130+
131+
static int32_t set_interrupt_mask_from_isr( void );
132+
static int32_t set_interrupt_mask_from_isr( void )
133+
{
134+
int32_t tmp = ulPortGetIPL();
135+
vPortSetIPL( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY );
136+
return tmp;
137+
}
138+
#define portSET_INTERRUPT_MASK_FROM_ISR() set_interrupt_mask_from_isr()
139+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( ( long ) uxSavedInterruptStatus )
132140

133141
/*-----------------------------------------------------------*/
134142

portable/GCC/RX200/readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ RX21A RXv1 No --- Renesas/RX200 (*3) N/A (*3)
1717
RX220 RXv1 No --- Renesas/RX200 (*3) N/A (*3) N/A (*3)
1818
RX230,RX231 RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
1919
RX23E-A RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
20+
RX23E-B RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2021
RX23W RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2122
RX23T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2223
RX24T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2

portable/GCC/RX600/portmacro.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,16 @@ extern void vTaskExitCritical( void );
127127
/* As this port allows interrupt nesting... */
128128
uint32_t ulPortGetIPL( void ) __attribute__((naked));
129129
void vPortSetIPL( uint32_t ulNewIPL ) __attribute__((naked));
130-
#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortGetIPL(); portDISABLE_INTERRUPTS()
131-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( uxSavedInterruptStatus )
130+
131+
static int32_t set_interrupt_mask_from_isr( void );
132+
static int32_t set_interrupt_mask_from_isr( void )
133+
{
134+
int32_t tmp = ulPortGetIPL();
135+
vPortSetIPL( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY );
136+
return tmp;
137+
}
138+
#define portSET_INTERRUPT_MASK_FROM_ISR() set_interrupt_mask_from_isr()
139+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( ( long ) uxSavedInterruptStatus )
132140

133141
/*-----------------------------------------------------------*/
134142

portable/GCC/RX600/readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ RX21A RXv1 No --- Renesas/RX200 (*3) N/A (*3)
1717
RX220 RXv1 No --- Renesas/RX200 (*3) N/A (*3) N/A (*3)
1818
RX230,RX231 RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
1919
RX23E-A RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
20+
RX23E-B RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2021
RX23W RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2122
RX23T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2223
RX24T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2

portable/GCC/RX600v2/portmacro.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,16 @@ extern void vTaskExitCritical( void );
127127
/* As this port allows interrupt nesting... */
128128
uint32_t ulPortGetIPL( void ) __attribute__((naked));
129129
void vPortSetIPL( uint32_t ulNewIPL ) __attribute__((naked));
130-
#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortGetIPL(); portDISABLE_INTERRUPTS()
131-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( uxSavedInterruptStatus )
130+
131+
static int32_t set_interrupt_mask_from_isr( void );
132+
static int32_t set_interrupt_mask_from_isr( void )
133+
{
134+
int32_t tmp = ulPortGetIPL();
135+
vPortSetIPL( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY );
136+
return tmp;
137+
}
138+
#define portSET_INTERRUPT_MASK_FROM_ISR() set_interrupt_mask_from_isr()
139+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( ( long ) uxSavedInterruptStatus )
132140

133141
/*-----------------------------------------------------------*/
134142

portable/GCC/RX600v2/readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ RX21A RXv1 No --- Renesas/RX200 (*3) N/A (*3)
1717
RX220 RXv1 No --- Renesas/RX200 (*3) N/A (*3) N/A (*3)
1818
RX230,RX231 RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
1919
RX23E-A RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
20+
RX23E-B RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2021
RX23W RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2122
RX23T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2223
RX24T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2

portable/GCC/RX700v3_DPFPU/portmacro.h

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,10 +149,18 @@
149149
#define portEXIT_CRITICAL() vTaskExitCritical()
150150

151151
/* As this port allows interrupt nesting... */
152-
uint32_t ulPortGetIPL( void ) __attribute__( ( naked ) );
153-
void vPortSetIPL( uint32_t ulNewIPL ) __attribute__( ( naked ) );
154-
#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortGetIPL(); portDISABLE_INTERRUPTS()
155-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( uxSavedInterruptStatus )
152+
uint32_t ulPortGetIPL( void ) __attribute__((naked));
153+
void vPortSetIPL( uint32_t ulNewIPL ) __attribute__((naked));
154+
155+
static int32_t set_interrupt_mask_from_isr( void );
156+
static int32_t set_interrupt_mask_from_isr( void )
157+
{
158+
int32_t tmp = ulPortGetIPL();
159+
vPortSetIPL( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY );
160+
return tmp;
161+
}
162+
#define portSET_INTERRUPT_MASK_FROM_ISR() set_interrupt_mask_from_isr()
163+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( ( long ) uxSavedInterruptStatus )
156164

157165
/*-----------------------------------------------------------*/
158166

portable/GCC/RX700v3_DPFPU/readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ RX21A RXv1 No --- Renesas/RX200 (*3) N/A (*3)
1717
RX220 RXv1 No --- Renesas/RX200 (*3) N/A (*3) N/A (*3)
1818
RX230,RX231 RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
1919
RX23E-A RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
20+
RX23E-B RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2021
RX23W RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2122
RX23T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2223
RX24T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2

portable/Renesas/RX100/portmacro.h

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,15 @@ extern void vTaskExitCritical( void );
124124
#define portEXIT_CRITICAL() vTaskExitCritical()
125125

126126
/* As this port allows interrupt nesting... */
127-
#define portSET_INTERRUPT_MASK_FROM_ISR() ( UBaseType_t ) get_ipl(); set_ipl( ( signed long ) configMAX_SYSCALL_INTERRUPT_PRIORITY )
128-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) set_ipl( ( signed long ) uxSavedInterruptStatus )
127+
static int32_t set_interrupt_mask_from_isr( void );
128+
static int32_t set_interrupt_mask_from_isr( void )
129+
{
130+
int32_t tmp = __get_ipl();
131+
__set_ipl( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY );
132+
return tmp;
133+
}
134+
#define portSET_INTERRUPT_MASK_FROM_ISR() set_interrupt_mask_from_isr()
135+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) set_ipl( ( long ) uxSavedInterruptStatus )
129136

130137
/*-----------------------------------------------------------*/
131138

portable/Renesas/RX100/readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ RX21A RXv1 No --- Renesas/RX200 (*3) N/A (*3)
1717
RX220 RXv1 No --- Renesas/RX200 (*3) N/A (*3) N/A (*3)
1818
RX230,RX231 RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
1919
RX23E-A RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
20+
RX23E-B RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2021
RX23W RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2122
RX23T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2223
RX24T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2

portable/Renesas/RX200/portmacro.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,14 @@ extern void vTaskExitCritical( void );
124124
#define portEXIT_CRITICAL() vTaskExitCritical()
125125

126126
/* As this port allows interrupt nesting... */
127-
#define portSET_INTERRUPT_MASK_FROM_ISR() get_ipl(); set_ipl( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY )
127+
static int32_t set_interrupt_mask_from_isr( void );
128+
static int32_t set_interrupt_mask_from_isr( void )
129+
{
130+
int32_t tmp = __get_ipl();
131+
__set_ipl( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY );
132+
return tmp;
133+
}
134+
#define portSET_INTERRUPT_MASK_FROM_ISR() set_interrupt_mask_from_isr()
128135
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) set_ipl( ( long ) uxSavedInterruptStatus )
129136

130137
/*-----------------------------------------------------------*/

portable/Renesas/RX200/readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ RX21A RXv1 No --- Renesas/RX200 (*3) N/A (*3)
1717
RX220 RXv1 No --- Renesas/RX200 (*3) N/A (*3) N/A (*3)
1818
RX230,RX231 RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
1919
RX23E-A RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
20+
RX23E-B RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2021
RX23W RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2122
RX23T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2223
RX24T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2

portable/Renesas/RX600/portmacro.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,14 @@ extern void vTaskExitCritical( void );
125125
#define portEXIT_CRITICAL() vTaskExitCritical()
126126

127127
/* As this port allows interrupt nesting... */
128-
#define portSET_INTERRUPT_MASK_FROM_ISR() get_ipl(); set_ipl( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY )
128+
static int32_t set_interrupt_mask_from_isr( void );
129+
static int32_t set_interrupt_mask_from_isr( void )
130+
{
131+
int32_t tmp = __get_ipl();
132+
__set_ipl( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY );
133+
return tmp;
134+
}
135+
#define portSET_INTERRUPT_MASK_FROM_ISR() set_interrupt_mask_from_isr()
129136
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) set_ipl( ( long ) uxSavedInterruptStatus )
130137

131138
/*-----------------------------------------------------------*/

portable/Renesas/RX600/readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ RX21A RXv1 No --- Renesas/RX200 (*3) N/A (*3)
1717
RX220 RXv1 No --- Renesas/RX200 (*3) N/A (*3) N/A (*3)
1818
RX230,RX231 RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
1919
RX23E-A RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
20+
RX23E-B RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2021
RX23W RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2122
RX23T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2223
RX24T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2

portable/Renesas/RX600v2/portmacro.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,14 @@ extern void vTaskExitCritical( void );
125125
#define portEXIT_CRITICAL() vTaskExitCritical()
126126

127127
/* As this port allows interrupt nesting... */
128-
#define portSET_INTERRUPT_MASK_FROM_ISR() ( UBaseType_t ) get_ipl(); set_ipl( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY )
128+
static int32_t set_interrupt_mask_from_isr( void );
129+
static int32_t set_interrupt_mask_from_isr( void )
130+
{
131+
int32_t tmp = __get_ipl();
132+
__set_ipl( ( long ) configMAX_SYSCALL_INTERRUPT_PRIORITY );
133+
return tmp;
134+
}
135+
#define portSET_INTERRUPT_MASK_FROM_ISR() set_interrupt_mask_from_isr()
129136
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) set_ipl( ( long ) uxSavedInterruptStatus )
130137

131138
/*-----------------------------------------------------------*/

portable/Renesas/RX600v2/readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ RX21A RXv1 No --- Renesas/RX200 (*3) N/A (*3)
1717
RX220 RXv1 No --- Renesas/RX200 (*3) N/A (*3) N/A (*3)
1818
RX230,RX231 RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
1919
RX23E-A RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
20+
RX23E-B RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2021
RX23W RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2122
RX23T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2
2223
RX24T RXv2 Yes --- Renesas/RX600v2 GCC/RX600v2 IAR/RXv2

0 commit comments

Comments
 (0)