summaryrefslogtreecommitdiff
path: root/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio
diff options
context:
space:
mode:
authorrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2015-09-25 09:33:37 +0000
committerrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2015-09-25 09:33:37 +0000
commit3dcf3b29e245ef19649296c52eb50aba48175666 (patch)
tree59ceb5302434cadc730672b94aa44aa7bafbff01 /FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio
parent4d0e8831fb9f302dc38f6d030fff1f59b978f8ff (diff)
downloadfreertos-3dcf3b29e245ef19649296c52eb50aba48175666.tar.gz
Update RX231 projects to blink the LED.
git-svn-id: http://svn.code.sf.net/p/freertos/code/trunk@2382 1d2547de-c912-0410-9cb9-b8ca96c0e9e2
Diffstat (limited to 'FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio')
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/Blinky_Demo/main_blinky.c5
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/FreeRTOSConfig.h4
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/Full_Demo/main_full.c5
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc.c37
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc.h4
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc_user.c2
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_hardware_setup.c14
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_icu.c203
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_icu.h185
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_interrupt_handlers.h72
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_macrodriver.h28
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_port.c69
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_port.h170
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_userdefine.h8
-rw-r--r--FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/rskrx231def.h71
15 files changed, 846 insertions, 31 deletions
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/Blinky_Demo/main_blinky.c b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/Blinky_Demo/main_blinky.c
index 0a919d156..39c267b98 100644
--- a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/Blinky_Demo/main_blinky.c
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/Blinky_Demo/main_blinky.c
@@ -109,6 +109,9 @@
#include "task.h"
#include "semphr.h"
+/* Renesas includes. */
+#include "rskrx231def.h"
+
/* Priorities at which the tasks are created. */
#define mainQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
@@ -221,7 +224,7 @@ const unsigned long ulExpectedValue = 100UL;
is it the expected value? If it is, toggle the LED. */
if( ulReceivedValue == ulExpectedValue )
{
-//_RB_ LED0 = !LED0;
+ LED0 = !LED0;
ulReceivedValue = 0U;
}
}
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/FreeRTOSConfig.h b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/FreeRTOSConfig.h
index ff23b62c2..1e516142f 100644
--- a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/FreeRTOSConfig.h
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/FreeRTOSConfig.h
@@ -88,8 +88,8 @@
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 1
#define configUSE_TICK_HOOK 1
-#define configCPU_CLOCK_HZ ( 52000000UL ) /*_RB_ guess*/
-#define configPERIPHERAL_CLOCK_HZ ( 26000000UL ) /*_RB_ guess*/
+#define configCPU_CLOCK_HZ ( 52000000UL )
+#define configPERIPHERAL_CLOCK_HZ ( 26000000UL )
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 140 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 40 * 1024 ) )
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/Full_Demo/main_full.c b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/Full_Demo/main_full.c
index 4df406c7f..3a879d48e 100644
--- a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/Full_Demo/main_full.c
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/Full_Demo/main_full.c
@@ -137,6 +137,9 @@
#include "TaskNotify.h"
#include "IntSemTest.h"
+/* Renesas includes. */
+#include "rskrx231def.h"
+
/* Priorities for the demo application tasks. */
#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1UL )
#define mainBLOCK_Q_PRIORITY ( tskIDLE_PRIORITY + 2UL )
@@ -390,7 +393,7 @@ unsigned long ulErrorFound = pdFALSE;
/* Toggle the check LED to give an indication of the system status. If
the LED toggles every mainNO_ERROR_CHECK_TASK_PERIOD milliseconds then
everything is ok. A faster toggle indicates an error. */
-//_RB_ LED0 = !LED0;
+ LED0 = !LED0;
if( ulErrorFound != pdFALSE )
{
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc.c b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc.c
index 7a23f21fe..2e065eb1b 100644
--- a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc.c
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc.c
@@ -23,7 +23,7 @@
* Device(s) : R5F52318AxFP
* Tool-Chain : CCRX
* Description : This file implements device driver for CGC module.
-* Creation Date: 23/09/2015
+* Creation Date: 2015/08/17
***********************************************************************************************************************/
/***********************************************************************************************************************
@@ -56,11 +56,12 @@ Global variables and functions
void R_CGC_Create(void)
{
uint32_t sckcr_dummy;
+ uint32_t w_count;
volatile uint32_t memorywaitcycle;
/* Set main clock control registers */
SYSTEM.MOFCR.BYTE = _00_CGC_MAINOSC_RESONATOR | _00_CGC_MAINOSC_UNDER10M;
- SYSTEM.MOSCWTCR.BYTE = _06_CGC_OSC_WAIT_CYCLE_32768;
+ SYSTEM.MOSCWTCR.BYTE = _04_CGC_OSC_WAIT_CYCLE_8192;
/* Set main clock operation */
SYSTEM.MOSCCR.BIT.MOSTP = 0U;
@@ -69,31 +70,55 @@ void R_CGC_Create(void)
while (1U != SYSTEM.OSCOVFSR.BIT.MOOVF);
/* Set system clock */
- sckcr_dummy = _00000000_CGC_PCLKD_DIV_1 | _00000100_CGC_PCLKB_DIV_2 | _00001000_CGC_PCLKA_DIV_2 |
+ sckcr_dummy = _00000000_CGC_PCLKD_DIV_1 | _00000100_CGC_PCLKB_DIV_2 | _00000000_CGC_PCLKA_DIV_1 |
_00010000_CGC_BCLK_DIV_2 | _00000000_CGC_ICLK_DIV_1 | _10000000_CGC_FCLK_DIV_2;
SYSTEM.SCKCR.LONG = sckcr_dummy;
while (SYSTEM.SCKCR.LONG != sckcr_dummy);
/* Set PLL circuit */
- SYSTEM.PLLCR.WORD = _0000_CGC_PLL_FREQ_DIV_1 | _0C00_CGC_PLL_FREQ_MUL_6_5;
+ SYSTEM.PLLCR.WORD = _0001_CGC_PLL_FREQ_DIV_2 | _1A00_CGC_PLL_FREQ_MUL_13_5;
SYSTEM.PLLCR2.BIT.PLLEN = 0U;
/* Wait for PLL wait counter overflow */
while (1U != SYSTEM.OSCOVFSR.BIT.PLOVF);
- /* Disable sub-clock */
+ /* Stop sub-clock */
SYSTEM.SOSCCR.BIT.SOSTP = 1U;
/* Wait for the register modification to complete */
while (1U != SYSTEM.SOSCCR.BIT.SOSTP);
- /* Disable sub-clock */
+ /* Stop sub-clock */
RTC.RCR3.BIT.RTCEN = 0U;
/* Wait for the register modification to complete */
while (0U != RTC.RCR3.BIT.RTCEN);
+ /* Wait for 5 sub-clock cycles */
+ for (w_count = 0U; w_count < _007B_CGC_SUBSTPWT_WAIT; w_count++)
+ {
+ nop();
+ }
+
+ /* Set sub-clock drive capacity */
+ RTC.RCR3.BIT.RTCDV = 1U;
+
+ /* Wait for the register modification to complete */
+ while (1U != RTC.RCR3.BIT.RTCDV);
+
+ /* Set sub-clock */
+ SYSTEM.SOSCCR.BIT.SOSTP = 0U;
+
+ /* Wait for the register modification to complete */
+ while (0U != SYSTEM.SOSCCR.BIT.SOSTP);
+
+ /* Wait for sub-clock to be stable */
+ for (w_count = 0U; w_count < _00061A81_CGC_SUBOSCWT_WAIT; w_count++)
+ {
+ nop();
+ }
+
/* Set BCLK */
SYSTEM.SCKCR.BIT.PSTOP1 = 1U;
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc.h b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc.h
index 59e2c6850..be05a6453 100644
--- a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc.h
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc.h
@@ -23,7 +23,7 @@
* Device(s) : R5F52318AxFP
* Tool-Chain : CCRX
* Description : This file implements device driver for CGC module.
-* Creation Date: 23/09/2015
+* Creation Date: 2015/08/17
***********************************************************************************************************************/
#ifndef CGC_H
#define CGC_H
@@ -212,6 +212,8 @@ Macro definitions (Register bit)
/***********************************************************************************************************************
Macro definitions
***********************************************************************************************************************/
+#define _007B_CGC_SUBSTPWT_WAIT (0x007BU) /* Wait time for 5 sub clock cycles */
+#define _00061A81_CGC_SUBOSCWT_WAIT (0x00061A81U) /* Wait time for sub clock stable */
/***********************************************************************************************************************
Typedef definitions
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc_user.c b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc_user.c
index 4b653fff0..58780c931 100644
--- a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc_user.c
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_cgc_user.c
@@ -23,7 +23,7 @@
* Device(s) : R5F52318AxFP
* Tool-Chain : CCRX
* Description : This file implements device driver for CGC module.
-* Creation Date: 23/09/2015
+* Creation Date: 2015/08/17
***********************************************************************************************************************/
/***********************************************************************************************************************
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_hardware_setup.c b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_hardware_setup.c
index 30fdc9df3..b8d79ab49 100644
--- a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_hardware_setup.c
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_hardware_setup.c
@@ -21,7 +21,7 @@
* File Name : r_cg_hardware_setup.c
* Version : Code Generator for RX231 V1.00.00.03 [10 Jul 2015]
* Device(s) : R5F52318AxFP
-* Tool-Chain : CCRX
+* Tool-Chain : GCCRX
* Description : This file implements system initializing function.
* Creation Date: 23/09/2015
***********************************************************************************************************************/
@@ -37,6 +37,9 @@ Includes
***********************************************************************************************************************/
#include "r_cg_macrodriver.h"
#include "r_cg_cgc.h"
+#include "r_cg_icu.h"
+#include "r_cg_port.h"
+
/* Start user code for include. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
#include "r_cg_userdefine.h"
@@ -47,6 +50,9 @@ Global variables and functions
/* Start user code for global. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
+int HardwareSetup(void);
+void R_Systeminit(void);
+
/***********************************************************************************************************************
* Function Name: R_Systeminit
* Description : This function initializes every macro.
@@ -64,6 +70,8 @@ void R_Systeminit(void)
/* Set peripheral settings */
R_CGC_Create();
+ R_ICU_Create();
+ R_PORT_Create();
/* Disable writing to MPC pin function control registers */
MPC.PWPR.BIT.PFSWE = 0U;
@@ -78,9 +86,11 @@ void R_Systeminit(void)
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
-void HardwareSetup(void)
+int HardwareSetup(void)
{
R_Systeminit();
+
+ return (1U);
}
/* Start user code for adding. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_icu.c b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_icu.c
new file mode 100644
index 000000000..e4d5e68f5
--- /dev/null
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_icu.c
@@ -0,0 +1,203 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
+* applicable laws, including copyright laws.
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
+* following link:
+* http://www.renesas.com/disclaimer
+*
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+* File Name : r_cg_icu.c
+* Version : Code Generator for RX231 V1.00.00.03 [10 Jul 2015]
+* Device(s) : R5F52318AxFP
+* Tool-Chain : CCRX
+* Description : This file implements device driver for ICU module.
+* Creation Date: 2015/08/17
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Pragma directive
+***********************************************************************************************************************/
+/* Start user code for pragma. Do not edit comment generated here */
+/* End user code. Do not edit comment generated here */
+
+/***********************************************************************************************************************
+Includes
+***********************************************************************************************************************/
+#include "r_cg_macrodriver.h"
+#include "r_cg_icu.h"
+/* Start user code for include. Do not edit comment generated here */
+/* End user code. Do not edit comment generated here */
+#include "r_cg_userdefine.h"
+
+/***********************************************************************************************************************
+Global variables and functions
+***********************************************************************************************************************/
+/* Start user code for global. Do not edit comment generated here */
+/* End user code. Do not edit comment generated here */
+
+/***********************************************************************************************************************
+* Function Name: R_ICU_Create
+* Description : This function initializes ICU module.
+* Arguments : None
+* Return Value : None
+***********************************************************************************************************************/
+void R_ICU_Create(void)
+{
+ /* Disable IRQ0~7 interrupts */
+ ICU.IER[0x08].BYTE = _00_ICU_IRQ0_DISABLE | _00_ICU_IRQ1_DISABLE | _00_ICU_IRQ2_DISABLE | _00_ICU_IRQ3_DISABLE |
+ _00_ICU_IRQ4_DISABLE | _00_ICU_IRQ5_DISABLE | _00_ICU_IRQ6_DISABLE | _00_ICU_IRQ7_DISABLE;
+
+ /* Set IRQ settings */
+ ICU.IRQCR[1].BYTE = _04_ICU_IRQ_EDGE_FALLING;
+ ICU.IRQCR[4].BYTE = _04_ICU_IRQ_EDGE_FALLING;
+
+ /* Set IRQ1 priority level */
+ IPR(ICU,IRQ1) = _0F_ICU_PRIORITY_LEVEL15;
+
+ /* Set IRQ4 priority level */
+ IPR(ICU,IRQ4) = _0F_ICU_PRIORITY_LEVEL15;
+
+ /* Set IRQ1 pin */
+ MPC.P31PFS.BYTE = 0x40U;
+ PORT3.PDR.BYTE &= 0xFDU;
+ PORT3.PMR.BYTE &= 0xFDU;
+
+ /* Set IRQ4 pin */
+ MPC.P34PFS.BYTE = 0x40U;
+ PORT3.PDR.BYTE &= 0xEFU;
+ PORT3.PMR.BYTE &= 0xEFU;
+}
+/***********************************************************************************************************************
+* Function Name: R_ICU_IRQ1_Start
+* Description : This function enables IRQ1 interrupt.
+* Arguments : None
+* Return Value : None
+***********************************************************************************************************************/
+void R_ICU_IRQ1_Start(void)
+{
+ /* Enable IRQ1 interrupt */
+ IEN(ICU,IRQ1) = 1U;
+}
+/***********************************************************************************************************************
+* Function Name: R_ICU_IRQ1_Stop
+* Description : This function disables IRQ1 interrupt.
+* Arguments : None
+* Return Value : None
+***********************************************************************************************************************/
+void R_ICU_IRQ1_Stop(void)
+{
+ /* Disable IRQ1 interrupt */
+ IEN(ICU,IRQ1) = 0U;
+}
+/***********************************************************************************************************************
+* Function Name: R_ICU_IRQ4_Start
+* Description : This function enables IRQ4 interrupt.
+* Arguments : None
+* Return Value : None
+***********************************************************************************************************************/
+void R_ICU_IRQ4_Start(void)
+{
+ /* Enable IRQ4 interrupt */
+ IEN(ICU,IRQ4) = 1U;
+}
+/***********************************************************************************************************************
+* Function Name: R_ICU_IRQ4_Stop
+* Description : This function disables IRQ4 interrupt.
+* Arguments : None
+* Return Value : None
+***********************************************************************************************************************/
+void R_ICU_IRQ4_Stop(void)
+{
+ /* Disable IRQ4 interrupt */
+ IEN(ICU,IRQ4) = 0U;
+}
+
+/* Start user code for adding. Do not edit comment generated here */
+
+/*******************************************************************************
+* Function Name: R_ICU_IRQIsFallingEdge
+* Description : This function returns 1 if the specified ICU_IRQ is set to
+* falling edge triggered, otherwise 0.
+* Arguments : uint8_t irq_no
+* Return Value : 1 if falling edge triggered, 0 if not
+*******************************************************************************/
+uint8_t R_ICU_IRQIsFallingEdge (const uint8_t irq_no)
+{
+ uint8_t falling_edge_trig = 0x0;
+
+ if (ICU.IRQCR[irq_no].BYTE & _04_ICU_IRQ_EDGE_FALLING)
+ {
+ falling_edge_trig = 1;
+ }
+
+ return falling_edge_trig;
+
+}
+
+/*******************************************************************************
+* End of function R_ICU_IRQIsFallingEdge
+*******************************************************************************/
+
+/*******************************************************************************
+* Function Name: R_ICU_IRQSetFallingEdge
+* Description : This function sets/clears the falling edge trigger for the
+* specified ICU_IRQ.
+* Arguments : uint8_t irq_no
+* uint8_t set_f_edge, 1 if setting falling edge triggered, 0 if
+* clearing
+* Return Value : None
+*******************************************************************************/
+void R_ICU_IRQSetFallingEdge (const uint8_t irq_no, const uint8_t set_f_edge)
+{
+ if (1 == set_f_edge)
+ {
+ ICU.IRQCR[irq_no].BYTE |= _04_ICU_IRQ_EDGE_FALLING;
+ }
+ else
+ {
+ ICU.IRQCR[irq_no].BYTE &= (uint8_t) ~_04_ICU_IRQ_EDGE_FALLING;
+ }
+}
+
+/******************************************************************************
+* End of function R_ICU_IRQSetFallingEdge
+*******************************************************************************/
+
+/*******************************************************************************
+* Function Name: R_ICU_IRQSetRisingEdge
+* Description : This function sets/clear the rising edge trigger for the
+* specified ICU_IRQ.
+* Arguments : uint8_t irq_no
+* uint8_t set_r_edge, 1 if setting rising edge triggered, 0 if
+* clearing
+* Return Value : None
+*******************************************************************************/
+void R_ICU_IRQSetRisingEdge (const uint8_t irq_no, const uint8_t set_r_edge)
+{
+ if (1 == set_r_edge)
+ {
+ ICU.IRQCR[irq_no].BYTE |= _08_ICU_IRQ_EDGE_RISING;
+ }
+ else
+ {
+ ICU.IRQCR[irq_no].BYTE &= (uint8_t) ~_08_ICU_IRQ_EDGE_RISING;
+ }
+}
+
+/******************************************************************************
+* End of function R_ICU_IRQSetRisingEdge
+*******************************************************************************/
+
+/* End user code. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_icu.h b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_icu.h
new file mode 100644
index 000000000..268b62eb1
--- /dev/null
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_icu.h
@@ -0,0 +1,185 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
+* applicable laws, including copyright laws.
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
+* following link:
+* http://www.renesas.com/disclaimer
+*
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+* File Name : r_cg_icu.h
+* Version : Code Generator for RX231 V1.00.00.03 [10 Jul 2015]
+* Device(s) : R5F52318AxFP
+* Tool-Chain : CCRX
+* Description : This file implements device driver for ICU module.
+* Creation Date: 2015/08/17
+***********************************************************************************************************************/
+#ifndef ICU_H
+#define ICU_H
+
+/***********************************************************************************************************************
+Macro definitions (Register bit)
+***********************************************************************************************************************/
+/*
+ Interrupt Request Enable Register 08 (IER08)
+*/
+/*Interrupt Request Enable/Disable(IENn) */
+#define _00_ICU_IRQ0_DISABLE (0x00U) /* IRQ0 interrupt request is disabled */
+#define _01_ICU_IRQ0_ENABLE (0x01U) /* IRQ0 interrupt request is enabled */
+#define _00_ICU_IRQ1_DISABLE (0x00U) /* IRQ1 interrupt request is disabled */
+#define _02_ICU_IRQ1_ENABLE (0x02U) /* IRQ1 interrupt request is enabled */
+#define _00_ICU_IRQ2_DISABLE (0x00U) /* IRQ2 interrupt request is disabled */
+#define _04_ICU_IRQ2_ENABLE (0x04U) /* IRQ2 interrupt request is enabled */
+#define _00_ICU_IRQ3_DISABLE (0x00U) /* IRQ3 interrupt request is disabled */
+#define _08_ICU_IRQ3_ENABLE (0x08U) /* IRQ3 interrupt request is enabled */
+#define _00_ICU_IRQ4_DISABLE (0x00U) /* IRQ4 interrupt request is disabled */
+#define _10_ICU_IRQ4_ENABLE (0x10U) /* IRQ4 interrupt request is enabled */
+#define _00_ICU_IRQ5_DISABLE (0x00U) /* IRQ5 interrupt request is disabled */
+#define _20_ICU_IRQ5_ENABLE (0x20U) /* IRQ5 interrupt request is enabled */
+#define _00_ICU_IRQ6_DISABLE (0x00U) /* IRQ6 interrupt request is disabled */
+#define _40_ICU_IRQ6_ENABLE (0x40U) /* IRQ6 interrupt request is enabled */
+#define _00_ICU_IRQ7_DISABLE (0x00U) /* IRQ7 interrupt request is disabled */
+#define _80_ICU_IRQ7_ENABLE (0x80U) /* IRQ7 interrupt request is enabled */
+
+/*
+ Interrupt Source Priority Register n (IPRn)
+*/
+/* Interrupt Priority Level Select (IPR[3:0]) */
+#define _00_ICU_PRIORITY_LEVEL0 (0x00U) /* Level 0 (interrupt disabled) */
+#define _01_ICU_PRIORITY_LEVEL1 (0x01U) /* Level 1 */
+#define _02_ICU_PRIORITY_LEVEL2 (0x02U) /* Level 2 */
+#define _03_ICU_PRIORITY_LEVEL3 (0x03U) /* Level 3 */
+#define _04_ICU_PRIORITY_LEVEL4 (0x04U) /* Level 4 */
+#define _05_ICU_PRIORITY_LEVEL5 (0x05U) /* Level 5 */
+#define _06_ICU_PRIORITY_LEVEL6 (0x06U) /* Level 6 */
+#define _07_ICU_PRIORITY_LEVEL7 (0x07U) /* Level 7 */
+#define _08_ICU_PRIORITY_LEVEL8 (0x08U) /* Level 8 */
+#define _09_ICU_PRIORITY_LEVEL9 (0x09U) /* Level 9 */
+#define _0A_ICU_PRIORITY_LEVEL10 (0x0AU) /* Level 10 */
+#define _0B_ICU_PRIORITY_LEVEL11 (0x0BU) /* Level 11 */
+#define _0C_ICU_PRIORITY_LEVEL12 (0x0CU) /* Level 12 */
+#define _0D_ICU_PRIORITY_LEVEL13 (0x0DU) /* Level 13 */
+#define _0E_ICU_PRIORITY_LEVEL14 (0x0EU) /* Level 14 */
+#define _0F_ICU_PRIORITY_LEVEL15 (0x0FU) /* Level 15 (highest) */
+
+/*
+ Fast Interrupt Set Register (FIR)
+*/
+/* Fast Interrupt Enable (FIEN) */
+#define _0000_ICU_FAST_INTERRUPT_DISABLE (0x0000U) /* Fast interrupt is disabled */
+#define _8000_ICU_FAST_INTERRUPT_ENABLE (0x8000U) /* Fast interrupt is enabled */
+
+/*
+ IRQ Control Register i (IRQCRi) (i = 0 to 7)
+*/
+/* IRQ Detection Sense Select (IRQMD[1:0]) */
+#define _00_ICU_IRQ_EDGE_LOW_LEVEL (0x00U) /* Low level */
+#define _04_ICU_IRQ_EDGE_FALLING (0x04U) /* Falling edge */
+#define _08_ICU_IRQ_EDGE_RISING (0x08U) /* Rising edge */
+#define _0C_ICU_IRQ_EDGE_BOTH (0x0CU) /* Rising and falling edge */
+
+/*
+ IRQ Pin Digital Filter Enable Register 0 (IRQFLTE0)
+*/
+/* Digital Filter Enable (FLTEN0n) */
+#define _00_ICU_IRQn_FILTER_DISABLE (0x00U) /* IRQn digital filter is disabled */
+#define _01_ICU_IRQ0_FILTER_ENABLE (0x01U) /* IRQ0 digital filter is enabled */
+#define _02_ICU_IRQ1_FILTER_ENABLE (0x02U) /* IRQ1 digital filter is enabled */
+#define _04_ICU_IRQ2_FILTER_ENABLE (0x04U) /* IRQ2 digital filter is enabled */
+#define _08_ICU_IRQ3_FILTER_ENABLE (0x08U) /* IRQ3 digital filter is enabled */
+#define _10_ICU_IRQ4_FILTER_ENABLE (0x10U) /* IRQ4 digital filter is enabled */
+#define _20_ICU_IRQ5_FILTER_ENABLE (0x20U) /* IRQ5 digital filter is enabled */
+#define _40_ICU_IRQ6_FILTER_ENABLE (0x40U) /* IRQ6 digital filter is enabled */
+#define _80_ICU_IRQ7_FILTER_ENABLE (0x80U) /* IRQ7 digital filter is enabled */
+
+/*
+ IRQ Pin Digital Filter Setting Register 0 (IRQFLTC0)
+*/
+/* IRQn Digital Filter Sampling Clock (FCLKSELn) */
+#define _0000_ICU_IRQ0_FILTER_PCLK (0x0000U) /* IRQ0 sample clock is run at every PCLK cycle */
+#define _0001_ICU_IRQ0_FILTER_PCLK_8 (0x0001U) /* IRQ0 sample clock is run at every PCLK/8 cycle */
+#define _0002_ICU_IRQ0_FILTER_PCLK_32 (0x0002U) /* IRQ0 sample clock is run at every PCLK/32 cycle */
+#define _0003_ICU_IRQ0_FILTER_PCLK_64 (0x0003U) /* IRQ0 sample clock is run at every PCLK/64 cycle */
+#define _0000_ICU_IRQ1_FILTER_PCLK (0x0000U) /* IRQ1 sample clock is run at every PCLK cycle */
+#define _0004_ICU_IRQ1_FILTER_PCLK_8 (0x0004U) /* IRQ1 sample clock is run at every PCLK/8 cycle */
+#define _0008_ICU_IRQ1_FILTER_PCLK_32 (0x0008U) /* IRQ1 sample clock is run at every PCLK/32 cycle */
+#define _000C_ICU_IRQ1_FILTER_PCLK_64 (0x000CU) /* IRQ1 sample clock is run at every PCLK/64 cycle */
+#define _0000_ICU_IRQ2_FILTER_PCLK (0x0000U) /* IRQ2 sample clock is run at every PCLK cycle */
+#define _0010_ICU_IRQ2_FILTER_PCLK_8 (0x0010U) /* IRQ2 sample clock is run at every PCLK/8 cycle */
+#define _0020_ICU_IRQ2_FILTER_PCLK_32 (0x0020U) /* IRQ2 sample clock is run at every PCLK/32 cycle */
+#define _0030_ICU_IRQ2_FILTER_PCLK_64 (0x0030U) /* IRQ2 sample clock is run at every PCLK/64 cycle */
+#define _0000_ICU_IRQ3_FILTER_PCLK (0x0000U) /* IRQ3 sample clock is run at every PCLK cycle */
+#define _0040_ICU_IRQ3_FILTER_PCLK_8 (0x0040U) /* IRQ3 sample clock is run at every PCLK/8 cycle */
+#define _0080_ICU_IRQ3_FILTER_PCLK_32 (0x0080U) /* IRQ3 sample clock is run at every PCLK/32 cycle */
+#define _00C0_ICU_IRQ3_FILTER_PCLK_64 (0x00C0U) /* IRQ3 sample clock is run at every PCLK/64 cycle */
+#define _0000_ICU_IRQ4_FILTER_PCLK (0x0000U) /* IRQ4 sample clock is run at every PCLK cycle */
+#define _0100_ICU_IRQ4_FILTER_PCLK_8 (0x0100U) /* IRQ4 sample clock is run at every PCLK/8 cycle */
+#define _0200_ICU_IRQ4_FILTER_PCLK_32 (0x0200U) /* IRQ4 sample clock is run at every PCLK/32 cycle */
+#define _0300_ICU_IRQ4_FILTER_PCLK_64 (0x0300U) /* IRQ4 sample clock is run at every PCLK/64 cycle */
+#define _0000_ICU_IRQ5_FILTER_PCLK (0x0000U) /* IRQ5 sample clock is run at every PCLK cycle */
+#define _0400_ICU_IRQ5_FILTER_PCLK_8 (0x0400U) /* IRQ5 sample clock is run at every PCLK/8 cycle */
+#define _0800_ICU_IRQ5_FILTER_PCLK_32 (0x0800U) /* IRQ5 sample clock is run at every PCLK/32 cycle */
+#define _0C00_ICU_IRQ5_FILTER_PCLK_64 (0x0C00U) /* IRQ5 sample clock is run at every PCLK/64 cycle */
+#define _0000_ICU_IRQ6_FILTER_PCLK (0x0000U) /* IRQ6 sample clock is run at every PCLK cycle */
+#define _1000_ICU_IRQ6_FILTER_PCLK_8 (0x1000U) /* IRQ6 sample clock is run at every PCLK/8 cycle */
+#define _2000_ICU_IRQ6_FILTER_PCLK_32 (0x2000U) /* IRQ6 sample clock is run at every PCLK/32 cycle */
+#define _3000_ICU_IRQ6_FILTER_PCLK_64 (0x3000U) /* IRQ6 sample clock is run at every PCLK/64 cycle */
+#define _0000_ICU_IRQ7_FILTER_PCLK (0x0000U) /* IRQ7 sample clock is run at every PCLK cycle */
+#define _4000_ICU_IRQ7_FILTER_PCLK_8 (0x4000U) /* IRQ7 sample clock is run at every PCLK/8 cycle */
+#define _8000_ICU_IRQ7_FILTER_PCLK_32 (0x8000U) /* IRQ7 sample clock is run at every PCLK/32 cycle */
+#define _C000_ICU_IRQ7_FILTER_PCLK_64 (0xC000U) /* IRQ7 sample clock is run at every PCLK/64 cycle */
+
+/*
+ NMI Pin Interrupt Control Register (NMICR)
+*/
+/* NMI Digital Filter Sampling Clock (NMIMD) */
+#define _00_ICU_NMI_EDGE_FALLING (0x00U) /* Falling edge */
+#define _08_ICU_NMI_EDGE_RISING (0x08U) /* Rising edge */
+
+/*
+ NMI Pin Digital Filter Setting Register (NMIFLTC)
+*/
+/* NMI Digital Filter Sampling Clock (NFCLKSEL[1:0]) */
+#define _00_ICU_NMI_FILTER_PCLK (0x00U) /* NMI sample clock is run at every PCLK cycle */
+#define _01_ICU_NMI_FILTER_PCLK_8 (0x01U) /* NMI sample clock is run at every PCLK/8 cycle */
+#define _02_ICU_NMI_FILTER_PCLK_32 (0x02U) /* NMI sample clock is run at every PCLK/32 cycle */
+#define _03_ICU_NMI_FILTER_PCLK_64 (0x03U) /* NMI sample clock is run at every PCLK/64 cycle */
+
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Typedef definitions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Global functions
+***********************************************************************************************************************/
+void R_ICU_Create(void);
+void R_ICU_IRQ1_Start(void);
+void R_ICU_IRQ1_Stop(void);
+void R_ICU_IRQ4_Start(void);
+void R_ICU_IRQ4_Stop(void);
+
+/* Start user code for function. Do not edit comment generated here */
+
+/* Function prototypes for detecting and setting the edge trigger of ICU_IRQ */
+uint8_t R_ICU_IRQIsFallingEdge(const uint8_t irq_no);
+void R_ICU_IRQSetFallingEdge(const uint8_t irq_no, const uint8_t set_f_edge);
+void R_ICU_IRQSetRisingEdge(const uint8_t irq_no, const uint8_t set_r_edge);
+
+/* End user code. Do not edit comment generated here */
+#endif \ No newline at end of file
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_interrupt_handlers.h b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_interrupt_handlers.h
new file mode 100644
index 000000000..c306c8b2e
--- /dev/null
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_interrupt_handlers.h
@@ -0,0 +1,72 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
+* applicable laws, including copyright laws.
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
+* following link:
+* http://www.renesas.com/disclaimer
+*
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+* File Name : r_cg_interrupt_handlers.h
+* Version : Code Generator for RX231 V1.00.00.03 [10 Jul 2015]
+* Device(s) : R5F52318AxFP
+* Tool-Chain : GCCRX
+* Description : This file declares interrupt handlers.
+* Creation Date: 23/09/2015
+***********************************************************************************************************************/
+#ifndef INTERRUPT_HANDLERS_H
+#define INTERRUPT_HANDLERS_H
+
+/***********************************************************************************************************************
+Macro definitions (Register bit)
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Typedef definitions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Global functions
+***********************************************************************************************************************/
+
+/* Undefined */
+void r_undefined_exception(void) __attribute__ ((interrupt));
+
+/* Access Exception */
+void r_access_exception(void) __attribute__ ((interrupt));
+
+/* Privileged Instruction Exception */
+void r_privileged_exception(void) __attribute__ ((interrupt));
+
+/* Floating Point Exception */
+void r_floatingpoint_exception(void) __attribute__ ((interrupt));
+
+/* NMI */
+void r_nmi_exception(void) __attribute__ ((interrupt));
+
+/* BRK */
+void r_brk_exception(void) __attribute__ ((interrupt));
+
+/* Hardware Vectors */
+void PowerON_Reset(void) __attribute__ ((interrupt));
+
+/* Idle Vectors */
+void r_undefined_exception(void) __attribute__ ((interrupt));
+void r_reserved_exception(void) __attribute__ ((interrupt));
+
+#endif \ No newline at end of file
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_macrodriver.h b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_macrodriver.h
index fde1c5181..830f871f0 100644
--- a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_macrodriver.h
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_macrodriver.h
@@ -2,15 +2,15 @@
* DISCLAIMER
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
-* applicable laws, including copyright laws.
+* applicable laws, including copyright laws.
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
-* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
* following link:
* http://www.renesas.com/disclaimer
*
@@ -21,7 +21,7 @@
* File Name : r_cg_macrodriver.h
* Version : Code Generator for RX231 V1.00.00.03 [10 Jul 2015]
* Device(s) : R5F52318AxFP
-* Tool-Chain : CCRX
+* Tool-Chain : GCCRX
* Description : This file implements general head file.
* Creation Date: 23/09/2015
***********************************************************************************************************************/
@@ -79,22 +79,18 @@ Typedef definitions
typedef signed long int32_t;
typedef unsigned long uint32_t;
- typedef signed char int_least8_t;
- typedef signed short int_least16_t;
- typedef signed long int_least32_t;
- typedef unsigned char uint_least8_t;
- typedef unsigned short uint_least16_t;
- typedef unsigned long uint_least32_t;
+ typedef signed char int_least8_t;
+ typedef signed short int_least16_t;
+ typedef signed long int_least32_t;
+ typedef unsigned char uint_least8_t;
+ typedef unsigned short uint_least16_t;
+ typedef unsigned long uint_least32_t;
#endif
typedef unsigned short MD_STATUS;
#define __TYPEDEF__
#endif
-/***********************************************************************************************************************
-Global functions
-***********************************************************************************************************************/
-void HardwareSetup(void);
-void R_Systeminit(void);
-#endif \ No newline at end of file
+
+#endif
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_port.c b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_port.c
new file mode 100644
index 000000000..e284f6baf
--- /dev/null
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_port.c
@@ -0,0 +1,69 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
+* applicable laws, including copyright laws.
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
+* following link:
+* http://www.renesas.com/disclaimer
+*
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+* File Name : r_cg_port.c
+* Version : Code Generator for RX231 V1.00.00.03 [10 Jul 2015]
+* Device(s) : R5F52318AxFP
+* Tool-Chain : CCRX
+* Description : This file implements device driver for Port module.
+* Creation Date: 2015/08/17
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Pragma directive
+***********************************************************************************************************************/
+/* Start user code for pragma. Do not edit comment generated here */
+/* End user code. Do not edit comment generated here */
+
+/***********************************************************************************************************************
+Includes
+***********************************************************************************************************************/
+#include "r_cg_macrodriver.h"
+#include "r_cg_port.h"
+/* Start user code for include. Do not edit comment generated here */
+/* End user code. Do not edit comment generated here */
+#include "r_cg_userdefine.h"
+
+/***********************************************************************************************************************
+Global variables and functions
+***********************************************************************************************************************/
+/* Start user code for global. Do not edit comment generated here */
+/* End user code. Do not edit comment generated here */
+
+/***********************************************************************************************************************
+* Function Name: R_PORT_Create
+* Description : This function initializes the Port I/O.
+* Arguments : None
+* Return Value : None
+***********************************************************************************************************************/
+void R_PORT_Create(void)
+{
+ PORT1.PODR.BYTE = _80_Pm7_OUTPUT_1;
+ PORT3.PODR.BYTE = _08_Pm3_OUTPUT_1;
+ PORT5.PODR.BYTE = _01_Pm0_OUTPUT_1 | _02_Pm1_OUTPUT_1 | _04_Pm2_OUTPUT_1;
+ PORTE.PODR.BYTE = _08_Pm3_OUTPUT_1 | _80_Pm7_OUTPUT_1;
+ PORT1.PDR.BYTE = _80_Pm7_MODE_OUTPUT;
+ PORT3.PDR.BYTE = _08_Pm3_MODE_OUTPUT;
+ PORT5.PDR.BYTE = _01_Pm0_MODE_OUTPUT | _02_Pm1_MODE_OUTPUT | _04_Pm2_MODE_OUTPUT;
+ PORTE.PDR.BYTE = _08_Pm3_MODE_OUTPUT | _10_Pm4_MODE_OUTPUT | _80_Pm7_MODE_OUTPUT;
+}
+
+/* Start user code for adding. Do not edit comment generated here */
+/* End user code. Do not edit comment generated here */
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_port.h b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_port.h
new file mode 100644
index 000000000..acf2cb591
--- /dev/null
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_port.h
@@ -0,0 +1,170 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
+* applicable laws, including copyright laws.
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the
+* following link:
+* http://www.renesas.com/disclaimer
+*
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+* File Name : r_cg_port.h
+* Version : Code Generator for RX231 V1.00.00.03 [10 Jul 2015]
+* Device(s) : R5F52318AxFP
+* Tool-Chain : CCRX
+* Description : This file implements device driver for Port module.
+* Creation Date: 2015/08/17
+***********************************************************************************************************************/
+#ifndef PORT_H
+#define PORT_H
+
+/***********************************************************************************************************************
+Macro definitions (Register bit)
+***********************************************************************************************************************/
+/*
+ Port Direction Register (PDR)
+*/
+/* Pmn Direction Control (B7 - B0) */
+#define _00_Pm0_MODE_NOT_USED (0x00U) /* Pm0 not used */
+#define _00_Pm0_MODE_INPUT (0x00U) /* Pm0 as input */
+#define _01_Pm0_MODE_OUTPUT (0x01U) /* Pm0 as output */
+#define _00_Pm1_MODE_NOT_USED (0x00U) /* Pm1 not used */
+#define _00_Pm1_MODE_INPUT (0x00U) /* Pm1 as input */
+#define _02_Pm1_MODE_OUTPUT (0x02U) /* Pm1 as output */
+#define _00_Pm2_MODE_NOT_USED (0x00U) /* Pm2 not used */
+#define _00_Pm2_MODE_INPUT (0x00U) /* Pm2 as input */
+#define _04_Pm2_MODE_OUTPUT (0x04U) /* Pm2 as output */
+#define _00_Pm3_MODE_NOT_USED (0x00U) /* Pm3 not used */
+#define _00_Pm3_MODE_INPUT (0x00U) /* Pm3 as input */
+#define _08_Pm3_MODE_OUTPUT (0x08U) /* Pm3 as output */
+#define _00_Pm4_MODE_NOT_USED (0x00U) /* Pm4 not used */
+#define _00_Pm4_MODE_INPUT (0x00U) /* Pm4 as input */
+#define _10_Pm4_MODE_OUTPUT (0x10U) /* Pm4 as output */
+#define _00_Pm5_MODE_NOT_USED (0x00U) /* Pm5 not used */
+#define _00_Pm5_MODE_INPUT (0x00U) /* Pm5 as input */
+#define _20_Pm5_MODE_OUTPUT (0x20U) /* Pm5 as output */
+#define _00_Pm6_MODE_NOT_USED (0x00U) /* Pm6 not used */
+#define _00_Pm6_MODE_INPUT (0x00U) /* Pm6 as input */
+#define _40_Pm6_MODE_OUTPUT (0x40U) /* Pm6 as output */
+#define _00_Pm7_MODE_NOT_USED (0x00U) /* Pm7 not used */
+#define _00_Pm7_MODE_INPUT (0x00U) /* Pm7 as input */
+#define _80_Pm7_MODE_OUTPUT (0x80U) /* Pm7 as output */
+
+/*
+ Port Output Data Register (PODR)
+*/
+/* Pmn Output Data Store (B7 - B0) */
+#define _00_Pm0_OUTPUT_0 (0x00U) /* output low at B0 */
+#define _01_Pm0_OUTPUT_1 (0x01U) /* output high at B0 */
+#define _00_Pm1_OUTPUT_0 (0x00U) /* output low at B1 */
+#define _02_Pm1_OUTPUT_1 (0x02U) /* output high at B1 */
+#define _00_Pm2_OUTPUT_0 (0x00U) /* output low at B2 */
+#define _04_Pm2_OUTPUT_1 (0x04U) /* output high at B2 */
+#define _00_Pm3_OUTPUT_0 (0x00U) /* output low at B3 */
+#define _08_Pm3_OUTPUT_1 (0x08U) /* output high at B3 */
+#define _00_Pm4_OUTPUT_0 (0x00U) /* output low at B4 */
+#define _10_Pm4_OUTPUT_1 (0x10U) /* output high at B4 */
+#define _00_Pm5_OUTPUT_0 (0x00U) /* output low at B5 */
+#define _20_Pm5_OUTPUT_1 (0x20U) /* output high at B5 */
+#define _00_Pm6_OUTPUT_0 (0x00U) /* output low at B6 */
+#define _40_Pm6_OUTPUT_1 (0x40U) /* output high at B6 */
+#define _00_Pm7_OUTPUT_0 (0x00U) /* output low at B7 */
+#define _80_Pm7_OUTPUT_1 (0x80U) /* output high at B7 */
+
+/*
+ Open Drain Control Register 0 (ODR0)
+*/
+/* Pmn Output Type Select (Pm0 to Pm3) */
+#define _00_Pm0_CMOS_OUTPUT (0x00U) /* CMOS output */
+#define _01_Pm0_NCH_OPEN_DRAIN (0x01U) /* N-channel open-drain output */
+#define _00_Pm1_CMOS_OUTPUT (0x00U) /* CMOS output */
+#define _04_Pm1_NCH_OPEN_DRAIN (0x04U) /* N-channel open-drain output */
+#define _08_Pm1_PCH_OPEN_DRAIN (0x08U) /* PMOS open-drain output, for PE1 only*/
+#define _00_Pm2_CMOS_OUTPUT (0x00U) /* CMOS output */
+#define _10_Pm2_NCH_OPEN_DRAIN (0x10U) /* N-channel open-drain output */
+#define _00_Pm3_CMOS_OUTPUT (0x00U) /* CMOS output */
+#define _40_Pm3_NCH_OPEN_DRAIN (0x40U) /* N-channel open-drain output */
+
+/*
+ Open Drain Control Register 1 (ODR1)
+*/
+/* Pmn Output Type Select (Pm4 to Pm7) */
+#define _00_Pm4_CMOS_OUTPUT (0x00U) /* CMOS output */
+#define _01_Pm4_NCH_OPEN_DRAIN (0x01U) /* N-channel open-drain output */
+#define _00_Pm5_CMOS_OUTPUT (0x00U) /* CMOS output */
+#define _04_Pm5_NCH_OPEN_DRAIN (0x04U) /* N-channel open-drain output */
+#define _00_Pm6_CMOS_OUTPUT (0x00U) /* CMOS output */
+#define _10_Pm6_NCH_OPEN_DRAIN (0x10U) /* N-channel open-drain output */
+#define _00_Pm7_CMOS_OUTPUT (0x00U) /* CMOS output */
+#define _40_Pm7_NCH_OPEN_DRAIN (0x40U) /* N-channel open-drain output */
+
+/*
+ Pull-Up Control Register (PCR)
+*/
+/* Pmn Input Pull-Up Resistor Control (B7 - B0) */
+#define _00_Pm0_PULLUP_OFF (0x00U) /* Pm0 pull-up resistor not connected */
+#define _01_Pm0_PULLUP_ON (0x01U) /* Pm0 pull-up resistor connected */
+#define _00_Pm1_PULLUP_OFF (0x00U) /* Pm1 pull-up resistor not connected */
+#define _02_Pm1_PULLUP_ON (0x02U) /* Pm1 pull-up resistor connected */
+#define _00_Pm2_PULLUP_OFF (0x00U) /* Pm2 Pull-up resistor not connected */
+#define _04_Pm2_PULLUP_ON (0x04U) /* Pm2 pull-up resistor connected */
+#define _00_Pm3_PULLUP_OFF (0x00U) /* Pm3 pull-up resistor not connected */
+#define _08_Pm3_PULLUP_ON (0x08U) /* Pm3 pull-up resistor connected */
+#define _00_Pm4_PULLUP_OFF (0x00U) /* Pm4 pull-up resistor not connected */
+#define _10_Pm4_PULLUP_ON (0x10U) /* Pm4 pull-up resistor connected */
+#define _00_Pm5_PULLUP_OFF (0x00U) /* Pm5 pull-up resistor not connected */
+#define _20_Pm5_PULLUP_ON (0x20U) /* Pm5 pull-up resistor connected */
+#define _00_Pm6_PULLUP_OFF (0x00U) /* Pm6 pull-up resistor not connected */
+#define _40_Pm6_PULLUP_ON (0x40U) /* Pm6 pull-up resistor connected */
+#define _00_Pm7_PULLUP_OFF (0x00U) /* Pm7 pull-up resistor not connected */
+#define _80_Pm7_PULLUP_ON (0x80U) /* Pm7 pull-up resistor connected */
+
+/*
+ Drive Capacity Control Register (DSCR)
+*/
+/* Pmn Drive Capacity Control (B7 - B0) */
+#define _00_Pm0_HIDRV_OFF (0x00U) /* Pm0 Normal drive output */
+#define _01_Pm0_HIDRV_ON (0x01U) /* Pm0 High-drive output */
+#define _00_Pm1_HIDRV_OFF (0x00U) /* Pm1 Normal drive output */
+#define _02_Pm1_HIDRV_ON (0x02U) /* Pm1 High-drive output */
+#define _00_Pm2_HIDRV_OFF (0x00U) /* Pm2 Normal drive output */
+#define _04_Pm2_HIDRV_ON (0x04U) /* Pm2 High-drive output */
+#define _00_Pm3_HIDRV_OFF (0x00U) /* Pm3 Normal drive output */
+#define _08_Pm3_HIDRV_ON (0x08U) /* Pm3 High-drive output */
+#define _00_Pm4_HIDRV_OFF (0x00U) /* Pm4 Normal drive output */
+#define _10_Pm4_HIDRV_ON (0x10U) /* Pm4 High-drive output */
+#define _00_Pm5_HIDRV_OFF (0x00U) /* Pm5 Normal drive output */
+#define _20_Pm5_HIDRV_ON (0x20U) /* Pm5 High-drive output */
+#define _00_Pm6_HIDRV_OFF (0x00U) /* Pm6 Normal drive output */
+#define _40_Pm6_HIDRV_ON (0x40U) /* Pm6 High-drive output */
+#define _00_Pm7_HIDRV_OFF (0x00U) /* Pm7 Normal drive output */
+#define _80_Pm7_HIDRV_ON (0x80U) /* Pm7 High-drive output */
+
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+
+
+/***********************************************************************************************************************
+Typedef definitions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Global functions
+***********************************************************************************************************************/
+void R_PORT_Create(void);
+
+/* Start user code for function. Do not edit comment generated here */
+/* End user code. Do not edit comment generated here */
+#endif \ No newline at end of file
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_userdefine.h b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_userdefine.h
index 767d34492..46d6d5e98 100644
--- a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_userdefine.h
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/cg_src/r_cg_userdefine.h
@@ -23,7 +23,7 @@
* Device(s) : R5F52318AxFP
* Tool-Chain : CCRX
* Description : This file includes user definition.
-* Creation Date: 23/09/2015
+* Creation Date: 2015/08/17
***********************************************************************************************************************/
#ifndef _USER_DEF_H
#define _USER_DEF_H
@@ -34,5 +34,11 @@ User definitions
#define FAST_INTERRUPT_VECTOR 0
/* Start user code for function. Do not edit comment generated here */
+
+#define TRUE (1)
+#define FALSE (0)
+
+extern volatile uint8_t g_adc_trigger;
+
/* End user code. Do not edit comment generated here */
#endif \ No newline at end of file
diff --git a/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/rskrx231def.h b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/rskrx231def.h
new file mode 100644
index 000000000..d7b568eee
--- /dev/null
+++ b/FreeRTOS/Demo/RX200_RX231-RSK_Renesas_e2studio/src/rskrx231def.h
@@ -0,0 +1,71 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No
+* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
+* applicable laws, including copyright laws.
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
+* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM
+* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS
+* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of
+* this software. By using this software, you agree to the additional terms and conditions found by accessing the
+* following link:
+* http://www.renesas.com/disclaimer
+*
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name : rskrx231def.h
+* Device(s) : R5F52318AxFP
+* Tool-Chain : CCRX
+* H/W Platform : RSKRX231
+* Description : Defines macros relating to the RSKRX231 user LEDs and switches
+***********************************************************************************************************************/
+/**********************************************************************************************************************
+* History : DD.MM.YYYY Version Description
+* : 01.06.2015 1.00 First Release
+***********************************************************************************************************************/
+
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+#ifndef RSKRX231_H
+#define RSKRX231_H
+
+
+/* General Values */
+#define LED_ON (0)
+#define LED_OFF (1)
+#define SET_BIT_HIGH (1)
+#define SET_BIT_LOW (0)
+#define SET_BYTE_HIGH (0xFF)
+#define SET_BYTE_LOW (0x00)
+
+/* Switches */
+#define SW1 (PORT3.PIDR.BIT.B1)
+#define SW2 (PORT3.PIDR.BIT.B4)
+#define SW3 (PORT0.PIDR.BIT.B7)
+
+/* LED port settings */
+#define LED0 (PORT1.PODR.BIT.B7)
+#define LED1 (PORT5.PODR.BIT.B0)
+#define LED2 (PORT5.PODR.BIT.B1)
+#define LED3 (PORT5.PODR.BIT.B2)
+
+/***********************************************************************************************************************
+Typedef definitions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Exported global variables
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Exported global functions (to be accessed by other files)
+***********************************************************************************************************************/
+
+#endif
+