mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-02-21 20:05:21 +08:00
[drivers][bsp][reness] Add Etherkit bsp and RZ series driver compatibility adaptation
This commit is contained in:
parent
600e4ab517
commit
96772832f8
1
.github/workflows/bsp_buildings.yml
vendored
1
.github/workflows/bsp_buildings.yml
vendored
@ -248,6 +248,7 @@ jobs:
|
||||
- "renesas/ra8d1-vision-board"
|
||||
- "renesas/rzt2m_rsk"
|
||||
- "renesas/rzn2l_rsk"
|
||||
- "renesas/rzn2l_etherkit"
|
||||
- "frdm-k64f"
|
||||
- "xplorer4330/M4"
|
||||
- RTT_BSP: "nuvoton"
|
||||
|
@ -55,7 +55,7 @@ if GetDepend(['BSP_USING_TIM']):
|
||||
if GetDepend(['BSP_USING_ETH']):
|
||||
src += ['drv_eth.c']
|
||||
|
||||
if GetDepend(['BSP_USING_CAN']):
|
||||
if GetDepend(['BSP_USING_CAN']) or GetDepend('BSP_USING_CANFD'):
|
||||
src += ['drv_can.c']
|
||||
|
||||
if GetDepend(['BSP_USING_SDHI']):
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2021-07-29 KyleChan first version
|
||||
* 2022-12-7 Vandoul ADD ra4m2
|
||||
*/
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2021-07-29 KyleChan first version
|
||||
* 2022-12-7 Vandoul ADD ra4m2
|
||||
*/
|
||||
|
||||
#ifndef __DRV_CONFIG_H__
|
||||
#define __DRV_CONFIG_H__
|
||||
@ -145,6 +145,10 @@ extern "C"
|
||||
#include "rzt/uart_config.h"
|
||||
#include "rzt/timer_config.h"
|
||||
|
||||
#ifdef BSP_USING_CANFD
|
||||
#include "rzt/canfd_config.h"
|
||||
#endif
|
||||
|
||||
#ifdef BSP_USING_PWM
|
||||
#include "rzt/pwm_config.h"
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -28,6 +28,6 @@ typedef enum
|
||||
#define ENABLE_DOUBLE_BUFFER (1)
|
||||
|
||||
#define LCD_BL_PIN BSP_IO_PORT_10_PIN_11
|
||||
#define LCD_RST_PIN BSP_IO_PORT_11_PIN_04
|
||||
#define LCD_RST_PIN BSP_IO_PORT_11_PIN_04
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
85
bsp/renesas/libraries/HAL_Drivers/config/rzt/can_config.h
Normal file
85
bsp/renesas/libraries/HAL_Drivers/config/rzt/can_config.h
Normal file
@ -0,0 +1,85 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2025-02-11 kurisaW first version
|
||||
*/
|
||||
|
||||
#ifndef __CAN_CONFIG_H__
|
||||
#define __CAN_CONFIG_H__
|
||||
|
||||
#include <rtthread.h>
|
||||
#include "hal_data.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#if defined(BSP_USING_CAN0)
|
||||
#ifndef CANFD0_CONFIG
|
||||
#define CANFD0_CONFIG \
|
||||
{ \
|
||||
.name = "canfd0", \
|
||||
.num_of_mailboxs = 48, \
|
||||
.p_api_ctrl = &g_canfd0_ctrl, \
|
||||
.p_cfg = &g_canfd0_cfg, \
|
||||
}
|
||||
#endif /* CAN0_CONFIG */
|
||||
#endif /* BSP_USING_CAN0 */
|
||||
|
||||
#if defined(BSP_USING_CAN1)
|
||||
#ifndef CANFD1_CONFIG
|
||||
#define CANFD1_CONFIG \
|
||||
{ \
|
||||
.name = "canfd1", \
|
||||
.num_of_mailboxs = 48, \
|
||||
.p_api_ctrl = &g_canfd1_ctrl, \
|
||||
.p_cfg = &g_canfd1_cfg, \
|
||||
}
|
||||
#endif /* CAN1_CONFIG */
|
||||
#endif /* BSP_USING_CAN1 */
|
||||
|
||||
const canfd_afl_entry_t p_canfd0_afl[CANFD_CFG_AFL_CH0_RULE_NUM] =
|
||||
{
|
||||
{
|
||||
.id =
|
||||
{
|
||||
.id = 0x00,
|
||||
.frame_type = CAN_FRAME_TYPE_DATA,
|
||||
.id_mode = CAN_ID_MODE_STANDARD
|
||||
},
|
||||
.destination =
|
||||
{
|
||||
.minimum_dlc = CANFD_MINIMUM_DLC_0,
|
||||
.rx_buffer = CANFD_RX_MB_NONE,
|
||||
.fifo_select_flags = CANFD_RX_FIFO_0
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
const canfd_afl_entry_t p_canfd1_afl[CANFD_CFG_AFL_CH1_RULE_NUM] =
|
||||
{
|
||||
{
|
||||
.id =
|
||||
{
|
||||
.id = 0x01,
|
||||
.frame_type = CAN_FRAME_TYPE_DATA,
|
||||
.id_mode = CAN_ID_MODE_STANDARD
|
||||
},
|
||||
.destination =
|
||||
{
|
||||
.minimum_dlc = CANFD_MINIMUM_DLC_1,
|
||||
.rx_buffer = CANFD_RX_MB_NONE,
|
||||
.fifo_select_flags = CANFD_RX_FIFO_1
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,11 +1,12 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2021-10-29 mazhiyuan first version
|
||||
* 2025-02-11 kurisaW support can and canfd drivers for RZ family
|
||||
*/
|
||||
|
||||
#include "drv_can.h"
|
||||
@ -47,6 +48,18 @@ static const struct ra_baud_rate_tab can_baud_rate_tab[] =
|
||||
{CAN10kBaud, 4, 14, 5, 1 + 249}
|
||||
};
|
||||
|
||||
#if defined(BSP_USING_CANFD)
|
||||
|
||||
#define can_instance_ctrl_t canfd_instance_ctrl_t
|
||||
|
||||
#define R_CAN_Open R_CANFD_Open
|
||||
#define R_BSP_IrqStatusClear R_BSP_IrqClearPending
|
||||
#define R_CAN_ModeTransition R_CANFD_ModeTransition
|
||||
#define R_CAN_InfoGet R_CANFD_InfoGet
|
||||
#define R_CAN_Write R_CANFD_Write
|
||||
|
||||
#endif
|
||||
|
||||
static rt_uint32_t get_can_baud_index(rt_uint32_t baud)
|
||||
{
|
||||
rt_uint32_t len, index;
|
||||
@ -66,13 +79,13 @@ static void ra_can_get_config(void)
|
||||
struct can_configure config = CANDEFAULTCONFIG;
|
||||
#ifdef BSP_USING_CAN0
|
||||
can_obj[CAN0_INDEX].can_dev.config = config;
|
||||
can_obj[CAN0_INDEX].can_dev.config.msgboxsz = CAN_NO_OF_MAILBOXES_g_can0;
|
||||
can_obj[CAN0_INDEX].can_dev.config.msgboxsz = 32;
|
||||
can_obj[CAN0_INDEX].can_dev.config.sndboxnumber = 1;
|
||||
can_obj[CAN0_INDEX].can_dev.config.ticks = 50;
|
||||
#endif
|
||||
#ifdef BSP_USING_CAN1
|
||||
can_obj[CAN1_INDEX].can_dev.config = config;
|
||||
can_obj[CAN1_INDEX].can_dev.config.msgboxsz = CAN_NO_OF_MAILBOXES_g_can1;
|
||||
can_obj[CAN1_INDEX].can_dev.config.msgboxsz = 32;
|
||||
can_obj[CAN1_INDEX].can_dev.config.sndboxnumber = 1;
|
||||
can_obj[CAN1_INDEX].can_dev.config.ticks = 50;
|
||||
#endif
|
||||
@ -168,7 +181,7 @@ rt_err_t ra_can_control(struct rt_can_device *can_dev, int cmd, void *arg)
|
||||
}
|
||||
return RT_EOK;
|
||||
}
|
||||
int ra_can_sendmsg(struct rt_can_device *can_dev, const void *buf, rt_uint32_t boxno)
|
||||
rt_ssize_t ra_can_sendmsg(struct rt_can_device *can_dev, const void *buf, rt_uint32_t boxno)
|
||||
{
|
||||
struct ra_can *can;
|
||||
can_frame_t g_can_tx_frame;
|
||||
@ -180,7 +193,13 @@ int ra_can_sendmsg(struct rt_can_device *can_dev, const void *buf, rt_uint32_t b
|
||||
g_can_tx_frame.id_mode = msg_rt->ide;
|
||||
g_can_tx_frame.type = msg_rt->rtr;
|
||||
g_can_tx_frame.data_length_code = msg_rt->len;
|
||||
#if defined(BSP_USING_CANFD) && defined(BSP_USING_CAN_RZ)
|
||||
g_can_tx_frame.options = 0;
|
||||
#elif defined(BSP_USING_CANFD)
|
||||
g_can_tx_frame.options = CANFD_FRAME_OPTION_FD | CANFD_FRAME_OPTION_BRS;
|
||||
#else
|
||||
g_can_tx_frame.options = 0;
|
||||
#endif
|
||||
memcpy(g_can_tx_frame.data, msg_rt->data, 8);
|
||||
can = rt_container_of(can_dev, struct ra_can, can_dev);
|
||||
RT_ASSERT(boxno < can->config->num_of_mailboxs);
|
||||
@ -193,7 +212,7 @@ int ra_can_sendmsg(struct rt_can_device *can_dev, const void *buf, rt_uint32_t b
|
||||
return RT_EOK;
|
||||
}
|
||||
|
||||
int ra_can_recvmsg(struct rt_can_device *can_dev, void *buf, rt_uint32_t boxno)
|
||||
rt_ssize_t ra_can_recvmsg(struct rt_can_device *can_dev, void *buf, rt_uint32_t boxno)
|
||||
{
|
||||
struct rt_can_msg *msg_rt = (struct rt_can_msg *)buf;
|
||||
can_frame_t *msg_ra;
|
||||
@ -205,7 +224,11 @@ int ra_can_recvmsg(struct rt_can_device *can_dev, void *buf, rt_uint32_t boxno)
|
||||
RT_ASSERT(boxno < can->config->num_of_mailboxs);
|
||||
if (can->callback_args->mailbox != boxno)
|
||||
return 0;
|
||||
#if defined(BSP_USING_CANFD)
|
||||
msg_ra = &can->callback_args->frame;
|
||||
#else
|
||||
msg_ra = can->callback_args->p_frame;
|
||||
#endif
|
||||
|
||||
msg_rt->id = msg_ra->id;
|
||||
msg_rt->ide = msg_ra->id_mode;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -36,7 +36,8 @@ static void SysTimerInterrupt(void);
|
||||
static void reboot(uint8_t argc, char **argv)
|
||||
{
|
||||
#ifdef SOC_SERIES_R9A07G0
|
||||
return;
|
||||
R_BSP_RegisterProtectDisable(BSP_REG_PROTECT_LPC_RESET);
|
||||
R_BSP_SystemReset();
|
||||
#else
|
||||
NVIC_SystemReset();
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,15 +1,16 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2018-11-19 SummerGift first version
|
||||
* 2018-12-25 zylx fix some bugs
|
||||
* 2019-06-10 SummerGift optimize PHY state detection process
|
||||
* 2019-09-03 xiaofan optimize link change detection process
|
||||
*/
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2018-11-19 SummerGift first version
|
||||
* 2018-12-25 zylx fix some bugs
|
||||
* 2019-06-10 SummerGift optimize PHY state detection process
|
||||
* 2019-09-03 xiaofan optimize link change detection process
|
||||
* 2025-02-11 kurisaW adaptation for RZ Ethernet driver
|
||||
*/
|
||||
|
||||
#include "drv_config.h"
|
||||
#include "drv_eth.h"
|
||||
@ -17,35 +18,24 @@
|
||||
#include <netif/ethernetif.h>
|
||||
#include <lwipopts.h>
|
||||
|
||||
/*
|
||||
* Emac driver uses CubeMX tool to generate emac and phy's configuration,
|
||||
* the configuration files can be found in CubeMX_Config folder.
|
||||
*/
|
||||
|
||||
/* debug option */
|
||||
//#define ETH_RX_DUMP
|
||||
//#define ETH_TX_DUMP
|
||||
#define MINIMUM_ETHERNET_FRAME_SIZE (60U)
|
||||
#define ETH_MAX_PACKET_SIZE 1514
|
||||
// #define ETH_RX_DUMP
|
||||
// #define ETH_TX_DUMP
|
||||
#define MINIMUM_ETHERNET_FRAME_SIZE (60U)
|
||||
#define ETH_MAX_PACKET_SIZE (2048U)
|
||||
#define ETHER_GMAC_INTERRUPT_FACTOR_RECEPTION (0x000000C0)
|
||||
#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE
|
||||
#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE
|
||||
//#define DRV_DEBUG
|
||||
#define LOG_TAG "drv.eth"
|
||||
// #define DRV_DEBUG
|
||||
#define LOG_TAG "drv.eth"
|
||||
#ifdef DRV_DEBUG
|
||||
#define DBG_LVL DBG_LOG
|
||||
#define DBG_LVL DBG_LOG
|
||||
#else
|
||||
#define DBG_LVL DBG_INFO
|
||||
#define DBG_LVL DBG_INFO
|
||||
#endif /* DRV_DEBUG */
|
||||
#include <rtdbg.h>
|
||||
|
||||
#define MAX_ADDR_LEN 6
|
||||
|
||||
#undef PHY_FULL_DUPLEX
|
||||
#define PHY_LINK (1 << 0)
|
||||
#define PHY_100M (1 << 1)
|
||||
#define PHY_FULL_DUPLEX (1 << 2)
|
||||
|
||||
struct rt_ra6m3_eth
|
||||
struct rt_eth_dev
|
||||
{
|
||||
/* inherit from ethernet device */
|
||||
struct eth_device parent;
|
||||
@ -55,8 +45,24 @@ struct rt_ra6m3_eth
|
||||
};
|
||||
|
||||
static rt_uint8_t *Rx_Buff, *Tx_Buff;
|
||||
//static ETH_HandleTypeDef EthHandle;
|
||||
static struct rt_ra6m3_eth ra6m3_eth_device;
|
||||
// static ETH_HandleTypeDef EthHandle;
|
||||
static struct rt_eth_dev ra_eth_device;
|
||||
|
||||
static uint8_t g_link_change = 0; ///< Link change (bit0:port0, bit1:port1, bit2:port2)
|
||||
static uint8_t g_link_status = 0; ///< Link status (bit0:port0, bit1:port1, bit2:port2)
|
||||
static uint8_t previous_link_status = 0;
|
||||
|
||||
#if defined(SOC_SERIES_R9A07G0)
|
||||
|
||||
#define status_ecsr status_link
|
||||
#define ETHER_EVENT_INTERRUPT ETHER_EVENT_SBD_INTERRUPT
|
||||
|
||||
#define R_ETHER_Open R_GMAC_Open
|
||||
#define R_ETHER_Write R_GMAC_Write
|
||||
#define R_ETHER_Read R_GMAC_Read
|
||||
#define R_ETHER_LinkProcess R_GMAC_LinkProcess
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(ETH_RX_DUMP) || defined(ETH_TX_DUMP)
|
||||
#define __is_print(ch) ((unsigned int)((ch) - ' ') < 127u - ' ')
|
||||
@ -86,43 +92,44 @@ static void dump_hex(const rt_uint8_t *ptr, rt_size_t buflen)
|
||||
|
||||
extern void phy_reset(void);
|
||||
/* EMAC initialization function */
|
||||
static rt_err_t rt_ra6m3_eth_init(void)
|
||||
static rt_err_t rt_ra_eth_init(void)
|
||||
{
|
||||
fsp_err_t res;
|
||||
|
||||
res = R_ETHER_Open(&g_ether0_ctrl, &g_ether0_cfg);
|
||||
if (res != FSP_SUCCESS)
|
||||
LOG_W("R_ETHER_Open failed!, res = %d", res);
|
||||
|
||||
return RT_EOK;
|
||||
}
|
||||
|
||||
static rt_err_t rt_ra6m3_eth_open(rt_device_t dev, rt_uint16_t oflag)
|
||||
static rt_err_t rt_ra_eth_open(rt_device_t dev, rt_uint16_t oflag)
|
||||
{
|
||||
LOG_D("emac open");
|
||||
return RT_EOK;
|
||||
}
|
||||
|
||||
static rt_err_t rt_ra6m3_eth_close(rt_device_t dev)
|
||||
static rt_err_t rt_ra_eth_close(rt_device_t dev)
|
||||
{
|
||||
LOG_D("emac close");
|
||||
return RT_EOK;
|
||||
}
|
||||
|
||||
static rt_ssize_t rt_ra6m3_eth_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size)
|
||||
static rt_ssize_t rt_ra_eth_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size)
|
||||
{
|
||||
LOG_D("emac read");
|
||||
rt_set_errno(-RT_ENOSYS);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static rt_ssize_t rt_ra6m3_eth_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size)
|
||||
static rt_ssize_t rt_ra_eth_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size)
|
||||
{
|
||||
LOG_D("emac write");
|
||||
rt_set_errno(-RT_ENOSYS);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static rt_err_t rt_ra6m3_eth_control(rt_device_t dev, int cmd, void *args)
|
||||
static rt_err_t rt_ra_eth_control(rt_device_t dev, int cmd, void *args)
|
||||
{
|
||||
switch (cmd)
|
||||
{
|
||||
@ -130,7 +137,11 @@ static rt_err_t rt_ra6m3_eth_control(rt_device_t dev, int cmd, void *args)
|
||||
/* get mac address */
|
||||
if (args)
|
||||
{
|
||||
#if defined(SOC_SERIES_R9A07G0)
|
||||
SMEMCPY(args, g_ether0_ctrl.p_gmac_cfg->p_mac_address, 6);
|
||||
#else
|
||||
SMEMCPY(args, g_ether0_ctrl.p_ether_cfg->p_mac_address, 6);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -138,7 +149,7 @@ static rt_err_t rt_ra6m3_eth_control(rt_device_t dev, int cmd, void *args)
|
||||
}
|
||||
break;
|
||||
|
||||
default :
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -147,7 +158,7 @@ static rt_err_t rt_ra6m3_eth_control(rt_device_t dev, int cmd, void *args)
|
||||
|
||||
/* ethernet device interface */
|
||||
/* transmit data*/
|
||||
rt_err_t rt_ra6m3_eth_tx(rt_device_t dev, struct pbuf *p)
|
||||
rt_err_t rt_ra_eth_tx(rt_device_t dev, struct pbuf *p)
|
||||
{
|
||||
fsp_err_t res;
|
||||
struct pbuf *q;
|
||||
@ -185,7 +196,6 @@ rt_err_t rt_ra6m3_eth_tx(rt_device_t dev, struct pbuf *p)
|
||||
framelength = framelength + byteslefttocopy;
|
||||
}
|
||||
|
||||
|
||||
#ifdef ETH_TX_DUMP
|
||||
dump_hex(buffer, p->tot_len);
|
||||
#endif
|
||||
@ -197,7 +207,6 @@ rt_err_t rt_ra6m3_eth_tx(rt_device_t dev, struct pbuf *p)
|
||||
{
|
||||
dump_hex(q->payload, q->len);
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
res = R_ETHER_Write(&g_ether0_ctrl, buffer, p->tot_len);//>MINIMUM_ETHERNET_FRAME_SIZE?p->tot_len:MINIMUM_ETHERNET_FRAME_SIZE);
|
||||
@ -207,7 +216,7 @@ rt_err_t rt_ra6m3_eth_tx(rt_device_t dev, struct pbuf *p)
|
||||
}
|
||||
|
||||
/* receive data*/
|
||||
struct pbuf *rt_ra6m3_eth_rx(rt_device_t dev)
|
||||
struct pbuf *rt_ra_eth_rx(rt_device_t dev)
|
||||
{
|
||||
struct pbuf *p = NULL;
|
||||
struct pbuf *q = NULL;
|
||||
@ -270,98 +279,116 @@ struct pbuf *rt_ra6m3_eth_rx(rt_device_t dev)
|
||||
{
|
||||
dump_hex(q->payload, q->len);
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
static void phy_linkchange()
|
||||
{
|
||||
static uint32_t phy_speed = 0;
|
||||
uint32_t phy_speed_new = 0;
|
||||
fsp_err_t res;
|
||||
uint8_t port = 0;
|
||||
uint8_t port_bit = 0;
|
||||
|
||||
uint32_t p_local_pause;
|
||||
uint32_t p_partner_pause;
|
||||
#if defined(SOC_SERIES_R9A07G0)
|
||||
gmac_link_status_t port_status;
|
||||
#endif
|
||||
|
||||
res = R_ETHER_LinkProcess(&g_ether0_ctrl);
|
||||
if (res != FSP_SUCCESS)
|
||||
LOG_D("R_ETHER_LinkProcess failed!, res = %d", res);
|
||||
|
||||
res = R_ETHER_PHY_LinkStatusGet(&g_ether_phy0_ctrl);
|
||||
if (res != FSP_SUCCESS)
|
||||
LOG_D("R_ETHER_PHY_LinkStatusGet failed!, res = %d", res);
|
||||
|
||||
if(res == FSP_ERR_ETHER_PHY_ERROR_LINK)
|
||||
if (0 == g_ether0.p_cfg->p_callback)
|
||||
{
|
||||
LOG_D("link down");
|
||||
eth_device_linkchange(&ra6m3_eth_device.parent, RT_FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
res = R_ETHER_PHY_LinkPartnerAbilityGet(&g_ether_phy0_ctrl,
|
||||
&phy_speed_new,
|
||||
&p_local_pause,
|
||||
&p_partner_pause);
|
||||
if (res != FSP_SUCCESS)
|
||||
LOG_D("R_ETHER_PHY_LinkPartnerAbilityGet failed!, res = %d", res);
|
||||
|
||||
if(res == FSP_ERR_ETHER_PHY_ERROR_LINK)
|
||||
{
|
||||
LOG_I("link down");
|
||||
eth_device_linkchange(&ra6m3_eth_device.parent, RT_FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (phy_speed != phy_speed_new)
|
||||
{
|
||||
phy_speed = phy_speed_new;
|
||||
if (phy_speed != ETHER_PHY_LINK_SPEED_NO_LINK)
|
||||
for (port = 0; port < PING_PORT_COUNT; port++)
|
||||
{
|
||||
LOG_D("link up");
|
||||
if (phy_speed == ETHER_PHY_LINK_SPEED_100H || phy_speed == ETHER_PHY_LINK_SPEED_100F)
|
||||
#if defined(SOC_SERIES_R9A07G0)
|
||||
res = R_GMAC_GetLinkStatus(&g_ether0_ctrl, port, &port_status);
|
||||
#else
|
||||
res = R_ETHER_PHY_LinkStatusGet(&g_ether_phy0_ctrl);
|
||||
#endif
|
||||
if (FSP_SUCCESS != res)
|
||||
{
|
||||
LOG_D("100Mbps");
|
||||
/* An error has occurred */
|
||||
LOG_E("PHY_LinkStatus get failed!, res = %d", res);
|
||||
break;
|
||||
}
|
||||
|
||||
/* Set link up */
|
||||
g_link_status |= (uint8_t)(1U << port);
|
||||
}
|
||||
if (FSP_SUCCESS == res)
|
||||
{
|
||||
/* Set changed link status */
|
||||
g_link_change = previous_link_status ^ g_link_status;
|
||||
}
|
||||
}
|
||||
|
||||
for (port = 0; port < PING_PORT_COUNT; port++)
|
||||
{
|
||||
port_bit = (uint8_t)(1U << port);
|
||||
|
||||
if (g_link_change & port_bit)
|
||||
{
|
||||
/* Link status changed */
|
||||
g_link_change &= (uint8_t)(~port_bit); // change bit clear
|
||||
|
||||
if (g_link_status & port_bit)
|
||||
{
|
||||
/* Changed to Link-up */
|
||||
eth_device_linkchange(&ra_eth_device.parent, RT_TRUE);
|
||||
LOG_I("link up");
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_D("10Mbps");
|
||||
/* Changed to Link-down */
|
||||
eth_device_linkchange(&ra_eth_device.parent, RT_FALSE);
|
||||
LOG_I("link down");
|
||||
}
|
||||
|
||||
if (phy_speed == ETHER_PHY_LINK_SPEED_100F || phy_speed == ETHER_PHY_LINK_SPEED_10F)
|
||||
{
|
||||
LOG_D("full-duplex");
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_D("half-duplex");
|
||||
}
|
||||
|
||||
/* send link up. */
|
||||
LOG_I("link up");
|
||||
eth_device_linkchange(&ra6m3_eth_device.parent, RT_TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_D("link down");
|
||||
eth_device_linkchange(&ra6m3_eth_device.parent, RT_FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
previous_link_status = g_link_status;
|
||||
}
|
||||
|
||||
void user_ether0_callback(ether_callback_args_t * p_args)
|
||||
void user_ether0_callback(ether_callback_args_t *p_args)
|
||||
{
|
||||
rt_err_t result;
|
||||
result = eth_device_ready(&(ra6m3_eth_device.parent));
|
||||
rt_interrupt_enter();
|
||||
|
||||
switch (p_args->event)
|
||||
{
|
||||
case ETHER_EVENT_LINK_ON: ///< Link up detection event/
|
||||
g_link_status |= (uint8_t)p_args->status_ecsr; ///< status up
|
||||
g_link_change |= (uint8_t)p_args->status_ecsr; ///< change bit set
|
||||
break;
|
||||
|
||||
case ETHER_EVENT_LINK_OFF: ///< Link down detection event
|
||||
g_link_status &= (uint8_t)(~p_args->status_ecsr); ///< status down
|
||||
g_link_change |= (uint8_t)p_args->status_ecsr; ///< change bit set
|
||||
break;
|
||||
|
||||
case ETHER_EVENT_WAKEON_LAN: ///< Magic packet detection event
|
||||
/* If EDMAC FR (Frame Receive Event) or FDE (Receive Descriptor Empty Event)
|
||||
* interrupt occurs, send rx mailbox. */
|
||||
case ETHER_EVENT_INTERRUPT: ///< BSD Interrupt event
|
||||
{
|
||||
rt_err_t result;
|
||||
result = eth_device_ready(&(ra_eth_device.parent));
|
||||
if (result != RT_EOK)
|
||||
rt_kprintf("RX err =%d\n", result);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
rt_interrupt_leave();
|
||||
}
|
||||
|
||||
/* Register the EMAC device */
|
||||
static int rt_hw_ra6m3_eth_init(void)
|
||||
static int rt_hw_ra_eth_init(void)
|
||||
{
|
||||
rt_err_t state = RT_EOK;
|
||||
|
||||
@ -382,21 +409,21 @@ static int rt_hw_ra6m3_eth_init(void)
|
||||
goto __exit;
|
||||
}
|
||||
|
||||
ra6m3_eth_device.parent.parent.init = NULL;
|
||||
ra6m3_eth_device.parent.parent.open = rt_ra6m3_eth_open;
|
||||
ra6m3_eth_device.parent.parent.close = rt_ra6m3_eth_close;
|
||||
ra6m3_eth_device.parent.parent.read = rt_ra6m3_eth_read;
|
||||
ra6m3_eth_device.parent.parent.write = rt_ra6m3_eth_write;
|
||||
ra6m3_eth_device.parent.parent.control = rt_ra6m3_eth_control;
|
||||
ra6m3_eth_device.parent.parent.user_data = RT_NULL;
|
||||
ra_eth_device.parent.parent.init = NULL;
|
||||
ra_eth_device.parent.parent.open = rt_ra_eth_open;
|
||||
ra_eth_device.parent.parent.close = rt_ra_eth_close;
|
||||
ra_eth_device.parent.parent.read = rt_ra_eth_read;
|
||||
ra_eth_device.parent.parent.write = rt_ra_eth_write;
|
||||
ra_eth_device.parent.parent.control = rt_ra_eth_control;
|
||||
ra_eth_device.parent.parent.user_data = RT_NULL;
|
||||
|
||||
ra6m3_eth_device.parent.eth_rx = rt_ra6m3_eth_rx;
|
||||
ra6m3_eth_device.parent.eth_tx = rt_ra6m3_eth_tx;
|
||||
ra_eth_device.parent.eth_rx = rt_ra_eth_rx;
|
||||
ra_eth_device.parent.eth_tx = rt_ra_eth_tx;
|
||||
|
||||
rt_ra6m3_eth_init();
|
||||
rt_ra_eth_init();
|
||||
|
||||
/* register eth device */
|
||||
state = eth_device_init(&(ra6m3_eth_device.parent), "e0");
|
||||
state = eth_device_init(&(ra_eth_device.parent), "e0");
|
||||
if (RT_EOK == state)
|
||||
{
|
||||
LOG_D("emac device init success");
|
||||
@ -408,9 +435,9 @@ static int rt_hw_ra6m3_eth_init(void)
|
||||
goto __exit;
|
||||
}
|
||||
|
||||
ra6m3_eth_device.poll_link_timer = rt_timer_create("phylnk", (void (*)(void*))phy_linkchange,
|
||||
NULL, RT_TICK_PER_SECOND, RT_TIMER_FLAG_PERIODIC);
|
||||
if (!ra6m3_eth_device.poll_link_timer || rt_timer_start(ra6m3_eth_device.poll_link_timer) != RT_EOK)
|
||||
ra_eth_device.poll_link_timer = rt_timer_create("phylnk", (void (*)(void *))phy_linkchange,
|
||||
NULL, RT_TICK_PER_SECOND, RT_TIMER_FLAG_PERIODIC);
|
||||
if (!ra_eth_device.poll_link_timer || rt_timer_start(ra_eth_device.poll_link_timer) != RT_EOK)
|
||||
{
|
||||
LOG_E("Start link change detection timer failed");
|
||||
}
|
||||
@ -426,9 +453,8 @@ __exit:
|
||||
{
|
||||
rt_free(Tx_Buff);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
INIT_DEVICE_EXPORT(rt_hw_ra6m3_eth_init);
|
||||
INIT_DEVICE_EXPORT(rt_hw_ra_eth_init);
|
||||
|
@ -1,12 +1,12 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2018-12-25 zylx first version
|
||||
*/
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2018-12-25 zylx first version
|
||||
*/
|
||||
|
||||
#ifndef __DRV_ETH_H__
|
||||
#define __DRV_ETH_H__
|
||||
@ -103,4 +103,8 @@
|
||||
#define PHY_Status_FULL_DUPLEX(sr) ((sr) & PHY_FULL_DUPLEX_MASK)
|
||||
#endif /* PHY_USING_LAN8742A */
|
||||
|
||||
#define PHY_LINK (1 << 0)
|
||||
#define PHY_100M (1 << 1)
|
||||
#define PING_PORT_COUNT (3) ///< Count of port
|
||||
|
||||
#endif /* __DRV_ETH_H__ */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -45,67 +45,67 @@ static void ra_irq_tab_init(void)
|
||||
|
||||
static void ra_pin_map_init(void)
|
||||
{
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ0
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ0) || (VECTOR_NUMBER_IRQ0)
|
||||
pin_irq_map[0].irq_ctrl = &g_external_irq0_ctrl;
|
||||
pin_irq_map[0].irq_cfg = &g_external_irq0_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ1
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ1) || (VECTOR_NUMBER_IRQ1)
|
||||
pin_irq_map[1].irq_ctrl = &g_external_irq1_ctrl;
|
||||
pin_irq_map[1].irq_cfg = &g_external_irq1_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ2
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ2) || (VECTOR_NUMBER_IRQ2)
|
||||
pin_irq_map[2].irq_ctrl = &g_external_irq2_ctrl;
|
||||
pin_irq_map[2].irq_cfg = &g_external_irq2_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ3
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ3) || (VECTOR_NUMBER_IRQ3)
|
||||
pin_irq_map[3].irq_ctrl = &g_external_irq3_ctrl;
|
||||
pin_irq_map[3].irq_cfg = &g_external_irq3_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ4
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ4) || (VECTOR_NUMBER_IRQ4)
|
||||
pin_irq_map[4].irq_ctrl = &g_external_irq4_ctrl;
|
||||
pin_irq_map[4].irq_cfg = &g_external_irq4_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ5
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ5) || (VECTOR_NUMBER_IRQ5)
|
||||
pin_irq_map[5].irq_ctrl = &g_external_irq5_ctrl;
|
||||
pin_irq_map[5].irq_cfg = &g_external_irq5_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ6
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ6) || (VECTOR_NUMBER_IRQ6)
|
||||
pin_irq_map[6].irq_ctrl = &g_external_irq6_ctrl;
|
||||
pin_irq_map[6].irq_cfg = &g_external_irq6_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ7
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ7) || (VECTOR_NUMBER_IRQ7)
|
||||
pin_irq_map[7].irq_ctrl = &g_external_irq7_ctrl;
|
||||
pin_irq_map[7].irq_cfg = &g_external_irq7_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ8
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ8) || (VECTOR_NUMBER_IRQ8)
|
||||
pin_irq_map[8].irq_ctrl = &g_external_irq8_ctrl;
|
||||
pin_irq_map[8].irq_cfg = &g_external_irq8_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ9
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ9) || (VECTOR_NUMBER_IRQ9)
|
||||
pin_irq_map[9].irq_ctrl = &g_external_irq9_ctrl;
|
||||
pin_irq_map[9].irq_cfg = &g_external_irq9_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ10
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ10) || (VECTOR_NUMBER_IRQ10)
|
||||
pin_irq_map[10].irq_ctrl = &g_external_irq10_ctrl;
|
||||
pin_irq_map[10].irq_cfg = &g_external_irq10_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ11
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ11) || (VECTOR_NUMBER_IRQ11)
|
||||
pin_irq_map[11].irq_ctrl = &g_external_irq11_ctrl;
|
||||
pin_irq_map[11].irq_cfg = &g_external_irq11_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ12
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ12) || (VECTOR_NUMBER_IRQ12)
|
||||
pin_irq_map[12].irq_ctrl = &g_external_irq12_ctrl;
|
||||
pin_irq_map[12].irq_cfg = &g_external_irq12_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ13
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ13) || (VECTOR_NUMBER_IRQ13)
|
||||
pin_irq_map[13].irq_ctrl = &g_external_irq13_ctrl;
|
||||
pin_irq_map[13].irq_cfg = &g_external_irq13_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ14
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ14) || (VECTOR_NUMBER_IRQ014)
|
||||
pin_irq_map[14].irq_ctrl = &g_external_irq14_ctrl;
|
||||
pin_irq_map[14].irq_cfg = &g_external_irq14_cfg;
|
||||
#endif
|
||||
#ifdef VECTOR_NUMBER_ICU_IRQ15
|
||||
#if defined(VECTOR_NUMBER_ICU_IRQ15) || (VECTOR_NUMBER_IRQ015)
|
||||
pin_irq_map[15].irq_ctrl = &g_external_irq15_ctrl;
|
||||
pin_irq_map[15].irq_cfg = &g_external_irq15_cfg;
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -29,7 +29,7 @@ static struct ra_hwtimer ra_hwtimer_obj[BSP_TIMERS_NUM] =
|
||||
|
||||
const rt_uint32_t PLCKD_FREQ_PRESCALER[PLCKD_PRESCALER_MAX_SELECT] =
|
||||
{
|
||||
#ifdef SOC_SERIES_R7FA6M3
|
||||
#if defined(SOC_SERIES_R7FA6M3)
|
||||
PLCKD_PRESCALER_120M,
|
||||
PLCKD_PRESCALER_60M,
|
||||
PLCKD_PRESCALER_30M,
|
||||
@ -37,6 +37,14 @@ const rt_uint32_t PLCKD_FREQ_PRESCALER[PLCKD_PRESCALER_MAX_SELECT] =
|
||||
PLCKD_PRESCALER_7_5M,
|
||||
PLCKD_PRESCALER_3_75M,
|
||||
PLCKD_PRESCALER_1_875M,
|
||||
#elif defined(SOC_SERIES_R9A07G0)
|
||||
PLCKD_PRESCALER_100M,
|
||||
PLCKD_PRESCALER_50M,
|
||||
PLCKD_PRESCALER_25M,
|
||||
PLCKD_PRESCALER_12_5M,
|
||||
PLCKD_PRESCALER_6_25M,
|
||||
PLCKD_PRESCALER_3_125M,
|
||||
PLCKD_PRESCALER_1_5625M
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2022, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -22,11 +22,19 @@
|
||||
|
||||
#include <hal_data.h>
|
||||
|
||||
#define RA_SCI_EVENT_ABORTED 1
|
||||
#define RA_SCI_EVENT_RX_COMPLETE 2
|
||||
#define RA_SCI_EVENT_TX_COMPLETE 4
|
||||
#define RA_SCI_EVENT_ERROR 8
|
||||
#define RA_SCI_EVENT_ALL 15
|
||||
#ifndef BIT
|
||||
#define BIT(idx) (1ul << (idx))
|
||||
#endif
|
||||
|
||||
#ifndef BITS
|
||||
#define BITS(b,e) ((((uint32_t)-1)<<(b))&(((uint32_t)-1)>>(31-(e))))
|
||||
#endif
|
||||
|
||||
#define RA_SCI_EVENT_ABORTED BIT(0)
|
||||
#define RA_SCI_EVENT_RX_COMPLETE BIT(1)
|
||||
#define RA_SCI_EVENT_TX_COMPLETE BIT(2)
|
||||
#define RA_SCI_EVENT_ERROR BIT(3)
|
||||
#define RA_SCI_EVENT_ALL BITS(0,3)
|
||||
|
||||
struct ra_i2c_handle
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -14,4 +14,4 @@ void lcd_draw_pixel(uint32_t x, uint32_t y, uint16_t color);
|
||||
void lcd_draw_jpg(int32_t x, int32_t y, const void *p, int32_t xSize, int32_t ySize);
|
||||
void lcd_gpu_fill_array(size_t x1, size_t y1, size_t x2, size_t y2, uint16_t *color_data);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -34,6 +34,20 @@ static rt_err_t ra_rtc_init(void)
|
||||
result = -RT_ERROR;
|
||||
}
|
||||
|
||||
#if defined(SOC_SERIES_R9A07G0)
|
||||
rtc_time_t default_set_time =
|
||||
{
|
||||
.tm_sec = 0,
|
||||
.tm_min = 0,
|
||||
.tm_hour = 0,
|
||||
.tm_mday = 1,
|
||||
.tm_wday = 1,
|
||||
.tm_mon = 1,
|
||||
.tm_year = 1900,
|
||||
};
|
||||
|
||||
R_RTC_CalendarTimeSet(&g_rtc_ctrl, &default_set_time);
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -673,6 +673,8 @@ static rt_err_t ra_hw_spi_configure(struct rt_spi_device *device,
|
||||
/**< config bitrate */
|
||||
#ifdef R_SCI_B_SPI_H
|
||||
R_SCI_B_SPI_CalculateBitrate(obj->spi_cfg->max_hz, SCI_B_SPI_SOURCE_CLOCK_PCLK, &spi_cfg.clk_div);
|
||||
#elif defined(SOC_SERIES_R9A07G0)
|
||||
R_SCI_SPI_CalculateBitrate(obj->spi_cfg->max_hz, SCI_SPI_CLOCK_SOURCE_PCLKM, false);
|
||||
#else
|
||||
R_SCI_SPI_CalculateBitrate(obj->spi_cfg->max_hz, &spi_cfg->clk_div, false);
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2024, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -24,9 +24,10 @@
|
||||
#endif /* DRV_DEBUG */
|
||||
#include <rtdbg.h>
|
||||
|
||||
#if defined(BSP_USING_SPI0) || defined(BSP_USING_SPI1)
|
||||
#if defined(BSP_USING_SPI0) || defined(BSP_USING_SPI1) || defined(BSP_USING_SPI2)
|
||||
#define RA_SPI0_EVENT 0x01
|
||||
#define RA_SPI1_EVENT 0x02
|
||||
#define RA_SPI2_EVENT 0x03
|
||||
static struct rt_event complete_event = {0};
|
||||
|
||||
#ifdef SOC_SERIES_R7FA8M85
|
||||
@ -46,6 +47,10 @@ static struct ra_spi_handle spi_handle[] =
|
||||
#ifdef BSP_USING_SPI1
|
||||
{.bus_name = "spi1", .spi_ctrl_t = &g_spi1_ctrl, .spi_cfg_t = &g_spi1_cfg,},
|
||||
#endif
|
||||
|
||||
#ifdef BSP_USING_SPI2
|
||||
{.bus_name = "spi2", .spi_ctrl_t = &g_spi2_ctrl, .spi_cfg_t = &g_spi2_cfg,},
|
||||
#endif
|
||||
};
|
||||
|
||||
static struct ra_spi spi_config[sizeof(spi_handle) / sizeof(spi_handle[0])] = {0};
|
||||
@ -70,6 +75,16 @@ void spi1_callback(spi_callback_args_t *p_args)
|
||||
rt_interrupt_leave();
|
||||
}
|
||||
|
||||
void spi2_callback(spi_callback_args_t *p_args)
|
||||
{
|
||||
rt_interrupt_enter();
|
||||
if (SPI_EVENT_TRANSFER_COMPLETE == p_args->event)
|
||||
{
|
||||
rt_event_send(&complete_event, RA_SPI2_EVENT);
|
||||
}
|
||||
rt_interrupt_leave();
|
||||
}
|
||||
|
||||
static rt_err_t ra_wait_complete(rt_event_t event, const char bus_name[RT_NAME_MAX])
|
||||
{
|
||||
rt_uint32_t recved = 0x00;
|
||||
@ -79,7 +94,7 @@ static rt_err_t ra_wait_complete(rt_event_t event, const char bus_name[RT_NAME_M
|
||||
return rt_event_recv(event,
|
||||
RA_SPI0_EVENT,
|
||||
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR,
|
||||
RT_WAITING_FOREVER,
|
||||
(rt_int32_t)rt_tick_from_millisecond(200),
|
||||
&recved);
|
||||
}
|
||||
else if (bus_name[3] == '1')
|
||||
@ -87,7 +102,15 @@ static rt_err_t ra_wait_complete(rt_event_t event, const char bus_name[RT_NAME_M
|
||||
return rt_event_recv(event,
|
||||
RA_SPI1_EVENT,
|
||||
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR,
|
||||
RT_WAITING_FOREVER,
|
||||
(rt_int32_t)rt_tick_from_millisecond(200),
|
||||
&recved);
|
||||
}
|
||||
else if (bus_name[3] == '2')
|
||||
{
|
||||
return rt_event_recv(event,
|
||||
RA_SPI2_EVENT,
|
||||
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR,
|
||||
(rt_int32_t)rt_tick_from_millisecond(200),
|
||||
&recved);
|
||||
}
|
||||
return -RT_EINVAL;
|
||||
@ -164,6 +187,10 @@ static rt_err_t ra_write_read_message(struct rt_spi_device *device, struct rt_sp
|
||||
LOG_E("%s write and read failed.", spi_dev->ra_spi_handle_t->bus_name);
|
||||
return -RT_ERROR;
|
||||
}
|
||||
#if defined(SOC_SERIES_R9A07G0)
|
||||
R_BSP_CacheCleanInvalidateAll();
|
||||
#endif
|
||||
|
||||
/* Wait for SPI_EVENT_TRANSFER_COMPLETE callback event. */
|
||||
ra_wait_complete(&complete_event, spi_dev->ra_spi_handle_t->bus_name);
|
||||
return message->length;
|
||||
@ -193,6 +220,8 @@ static rt_err_t ra_hw_spi_configure(struct rt_spi_device *device,
|
||||
/**< config bitrate */
|
||||
#ifdef SOC_SERIES_R7FA8M85
|
||||
R_SPI_B_CalculateBitrate(spi_dev->rt_spi_cfg_t->max_hz, SPI_B_CLOCK_SOURCE_PCLK, &spi_cfg.spck_div);
|
||||
#elif defined(SOC_SERIES_R9A07G0)
|
||||
R_SPI_CalculateBitrate(spi_dev->rt_spi_cfg_t->max_hz, SPI_CLOCK_SOURCE_PCLKM, &spi_cfg.spck_div);
|
||||
#else
|
||||
R_SPI_CalculateBitrate(spi_dev->rt_spi_cfg_t->max_hz, &spi_cfg.spck_div);
|
||||
#endif
|
||||
@ -281,7 +310,7 @@ int ra_hw_spi_init(void)
|
||||
}
|
||||
return RT_EOK;
|
||||
}
|
||||
INIT_BOARD_EXPORT(ra_hw_spi_init);
|
||||
INIT_DEVICE_EXPORT(ra_hw_spi_init);
|
||||
#endif
|
||||
/**
|
||||
* Attach the spi device to SPI bus, this function must be used after initialization.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -7,7 +7,7 @@
|
||||
* Date Author Notes
|
||||
* 2021-07-29 KyleChan first version
|
||||
* 2023-10-17 Rbb666 add ra8 adapt
|
||||
* 2024-03-11 Wangyuqiang add rzt2m adapt
|
||||
* 2024-03-11 Wangyuqiang add rzt/rzn adapt
|
||||
*/
|
||||
|
||||
#include <drv_usart_v2.h>
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
* Copyright (c) 2006-2025, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
|
2
bsp/renesas/rzn2l_etherkit/.api_xml
Normal file
2
bsp/renesas/rzn2l_etherkit/.api_xml
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<ddscApi/>
|
1308
bsp/renesas/rzn2l_etherkit/.config
Normal file
1308
bsp/renesas/rzn2l_etherkit/.config
Normal file
File diff suppressed because it is too large
Load Diff
221
bsp/renesas/rzn2l_etherkit/.cproject
Normal file
221
bsp/renesas/rzn2l_etherkit/.cproject
Normal file
@ -0,0 +1,221 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="rtthread" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094" name="Debug" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug">
|
||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094." name="/" resourcePath="">
|
||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.1201710416" name="ARM Cross GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.251260409" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createlisting.1365878149" name="Create extended listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createlisting" useByScannerDiscovery="false"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.709136944" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1986446770" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.none" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.1312975261" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" useByScannerDiscovery="true" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.1538128212" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" useByScannerDiscovery="true" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.2136804218" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.244767666" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.1055848773" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.default" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.501941135" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.dwarf2" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1696308067" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" useByScannerDiscovery="false" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1558403188" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" useByScannerDiscovery="false" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.749415257" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" useByScannerDiscovery="false" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m4" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.2114153533" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" useByScannerDiscovery="false" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.default" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.1600865811" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" useByScannerDiscovery="false" value="arm-none-eabi-" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1109963929" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" useByScannerDiscovery="false" value="gcc" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1040883831" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" useByScannerDiscovery="false" value="g++" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.1678200391" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" useByScannerDiscovery="false" value="ar" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1171840296" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" useByScannerDiscovery="false" value="objcopy" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.342604837" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" useByScannerDiscovery="false" value="objdump" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.898269225" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" useByScannerDiscovery="false" value="size" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.2016398076" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" useByScannerDiscovery="false" value="make" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.1606171496" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" useByScannerDiscovery="false" value="rm" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.id.540792084" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.id" useByScannerDiscovery="false" value="1287942917" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.architecture.430121817" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.architecture" useByScannerDiscovery="false" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.arch.none" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.966735324" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1381561249" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn" useByScannerDiscovery="true" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.target.other.2041717463" name="Other target flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.target.other" useByScannerDiscovery="true" value="" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1463655269" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.1798638225" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
||||
<builder buildPath="${workspace_loc:/${ProjName}/Debug" cleanBuildTarget="clean2" id="ilg.gnuarmeclipse.managedbuild.cross.builder.1736709688" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="GNU Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
||||
<tool commandLinePattern="${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1810966071" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1072524326" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.161242639" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}""/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.1521934876" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" useByScannerDiscovery="true"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.flags.1325367962" name="Assembler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.flags" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="-mimplicit-it=thumb"/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other.647856572" name="Other assembler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other" useByScannerDiscovery="false" value=" -c -mcpu=cortex-r52 -marm -mfloat-abi=hard -mfpu=neon-fp-armv8 -fdiagnostics-parseable-fixits -Og -fmessage-length=0 -fsigned-char -fdata-sections -funwind-tables -ffunction-sections -fno-strict-aliasing -g -gdwarf-4 -x assembler-with-cpp -gdwarf-2" valueType="string"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1843333483" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||
</tool>
|
||||
<tool commandLinePattern="${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1570350559" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.634882052" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//.}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//board/ports}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//board}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//libraries/HAL_Drivers/config}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//libraries/HAL_Drivers}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/drivers/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/finsh}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/compilers/common/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/compilers/newlib}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/posix/io/epoll}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/posix/io/eventfd}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/posix/io/poll}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/posix/ipc}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/libcpu/arm/common}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/libcpu/arm/cortex-r52}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn/arm/CMSIS_5/CMSIS/Core_R/Include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn/fsp/inc/api}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn/fsp/inc/instances}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn/fsp/inc}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn_cfg/fsp_cfg/bsp}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn_cfg/fsp_cfg}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn_gen}""/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.100549972" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.2133065240" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" useByScannerDiscovery="true" value=" -mcpu=cortex-r52 -marm -mfloat-abi=hard -mfpu=neon-fp-armv8 -fdiagnostics-parseable-fixits -Og -fmessage-length=0 -fsigned-char -fdata-sections -funwind-tables -ffunction-sections -fno-strict-aliasing -g -gdwarf-4 -Dgcc -Og" valueType="string"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.files.714348818" name="Include files (-include)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.files" useByScannerDiscovery="true" valueType="includeFiles">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rtconfig_preinc.h}""/>
|
||||
</option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.992053063" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool commandLinePattern="${COMMAND} ${cross_toolchain_flags} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.869072473" name="Cross ARM C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.1167322178" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nostart.351692886" name="Do not use standard start files (-nostartfiles)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nostart" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nostdlibs.1009243715" name="No startup or default libs (-nostdlib)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nostdlibs" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nodeflibs.2016026082" name="Do not use default libraries (-nodefaultlibs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nodeflibs" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano.923990336" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option defaultValue="true" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.shared.548869459" name="Shared (-shared)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.shared" useByScannerDiscovery="false" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.scriptfile.1818777301" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.scriptfile" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/script/fsp_xspi0_boot.ld}""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.libs.1135656995" name="Libraries (-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.libs" useByScannerDiscovery="false" valueType="libs">
|
||||
<listOptionValue builtIn="false" value="c "/>
|
||||
<listOptionValue builtIn="false" value="m "/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.paths.36884122" name="Library search path (-L)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.paths" useByScannerDiscovery="false" valueType="libPaths">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/script}""/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.other.396049466" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.other" useByScannerDiscovery="false" value="-mcpu=cortex-r52 -marm -mfloat-abi=hard -mfpu=neon-fp-armv8 -fdiagnostics-parseable-fixits -Og -fmessage-length=0 -fsigned-char -fdata-sections -funwind-tables -ffunction-sections -fno-strict-aliasing -g -gdwarf-4 -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -lgcc -lrdimon -L script/" valueType="string"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.cref.1645737861" name="Cross reference (-Xlinker --cref)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.cref" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input.334732222" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool commandLinePattern="${COMMAND} ${cross_toolchain_flags} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1601059928" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.437759352" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile.1101974459" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile" useByScannerDiscovery="false"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.cref.2007675975" name="Cross reference (-Xlinker --cref)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.cref" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano.2105838438" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs.934137837" name="Libraries (-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs" useByScannerDiscovery="false"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart.2118356996" name="Do not use standard start files (-nostartfiles)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs.1427884346" name="Do not use default libraries (-nodefaultlibs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostdlibs.1433863653" name="No startup or default libs (-nostdlib)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostdlibs" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printgcsections.1387745410" name="Print removed sections (-Xlinker --print-gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printgcsections" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.strip.1230158061" name="Omit all symbol information (-s)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.strip" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printmap.1307581821" name="Print link map (-Xlinker --print-map)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printmap" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.useprintffloat.960778920" name="Use float with nano printf (-u _printf_float)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.useprintffloat" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usescanffloat.637205035" name="Use float with nano scanf (-u _scanf_float)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usescanffloat" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnosys.1948314201" name="Do not use syscalls (--specs=nosys.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnosys" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.verbose.273162112" name="Verbose (-v)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths.1399535143" name="Library search path (-L)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths" useByScannerDiscovery="false"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other.882307902" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other" useByScannerDiscovery="false" value="-mcpu=cortex-r52 -marm -mfloat-abi=hard -mfpu=neon-fp-armv8 -fdiagnostics-parseable-fixits -Og -fmessage-length=0 -fsigned-char -fdata-sections -funwind-tables -ffunction-sections -fno-strict-aliasing -g -gdwarf-4 -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -lgcc -lrdimon -L script/" valueType="string"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input.262373798" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.506412204" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.1461589245" name="GNU ARM Cross Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.1937707052" name="Output file format (-O)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice" useByScannerDiscovery="false" value="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.binary" valueType="enumerated"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.82359725" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.601724476" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.692505279" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.97345172" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.1342893377" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.1533725981" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.1073550295" name="GNU ARM Cross Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.946451386" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format" useByScannerDiscovery="false"/>
|
||||
</tool>
|
||||
<tool commandLinePattern="${COMMAND} ${cross_toolchain_flags} ${FLAGS} -c ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1302177015" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.704468062" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="true"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths.302877723" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//.}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//board/ports}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//board}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//libraries/HAL_Drivers/config}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//libraries/HAL_Drivers}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/drivers/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/finsh}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/compilers/common/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/compilers/newlib}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/posix/io/epoll}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/posix/io/eventfd}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/posix/io/poll}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/components/libc/posix/ipc}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/libcpu/arm/common}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rt-thread/libcpu/arm/cortex-r52}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn/arm/CMSIS_5/CMSIS/Core_R/Include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn/fsp/inc/api}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn/fsp/inc/instances}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn/fsp/inc}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn_cfg/fsp_cfg/bsp}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn_cfg/fsp_cfg}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc://${ProjName}//rzn_gen}""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.files.343249373" name="Include files (-include)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.files" useByScannerDiscovery="true" valueType="includeFiles">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rtconfig_preinc.h}""/>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other.465079095" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.other" useByScannerDiscovery="true" value=" -mcpu=cortex-r52 -marm -mfloat-abi=hard -mfpu=neon-fp-armv8 -fdiagnostics-parseable-fixits -Og -fmessage-length=0 -fsigned-char -fdata-sections -funwind-tables -ffunction-sections -fno-strict-aliasing -g -gdwarf-4 -Dgcc -Og" valueType="string"/>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.45918001" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="//build/CMakeFiles|//cmake-build-debug/CMakeFiles|//dist/project|//libraries/HAL_Drivers/drv_adc.c|//libraries/HAL_Drivers/drv_canfd.c|//libraries/HAL_Drivers/drv_dac.c|//libraries/HAL_Drivers/drv_eth.c|//libraries/HAL_Drivers/drv_flash.c|//libraries/HAL_Drivers/drv_hwtimer.c|//libraries/HAL_Drivers/drv_hyperram.c|//libraries/HAL_Drivers/drv_i2c.c|//libraries/HAL_Drivers/drv_lcd.c|//libraries/HAL_Drivers/drv_pwm.c|//libraries/HAL_Drivers/drv_rtc.c|//libraries/HAL_Drivers/drv_sci.c|//libraries/HAL_Drivers/drv_sci_i2c.c|//libraries/HAL_Drivers/drv_sci_spi.c|//libraries/HAL_Drivers/drv_sdhi.c|//libraries/HAL_Drivers/drv_soft_i2c.c|//libraries/HAL_Drivers/drv_spi.c|//libraries/HAL_Drivers/drv_wdt.c|//rt-thread/components/dfs|//rt-thread/components/drivers/audio|//rt-thread/components/drivers/can|//rt-thread/components/drivers/clk|//rt-thread/components/drivers/core/bus.c|//rt-thread/components/drivers/core/dm.c|//rt-thread/components/drivers/core/driver.c|//rt-thread/components/drivers/core/platform.c|//rt-thread/components/drivers/core/platform_ofw.c|//rt-thread/components/drivers/cputime|//rt-thread/components/drivers/fdt|//rt-thread/components/drivers/hwcrypto|//rt-thread/components/drivers/hwtimer|//rt-thread/components/drivers/i2c|//rt-thread/components/drivers/ktime|//rt-thread/components/drivers/misc|//rt-thread/components/drivers/mtd|//rt-thread/components/drivers/ofw|//rt-thread/components/drivers/phy|//rt-thread/components/drivers/pic|//rt-thread/components/drivers/pin/pin_dm.c|//rt-thread/components/drivers/pin/pin_ofw.c|//rt-thread/components/drivers/pinctrl|//rt-thread/components/drivers/pm|//rt-thread/components/drivers/rtc|//rt-thread/components/drivers/sdio|//rt-thread/components/drivers/sensor|//rt-thread/components/drivers/serial/serial.c|//rt-thread/components/drivers/serial/serial_dm.c|//rt-thread/components/drivers/serial/serial_tty.c|//rt-thread/components/drivers/spi|//rt-thread/components/drivers/touch|//rt-thread/components/drivers/usb|//rt-thread/components/drivers/virtio|//rt-thread/components/drivers/watchdog|//rt-thread/components/drivers/wlan|//rt-thread/components/fal|//rt-thread/components/finsh/msh_file.c|//rt-thread/components/legacy|//rt-thread/components/libc/compilers/armlibc|//rt-thread/components/libc/compilers/dlib|//rt-thread/components/libc/compilers/musl|//rt-thread/components/libc/compilers/picolibc|//rt-thread/components/libc/cplusplus|//rt-thread/components/libc/posix|//rt-thread/components/lwp|//rt-thread/components/mm|//rt-thread/components/mprotect|//rt-thread/components/net|//rt-thread/components/utilities|//rt-thread/components/vbus|//rt-thread/examples|//rt-thread/libcpu/arm/common/divsi3.S|//rt-thread/libcpu/arm/cortex-r52/context_iar.S|//rt-thread/libcpu/arm/cortex-r52/start_iar.S|//rt-thread/libcpu/arm/cortex-r52/vector_iar.S|//rt-thread/src/cpu.c|//rt-thread/src/memheap.c|//rt-thread/src/scheduler_mp.c|//rt-thread/src/signal.c|//rt-thread/src/slab.c|//rt-thread/tools|//rzn/board" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="qemu-vexpress-a9.ilg.gnuarmeclipse.managedbuild.cross.target.elf.860020518" name="Executable" projectType="ilg.gnuarmeclipse.managedbuild.cross.target.elf"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1570350559;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.992053063">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="Debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/project"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings">
|
||||
<doc-comment-owner id="org.eclipse.cdt.ui.doxygen">
|
||||
<path value=""/>
|
||||
</doc-comment-owner>
|
||||
</storageModule>
|
||||
</cproject>
|
14
bsp/renesas/rzn2l_etherkit/.gitignore
vendored
Normal file
14
bsp/renesas/rzn2l_etherkit/.gitignore
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
/RTE
|
||||
/Listings
|
||||
/Objects
|
||||
/Debug
|
||||
/build
|
||||
/makefile.targets
|
||||
/rtconfig.pyc
|
||||
/rt-thread
|
||||
/libraries
|
||||
/project.custom_argvars
|
||||
/.vscode
|
||||
/__pycache
|
||||
/settings
|
||||
/rtconfig_preinc.h
|
28
bsp/renesas/rzn2l_etherkit/.project
Normal file
28
bsp/renesas/rzn2l_etherkit/.project
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>project</name>
|
||||
<comment />
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.rt-thread.studio.rttnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<linkedResources />
|
||||
</projectDescription>
|
4
bsp/renesas/rzn2l_etherkit/.secure_azone
Normal file
4
bsp/renesas/rzn2l_etherkit/.secure_azone
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<azone>
|
||||
<rzone name="R9A07G084M04GBG.rzone"/>
|
||||
</azone>
|
110
bsp/renesas/rzn2l_etherkit/.secure_xml
Normal file
110
bsp/renesas/rzn2l_etherkit/.secure_xml
Normal file
@ -0,0 +1,110 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<raConfiguration version="9">
|
||||
<generalSettings>
|
||||
<option key="#Board#" value="board.rzn2lrsk.xspi0_x1"/>
|
||||
<option key="CPU" value="RZN2L"/>
|
||||
<option key="Core" value="CR52_0"/>
|
||||
<option key="#TargetName#" value="R9A07G084M04GBG"/>
|
||||
<option key="#TargetARCHITECTURE#" value="cortex-r52"/>
|
||||
<option key="#DeviceCommand#" value="R9A07G084M04"/>
|
||||
<option key="#RTOS#" value="_none"/>
|
||||
<option key="#pinconfiguration#" value="R9A07G084M04GBG.pincfg"/>
|
||||
<option key="#FSPVersion#" value="2.0.0"/>
|
||||
<option key="#ConfigurationFragments#" value="Renesas##BSP##Board##rzn2l_rsk##xspi0_x1_boot"/>
|
||||
<option key="#SELECTED_TOOLCHAIN#" value="iar.arm.toolchain"/>
|
||||
</generalSettings>
|
||||
<raBspConfiguration/>
|
||||
<raClockConfiguration>
|
||||
<node id="board.clock.main.freq" option="board.clock.main.freq.25m"/>
|
||||
<node id="board.clock.loco.enable" option="board.clock.loco.enable.enabled"/>
|
||||
<node id="board.clock.pll0.display" option="board.clock.pll0.display.value"/>
|
||||
<node id="board.clock.pll1" option="board.clock.pll1.initial"/>
|
||||
<node id="board.clock.pll1.display" option="board.clock.pll1.display.value"/>
|
||||
<node id="board.clock.ethernet.source" option="board.clock.ethernet.source.main"/>
|
||||
<node id="board.clock.reference.display" option="board.clock.reference.display.value"/>
|
||||
<node id="board.clock.loco.freq" option="board.clock.loco.freq.240k"/>
|
||||
<node id="board.clock.clma0.enable" option="board.clock.clma0.enable.enabled"/>
|
||||
<node id="board.clock.clma0.error" option="board.clock.clma0.error.not_mask"/>
|
||||
<node id="board.clock.clma3.error" option="board.clock.clma3.error.not_mask"/>
|
||||
<node id="board.clock.clma1.error" option="board.clock.clma1.error.mask"/>
|
||||
<node id="board.clock.clma3.enable" option="board.clock.clma3.enable.enabled"/>
|
||||
<node id="board.clock.clma1.enable" option="board.clock.clma1.enable.enabled"/>
|
||||
<node id="board.clock.clma2.enable" option="board.clock.clma2.enable.enabled"/>
|
||||
<node id="board.clock.clma0.cmpl" mul="1" option="_edit"/>
|
||||
<node id="board.clock.clma1.cmpl" mul="1" option="_edit"/>
|
||||
<node id="board.clock.clma2.cmpl" mul="1" option="_edit"/>
|
||||
<node id="board.clock.clma3.cmpl" mul="1" option="_edit"/>
|
||||
<node id="board.clock.alternative.source" option="board.clock.alternative.source.loco"/>
|
||||
<node id="board.clock.clma0.cmph" mul="1023" option="_edit"/>
|
||||
<node id="board.clock.clma1.cmph" mul="1023" option="_edit"/>
|
||||
<node id="board.clock.clma2.cmph" mul="1023" option="_edit"/>
|
||||
<node id="board.clock.clma3.cmph" mul="1023" option="_edit"/>
|
||||
<node id="board.clock.iclk.freq" option="board.clock.iclk.freq.200m"/>
|
||||
<node id="board.clock.cpu0clk.mul" option="board.clock.cpu0clk.mul.2"/>
|
||||
<node id="board.clock.cpu0clk.display" option="board.clock.cpu0clk.display.value"/>
|
||||
<node id="board.clock.ckio.div" option="board.clock.ckio.div.4"/>
|
||||
<node id="board.clock.ckio.display" option="board.clock.ckio.display.value"/>
|
||||
<node id="board.clock.sci0asyncclk.sel" option="board.clock.sci0asyncclk.sel.1"/>
|
||||
<node id="board.clock.sci1asyncclk.sel" option="board.clock.sci1asyncclk.sel.1"/>
|
||||
<node id="board.clock.sci2asyncclk.sel" option="board.clock.sci2asyncclk.sel.1"/>
|
||||
<node id="board.clock.sci3asyncclk.sel" option="board.clock.sci3asyncclk.sel.1"/>
|
||||
<node id="board.clock.sci4asyncclk.sel" option="board.clock.sci4asyncclk.sel.1"/>
|
||||
<node id="board.clock.sci5asyncclk.sel" option="board.clock.sci5asyncclk.sel.1"/>
|
||||
<node id="board.clock.spi0asyncclk.sel" option="board.clock.spi0asyncclk.sel.1"/>
|
||||
<node id="board.clock.spi1asyncclk.sel" option="board.clock.spi1asyncclk.sel.1"/>
|
||||
<node id="board.clock.spi2asyncclk.sel" option="board.clock.spi2asyncclk.sel.1"/>
|
||||
<node id="board.clock.spi3asyncclk.sel" option="board.clock.spi3asyncclk.sel.1"/>
|
||||
<node id="board.clock.pclkshost.display" option="board.clock.pclkshost.display.value"/>
|
||||
<node id="board.clock.pclkgptl.display" option="board.clock.pclkgptl.display.value"/>
|
||||
<node id="board.clock.pclkh.display" option="board.clock.pclkh.display.value"/>
|
||||
<node id="board.clock.pclkm.display" option="board.clock.pclkm.display.value"/>
|
||||
<node id="board.clock.pclkl.display" option="board.clock.pclkl.display.value"/>
|
||||
<node id="board.clock.pclkadc.display" option="board.clock.pclkadc.display.value"/>
|
||||
<node id="board.clock.pclkcan.freq" option="board.clock.pclkcan.freq.40m"/>
|
||||
<node id="board.clock.xspi.clk0.freq" option="board.clock.xspi.clk0.freq.133m"/>
|
||||
<node id="board.clock.xspi.clk1.freq" option="board.clock.xspi.clk1.freq.12m"/>
|
||||
<node id="board.clock.tclk.freq" option="board.clock.tclk.freq.100m"/>
|
||||
</raClockConfiguration>
|
||||
<raPinConfiguration>
|
||||
<pincfg active="true" name="" symbol="">
|
||||
<configSetting altId="jtag_fslash_swd.tck_swclk.p02_7" configurationId="jtag_fslash_swd.tck_swclk" isUsedByDriver="true"/>
|
||||
<configSetting altId="jtag_fslash_swd.tdi.p02_5" configurationId="jtag_fslash_swd.tdi" isUsedByDriver="true"/>
|
||||
<configSetting altId="jtag_fslash_swd.tdo.p02_4" configurationId="jtag_fslash_swd.tdo" isUsedByDriver="true"/>
|
||||
<configSetting altId="jtag_fslash_swd.tms_swdio.p02_6" configurationId="jtag_fslash_swd.tms_swdio" isUsedByDriver="true"/>
|
||||
<configSetting altId="p03_0.output.low" configurationId="p03_0"/>
|
||||
<configSetting altId="p04_1.output.low" configurationId="p04_1"/>
|
||||
<configSetting altId="p04_4.output.low" configurationId="p04_4"/>
|
||||
<configSetting altId="p05_0.output.low" configurationId="p05_0"/>
|
||||
<configSetting altId="p05_4.input" configurationId="p05_4"/>
|
||||
<configSetting altId="p13_4.output.low" configurationId="p13_4"/>
|
||||
<configSetting altId="p13_5.input" configurationId="p13_5"/>
|
||||
<configSetting altId="p13_6.input" configurationId="p13_6"/>
|
||||
<configSetting altId="p13_7.input" configurationId="p13_7"/>
|
||||
<configSetting altId="p14_0.output.low" configurationId="p14_0"/>
|
||||
<configSetting altId="p14_1.output.low" configurationId="p14_1"/>
|
||||
<configSetting altId="p14_3.output.low" configurationId="p14_3"/>
|
||||
<configSetting altId="p16_3.input" configurationId="p16_3"/>
|
||||
<configSetting altId="p17_3.output.low" configurationId="p17_3"/>
|
||||
<configSetting altId="p18_2.output.low" configurationId="p18_2"/>
|
||||
<configSetting altId="p22_1.output.low" configurationId="p22_1"/>
|
||||
<configSetting altId="p22_3.output.low" configurationId="p22_3"/>
|
||||
<configSetting altId="sci0.rxd_miso0.p16_6" configurationId="sci0.rxd_miso0" isUsedByDriver="true"/>
|
||||
<configSetting altId="sci0.txd_mosi0.p16_5" configurationId="sci0.txd_mosi0" isUsedByDriver="true"/>
|
||||
<configSetting altId="xspi0.xspi0_ckn.p14_5" configurationId="xspi0.xspi0_ckn"/>
|
||||
<configSetting altId="xspi0.xspi0_ckp.p14_6" configurationId="xspi0.xspi0_ckp"/>
|
||||
<configSetting altId="xspi0.xspi0_cs0_hash.p15_7" configurationId="xspi0.xspi0_cs0_hash"/>
|
||||
<configSetting altId="xspi0.xspi0_cs1_hash.p16_0" configurationId="xspi0.xspi0_cs1_hash"/>
|
||||
<configSetting altId="xspi0.xspi0_ds.p14_4" configurationId="xspi0.xspi0_ds"/>
|
||||
<configSetting altId="xspi0.xspi0_ecs0_hash.p14_2" configurationId="xspi0.xspi0_ecs0_hash"/>
|
||||
<configSetting altId="xspi0.xspi0_io0.p14_7" configurationId="xspi0.xspi0_io0"/>
|
||||
<configSetting altId="xspi0.xspi0_io1.p15_0" configurationId="xspi0.xspi0_io1"/>
|
||||
<configSetting altId="xspi0.xspi0_io2.p15_1" configurationId="xspi0.xspi0_io2"/>
|
||||
<configSetting altId="xspi0.xspi0_io3.p15_2" configurationId="xspi0.xspi0_io3"/>
|
||||
<configSetting altId="xspi0.xspi0_io4.p15_3" configurationId="xspi0.xspi0_io4"/>
|
||||
<configSetting altId="xspi0.xspi0_io5.p15_4" configurationId="xspi0.xspi0_io5"/>
|
||||
<configSetting altId="xspi0.xspi0_io6.p15_5" configurationId="xspi0.xspi0_io6"/>
|
||||
<configSetting altId="xspi0.xspi0_io7.p15_6" configurationId="xspi0.xspi0_io7"/>
|
||||
<configSetting altId="xspi0.xspi0_reset0_hash.p16_1" configurationId="xspi0.xspi0_reset0_hash"/>
|
||||
</pincfg>
|
||||
</raPinConfiguration>
|
||||
</raConfiguration>
|
@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
toolchain.path.1287942917=${toolchain_install_path}/ARM/GNU_Tools_for_ARM_Embedded_Processors/10.2.1/bin
|
14
bsp/renesas/rzn2l_etherkit/.settings/language.settings.xml
Normal file
14
bsp/renesas/rzn2l_etherkit/.settings/language.settings.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094" name="Debug">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="34242292864880309" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT ARM Cross GCC Built-in Compiler Settings " parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
temp.toolchain.exec.path=D\:\\manufacture_apps\\RT-ThreadStudio\\repo\\Extract\\ToolChain_Support_Packages\\ARM\\GNU_Tools_for_ARM_Embedded_Processors\\10.2.1/bin
|
@ -0,0 +1,3 @@
|
||||
content-types/enabled=true
|
||||
content-types/org.eclipse.cdt.core.asmSource/file-extensions=s
|
||||
eclipse.preferences.version=1
|
19
bsp/renesas/rzn2l_etherkit/.settings/projcfg.ini
Normal file
19
bsp/renesas/rzn2l_etherkit/.settings/projcfg.ini
Normal file
@ -0,0 +1,19 @@
|
||||
#RT-Thread Studio Project Configuration
|
||||
#Tue Feb 11 17:22:54 CST 2025
|
||||
cfg_version=v3.0
|
||||
board_name=rzn2l_etherkit
|
||||
example_name=
|
||||
hardware_adapter=J-Link
|
||||
board_base_nano_proj=false
|
||||
project_type=rt-thread
|
||||
chip_name=R9A07G084M04
|
||||
selected_rtt_version=latest
|
||||
bsp_version=1.0.0
|
||||
os_branch=master
|
||||
project_base_rtt_bsp=true
|
||||
output_project_path=D\:\\Desktop\\Github_ws\\rt-thread\\bsp\\renesas
|
||||
is_base_example_project=false
|
||||
is_use_scons_build=true
|
||||
project_name=etherkit_blink_led
|
||||
os_version=latest
|
||||
bsp_path=
|
@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="ilg.gnumcueclipse.debug.gdbjtag.jlink.launchConfigurationType">
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.adapterName" value="J-Link"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.binFileStartAddress" value="0x60000000"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doConnectToRunning" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doContinue" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doDebugInRam" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doFirstReset" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerAllocateConsole" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerAllocateSemihostingConsole" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerInitRegs" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerLocalOnly" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerSilent" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerVerifyDownload" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doSecondReset" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doStartGdbServer" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.enableFlashBreakpoints" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.enableSemihosting" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.enableSemihostingIoclientGdbClient" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.enableSemihostingIoclientTelnet" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.enableSwo" value="true"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.eraseEndAddress" value=""/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.eraseMode" value="0"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.eraseStartAddress" value=""/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.firstResetSpeed" value="1000"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.firstResetType" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.flashDeviceName" value="STM32F103VETx"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.flashDownloadHex" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.forceQuitGdbServer" value="false"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbClientOtherCommands" value="set mem inaccessible-by-default off"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbClientOtherOptions" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerConnection" value="usb"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerConnectionAddress" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerDebugInterface" value="swd"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerDeviceEndianness" value="little"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerDeviceName" value="R9A07G084M04"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerDeviceSpeed" value="1000"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerExecutable" value="${debugger_install_path}/${jlink_debugger_relative_path}\JLinkGDBServerCL.exe"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerGdbPortNumber" value="2331"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerLog" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerOther" value="-singlerun"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerRunAfterStopDebug" value="true"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerSwoPortNumber" value="2332"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerTelnetPortNumber" value="2333"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.interfaceSpeed" value="auto"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.jlinkExecutable" value="${debugger_install_path}/${jlink_debugger_relative_path}\JLink.exe"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.otherInitCommands" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.otherRunCommands" value=""/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.runAfterDownload" value="true"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.secondResetType" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.serailBaudRate" value="115200"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.serailPort" value=""/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.swoEnableTargetCpuFreq" value="0"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.swoEnableTargetPortMask" value="0x1"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.swoEnableTargetSwoFreq" value="0"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.svdPath" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU MCU J-Link"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="2331"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="${rtt_gnu_gcc}/arm-none-eabi-gdb.exe"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="0"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug/rtthread.elf"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="project"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/project"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.cdt.debug.core.sourceLocator"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="UTF-8"/>
|
||||
</launchConfiguration>
|
26
bsp/renesas/rzn2l_etherkit/.settings/standalone.prefs
Normal file
26
bsp/renesas/rzn2l_etherkit/.settings/standalone.prefs
Normal file
@ -0,0 +1,26 @@
|
||||
#Wed Nov 27 16:37:16 CST 2024
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#Board\#\#rzn2l_rsk\#\#xspi0_x1_boot\#\#2.0.0/libraries=
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#Board\#\#rzn2l_rsk\#\#xspi0_x1_boot\#\#2.0.0/all=907937621,script/fsp_xspi0_boot.icf|3822962514,rzn/board/rzn2l_rsk/board_leds.c|358444977,rzn/board/rzn2l_rsk/board_init.c|2067006575,rzn/board/rzn2l_rsk/board.h|736691883,rzn/board/rzn2l_rsk/board_ethernet_phy.h|1631979823,rzn/board/rzn2l_rsk/board_leds.h|1430483072,rzn/board/rzn2l_rsk/board_init.h
|
||||
com.renesas.cdt.ddsc.contentgen.options/options/suppresswarningspaths=
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#2.0.0/libraries=
|
||||
com.renesas.cdt.ddsc.threads.configurator/collapse/module.driver.uart_on_sci_uart.86814920=false
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#2.0.0/all=908052335,rzn/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c|3563504244,rzn/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c|870156648,rzn/fsp/src/bsp/cmsis/Device/RENESAS/Source/cr/system_core.c|368480523,rzn/fsp/src/bsp/cmsis/Device/RENESAS/Source/cr/startup_core.c|3243637314,rzn/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h|1280798555,rzn/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h|3352808441,rzn/fsp/src/bsp/cmsis/Device/RENESAS/Include/R9A07G084.h|1310386533,rzn/fsp/src/bsp/mcu/all/bsp_io.h|3643995939,rzn/fsp/src/bsp/mcu/all/bsp_cache.h|1033616941,rzn/fsp/src/bsp/mcu/all/bsp_register_protection.h|1572168446,rzn/fsp/src/bsp/mcu/all/bsp_io.c|3001342594,rzn/fsp/src/bsp/mcu/all/bsp_common.h|263477342,rzn/fsp/src/bsp/mcu/all/bsp_reset.h|2534029381,rzn/fsp/src/bsp/mcu/all/bsp_module_stop.h|4193244082,rzn/fsp/src/bsp/mcu/all/bsp_irq.h|2136575248,rzn/fsp/src/bsp/mcu/all/bsp_tfu.h|2170977041,rzn/fsp/src/bsp/mcu/all/bsp_delay.c|526389185,rzn/fsp/src/bsp/mcu/all/bsp_compiler_support.h|8162287,rzn/fsp/src/bsp/mcu/all/bsp_clocks.h|3045644015,rzn/fsp/src/bsp/mcu/all/bsp_common.c|1908923075,rzn/fsp/src/bsp/mcu/all/bsp_clocks.c|1289851302,rzn/fsp/src/bsp/mcu/all/bsp_irq.c|358242822,rzn/fsp/src/bsp/mcu/all/bsp_sbrk.c|2321472163,rzn/fsp/src/bsp/mcu/all/bsp_cache.c|225356254,rzn/fsp/src/bsp/mcu/all/bsp_exceptions.h|2518644892,rzn/fsp/src/bsp/mcu/all/bsp_register_protection.c|392613868,rzn/fsp/src/bsp/mcu/all/bsp_reset.c|2238656401,rzn/fsp/src/bsp/mcu/all/bsp_mcu_api.h|1611830052,rzn/fsp/src/bsp/mcu/all/bsp_delay.h|2060190483,rzn/fsp/src/bsp/mcu/all/cr/bsp_cache_core.h|1543064539,rzn/fsp/src/bsp/mcu/all/cr/bsp_delay_core.h|3717942516,rzn/fsp/src/bsp/mcu/all/cr/bsp_cache_core.c|3396795463,rzn/fsp/src/bsp/mcu/all/cr/bsp_irq_core.c|2195931215,rzn/fsp/src/bsp/mcu/all/cr/bsp_delay_core.c|1126344352,rzn/fsp/src/bsp/mcu/all/cr/bsp_irq_core.h|1926319940,rzn/fsp/inc/fsp_features.h|2508067197,rzn/fsp/inc/fsp_version.h|3571247719,rzn/fsp/inc/fsp_common_api.h|3347087544,rzn/fsp/inc/instances/r_ioport.h|1765016794,rzn/fsp/inc/api/bsp_api.h|250199021,rzn/fsp/inc/api/r_ioport_api.h
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#rzn2l\#\#fsp\#\#\#\#2.0.0/libraries=
|
||||
com.renesas.cdt.ddsc.project.standalone.projectgenerationoptions/isCpp=false
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#all\#\#Memory\#\#\#\#2.0.0/libraries=
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#all\#\#Memory\#\#\#\#2.0.0/all=
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#Core\#\#\#\#5.7.0+renesas.1.fsp.2.0.0/libraries=
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#2.0.0/libraries=
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_rtc\#\#\#\#2.0.0/all=3551601681,rzn/fsp/src/r_rtc/r_rtc.c|3948337697,rzn/fsp/inc/instances/r_rtc.h|3795688877,rzn/fsp/inc/api/r_rtc_api.h
|
||||
com.renesas.cdt.ddsc.content/com.renesas.cdt.ddsc.content.defaultlinkerscript=script/fsp_xspi0_boot.icf
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#Core\#\#\#\#5.7.0+renesas.1.fsp.2.0.0/all=1441545198,rzn/arm/CMSIS_5/LICENSE.txt|4247764709,rzn/arm/CMSIS_5/CMSIS/Core_R/Include/cmsis_gcc.h|1135074086,rzn/arm/CMSIS_5/CMSIS/Core_R/Include/core_cr52.h|510668081,rzn/arm/CMSIS_5/CMSIS/Core_R/Include/cmsis_iccarm.h|4245531541,rzn/arm/CMSIS_5/CMSIS/Core_R/Include/cmsis_compiler.h|1887099957,rzn/arm/CMSIS_5/CMSIS/Core_R/Include/cmsis_cp15.h|3334069041,rzn/arm/CMSIS_5/CMSIS/Core_R/Include/cmsis_version.h
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#rzn2l\#\#device\#\#R9A07G084M04GBG\#\#2.0.0/all=
|
||||
com.renesas.cdt.ddsc.settingseditor/com.renesas.cdt.ddsc.settingseditor.active_page=SWPConfigurator
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#rzn2l\#\#device\#\#R9A07G084M04GBG\#\#2.0.0/libraries=
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#2.0.0/all=2921827146,rzn/fsp/src/r_sci_uart/r_sci_uart.c|4093801030,rzn/fsp/inc/instances/r_sci_uart.h|1119704027,rzn/fsp/inc/api/r_uart_api.h|3586794436,rzn/fsp/inc/api/r_transfer_api.h
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#rzn2l\#\#device\#\#\#\#2.0.0/all=3243637314,rzn/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_rtc\#\#\#\#2.0.0/libraries=
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#rzn2l\#\#device\#\#\#\#2.0.0/libraries=
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#rzn2l\#\#fsp\#\#\#\#2.0.0/all=2989202485,rzn/fsp/src/bsp/mcu/rzn2l/bsp_loader_param.c|1967641730,rzn/fsp/src/bsp/mcu/rzn2l/bsp_feature.h|1508541487,rzn/fsp/src/bsp/mcu/rzn2l/bsp_elc.h|1088535767,rzn/fsp/src/bsp/mcu/rzn2l/bsp_irq_sense.c|1458388275,rzn/fsp/src/bsp/mcu/rzn2l/bsp_override.h|617637586,rzn/fsp/src/bsp/mcu/rzn2l/bsp_mcu_info.h
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#2.0.0/libraries=
|
||||
com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#2.0.0/all=615913359,rzn/fsp/src/r_ioport/r_ioport.c|3347087544,rzn/fsp/inc/instances/r_ioport.h|250199021,rzn/fsp/inc/api/r_ioport_api.h
|
17
bsp/renesas/rzn2l_etherkit/Kconfig
Normal file
17
bsp/renesas/rzn2l_etherkit/Kconfig
Normal file
@ -0,0 +1,17 @@
|
||||
mainmenu "RT-Thread Configuration"
|
||||
|
||||
BSP_DIR := .
|
||||
|
||||
RTT_DIR := ../../..
|
||||
|
||||
# you can change the RTT_ROOT default "rt-thread"
|
||||
# example : default "F:/git_repositories/rt-thread"
|
||||
|
||||
PKGS_DIR := packages
|
||||
|
||||
ENV_DIR := /
|
||||
|
||||
source "$(RTT_DIR)/Kconfig"
|
||||
osource "$PKGS_DIR/Kconfig"
|
||||
rsource "../libraries/Kconfig"
|
||||
source "$(BSP_DIR)/board/Kconfig"
|
170
bsp/renesas/rzn2l_etherkit/README.md
Normal file
170
bsp/renesas/rzn2l_etherkit/README.md
Normal file
@ -0,0 +1,170 @@
|
||||
# EtherKit Development Board BSP Documentation
|
||||
|
||||
**English** | **[Chinese](./README_zh.md)**
|
||||
|
||||
## Introduction
|
||||
|
||||
This document provides the BSP (Board Support Package) documentation for the RT-Thread EtherKit development board. By following the Quick Start section, developers can quickly get started with this BSP and run RT-Thread on the development board.
|
||||
|
||||
The main contents are as follows:
|
||||
|
||||
- Introduction to the Development Board
|
||||
- BSP Quick Start Guide
|
||||
|
||||
## Introduction to the Development Board
|
||||
|
||||
The EtherKit development board is based on the Renesas RZ/N2L and is designed to facilitate embedded system application development by offering flexible software package and IDE configurations.
|
||||
|
||||
The front view of the development board is shown below:
|
||||
|
||||

|
||||
|
||||
Key **onboard resources** include:
|
||||
|
||||
- MPU: R9A07G084M04GBG, maximum operating frequency of 400MHz, Arm Cortex®-R52 core, 128KB tightly coupled memory (with ECC), 1.5MB internal RAM (with ECC)
|
||||
- Debug Interface: Onboard J-Link interface
|
||||
- Expansion Interface: One PMOD connector
|
||||
|
||||
**More detailed information and tools**
|
||||
|
||||
## Peripheral Support
|
||||
|
||||
This BSP currently supports the following peripherals:
|
||||
|
||||
Here is the translated text in English, keeping the markdown format:
|
||||
|
||||
| **EtherCAT Solution** | **Support Status** | **EtherCAT Solution** | **Support Status** |
|
||||
| --------------------- | ------------------ | --------------------- | ------------------ |
|
||||
| EtherCAT_IO | Supported | EtherCAT_FOE | Supported |
|
||||
| EtherCAT_EOE | Supported | EtherCAT_COE | Supported |
|
||||
| **PROFINET Solution** | **Support Status** | **Ethernet/IP Solution** | **Support Status** |
|
||||
| P-Net (Open source evaluation package supporting ProfiNET slave protocol stack) | Supported | EIP | Supported |
|
||||
| **On-chip Peripherals** | **Support Status** | **Components** | **Support Status** |
|
||||
| UART | Supported | LWIP | Supported |
|
||||
| GPIO | Supported | TCP/UDP | Supported |
|
||||
| HWIMER | Supported | MQTT | Supported |
|
||||
| IIC | Supported | TFTP | Supported |
|
||||
| WDT | Supported | Modbus Master/Slave Protocol | Supported |
|
||||
| RTC | Supported | | |
|
||||
| ADC | Supported | | |
|
||||
| DAC | Supported | | |
|
||||
| SPI | Supported | | |
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Usage instructions are divided into two sections:
|
||||
|
||||
- **Quick Start**
|
||||
|
||||
This section is designed for beginners who are new to RT-Thread. By following simple steps, users can run the RT-Thread OS on the development board and observe the experimental results.
|
||||
|
||||
- **Advanced Usage**
|
||||
|
||||
This section is for developers who need to use more of the development board's resources within the RT-Thread OS. By configuring the BSP using the ENV tool, additional onboard resources and advanced features can be enabled.
|
||||
|
||||
### Quick Start
|
||||
|
||||
This BSP currently provides GCC/IAR project support. Below is a guide using the [IAR Embedded Workbench for Arm](https://www.iar.com/products/architectures/arm/iar-embedded-workbench-for-arm/) development environment to run the system.
|
||||
|
||||
**Hardware Connection**
|
||||
|
||||
Connect the development board to the PC via a USB cable. Use the J-Link interface to download and debug the program.
|
||||
|
||||
**Compilation and Download**
|
||||
|
||||
- Navigate to the `bsp` directory and use the command `scons --target=iar` to generate the IAR project.
|
||||
- Compile: Double-click the `project.eww` file to open the IAR project and compile the program.
|
||||
- Debug: In the IAR navigation bar, click `Project -> Download and Debug` to download and start debugging.
|
||||
|
||||
**Viewing the Run Results**
|
||||
|
||||
After successfully downloading the program, the system will automatically run and print system information.
|
||||
|
||||
Connect the corresponding serial port of the development board to the PC. Open the relevant serial port (115200-8-1-N) in the terminal tool. After resetting the device, you can view the RT-Thread output. Enter the `help` command to see the list of supported system commands.
|
||||
|
||||
```bash
|
||||
\ | /
|
||||
- RT - Thread Operating System
|
||||
/ | \ 5.1.0 build Mar 14 2024 18:26:01
|
||||
2006 - 2024 Copyright by RT-Thread team
|
||||
|
||||
Hello RT-Thread!
|
||||
==================================================
|
||||
This is an IAR project in RAM execution mode!
|
||||
==================================================
|
||||
msh > help
|
||||
RT-Thread shell commands:
|
||||
clear - clear the terminal screen
|
||||
version - show RT-Thread version information
|
||||
list - list objects
|
||||
backtrace - print backtrace of a thread
|
||||
help - RT-Thread shell help
|
||||
ps - List threads in the system
|
||||
free - Show the memory usage in the system
|
||||
pin - pin [option]
|
||||
|
||||
msh >
|
||||
```
|
||||
|
||||
**Application Entry Function**
|
||||
|
||||
The entry function for the application layer is located in **src\hal_entry.c** within `void hal_entry(void)`. User source files can be placed directly in the `src` directory.
|
||||
|
||||
```c
|
||||
void hal_entry(void)
|
||||
{
|
||||
rt_kprintf("\nHello RT-Thread!\n");
|
||||
rt_kprintf("==================================================\n");
|
||||
rt_kprintf("This is an IAR project in RAM execution mode!\n");
|
||||
rt_kprintf("==================================================\n");
|
||||
|
||||
while (1)
|
||||
{
|
||||
rt_pin_write(LED_PIN, PIN_HIGH);
|
||||
rt_thread_mdelay(500);
|
||||
rt_pin_write(LED_PIN, PIN_LOW);
|
||||
rt_thread_mdelay(500);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Advanced Usage
|
||||
|
||||
**Resources and Documentation**
|
||||
|
||||
- [Development Board Official Homepage](https://www.renesas.cn/zh/products/microcontrollers-microprocessors/rz-mpus/rzn2l-integrated-tsn-compliant-3-port-gigabit-ethernet-switch-enables-various-industrial-applications)
|
||||
- [Development Board Datasheet](https://www.renesas.cn/zh/document/dst/rzn2l-group-datasheet?r=1622651)
|
||||
- [Development Board Hardware Manual](https://www.renesas.cn/zh/document/mah/rzn2l-group-users-manual-hardware?r=1622651)
|
||||
- [EtherKit_User_Manual](https://github.com/RT-Thread-Studio/sdk-bsp-rzn2l-etherkit/blob/master/docs/EtherKit_User_Manual.pdf)
|
||||
- [RZ/N2L MCU Quick Start Guide](https://www.renesas.cn/zh/document/apn/rzt2-rzn2-device-setup-guide-flash-boot-application-note?r=1622651)
|
||||
- [RZ/N2L Easy Download Guide](https://www.renesas.cn/zh/document/gde/rzn2l-easy-download-guide?r=1622651)
|
||||
- [Renesas RZ/N2L Group](https://www.renesas.cn/zh/document/fly/renesas-rzn2l-group?r=1622651)
|
||||
|
||||
**FSP Configuration**
|
||||
|
||||
To modify Renesas BSP peripheral configurations or add new peripheral ports, the Renesas [FSP](https://www2.renesas.cn/jp/zh/software-tool/flexible-software-package-fsp#document) configuration tool is required. Please follow the steps outlined below for configuration. For any questions regarding the configuration, please visit the [RT-Thread Community Forum](https://club.rt-thread.org/).
|
||||
|
||||
1. [Download the Flexible Software Package (FSP) | Renesas](https://github.com/renesas/rzn-fsp/releases/download/v2.0.0/setup_rznfsp_v2_0_0_rzsc_v2024-01.1.exe), use FSP version 2.0.0.
|
||||
2. To add the **"EtherKit Board Support Package"** to FSP, refer to the document [How to Import a BSP](https://www2.renesas.cn/document/ppt/1527171?language=zh&r=1527191).
|
||||
3. For guidance on configuring peripheral drivers using FSP, refer to the document: [Configuring Peripheral Drivers Using FSP for RA Series](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA-series-using-FSP-configure-peripheral-drivers?id=ra-series-using-fsp-configure-peripheral-drivers).
|
||||
|
||||
**ENV Configuration**
|
||||
|
||||
- To learn how to use the ENV tool, refer to the [RT-Thread ENV Tool User Manual](https://www.rt-thread.org/document/site/#/development-tools/env/env).
|
||||
|
||||
By default, this BSP only enables the UART0 functionality. To use more advanced features such as components, software packages, and more, the ENV tool must be used for configuration.
|
||||
|
||||
The steps are as follows:
|
||||
1. Open the ENV tool in the `bsp` directory.
|
||||
2. Use the `menuconfig` command to configure the project. Save and exit once the configuration is complete.
|
||||
3. Run the `pkgs --update` command to update the software packages.
|
||||
4. Run the `scons --target=iar` command to regenerate the project.
|
||||
|
||||
## Contact Information
|
||||
|
||||
If you have any thoughts or suggestions during usage, please feel free to contact us via the [RT-Thread Community Forum](https://club.rt-thread.org/).
|
||||
|
||||
## Contribute Code
|
||||
|
||||
If you're interested in EtherKit and have some exciting projects you'd like to share, we welcome code contributions. Please refer to [How to Contribute to RT-Thread Code](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/development-guide/github/github).
|
166
bsp/renesas/rzn2l_etherkit/README_zh.md
Normal file
166
bsp/renesas/rzn2l_etherkit/README_zh.md
Normal file
@ -0,0 +1,166 @@
|
||||
# EtherKit 开发板 BSP 说明
|
||||
|
||||
**中文** | [**English**](./README.md)
|
||||
|
||||
## 简介
|
||||
|
||||
本文档为 RT-Thread EtherKit 开发板提供的 BSP (板级支持包) 说明。通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。
|
||||
|
||||
主要内容如下:
|
||||
|
||||
- 开发板介绍
|
||||
- BSP 快速上手指南
|
||||
|
||||
## 开发板介绍
|
||||
|
||||
基于瑞萨 RZ/N2L 开发的 EtherKit 开发板,通过灵活配置软件包和 IDE,对嵌入系统应用程序进行开发。
|
||||
|
||||
开发板正面外观如下图:
|
||||
|
||||

|
||||
|
||||
该开发板常用 **板载资源** 如下:
|
||||
|
||||
- MPU:R9A07G084M04GBG,最大工作频率 400MHz,Arm Cortex®-R52 内核,紧密耦合内存 128KB(带 ECC),内部 RAM 1.5 MB(带 ECC)
|
||||
- 调试接口:板载 J-Link 接口
|
||||
- 扩展接口:一个 PMOD 连接器
|
||||
|
||||
**更多详细资料及工具**
|
||||
|
||||
## 外设支持
|
||||
|
||||
本 BSP 目前对外设的支持情况如下:
|
||||
|
||||
| **EtherCAT方案** | **支持情况** | **EtherCAT方案** | **支持情况** |
|
||||
| ---------------- | ------------ | ---------------- | ------------ |
|
||||
| EtherCAT_IO | 支持 | EtherCAT_FOE | 支持 |
|
||||
| EtherCAT_EOE | 支持 | EtherCAT_COE | 支持 |
|
||||
| **PROFINET方案** | **支持情况** | **Ethernet/IP方案** | **支持情况** |
|
||||
| P-Net(支持ProfiNET从站协议栈的开源评估软件包) | 支持 | EIP | 支持 |
|
||||
| **片上外设** | **支持情况** | **组件** | **支持情况** |
|
||||
| UART | 支持 | LWIP | 支持 |
|
||||
| GPIO | 支持 | TCP/UDP | 支持 |
|
||||
| HWIMER | 支持 | MQTT | 支持 |
|
||||
| IIC | 支持 | TFTP | 支持 |
|
||||
| WDT | 支持 | Modbus主从站协议 | 支持 |
|
||||
| RTC | 支持 | | |
|
||||
| ADC | 支持 | | |
|
||||
| DAC | 支持 | | |
|
||||
| SPI | 支持 | | |
|
||||
|
||||
## 使用说明
|
||||
|
||||
使用说明分为如下两个章节:
|
||||
|
||||
- 快速上手
|
||||
|
||||
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
|
||||
- 进阶使用
|
||||
|
||||
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
|
||||
|
||||
### 快速上手
|
||||
|
||||
本 BSP 目前提供 GCC/IAR 工程。下面以 [IAR Embedded Workbench for Arm](https://www.iar.com/products/architectures/arm/iar-embedded-workbench-for-arm/) 开发环境为例,介绍如何将系统运行起来。
|
||||
|
||||
**硬件连接**
|
||||
|
||||
使用 USB 数据线连接开发板到 PC,使用 J-link 接口下载和 DEBUG 程序。
|
||||
|
||||
**编译下载**
|
||||
|
||||
- 进入 bsp 目录下,打开 ENV 使用命令 `scons --target=iar` 生成 IAR工程。
|
||||
- 编译:双击 project.eww 文件,打开 IAR 工程,编译程序。
|
||||
- 调试:IAR 左上方导航栏点击 `Project->Download and Debug`下载并启动调试。
|
||||
|
||||
**查看运行结果**
|
||||
|
||||
下载程序成功之后,系统会自动运行并打印系统信息。
|
||||
|
||||
连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息。输入 help 命令可查看系统中支持的命令。
|
||||
|
||||
```bash
|
||||
\ | /
|
||||
- RT - Thread Operating System
|
||||
/ | \ 5.1.0 build Mar 14 2024 18:26:01
|
||||
2006 - 2024 Copyright by RT-Thread team
|
||||
|
||||
Hello RT-Thread!
|
||||
==================================================
|
||||
This is a iar project which mode is ram execution!
|
||||
==================================================
|
||||
msh >help
|
||||
RT-Thread shell commands:
|
||||
clear - clear the terminal screen
|
||||
version - show RT-Thread version information
|
||||
list - list objects
|
||||
backtrace - print backtrace of a thread
|
||||
help - RT-Thread shell help
|
||||
ps - List threads in the system
|
||||
free - Show the memory usage in the system
|
||||
pin - pin [option]
|
||||
|
||||
msh >
|
||||
```
|
||||
|
||||
**应用入口函数**
|
||||
|
||||
应用层的入口函数在 **src\hal_entry.c** 中 的 `void hal_entry(void)` 。用户编写的源文件可直接放在 src 目录下。
|
||||
|
||||
```c
|
||||
void hal_entry(void)
|
||||
{
|
||||
rt_kprintf("\nHello RT-Thread!\n");
|
||||
rt_kprintf("==================================================\n");
|
||||
rt_kprintf("This is a iar project which mode is ram execution!\n");
|
||||
rt_kprintf("==================================================\n");
|
||||
|
||||
while (1)
|
||||
{
|
||||
rt_pin_write(LED_PIN, PIN_HIGH);
|
||||
rt_thread_mdelay(500);
|
||||
rt_pin_write(LED_PIN, PIN_LOW);
|
||||
rt_thread_mdelay(500);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 进阶使用
|
||||
|
||||
**资料及文档**
|
||||
|
||||
- [开发板官网主页](https://www.renesas.cn/zh/products/microcontrollers-microprocessors/rz-mpus/rzn2l-integrated-tsn-compliant-3-port-gigabit-ethernet-switch-enables-various-industrial-applications)
|
||||
- [开发板数据手册](https://www.renesas.cn/zh/document/dst/rzn2l-group-datasheet?r=1622651)
|
||||
- [开发板硬件手册](https://www.renesas.cn/zh/document/mah/rzn2l-group-users-manual-hardware?r=1622651)
|
||||
- [EtherKit用户手册](https://github.com/RT-Thread-Studio/sdk-bsp-rzn2l-etherkit/blob/master/docs/EtherKit_User_Manual.pdf)
|
||||
- [RZ/N2L MCU 快速入门指南](https://www.renesas.cn/zh/document/apn/rzt2-rzn2-device-setup-guide-flash-boot-application-note?r=1622651)
|
||||
- [RZ/N2L Easy Download Guide](https://www.renesas.cn/zh/document/gde/rzn2l-easy-download-guide?r=1622651)
|
||||
- [Renesas RZ/N2L Group](https://www.renesas.cn/zh/document/fly/renesas-rzn2l-group?r=1622651)
|
||||
|
||||
**FSP 配置**
|
||||
|
||||
需要修改瑞萨的 BSP 外设配置或添加新的外设端口,需要用到瑞萨的 [FSP](https://www2.renesas.cn/jp/zh/software-tool/flexible-software-package-fsp#document) 配置工具。请务必按照如下步骤完成配置。配置中有任何问题可到[RT-Thread 社区论坛](https://club.rt-thread.org/)中提问。
|
||||
|
||||
1. [下载灵活配置软件包 (FSP) | Renesas](https://github.com/renesas/rzn-fsp/releases/download/v2.0.0/setup_rznfsp_v2_0_0_rzsc_v2024-01.1.exe),请使用 FSP 2.0.0 版本
|
||||
2. 如何将 **”EtherKit板级支持包“**添加到 FSP 中,请参考文档[如何导入板级支持包](https://www2.renesas.cn/document/ppt/1527171?language=zh&r=1527191)
|
||||
3. 请参考文档:[RA系列使用FSP配置外设驱动](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA系列使用FSP配置外设驱动?id=ra系列使用-fsp-配置外设驱动)。
|
||||
|
||||
**ENV 配置**
|
||||
|
||||
- 如何使用 ENV 工具:[RT-Thread env 工具用户手册](https://www.rt-thread.org/document/site/#/development-tools/env/env)
|
||||
|
||||
此 BSP 默认只开启了 UART0 的功能,如果需使用更多高级功能例如组件、软件包等,需要利用 ENV 工具进行配置。
|
||||
|
||||
步骤如下:
|
||||
1. 在 bsp 下打开 env 工具。
|
||||
2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
|
||||
3. 输入`pkgs --update`命令更新软件包。
|
||||
4. 输入`scons --target=iar` 命令重新生成工程。
|
||||
|
||||
## 联系人信息
|
||||
|
||||
在使用过程中若您有任何的想法和建议,建议您通过以下方式来联系到我们 [RT-Thread 社区论坛](https://club.rt-thread.org/)
|
||||
|
||||
## 贡献代码
|
||||
|
||||
如果您对 EtherKit 感兴趣,并且有一些好玩的项目愿意与大家分享的话欢迎给我们贡献代码,您可以参考 [如何向 RT-Thread 代码贡献](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/development-guide/github/github)。
|
27
bsp/renesas/rzn2l_etherkit/SConscript
Normal file
27
bsp/renesas/rzn2l_etherkit/SConscript
Normal file
@ -0,0 +1,27 @@
|
||||
# for module compiling
|
||||
import os
|
||||
Import('RTT_ROOT')
|
||||
Import('rtconfig')
|
||||
from building import *
|
||||
from gcc import *
|
||||
|
||||
cwd = GetCurrentDir()
|
||||
src = []
|
||||
CPPPATH = [cwd]
|
||||
group = []
|
||||
list = os.listdir(cwd)
|
||||
|
||||
if rtconfig.PLATFORM in ['iccarm']:
|
||||
group = DefineGroup('', src, depend = [''], CPPPATH = CPPPATH)
|
||||
elif rtconfig.PLATFORM in GetGCCLikePLATFORM():
|
||||
if GetOption('target') != 'mdk5':
|
||||
CPPPATH = [cwd]
|
||||
src = Glob('./src/*.c')
|
||||
group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH)
|
||||
|
||||
for d in list:
|
||||
path = os.path.join(cwd, d)
|
||||
if os.path.isfile(os.path.join(path, 'SConscript')):
|
||||
group = group + SConscript(os.path.join(d, 'SConscript'))
|
||||
|
||||
Return('group')
|
55
bsp/renesas/rzn2l_etherkit/SConstruct
Normal file
55
bsp/renesas/rzn2l_etherkit/SConstruct
Normal file
@ -0,0 +1,55 @@
|
||||
import os
|
||||
import sys
|
||||
import rtconfig
|
||||
|
||||
if os.getenv('RTT_ROOT'):
|
||||
RTT_ROOT = os.getenv('RTT_ROOT')
|
||||
else:
|
||||
RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..')
|
||||
|
||||
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
|
||||
try:
|
||||
from building import *
|
||||
except:
|
||||
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
|
||||
print(RTT_ROOT)
|
||||
exit(-1)
|
||||
|
||||
TARGET = 'rtthread.' + rtconfig.TARGET_EXT
|
||||
|
||||
DefaultEnvironment(tools=[])
|
||||
env = Environment(tools = ['mingw'],
|
||||
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
||||
CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
|
||||
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
|
||||
AR = rtconfig.AR, ARFLAGS = '-rc',
|
||||
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
|
||||
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
||||
|
||||
if rtconfig.PLATFORM in ['iccarm']:
|
||||
env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
|
||||
env.Replace(ARFLAGS = [''])
|
||||
env.Replace(LINKCOM = env["LINKCOM"] + ' --map project.map')
|
||||
|
||||
Export('RTT_ROOT')
|
||||
Export('rtconfig')
|
||||
|
||||
SDK_ROOT = os.path.abspath('./')
|
||||
if os.path.exists(SDK_ROOT + '/libraries'):
|
||||
libraries_path_prefix = SDK_ROOT + '/libraries'
|
||||
else:
|
||||
libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries'
|
||||
|
||||
SDK_LIB = libraries_path_prefix
|
||||
Export('SDK_LIB')
|
||||
|
||||
rtconfig.BSP_LIBRARY_TYPE = None
|
||||
|
||||
# prepare building environment
|
||||
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
|
||||
|
||||
# include drivers
|
||||
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript')))
|
||||
|
||||
# make a building
|
||||
DoBuilding(TARGET, objs)
|
572
bsp/renesas/rzn2l_etherkit/board/Kconfig
Normal file
572
bsp/renesas/rzn2l_etherkit/board/Kconfig
Normal file
@ -0,0 +1,572 @@
|
||||
menu "Hardware Drivers Config"
|
||||
|
||||
config SOC_R9A07G084
|
||||
bool
|
||||
select SOC_SERIES_R9A07G0
|
||||
select RT_USING_COMPONENTS_INIT
|
||||
select RT_USING_USER_MAIN
|
||||
default y
|
||||
|
||||
menu "Onboard Peripheral Drivers"
|
||||
|
||||
config BSP_USING_HYPERRAM
|
||||
bool "Enable XSPI0 CS1 Winbond octal hyperRAM"
|
||||
default n
|
||||
|
||||
endmenu
|
||||
|
||||
menu "On-chip Peripheral Drivers"
|
||||
|
||||
rsource "../../libraries/HAL_Drivers/Kconfig"
|
||||
|
||||
menuconfig BSP_USING_UART
|
||||
bool "Enable UART"
|
||||
default y
|
||||
select RT_USING_SERIAL
|
||||
select RT_USING_SERIAL_V2
|
||||
if BSP_USING_UART
|
||||
menuconfig BSP_USING_UART0
|
||||
bool "Enable UART0"
|
||||
default n
|
||||
if BSP_USING_UART0
|
||||
config BSP_UART0_RX_USING_DMA
|
||||
bool "Enable UART0 RX DMA"
|
||||
depends on BSP_USING_UART0 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART0_TX_USING_DMA
|
||||
bool "Enable UART0 TX DMA"
|
||||
depends on BSP_USING_UART0 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART0_RX_BUFSIZE
|
||||
int "Set UART0 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_UART0_TX_BUFSIZE
|
||||
int "Set UART0 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_UART5
|
||||
bool "Enable UART5"
|
||||
default n
|
||||
if BSP_USING_UART5
|
||||
config BSP_UART5_RX_USING_DMA
|
||||
bool "Enable UART5 RX DMA"
|
||||
depends on BSP_USING_UART5 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART5_TX_USING_DMA
|
||||
bool "Enable UART5 TX DMA"
|
||||
depends on BSP_USING_UART5 && RT_SERIAL_USING_DMA
|
||||
default n
|
||||
|
||||
config BSP_UART5_RX_BUFSIZE
|
||||
int "Set UART5 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_UART5_TX_BUFSIZE
|
||||
int "Set UART5 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_ADC
|
||||
bool "Enable ADC"
|
||||
default n
|
||||
select RT_USING_ADC
|
||||
if BSP_USING_ADC
|
||||
config BSP_USING_ADC0
|
||||
bool "Enable ADC0"
|
||||
config BSP_USING_ADC1
|
||||
bool "Enable ADC1"
|
||||
config BSP_USING_ADC2
|
||||
bool "Enable ADC2"
|
||||
config BSP_USING_ADC3
|
||||
bool "Enable ADC3"
|
||||
default n
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_CANFD
|
||||
bool "Enable CANFD"
|
||||
default n
|
||||
select RT_USING_CAN
|
||||
select RT_CAN_USING_CANFD
|
||||
if BSP_USING_CANFD
|
||||
config BSP_USING_CAN_RZ
|
||||
bool "Enabled this option means turning on standard CAN, while disabling it means switching to CANFD."
|
||||
default n
|
||||
config BSP_USING_CAN0
|
||||
bool "Enable CANFD0"
|
||||
default n
|
||||
config BSP_USING_CAN1
|
||||
bool "Enable CANFD1"
|
||||
default n
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_SCI
|
||||
bool "Enable SCI Controller"
|
||||
default n
|
||||
config BSP_USING_SCIn_SPI
|
||||
bool
|
||||
depends on BSP_USING_SCI
|
||||
select RT_USING_SPI
|
||||
default n
|
||||
|
||||
config BSP_USING_SCIn_I2C
|
||||
bool
|
||||
depends on BSP_USING_SCI
|
||||
select RT_USING_I2C
|
||||
default n
|
||||
|
||||
config BSP_USING_SCIn_UART
|
||||
bool
|
||||
depends on BSP_USING_SCI
|
||||
select RT_USING_SERIAL
|
||||
select RT_USING_SERIAL_V2
|
||||
default n
|
||||
|
||||
if BSP_USING_SCI
|
||||
config BSP_USING_SCI0
|
||||
bool "Enable SCI0"
|
||||
default n
|
||||
if BSP_USING_SCI0
|
||||
choice
|
||||
prompt "choice sci mode"
|
||||
default BSP_USING_SCI0_SPI
|
||||
config BSP_USING_SCI0_SPI
|
||||
select BSP_USING_SCIn_SPI
|
||||
bool "SPI mode"
|
||||
config BSP_USING_SCI0_I2C
|
||||
select BSP_USING_SCIn_I2C
|
||||
bool "I2C mode"
|
||||
config BSP_USING_SCI0_UART
|
||||
select BSP_USING_SCIn_UART
|
||||
bool "UART mode"
|
||||
endchoice
|
||||
if BSP_USING_SCI0_UART
|
||||
config BSP_SCI0_UART_RX_BUFSIZE
|
||||
int "Set UART0 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_SCI0_UART_TX_BUFSIZE
|
||||
int "Set UART0 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
config BSP_USING_SCI1
|
||||
bool "Enable SCI1"
|
||||
default n
|
||||
if BSP_USING_SCI1
|
||||
choice
|
||||
prompt "choice sci mode"
|
||||
default BSP_USING_SCI1_SPI
|
||||
config BSP_USING_SCI1_SPI
|
||||
select BSP_USING_SCIn_SPI
|
||||
bool "SPI mode"
|
||||
config BSP_USING_SCI1_I2C
|
||||
select BSP_USING_SCIn_I2C
|
||||
bool "I2C mode"
|
||||
config BSP_USING_SCI1_UART
|
||||
select BSP_USING_SCIn_UART
|
||||
bool "UART mode"
|
||||
endchoice
|
||||
if BSP_USING_SCI1_UART
|
||||
config BSP_SCI1_UART_RX_BUFSIZE
|
||||
int "Set UART1 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_SCI1_UART_TX_BUFSIZE
|
||||
int "Set UART1 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
config BSP_USING_SCI2
|
||||
bool "Enable SCI2"
|
||||
default n
|
||||
if BSP_USING_SCI2
|
||||
choice
|
||||
prompt "choice sci mode"
|
||||
default BSP_USING_SCI2_SPI
|
||||
config BSP_USING_SCI2_SPI
|
||||
select BSP_USING_SCIn_SPI
|
||||
bool "SPI mode"
|
||||
config BSP_USING_SCI2_I2C
|
||||
select BSP_USING_SCIn_I2C
|
||||
bool "I2C mode"
|
||||
config BSP_USING_SCI2_UART
|
||||
select BSP_USING_SCIn_UART
|
||||
bool "UART mode"
|
||||
endchoice
|
||||
if BSP_USING_SCI2_UART
|
||||
config BSP_SCI2_UART_RX_BUFSIZE
|
||||
int "Set UART2 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_SCI2_UART_TX_BUFSIZE
|
||||
int "Set UART2 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
config BSP_USING_SCI3
|
||||
bool "Enable SCI3"
|
||||
default n
|
||||
if BSP_USING_SCI3
|
||||
choice
|
||||
prompt "choice sci mode"
|
||||
default BSP_USING_SCI3_SPI
|
||||
config BSP_USING_SCI3_SPI
|
||||
select BSP_USING_SCIn_SPI
|
||||
bool "SPI mode"
|
||||
config BSP_USING_SCI3_I2C
|
||||
select BSP_USING_SCIn_I2C
|
||||
bool "I2C mode"
|
||||
config BSP_USING_SCI3_UART
|
||||
select BSP_USING_SCIn_UART
|
||||
bool "UART mode"
|
||||
endchoice
|
||||
if BSP_USING_SCI3_UART
|
||||
config BSP_SCI3_UART_RX_BUFSIZE
|
||||
int "Set UART3 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_SCI3_UART_TX_BUFSIZE
|
||||
int "Set UART3 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
config BSP_USING_SCI4
|
||||
bool "Enable SCI4"
|
||||
default n
|
||||
if BSP_USING_SCI4
|
||||
choice
|
||||
prompt "choice sci mode"
|
||||
default BSP_USING_SCI4_SPI
|
||||
config BSP_USING_SCI4_SPI
|
||||
select BSP_USING_SCIn_SPI
|
||||
bool "SPI mode"
|
||||
config BSP_USING_SCI4_I2C
|
||||
select BSP_USING_SCIn_I2C
|
||||
bool "I2C mode"
|
||||
config BSP_USING_SCI4_UART
|
||||
select BSP_USING_SCIn_UART
|
||||
bool "UART mode"
|
||||
endchoice
|
||||
if BSP_USING_SCI4_UART
|
||||
config BSP_SCI4_UART_RX_BUFSIZE
|
||||
int "Set UART4 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_SCI4_UART_TX_BUFSIZE
|
||||
int "Set UART4 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
config BSP_USING_SCI5
|
||||
bool "Enable SCI5"
|
||||
default n
|
||||
if BSP_USING_SCI5
|
||||
choice
|
||||
prompt "choice sci mode"
|
||||
default BSP_USING_SCI5_SPI
|
||||
config BSP_USING_SCI5_SPI
|
||||
select BSP_USING_SCIn_SPI
|
||||
bool "SPI mode"
|
||||
config BSP_USING_SCI5_I2C
|
||||
select BSP_USING_SCIn_I2C
|
||||
bool "I2C mode"
|
||||
config BSP_USING_SCI5_UART
|
||||
select BSP_USING_SCIn_UART
|
||||
bool "UART mode"
|
||||
endchoice
|
||||
if BSP_USING_SCI5_UART
|
||||
config BSP_SCI5_UART_RX_BUFSIZE
|
||||
int "Set UART5 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_SCI5_UART_TX_BUFSIZE
|
||||
int "Set UART5 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
config BSP_USING_SCI6
|
||||
bool "Enable SCI6"
|
||||
default n
|
||||
if BSP_USING_SCI6
|
||||
choice
|
||||
prompt "choice sci mode"
|
||||
default BSP_USING_SCI6_SPI
|
||||
config BSP_USING_SCI6_SPI
|
||||
select BSP_USING_SCIn_SPI
|
||||
bool "SPI mode"
|
||||
config BSP_USING_SCI6_I2C
|
||||
select BSP_USING_SCIn_I2C
|
||||
bool "I2C mode"
|
||||
config BSP_USING_SCI6_UART
|
||||
select BSP_USING_SCIn_UART
|
||||
bool "UART mode"
|
||||
endchoice
|
||||
if BSP_USING_SCI6_UART
|
||||
config BSP_SCI6_UART_RX_BUFSIZE
|
||||
int "Set UART6 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_SCI6_UART_TX_BUFSIZE
|
||||
int "Set UART6 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
config BSP_USING_SCI7
|
||||
bool "Enable SCI7"
|
||||
default n
|
||||
if BSP_USING_SCI7
|
||||
choice
|
||||
prompt "choice sci mode"
|
||||
default BSP_USING_SCI7_SPI
|
||||
config BSP_USING_SCI7_SPI
|
||||
select BSP_USING_SCIn_SPI
|
||||
bool "SPI mode"
|
||||
config BSP_USING_SCI7_I2C
|
||||
select BSP_USING_SCIn_I2C
|
||||
bool "I2C mode"
|
||||
config BSP_USING_SCI7_UART
|
||||
select BSP_USING_SCIn_UART
|
||||
bool "UART mode"
|
||||
endchoice
|
||||
if BSP_USING_SCI7_UART
|
||||
config BSP_SCI7_UART_RX_BUFSIZE
|
||||
int "Set UART7 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_SCI7_UART_TX_BUFSIZE
|
||||
int "Set UART7 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
config BSP_USING_SCI8
|
||||
bool "Enable SCI8"
|
||||
default n
|
||||
if BSP_USING_SCI8
|
||||
choice
|
||||
prompt "choice sci mode"
|
||||
default BSP_USING_SCI8_SPI
|
||||
config BSP_USING_SCI8_SPI
|
||||
select BSP_USING_SCIn_SPI
|
||||
bool "SPI mode"
|
||||
config BSP_USING_SCI8_I2C
|
||||
select BSP_USING_SCIn_I2C
|
||||
bool "I2C mode"
|
||||
config BSP_USING_SCI8_UART
|
||||
select BSP_USING_SCIn_UART
|
||||
bool "UART mode"
|
||||
endchoice
|
||||
if BSP_USING_SCI8_UART
|
||||
config BSP_SCI8_UART_RX_BUFSIZE
|
||||
int "Set UART8 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_SCI8_UART_TX_BUFSIZE
|
||||
int "Set UART8 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
config BSP_USING_SCI9
|
||||
bool "Enable SCI9"
|
||||
default n
|
||||
if BSP_USING_SCI9
|
||||
choice
|
||||
prompt "choice sci mode"
|
||||
default BSP_USING_SCI9_SPI
|
||||
config BSP_USING_SCI9_SPI
|
||||
select BSP_USING_SCIn_SPI
|
||||
bool "SPI mode"
|
||||
config BSP_USING_SCI9_I2C
|
||||
select BSP_USING_SCIn_I2C
|
||||
bool "I2C mode"
|
||||
config BSP_USING_SCI9_UART
|
||||
select BSP_USING_SCIn_UART
|
||||
bool "UART mode"
|
||||
endchoice
|
||||
if BSP_USING_SCI9_UART
|
||||
config BSP_SCI9_UART_RX_BUFSIZE
|
||||
int "Set UART9 RX buffer size"
|
||||
range 64 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 256
|
||||
|
||||
config BSP_SCI9_UART_TX_BUFSIZE
|
||||
int "Set UART9 TX buffer size"
|
||||
range 0 65535
|
||||
depends on RT_USING_SERIAL_V2
|
||||
default 0
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_I2C
|
||||
bool "Enable I2C BUS"
|
||||
default n
|
||||
select RT_USING_I2C
|
||||
select RT_USING_I2C_BITOPS
|
||||
select RT_USING_PIN
|
||||
if BSP_USING_I2C
|
||||
config BSP_USING_HW_I2C
|
||||
bool "Enable Hardware I2C BUS"
|
||||
default n
|
||||
if BSP_USING_HW_I2C
|
||||
config BSP_USING_HW_I2C0
|
||||
bool "Enable Hardware I2C0 BUS"
|
||||
default n
|
||||
endif
|
||||
if BSP_USING_HW_I2C
|
||||
config BSP_USING_HW_I2C1
|
||||
bool "Enable Hardware I2C1 BUS"
|
||||
default n
|
||||
endif
|
||||
if !BSP_USING_HW_I2C
|
||||
menuconfig BSP_USING_I2C1
|
||||
bool "Enable I2C1 BUS (software simulation)"
|
||||
default y
|
||||
if BSP_USING_I2C1
|
||||
config BSP_I2C1_SCL_PIN
|
||||
hex "i2c1 scl pin number"
|
||||
range 0x0000 0x0B0F
|
||||
default 0x0B03
|
||||
config BSP_I2C1_SDA_PIN
|
||||
hex "I2C1 sda pin number"
|
||||
range 0x0000 0x0B0F
|
||||
default 0x050E
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_SPI
|
||||
bool "Enable SPI BUS"
|
||||
default n
|
||||
select RT_USING_SPI
|
||||
if BSP_USING_SPI
|
||||
config BSP_USING_SPI0
|
||||
bool "Enable SPI0 BUS"
|
||||
default n
|
||||
config BSP_USING_SPI1
|
||||
bool "Enable SPI1 BUS"
|
||||
default n
|
||||
config BSP_USING_SPI2
|
||||
bool "Enable SPI2 BUS"
|
||||
default n
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_TIM
|
||||
bool "Enable timer"
|
||||
default n
|
||||
select RT_USING_HWTIMER
|
||||
if BSP_USING_TIM
|
||||
config BSP_USING_TIM0
|
||||
bool "Enable TIM0"
|
||||
default n
|
||||
config BSP_USING_TIM1
|
||||
bool "Enable TIM1"
|
||||
default n
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_PWM
|
||||
bool "Enable PWM"
|
||||
default n
|
||||
select RT_USING_PWM
|
||||
if BSP_USING_PWM
|
||||
config BSP_USING_PWM5
|
||||
bool "Enable GPT5 (32-Bits) output PWM"
|
||||
default n
|
||||
endif
|
||||
|
||||
config BSP_USING_ETH
|
||||
bool "Enable Ethernet"
|
||||
select RT_USING_SAL
|
||||
select RT_USING_LWIP
|
||||
select RT_USING_NETDEV
|
||||
default n
|
||||
|
||||
endmenu
|
||||
|
||||
menu "Board extended module Drivers"
|
||||
menuconfig BSP_USING_RW007
|
||||
bool "Enable RW007"
|
||||
default n
|
||||
select PKG_USING_RW007
|
||||
select BSP_USING_SPI
|
||||
select BSP_USING_SPI2
|
||||
select RT_USING_MEMPOOL
|
||||
select RW007_NOT_USE_EXAMPLE_DRIVERS
|
||||
|
||||
if BSP_USING_RW007
|
||||
config RA_RW007_SPI_BUS_NAME
|
||||
string "RW007 BUS NAME"
|
||||
default "spi2"
|
||||
|
||||
config RA_RW007_CS_PIN
|
||||
hex "(HEX)CS pin index"
|
||||
default 0x1207
|
||||
|
||||
config RA_RW007_BOOT0_PIN
|
||||
hex "(HEX)BOOT0 pin index (same as spi clk pin)"
|
||||
default 0x1204
|
||||
|
||||
config RA_RW007_BOOT1_PIN
|
||||
hex "(HEX)BOOT1 pin index (same as spi cs pin)"
|
||||
default 0x1207
|
||||
|
||||
config RA_RW007_INT_BUSY_PIN
|
||||
hex "(HEX)INT/BUSY pin index"
|
||||
default 0x1102
|
||||
|
||||
config RA_RW007_RST_PIN
|
||||
hex "(HEX)RESET pin index"
|
||||
default 0x1706
|
||||
endif
|
||||
endmenu
|
||||
endmenu
|
16
bsp/renesas/rzn2l_etherkit/board/SConscript
Normal file
16
bsp/renesas/rzn2l_etherkit/board/SConscript
Normal file
@ -0,0 +1,16 @@
|
||||
import os
|
||||
from building import *
|
||||
|
||||
objs = []
|
||||
cwd = GetCurrentDir()
|
||||
list = os.listdir(cwd)
|
||||
CPPPATH = [cwd]
|
||||
src = Glob('*.c')
|
||||
|
||||
objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
|
||||
|
||||
for item in list:
|
||||
if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
|
||||
objs = objs + SConscript(os.path.join(item, 'SConscript'))
|
||||
|
||||
Return('objs')
|
65
bsp/renesas/rzn2l_etherkit/board/board.h
Normal file
65
bsp/renesas/rzn2l_etherkit/board/board.h
Normal file
@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2024-03-11 Wangyuqiang first version
|
||||
*/
|
||||
|
||||
#ifndef __BOARD_H__
|
||||
#define __BOARD_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <rtdef.h>
|
||||
#include <cp15.h>
|
||||
#include <hal_data.h>
|
||||
|
||||
#define RZ_SRAM_SIZE 1536 /* The SRAM size of the chip needs to be modified */
|
||||
#define RZ_SRAM_END (0x10000000 + RZ_SRAM_SIZE * 1024 - 1)
|
||||
|
||||
#ifdef __ARMCC_VERSION
|
||||
extern int Image$$RAM_END$$ZI$$Base;
|
||||
#define HEAP_BEGIN ((void *)&Image$$RAM_END$$ZI$$Base)
|
||||
#elif __ICCARM__
|
||||
#pragma section="CSTACK"
|
||||
#define HEAP_BEGIN (__segment_end("CSTACK"))
|
||||
#else
|
||||
extern int __bss_end__;
|
||||
#define HEAP_BEGIN ((void *)&__bss_end__)
|
||||
#endif
|
||||
|
||||
#define HEAP_END RZ_SRAM_END
|
||||
|
||||
/***********************************************************************************************************************
|
||||
* Macro definitions
|
||||
**********************************************************************************************************************/
|
||||
#define MAX_HANDLERS BSP_VECTOR_TABLE_MAX_ENTRIES
|
||||
#define GIC_IRQ_START 0
|
||||
#define GIC_ACK_INTID_MASK (0x000003FFU)
|
||||
/* number of interrupts on board */
|
||||
#define ARM_GIC_NR_IRQS (448)
|
||||
/* only one GIC available */
|
||||
#define ARM_GIC_MAX_NR 1
|
||||
/* end defined */
|
||||
|
||||
#define GICV3_DISTRIBUTOR_BASE_ADDR (0x100000)
|
||||
|
||||
/* the basic constants and interfaces needed by gic */
|
||||
rt_inline rt_uint32_t platform_get_gic_dist_base(void)
|
||||
{
|
||||
rt_uint32_t gic_base;
|
||||
|
||||
__get_cp(15, 1, gic_base, 15, 3, 0);
|
||||
return gic_base + GICV3_DISTRIBUTOR_BASE_ADDR;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user