Skip to content

Add wolfBoot HAL port for RealTek RTL8735B (AmebaPro2)#797

Draft
dgarske wants to merge 1 commit into
wolfSSL:masterfrom
dgarske:rtl8735b_amebapro2
Draft

Add wolfBoot HAL port for RealTek RTL8735B (AmebaPro2)#797
dgarske wants to merge 1 commit into
wolfSSL:masterfrom
dgarske:rtl8735b_amebapro2

Conversation

@dgarske

@dgarske dgarske commented Jun 15, 2026

Copy link
Copy Markdown
Member

No description provided.

@dgarske dgarske self-assigned this Jun 15, 2026
Copilot AI review requested due to automatic review settings June 15, 2026 22:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds initial wolfBoot HAL enablement for the RealTek RTL8735B (AmebaPro2) platform, including build integration and packaging support for producing a flashable image using the vendor SDK tooling.

Changes:

  • Introduces a new RTL8735B HAL implementation and linker script for SRAM-staged boot.
  • Adds an SDK shim header to avoid pulling FreeRTOS/CMSIS-OS into the wolfBoot build.
  • Adds build system wiring (arch.mk), example config, and a packaging script to generate flash_ntz.bin.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tools/scripts/amebapro2_package.sh Adds packaging flow to convert wolfboot.elf into a vendor-style flash image.
hal/rtl8735b/sdk-shim/cmsis_os.h Provides CMSIS-OS opaque typedefs to compile SDK headers without FreeRTOS.
hal/rtl8735b/README Documents the RTL8735B HAL design, backends, and SDK integration approach.
hal/rtl8735b.ld Defines SRAM layout, RAM start-table placement, and partition symbols.
hal/rtl8735b.c Implements RTL8735B HAL + RAM start-table/trampoline + SDK-backed ext flash/cache hooks.
config/examples/rtl8735b.config Provides an example configuration for RTL8735B builds and partition layout.
arch.mk Adds TARGET=rtl8735b build integration and SDK include/define wiring.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +39 to +41
rm -rf "$OUTDIR"
mkdir -p "$OUTDIR"
cd "$OUTDIR"
Comment thread hal/rtl8735b.ld
Comment on lines +51 to +55
.edidx :
{
. = ALIGN(4);
*(.ARM.exidx*)
} > SRAM
Comment thread hal/rtl8735b.c
Comment on lines +192 to +204
for (i = 0; i < sz; i++) {
#ifdef HAL_BACKEND_SDK
/* rt_printf is the 8735B console macro routing through the ROM
* stdio_printf_stubs to the LOGUART. */
if (buf[i] == '\n') {
rt_printf("%c", (int)'\r');
}
rt_printf("%c", (int)buf[i]);
#else
(void)buf;
(void)i;
#endif
}
Comment thread hal/rtl8735b.c
Comment on lines +298 to +300
(void)flash_stream_read(&hal_flash_obj, (uint32_t)address, (uint32_t)len,
data);
return len;
Comment thread arch.mk
HAL_SDK_INC=$(patsubst -iquote,-I,$(HAL_SDK_IQUOTE))
HAL_SDK_DEFS=-DCONFIG_PLATFORM_8735B -DCONFIG_RTL8735B_PLATFORM=1 \
-DCONFIG_BUILD_RAM=1
hal/rtl8735b.o: CFLAGS += $(HAL_SDK_IQUOTE) $(HAL_SDK_INC) $(HAL_SDK_DEFS) -mcmse -Wno-error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants