Skip to content

[bsp][hpmicro] upgrade hpm_sdk to v1.13.0 and add hpm5100evk support - #11871

Merged
Rbb666 merged 1 commit into
RT-Thread:masterfrom
helloeagleyang:feature/add-hpm5100evk-support-and-upgrade-hpm_sdk-to-v1.3.0
Oct 17, 2026
Merged

Rbb666 merged 1 commit into
RT-Thread:masterfrom
helloeagleyang:feature/add-hpm5100evk-support-and-upgrade-hpm_sdk-to-v1.3.0

Conversation

@helloeagleyang

@helloeagleyang helloeagleyang commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

拉取/合并请求描述:(PR description)

为什么提交这份PR (why to submit this PR)

bsp/hpmicro 仍基于 hpm_sdk v1.10.0,且缺少 HPM5100EVK(HPM5151)支持。本 PR 将 HPMicro BSP 升级到 hpm_sdk v1.13.0,并新增 hpm5100evk 板级支持。

你的解决方案是什么 (what is your solution)

  • 新增 hpm5100evk(HPM5151) BSP:board/、startup/HPM5151/、applications/、Kconfig、文档与 figures/,并登记到 .github/ALL_BSP_COMPILE.json、bsp/README.md、bsp/hpmicro/README*.md
  • 11 块既有板子按 hpm_sdk v1.13.0 重新同步(board/、startup/、debug_scripts/、linker_scripts/、applications/),保留 RT-Thread 侧改动:基于 clock_time 的 drv_timer、scons 环境接入 CXX、SConscript 产物输出到 build/、具名 Kconfig choice、board_delay_* 使用 rt_hw_us_delay、板级 codec 文件
  • 驱动层同步 v1.13.0:GPTMRv2/PTMR、PUART、soft I2C/SPI,以及 adc/can/enet/ewdt/gpio/i2c/mcan/pwm/rtc/sdio/spi/tsw/wdt/lcd/i2s/dao/pdm 等外设驱动更新
  • 选择 hpm_sdk v1.13.0 在线软件包(PKG_USING_HPM_SDK_V113;对应索引已在 RT-Thread/packages 合入)
  • debug 构建使用 -Og;浮点打印改用 RT-Thread klibc(不再需要 -u _printf_float -u _scanf_float)
  • 修复实测发现的两个问题:
    1. 堆初始化顺序:rtt_board_init() 中 rt_system_heap_init() 提前到 SDK board_init_console() 之前。SDK 的 console_init() 会调用 setvbuf(),其内部走 C 库 malloc() → rt_malloc(),此时堆尚未建立,RT_USING_DEBUG 的板子在 rt_smem_alloc() 触发 RT_ASSERT(m != RT_NULL) 并卡死(hpm5100evk/hpm6800evk/hpm6p00evk 实测复现与验证修复)
    2. DLM 起点 4KB 对齐(hpm5300evk/hpm5301evklite):原 0x00080300 起点使 ld 为 RAM 段生成 file offset 0、filesz=ELF 头的伪 PT_LOAD,导致 program rtthread.elf 写入 RAM 地址后校验失败;改为 0x00080000 + 显式 .dlm_reserved (NOLOAD) 保留原 0x300 字节,段地址保持不变
  • 其他配套:每板仅保留 ram_rtt.ld/flash_rtt.ld、.bin 基准锚定到 flash 基址 0x80000000、hpm6750evk 的 openocd 脚本升级为新式(hpm_common.cfg/hpm_reset.cfg,含 arp_halt,否则目标已运行应用时 program ... reset 会超时)
  • 其他小修:scons -c 不再被依赖预检查打断(此前 packages/ 未就绪时清理会以退出码 1 失败);12 块板的 LED 示例仅在 rt_thread_create() 成功后才启动线程;hpm5100evk 的 ram_rtt.ld 与 hpm_sdk v1.13.0 参考保持一致(.fast_ram 段归 DLM)

