diff --git a/portable/GCC/RX100/port.c b/portable/GCC/RX100/port.c index 158bb0d4c..31585a5dd 100644 --- a/portable/GCC/RX100/port.c +++ b/portable/GCC/RX100/port.c @@ -40,7 +40,11 @@ #include "string.h" /* Hardware specifics. */ +#if defined(configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H) && (configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H == 1) +#include "platform.h" +#else #include "iodefine.h" +#endif /*-----------------------------------------------------------*/ @@ -89,13 +93,21 @@ static void prvStartFirstTask( void ) __attribute__((naked)); * restoring of registers). Written in asm code as direct register access is * required. */ +#if defined(configTICK_VECTOR) +void vPortSoftwareInterruptISR( void ) __attribute__((naked, vector( R_BSP_SECNAME_INTVECTTBL, VECT_ICU_SWINT ))); +#else void vPortSoftwareInterruptISR( void ) __attribute__((naked)); +#endif /* * The tick interrupt handler. */ -void vPortTickISR( void ) __attribute__((interrupt)); +#if defined(configTICK_VECTOR) +void vPortTickISR( void ) __attribute__((interrupt( R_BSP_SECNAME_INTVECTTBL, _VECT( configTICK_VECTOR ) ))); +#else +void vPortTickISR( void ) __attribute__((interrupt)); +#endif /* * Sets up the periodic ISR used for the RTOS tick using the CMT. * The application writer can define configSETUP_TICK_INTERRUPT() (in diff --git a/portable/GCC/RX600/port.c b/portable/GCC/RX600/port.c index c5b1eaccd..723beaeb8 100644 --- a/portable/GCC/RX600/port.c +++ b/portable/GCC/RX600/port.c @@ -37,7 +37,11 @@ #include "string.h" /* Hardware specifics. */ +#if defined(configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H) && (configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H == 1) +#include "platform.h" +#else #include "iodefine.h" +#endif /*-----------------------------------------------------------*/ @@ -67,12 +71,20 @@ static void prvStartFirstTask( void ) __attribute__((naked)); * restoring of registers). Written in asm code as direct register access is * required. */ +#if defined(configTICK_VECTOR) +void vSoftwareInterruptISR( void ) __attribute__((naked, vector( R_SECNAME_INTVECTTBL, VECT_ICU_SWINT ))); +#else void vSoftwareInterruptISR( void ) __attribute__((naked)); +#endif /* * The tick interrupt handler. */ +#if defined(configTICK_VECTOR) +void vTickISR( void ) __attribute__((interrupt( R_SECNAME_INTVECTTBL, _VECT( configTICK_VECTOR ) ))); +#else void vTickISR( void ) __attribute__((interrupt)); +#endif /*-----------------------------------------------------------*/ @@ -344,6 +356,9 @@ uint32_t ulPortGetIPL( void ) void vPortSetIPL( uint32_t ulNewIPL ) { + /* Avoid compiler warning about unreferenced parameter. */ + ( void ) ulNewIPL; + __asm volatile ( "PUSH R5 \n" \ diff --git a/portable/GCC/RX600v2/port.c b/portable/GCC/RX600v2/port.c index c942c4156..e3e279c84 100644 --- a/portable/GCC/RX600v2/port.c +++ b/portable/GCC/RX600v2/port.c @@ -37,7 +37,11 @@ #include "string.h" /* Hardware specifics. */ +#if defined(configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H) && (configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H == 1) +#include "platform.h" +#else #include "iodefine.h" +#endif /*-----------------------------------------------------------*/ @@ -67,12 +71,20 @@ static void prvStartFirstTask( void ) __attribute__((naked)); * restoring of registers). Written in asm code as direct register access is * required. */ +#if defined(configTICK_VECTOR) +void vSoftwareInterruptISR( void ) __attribute__((naked, vector( R_BSP_SECNAME_INTVECTTBL, VECT_ICU_SWINT ))); +#else void vSoftwareInterruptISR( void ) __attribute__((naked)); +#endif /* * The tick interrupt handler. */ +#if defined(configTICK_VECTOR) +void vTickISR( void ) __attribute__((interrupt( R_BSP_SECNAME_INTVECTTBL, _VECT( configTICK_VECTOR ) ))); +#else void vTickISR( void ) __attribute__((interrupt)); +#endif /*-----------------------------------------------------------*/ @@ -393,6 +405,9 @@ uint32_t ulPortGetIPL( void ) void vPortSetIPL( uint32_t ulNewIPL ) { + /* Avoid compiler warning about unreferenced parameter. */ + ( void ) ulNewIPL; + __asm volatile ( "PUSH R5 \n" \