boards/arm/rtl8730e: add rtl8730e_evb board support

Add the rtl8730e_evb (RTL8730E Evaluation Board) with an nsh configuration
that demonstrates the RTL8730E baseline feature set:

- Dual-core SMP (CONFIG_SMP=y, CONFIG_SMP_NCPUS=2)
- Wi-Fi station and SoftAP via wapi
- DHCP client (wlan0) and DHCP server (wlan1/AP mode)
- littlefs persistent storage at /data on SPI NOR flash
- iperf2 TCP/UDP throughput measurement
- NSH console over the LOG-UART

Board formerly named ca32-evb; renamed to follow the rtlXXXX_evb
convention used by all other Ameba boards.

Signed-off-by: dechao_gong <dechao_gong@realsil.com.cn>
Assisted-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
dechao_gong 2026-09-20 14:37:07 +08:00 • committed by Xiang Xiao
parent c4ddd5add7
commit 1f819e5b4b
15 changed files with 82 additions and 73 deletions

View file

@ -2665,7 +2665,7 @@ config ARCH_BOARD_QEMU_ARMV7A
This options selects support for NuttX on the QEMU ARMv7a + virt
board featuring the qemu ARMv7a CPUs.
config ARCH_BOARD_CA32_EVB
config ARCH_BOARD_RTL8730E_EVB
bool "Realtek AmebaSmart (RTL8730E) CA32 EVB board"
depends on ARCH_CHIP_RTL8730E
select ARCH_HAVE_IRQBUTTONS
@ -4176,7 +4176,7 @@ config ARCH_BOARD
default "a2g-tc397-5v-tft" if ARCH_BOARD_A2G_TC397_5V_TFT
default "triboard_tc4x9_com" if ARCH_BOARD_TRIBOARD_TC4X9_COM
default "qemu-armv7a" if ARCH_BOARD_QEMU_ARMV7A
default "ca32-evb" if ARCH_BOARD_CA32_EVB
default "rtl8730e_evb" if ARCH_BOARD_RTL8730E_EVB
default "qemu-armv7r" if ARCH_BOARD_QEMU_ARMV7R
default "qemu-armv8a" if ARCH_BOARD_QEMU_ARMV8A
default "pinephone" if ARCH_BOARD_PINEPHONE
@ -4437,8 +4437,8 @@ endif
if ARCH_BOARD_QEMU_ARMV7A
source "boards/arm/qemu/qemu-armv7a/Kconfig"
endif
if ARCH_BOARD_CA32_EVB
source "boards/arm/rtl8730e/ca32-evb/Kconfig"
if ARCH_BOARD_RTL8730E_EVB
source "boards/arm/rtl8730e/rtl8730e_evb/Kconfig"
endif
if ARCH_BOARD_QEMU_ARMV8A
source "boards/arm64/qemu/qemu-armv8a/Kconfig"

View file

@ -1,5 +1,5 @@
# ##############################################################################
# boards/arm/rtl8730e/ca32-evb/CMakeLists.txt
# boards/arm/rtl8730e/rtl8730e_evb/CMakeLists.txt
#
# SPDX-License-Identifier: Apache-2.0
#

View file

@ -3,7 +3,7 @@
# see the file kconfig-language.txt in the NuttX tools repository.
#
if ARCH_BOARD_CA32_EVB
if ARCH_BOARD_RTL8730E_EVB
config RTL8730E_WIFI
bool "WiFi (WHC host, CA32 AP-IPC to KM4)"

View file