请提供验证的bsp和config (provide the config and bsp)

  • BSP:
    • 新增:bsp/hpmicro/hpm5100evk
    • 升级:bsp/hpmicro/hpm5300evk、hpm5301evklite、hpm5e00evk、hpm6200evk、hpm6300evk、hpm6750evk、hpm6750evk2、hpm6750evkmini、hpm6800evk、hpm6e00evk、hpm6p00evk
  • .config: 各板默认 .config(含新增 CONFIG_PKG_USING_HPM_SDK_V113=y);另实测以下开关组合均可编译:BSP_USING_GPTMRV2+BSP_USING_GPTMR0+BSP_USING_PTMR、BSP_USING_SOFT_I2C+BSP_USING_SOFT_SPI、BSP_USING_PUART、BSP_USING_ADC+BSP_USING_ADC16、BSP_USING_USB_DEVICE+RT_USING_CHERRYUSB、RT_USING_SERIAL_V1
  • action: 本地验证(见下)。本 PR 提交后上游 CI 会自动跑矩阵编译。

验证情况:

  • 编译:12 板 × {ram_debug, ram_release, flash_debug, flash_release} = 48/48 全通过(每项均产出 rtthread.elf/rtthread.bin)
  • 实机(flash 启动 + msh):hpm5100evk、hpm5300evk、hpm5e00evk、hpm6200evk、hpm6300evk、hpm6750evk、hpm6750evk2、hpm6750evkmini、hpm6800evk、hpm6e00evk、hpm6p00evk —— version / list device / list timer / ps / free / reset 全部正常;hpm5100evk 另验证 rt_kprintf 浮点 %f/%e(klibc,无需 newlib 浮点标志)
  • 烧写:用各板自带 openocd 脚本完成 program rtthread.elf 与 program rtthread.bin 0x80000000 的烧写+校验+启动
  • scons 触发工作流(.github/workflows/manual_trigger_scons_except_STM32_all.yml):该工作流此前完全跑不起来——actions/upload-artifact@v3 已废弃(任务在下载 action 阶段即失败)、scons 不在 PATH(~/.env/env.sh 未 source)。本 PR 一并按 bsp_buildings.yml 的方式修好(@main 版本 action、pip install -r tools/requirements.txt + source ~/.env/env.sh),并把 hpmicro 任务的工具链改为 RISC-V-GCC-RV32(与 bsp_buildings.yml 一致)。实测 dispatch 该工作流,三条 hpmicro 任务(编译 + scons --dist)全部通过:https://github.com/helloeagleyang/rt-thread/actions/runs/38885477477
  • CI 格式检查:按 tools/ci/clang_format_check.py 的规则本地复跑 clang-format 校验通过

当前拉取/合并请求的状态 Intent for your PR

必须选择一项 Choose one (Mandatory):

  • 本拉取/合并请求是一个草稿版本 This PR is for a code-review and is intended to get feedback
  • 本拉取/合并请求是一个成熟版本 This PR is mature, and ready to be integrated into the repo

代码质量 Code Quality:

我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:

  • 已经仔细查看过代码改动的对比 Already check the difference between PR and old code
  • 代码风格正确,包括缩进空格,命名及其他风格 Style guide is adhered to, including spacing, naming and other styles
  • 没有垃圾代码,代码尽量精简,不包含#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up
  • 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或BSP All modifications are justified and not affect other components or BSP
  • 对难懂代码均提供对应的注释 I've commented appropriately where code is tricky
  • 代码是高质量的 Code in this PR is of high quality
  • 已经使用clang-format 源码格式化工具确保格式符合RT-Thread代码规范 This PR has been formatted with clang-format and complies with RT-Thread code specification
  • 如果是新增bsp, 已经添加ci检查到.github/ALL_BSP_COMPILE.json 详细请参考链接BSP自查

@helloeagleyang
helloeagleyang force-pushed the feature/add-hpm5100evk-support-and-upgrade-hpm_sdk-to-v1.3.0 branch from 3791bef to caeedfc Compare October 16, 2026 05:26
@github-actions

Copy link
Copy Markdown

👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread!

为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。
To ensure your code complies with RT-Thread's coding style, please run the code formatting workflow by following the steps below (If the formatting of CI fails to run).


🛠 操作步骤 | Steps

  1. 前往 Actions 页面 | Go to the Actions page
    点击进入工作流 → | Click to open workflow →

  2. 点击 Run workflow | Click Run workflow

  • Use workflow from 保持默认分支(通常为 master)
    Keep the default branch (usually master) in Use workflow from
  • 在 branch 输入框填写 PR 分支 feature/add-hpm5100evk-support-and-upgrade-hpm_sdk-to-v1.3.0
    Enter PR branch feature/add-hpm5100evk-support-and-upgrade-hpm_sdk-to-v1.3.0 in the branch field
  • 设置需排除的文件/目录(目录请以"/"结尾)
    Set files/directories to exclude (directories should end with "/")
  1. 等待工作流完成 | Wait for the workflow to complete
    格式化后的代码将作为独立提交推送至你的分支。
    The formatting changes will be pushed to your branch as a separate commit.

完成后,提交将自动更新至 feature/add-hpm5100evk-support-and-upgrade-hpm_sdk-to-v1.3.0 分支,关联的 Pull Request 也会同步更新。
Once completed, commits will be pushed to the feature/add-hpm5100evk-support-and-upgrade-hpm_sdk-to-v1.3.0 branch automatically, and the related Pull Request will be updated.

如有问题欢迎联系我们,再次感谢您的贡献!💐
If you have any questions, feel free to reach out. Thanks again for your contribution!

@github-actions github-actions Bot added BSP action github action yml imporve labels Oct 16, 2026
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

📌 Code Review Assignment

🏷️ Tag: workflow

Reviewers: @Rbb666 @kurisaW @supperthomas

Changed Files (Click to expand)
  • .github/ALL_BSP_COMPILE.json
  • .github/membrowse-targets.json
  • .github/workflows/manual_trigger_scons_except_STM32_all.yml

📊 Current Review Status (Last Updated: 2026-10-17 11:38 CST)


📝 Review Instructions

  1. 维护者可以通过单击此处来刷新审查状态: 🔄 刷新状态
    Maintainers can refresh the review status by clicking here: 🔄 Refresh Status

  2. 确认审核通过后评论 LGTM/lgtm
    Comment LGTM/lgtm after confirming approval

  3. PR合并前需至少一位维护者确认
    PR must be confirmed by at least one maintainer before merging

ℹ️ 刷新CI状态操作需要具备仓库写入权限。
ℹ️ Refresh CI status operation requires repository Write permission.

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

MemBrowse Memory Report

hpmicro-hpm5301evklite

  • DLM: .bss -2,320 B, .data -464 B (+0.5%, 58,560 B / 131,072 B, total: 45% used)
  • ILM: .fast -14,432 B, .vectors -96 B (-38.0%, 23,712 B / 131,072 B, total: 18% used)
  • XPI0: .data -464 B, .fast -14,432 B, .text -33,264 B, .vectors -96 B (-38.6%, 76,748 B / 1,048,576 B, total: 7% used)
    No memory changes detected for:
  • hpmicro-hpm5100evk

@helloeagleyang
helloeagleyang force-pushed the feature/add-hpm5100evk-support-and-upgrade-hpm_sdk-to-v1.3.0 branch from caeedfc to 59ff538 Compare October 16, 2026 05:47
@Rbb666
Rbb666 requested a balanced review from Copilot October 16, 2026 08:40

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.

🟡 Changes recommended

One or more issues must be addressed before approval.

6 open findings
What changed in this PR

Supports the HPMicro SDK v1.13.0 migration and HPM5100EVK integration.
支持 HPMicro SDK v1.13.0 迁移及 HPM5100EVK 接入。

Changes / 变更:

  • Extend BSP registration and build integration / 扩展 BSP 登记与构建集成。
  • Update startup, memory layouts, heap initialization and driver selection / 更新启动、内存布局、堆初始化及驱动选择。
  • Refresh OpenOCD scripts and documentation / 更新 OpenOCD 脚本与文档。

Six issues were recorded. Verification was limited to an isolated package-guard check; no BSP builds or hardware tests were run.
已记录六项问题;仅独立验证了软件包检查逻辑,未执行 BSP 编译或实机测试。