@ -6,19 +6,15 @@
# modifications.
#
CONFIG_ALARM_ARCH=y
CONFIG_ALLSYMS=y
CONFIG_ARCH="arm"
CONFIG_ARCH_BOARD="ca32-evb"
CONFIG_ARCH_BOARD_CA32_EVB=y
CONFIG_ARCH_BOARD="rtl8730e_evb"
CONFIG_ARCH_BOARD_RTL8730E_EVB=y
CONFIG_ARCH_CHIP="rtl8730e"
CONFIG_ARCH_CHIP_RTL8730E=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARM_PSCI=y
CONFIG_SMP=y
CONFIG_SMP_NCPUS=2
CONFIG_ARCH_LOWVECTORS=y
CONFIG_IDENTITY_TEXTMAP=y
CONFIG_ARM_SEMIHOSTING_HOSTFS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARM_PSCI=y
CONFIG_BOARD_LOOPSPERMSEC=393693
CONFIG_BUILTIN=y
CONFIG_DEBUG_ASSERTIONS=y
@ -26,69 +22,39 @@ CONFIG_DEBUG_FEATURES=y
CONFIG_DEBUG_FULLOPT=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_DEFAULT_TASK_STACKSIZE=4096
CONFIG_DRIVERS_IEEE80211=y
CONFIG_DRIVERS_WIRELESS=y
CONFIG_ETC_ROMFS=y
CONFIG_EXAMPLES_HELLO=y
CONFIG_EXAMPLES_DHCPD=y
CONFIG_EXPERIMENTAL=y
CONFIG_EXAMPLES_HELLO=y
CONFIG_FLASH_SIZE=1048576
CONFIG_FLASH_START=0x60300000
CONFIG_FLASH_VSTART=0x60300000
CONFIG_FS_HOSTFS=y
CONFIG_FS_LITTLEFS=y
CONFIG_FS_PROCFS=y
CONFIG_FS_ROMFS=y
CONFIG_FS_TMPFS=y
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_IDENTITY_TEXTMAP=y
CONFIG_IDLETHREAD_STACKSIZE=4096
CONFIG_INIT_ENTRYPOINT="init_main"
CONFIG_LIBC_EXECFUNCS=y
CONFIG_MM_DEFAULT_ALIGNMENT=64
CONFIG_MODULE=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_FILEIOSIZE=512
CONFIG_NSH_READLINE=y
CONFIG_PREALLOC_TIMERS=4
CONFIG_PRIORITY_INHERITANCE=y
CONFIG_PROFILE_MINI=y
CONFIG_RAM_SIZE=3145728
CONFIG_RAM_START=0x60400000
CONFIG_RAM_VSTART=0x60400000
CONFIG_RAW_BINARY=y
CONFIG_READLINE_CMD_HISTORY=y
CONFIG_RR_INTERVAL=200
CONFIG_SCHED_CHILD_STATUS=y
CONFIG_SCHED_HAVE_PARENT=y
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_HPWORKPRIORITY=192
CONFIG_STACK_COLORATION=y
CONFIG_START_DAY=25
CONFIG_START_MONTH=4
CONFIG_START_YEAR=2023
CONFIG_SYMTAB_ORDEREDBYNAME=y
CONFIG_SYSTEM_GPROF=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_NXINIT=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_TESTING_GETPRIME=y
CONFIG_USEC_PER_TICK=1000
CONFIG_FS_LITTLEFS=y
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_RTL8730E_FLASH_FS=y
CONFIG_DRIVERS_IEEE80211=y
CONFIG_DRIVERS_WIRELESS=y
CONFIG_IOB_BUFSIZE=512
CONFIG_IOB_NBUFFERS=100
CONFIG_IOB_NCHAINS=36
CONFIG_IOB_THROTTLE=40
CONFIG_LIBC_EXECFUNCS=y
CONFIG_LIBC_MEMFD_ERROR=y
CONFIG_MM_DEFAULT_ALIGNMENT=64
CONFIG_MODULE=y
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_NET=y
CONFIG_NETDB_DNSCLIENT=y
CONFIG_NETDEV_LATEINIT=y
CONFIG_NETDEV_WIRELESS_IOCTL=y
CONFIG_NETINIT_DHCPC=y
CONFIG_NETUTILS_DHCPC=y
CONFIG_NETUTILS_PING=y
CONFIG_SYSTEM_PING=y
CONFIG_SYSTEM_DHCPC_RENEW=y
CONFIG_NETINIT_THREAD=y
CONFIG_NETINIT_WAPI_PASSPHRASE="YOUR_WIFI_PASSWORD"
CONFIG_NETINIT_WAPI_SSID="YOUR_WIFI_SSID"
@ -101,10 +67,53 @@ CONFIG_NET_SEND_BUFSIZE=16384
CONFIG_NET_TCP=y
CONFIG_NET_TCP_DELAYED_ACK=y
CONFIG_NET_TCP_KEEPALIVE=y
CONFIG_NET_TCP_NOTIFIER=y
CONFIG_NET_TCP_OUT_OF_ORDER=y
CONFIG_NET_TCP_OUT_OF_ORDER_BUFSIZE=10000
CONFIG_NET_TCP_WRITE_BUFFERS=y
CONFIG_NET_UDP=y
CONFIG_NETUTILS_DHCPD=y
CONFIG_NETUTILS_DHCPD_ROUTERIP=0xc0a80401
CONFIG_NETUTILS_DHCPD_STARTIP=0xc0a80402
CONFIG_NETUTILS_DHCPC=y
CONFIG_NETUTILS_IPERF=y
CONFIG_NETUTILS_PING=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_DISABLE_VCONFIG=y
CONFIG_NSH_FILEIOSIZE=512
CONFIG_NSH_READLINE=y
CONFIG_PREALLOC_TIMERS=4
CONFIG_PRIORITY_INHERITANCE=y
CONFIG_RAM_SIZE=3145728
CONFIG_RAM_START=0x60400000
CONFIG_RAM_VSTART=0x60400000
CONFIG_RAW_BINARY=y
CONFIG_READLINE_CMD_HISTORY=y
CONFIG_RR_INTERVAL=200
CONFIG_RTL8730E_FLASH_FS=y
CONFIG_RTL8730E_WIFI=y
CONFIG_SCHED_CHILD_STATUS=y
CONFIG_SCHED_HAVE_PARENT=y
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_HPWORKPRIORITY=192
CONFIG_SCHED_LPWORK=y
CONFIG_SCHED_WAITPID=y
CONFIG_SMP=y
CONFIG_SMP_CALL=y
CONFIG_SMP_NCPUS=2
CONFIG_STACK_COLORATION=y
CONFIG_START_DAY=20
CONFIG_START_MONTH=9
CONFIG_START_YEAR=2026
CONFIG_SYSTEM_CPULOAD=y
CONFIG_SYSTEM_DHCPC_RENEW=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_NSH_STACKSIZE=2500
CONFIG_SYSTEM_NXINIT=y
CONFIG_SYSTEM_PING=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_SYSTEM_TASKSET=y
CONFIG_USEC_PER_TICK=1000
CONFIG_WIRELESS=y
CONFIG_WIRELESS_WAPI=y
CONFIG_WIRELESS_WAPI_CMDTOOL=y

View file

@ -1,5 +1,5 @@
/****************************************************************************
* boards/arm/rtl8730e/ca32-evb/include/board.h
* boards/arm/rtl8730e/rtl8730e_evb/include/board.h
*
* SPDX-License-Identifier: Apache-2.0
*
@ -20,8 +20,8 @@
*
****************************************************************************/
#ifndef __BOARDS_ARM_RTL8730E_CA32_EVB_INCLUDE_BOARD_H
#define __BOARDS_ARM_RTL8730E_CA32_EVB_INCLUDE_BOARD_H
#ifndef __BOARDS_ARM_RTL8730E_RTL8730E_EVB_INCLUDE_BOARD_H
#define __BOARDS_ARM_RTL8730E_RTL8730E_EVB_INCLUDE_BOARD_H
/****************************************************************************
* Included Files
@ -58,4 +58,4 @@ extern "C"
#endif
#endif /* __ASSEMBLY__ */
#endif /* __BOARDS_ARM_RTL8730E_CA32_EVB_INCLUDE_BOARD_H */
#endif /* __BOARDS_ARM_RTL8730E_RTL8730E_EVB_INCLUDE_BOARD_H */

View file

@ -1,5 +1,5 @@
############################################################################
# boards/arm/rtl8730e/ca32-evb/scripts/Make.defs
# boards/arm/rtl8730e/rtl8730e_evb/scripts/Make.defs
#
# SPDX-License-Identifier: Apache-2.0
#

View file

@ -1,5 +1,5 @@
/****************************************************************************
* boards/arm/rtl8730e/ca32-evb/scripts/dramboot.ld
* boards/arm/rtl8730e/rtl8730e_evb/scripts/dramboot.ld
*
* SPDX-License-Identifier: Apache-2.0
*

View file

@ -1,5 +1,5 @@
# ##############################################################################
# boards/arm/rtl8730e/ca32-evb/src/CMakeLists.txt
# boards/arm/rtl8730e/rtl8730e_evb/src/CMakeLists.txt
#
# SPDX-License-Identifier: Apache-2.0
#

View file

@ -1,5 +1,5 @@
############################################################################
# boards/arm/rtl8730e/ca32-evb/src/Makefile
# boards/arm/rtl8730e/rtl8730e_evb/src/Makefile
#
# SPDX-License-Identifier: Apache-2.0
#

View file

@ -1,5 +1,5 @@
/****************************************************************************
* boards/arm/rtl8730e/ca32-evb/src/etc/init.d/init.rc
* boards/arm/rtl8730e/rtl8730e_evb/src/etc/init.d/init.rc
*
* SPDX-License-Identifier: Apache-2.0
*

View file

@ -1,5 +1,5 @@
/****************************************************************************
* boards/arm/rtl8730e/ca32-evb/src/rtl8730e_boardinit.c
* boards/arm/rtl8730e/rtl8730e_evb/src/rtl8730e_boardinit.c
*
* SPDX-License-Identifier: Apache-2.0
*
@ -28,7 +28,7 @@
#include <nuttx/config.h>
#include <stdint.h>
#include <nuttx/board.h>
#include "ca32-evb.h"
#include "rtl8730e_evb.h"
/****************************************************************************
* Pre-processor Definitions

View file

@ -1,5 +1,5 @@
/****************************************************************************
* boards/arm/rtl8730e/ca32-evb/src/rtl8730e_bringup.c
* boards/arm/rtl8730e/rtl8730e_evb/src/rtl8730e_bringup.c
*
* SPDX-License-Identifier: Apache-2.0
*
@ -46,7 +46,7 @@ extern int rtl8730e_wifi_initialize(void);
#endif
#include "chip.h"
#include "ca32-evb.h"
#include "rtl8730e_evb.h"
/****************************************************************************
* Pre-processor Definitions

View file

@ -1,5 +1,5 @@
/****************************************************************************
* boards/arm/rtl8730e/ca32-evb/src/ca32-evb.h
* boards/arm/rtl8730e/rtl8730e_evb/src/rtl8730e_evb.h
*
* SPDX-License-Identifier: Apache-2.0
*
@ -20,8 +20,8 @@
*
****************************************************************************/
#ifndef __BOARDS_ARM_RTL8730E_CA32_EVB_SRC_CA32_EVB_H
#define __BOARDS_ARM_RTL8730E_CA32_EVB_SRC_CA32_EVB_H
#ifndef __BOARDS_ARM_RTL8730E_RTL8730E_EVB_SRC_RTL8730E_EVB_H
#define __BOARDS_ARM_RTL8730E_RTL8730E_EVB_SRC_RTL8730E_EVB_H
/****************************************************************************
* Included Files
@ -58,4 +58,4 @@ int rtl8730e_bringup(void);
#endif
#endif /* __ASSEMBLY__ */
#endif /* __BOARDS_ARM_RTL8730E_CA32_EVB_SRC_CA32_EVB_H */
#endif /* __BOARDS_ARM_RTL8730E_RTL8730E_EVB_SRC_RTL8730E_EVB_H */