File Description
bsp/​README.md Updated as part of this pull request.
bsp/​hpmicro/​tools/​sdk_dist.py Updated as part of this pull request.
bsp/​hpmicro/​README.md Updated as part of this pull request.
bsp/​hpmicro/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​libraries/​misc/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​libraries/​misc/​lwip_ptp/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​libraries/​drivers/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​libraries/​drivers/​drv_usb.c Updated as part of this pull request.
bsp/​hpmicro/​libraries/​drivers/​drv_tsw_phy.h Updated as part of this pull request.
bsp/​hpmicro/​libraries/​drivers/​drv_soft_spi.h Updated as part of this pull request.
bsp/​hpmicro/​libraries/​drivers/​drv_soft_i2c.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​startup/​HPM6P81/​toolchains/​gcc/​start.S Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​startup/​HPM6P81/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​rtconfig_preinc.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​pinmux.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​pinmux.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​linker_scripts/​gcc/​ram_rtt.ld Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​debug_scripts/​openocd/​soc/​hpm6p80-single-core.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​debug_scripts/​openocd/​probes/​nds_aice_micro.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​debug_scripts/​openocd/​probes/​jlink.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​debug_scripts/​openocd/​probes/​ft232.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​debug_scripts/​openocd/​probes/​ft2232.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​board/​debug_scripts/​openocd/​probes/​cmsis_dap.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6p00evk/​.settings/​projcfg.ini Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​startup/​HPM6E80/​toolchains/​gcc/​start.S Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​startup/​HPM6E80/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​rtconfig_preinc.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​board/​pinmux.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​board/​pinmux.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​board/​linker_scripts/​gcc/​ram_rtt.ld Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​board/​debug_scripts/​openocd/​soc/​hpm6e80-single-core.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​board/​debug_scripts/​openocd/​boards/​hpm6e00evk.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6e00evk/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​startup/​HPM6880/​toolchains/​gcc/​vectors.S Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​startup/​HPM6880/​toolchains/​gcc/​start.S Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​startup/​HPM6880/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​board/​rtt_board.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​board/​pinmux.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​board/​pinmux.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​board/​linker_scripts/​gcc/​ram_rtt.ld Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​board/​debug_scripts/​openocd/​soc/​hpm6880.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6800evk/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​startup/​HPM6750/​toolchains/​gcc/​start.S Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​startup/​HPM6750/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​board/​rtt_board.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​board/​pinmux.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​board/​pinmux.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​board/​linker_scripts/​gcc/​ram_rtt.ld Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​board/​debug_scripts/​openocd/​soc/​hpm6750-single-core.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evkmini/​.settings/​projcfg.ini Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​startup/​HPM6750/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​board/​rtt_board.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​board/​pinmux.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​board/​pinmux.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​board/​linker_scripts/​gcc/​ram_rtt.ld Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​board/​debug_scripts/​openocd/​soc/​hpm6750-single-core.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk2/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​startup/​HPM6750/​toolchains/​gcc/​start.S Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​startup/​HPM6750/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​board/​debug_scripts/​openocd/​soc/​hpm6750-single-core.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​board/​debug_scripts/​openocd/​boards/​hpm6750evk.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​board/​board.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6750evk/​.settings/​projcfg.ini Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​startup/​HPM6360/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​rtconfig_preinc.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​board/​rtt_board.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​board/​pinmux.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​board/​pinmux.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​board/​linker_scripts/​gcc/​ram_rtt.ld Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​board/​debug_scripts/​openocd/​soc/​hpm6360.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6300evk/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​startup/​HPM6280/​toolchains/​gcc/​start.S Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​startup/​HPM6280/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​rtconfig_preinc.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​board/​rtt_board.c Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​board/​pinmux.h Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​board/​linker_scripts/​gcc/​ram_rtt.ld Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​board/​debug_scripts/​openocd/​soc/​hpm6280-single-core.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​board/​debug_scripts/​openocd/​soc/​hpm6280-dual-core.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm6200evk/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​startup/​HPM5E31/​toolchains/​gcc/​start.S Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​startup/​HPM5E31/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​rtconfig_preinc.h Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​board/​rtt_board.c Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​board/​pinmux.h Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​board/​pinmux.c Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​board/​linker_scripts/​gcc/​ram_rtt.ld Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​board/​debug_scripts/​openocd/​soc/​hpm5e00.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5e00evk/​.settings/​projcfg.ini Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​startup/​HPM5301/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​startup/​HPM5301/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​rtconfig_preinc.h Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​board/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​board/​rtt_board.c Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​board/​pinmux.h Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​board/​pinmux.c Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​board/​linker_scripts/​gcc/​ram_rtt.ld Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​board/​debug_scripts/​openocd/​soc/​hpm5300.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5301evklite/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​startup/​HPM5361/​startup.c Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​SConstruct Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​rtconfig_preinc.h Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​README.md Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​README_zh.md Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​rtt_board.c Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​pinmux.h Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​pinmux.c Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​linker_scripts/​gcc/​ram_rtt.ld Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​debug_scripts/​openocd/​soc/​hpm5300.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​debug_scripts/​openocd/​probes/​nds_aice_micro.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​debug_scripts/​openocd/​probes/​jlink.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​debug_scripts/​openocd/​probes/​ft232.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​debug_scripts/​openocd/​probes/​ft2232.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​board/​debug_scripts/​openocd/​probes/​cmsis_dap.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5300evk/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​startup/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​startup/​HPM5151/​toolchains/​gcc/​port_gcc.S Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​startup/​HPM5151/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​rtconfig_preinc.h Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​makefile.targets Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​Kconfig Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​board/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​board/​debug_scripts/​openocd/​soc/​hpm5100.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​board/​debug_scripts/​openocd/​soc/​hpm_reset.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​board/​debug_scripts/​openocd/​soc/​hpm_common.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​board/​debug_scripts/​openocd/​probes/​nds_aice_micro.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​board/​debug_scripts/​openocd/​probes/​jlink.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​board/​debug_scripts/​openocd/​probes/​ft232.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​board/​debug_scripts/​openocd/​probes/​ft2232.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​board/​debug_scripts/​openocd/​probes/​cmsis_dap.cfg Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​applications/​SConscript Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​applications/​main.c Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​.settings/​projcfg.ini Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​.settings/​org.eclipse.core.runtime.prefs Updated as part of this pull request.
bsp/​hpmicro/​hpm5100evk/​.project Updated as part of this pull request.
bsp/​hpmicro/​.ignore_format.yml Updated as part of this pull request.
bsp/​hpmicro/​.gitignore Updated as part of this pull request.
bsp/​hpmicro/​.clang-format-ignore Updated as part of this pull request.
bsp/​.clang-format-ignore Updated as part of this pull request.
.github/​workflows/​manual_trigger_scons_except_STM32_all.yml Updated as part of this pull request.
.github/​membrowse-targets.json Updated as part of this pull request.
.github/​ALL_BSP_COMPILE.json Updated as part of this pull request.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/manual_trigger_scons_except_STM32_all.yml Outdated
Comment thread bsp/hpmicro/hpm5300evk/board/linker_scripts/gcc/ram_rtt.ld
Comment thread bsp/hpmicro/hpm5301evklite/board/linker_scripts/gcc/ram_rtt.ld
Comment thread bsp/hpmicro/hpm6750evkmini/board/linker_scripts/gcc/ram_rtt.ld
Comment thread bsp/hpmicro/hpm5100evk/applications/main.c Outdated
Comment thread bsp/hpmicro/hpm6e00evk/SConstruct
@helloeagleyang
helloeagleyang force-pushed the feature/add-hpm5100evk-support-and-upgrade-hpm_sdk-to-v1.3.0 branch 2 times, most recently from 50df3fd to c4dfc62 Compare October 16, 2026 09:55
Sync the HPMicro BSPs with hpm_sdk v1.13.0 and add the HPM5100EVK
(HPM5151) board.

- add the hpm5100evk BSP (board/startup/applications/Kconfig/docs) and
  register it in .github/ALL_BSP_COMPILE.json, bsp/README.md and the
  HPMicro READMEs
- re-sync the 11 existing boards (board/startup/debug scripts/linker
  scripts/applications) with hpm_sdk v1.13.0, keeping the RT-Thread
  specific parts: clock_time based drv_timer, CXX wired into the scons
  environment, SConscript outputs under build/, named Kconfig choices,
  rt_hw_us_delay in board_delay_*, board local codec files
- sync the shared driver layer with hpm_sdk v1.13.0 (GPTMRv2/PTMR,
  PUART, soft I2C/SPI and the remaining peripheral driver updates)
- select the hpm_sdk v1.13.0 online package (PKG_USING_HPM_SDK_V113)
- use -Og instead of -O0 for the debug builds and print floats with the
  RT-Thread klibc implementation instead of newlib nano
- initialize the RT-Thread heap before the SDK console init: the SDK
  console_init() calls setvbuf(), which allocates through the C library
  malloc() and tripped RT_ASSERT() in rt_smem_alloc() on the boards
  built with RT_USING_DEBUG
- keep only ram_rtt.ld/flash_rtt.ld per board, align the DLM origin to
  4KB on hpm5300evk/hpm5301evklite (the unaligned origin made the
  linker emit a file backed PT_LOAD for the RAM area, which broke
  "program rtthread.elf"), and anchor the generated .bin at the flash
  base address 0x80000000
- sync the hpm6750evk openocd debug scripts with the new style used by
  the other boards (hpm_common.cfg/hpm_reset.cfg with arp_halt)

- keep the upstream synced board/startup/libraries trees of bsp/hpmicro out of the
  changed-file cppcheck run (same policy as bsp/hpmicro/.clang-format-ignore): the
  check runs without the hpm_sdk include paths, so it reports ATTR_PLACE_AT and the
  linker script symbol arithmetic in c_startup() as errors

- give the hpmicro boards in the changed-file scons trigger list the RV32 toolchain
  they need (RISC-V-GCC-RV32) and add the matching installation step to that
  workflow: the entries used sourcery-arm, which only provides the ARM toolchain,
  so those legs could not find riscv32-unknown-elf-gcc

- keep hpm5100evk's ram_rtt.ld identical to the hpm_sdk v1.13.0
  reference: the .fast_ram sections belong in DLM there (the DLM has
  enough headroom), and that also makes its RAM and flash layouts agree
- skip the dependency pre-check when cleaning (scons -c): it runs from
  DoBuilding() unconditionally, so a clean request with packages/ not
  fetched yet was aborted with exit code 1 instead of cleaning

- make the manual scons trigger workflow runnable: it aborted while still
  downloading actions because actions/upload-artifact@v3 is deprecated,
  and scons was not on PATH because ~/.env/env.sh was never sourced.
  Install tools/requirements.txt and source the Env PATH script in the
  build step, and use @main action versions, as bsp_buildings.yml does
- start the LED demo thread only when rt_thread_create() succeeded

Tested:
- 12 boards x {ram_debug, ram_release, flash_debug, flash_release}:
  48/48 clean builds
- flash boot + msh on hpm5100evk, hpm5300evk, hpm5e00evk, hpm6200evk,
  hpm6300evk, hpm6750evk, hpm6750evk2, hpm6750evkmini, hpm6800evk,
  hpm6e00evk, hpm6p00evk (list device/timer, ps, free, reset, rt_kprintf
  float formatting)

- re-ran .github/workflows/manual_trigger_scons_except_STM32_all.yml with
  the matrix reduced to the three hpmicro rows: all three legs build and
  scons --dist succeeds with no local workarounds
@helloeagleyang
helloeagleyang force-pushed the feature/add-hpm5100evk-support-and-upgrade-hpm_sdk-to-v1.3.0 branch from c4dfc62 to a22da6e Compare October 16, 2026 10:22
@Rbb666 Rbb666 closed this Oct 17, 2026
@Rbb666 Rbb666 reopened this Oct 17, 2026
@Rbb666
Rbb666 merged commit fc64f78 into RT-Thread:master Oct 17, 2026
94 of 95 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action github action yml imporve BSP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants