Skip to content

Commit caeedfc

Browse files
[bsp][hpmicro] upgrade hpm_sdk to v1.13.0 and add hpm5100evk support
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) 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)
1 parent 338eb83 commit caeedfc

422 files changed

Lines changed: 23741 additions & 16655 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/ALL_BSP_COMPILE.json‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,8 @@
464464
"hpmicro/hpm6800evk",
465465
"hpmicro/hpm6e00evk",
466466
"hpmicro/hpm6p00evk",
467-
"hpmicro/hpm5e00evk"
467+
"hpmicro/hpm5e00evk",
468+
"hpmicro/hpm5100evk"
468469
]
469470
},
470471
{

‎.github/membrowse-targets.json‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,20 @@
193193
"bsp/hpmicro/tools"
194194
]
195195
},
196+
{
197+
"target_name": "hpmicro-hpm5100evk",
198+
"toolchain": "riscv32-unknown-elf-multilib",
199+
"bsp_path": "bsp/hpmicro/hpm5100evk",
200+
"elf": "bsp/hpmicro/hpm5100evk/rtthread.elf",
201+
"ld": "bsp/hpmicro/hpm5100evk/board/linker_scripts/gcc/flash_rtt.ld",
202+
"map_file": "",
203+
"linker_vars": "",
204+
"watch_paths": [
205+
"bsp/hpmicro/hpm5100evk",
206+
"bsp/hpmicro/libraries",
207+
"bsp/hpmicro/tools"
208+
]
209+
},
196210
{
197211
"target_name": "xuantie-e901plus",
198212
"toolchain": "xuantie-elf-newlib",

‎.github/workflows/manual_trigger_scons_except_STM32_all.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ jobs:
124124
- {RTT_BSP_NAME: "hc32l196", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "hc32l196"}
125125
- {RTT_BSP_NAME: "hifive1", RTT_TOOL_CHAIN: "sourcery-riscv-none-embed", RTT_BSP: "hifive1"}
126126
#- {RTT_BSP_NAME: "hk32_hk32f030c8-mini", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "hk32/hk32f030c8-mini"} #scons dist有问题
127+
- {RTT_BSP_NAME: "hpmicro_hpm5100evk", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "hpmicro/hpm5100evk"}
127128
- {RTT_BSP_NAME: "hpmicro_hpm6750evk", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "hpmicro/hpm6750evk"}
128129
- {RTT_BSP_NAME: "hpmicro_hpm6750evkmini", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "hpmicro/hpm6750evkmini"}
129130
- {RTT_BSP_NAME: "ht32f12366", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "ht32/ht32f12366"}

‎bsp/.clang-format-ignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
rtconfig.h
2+
rtconfig_preinc.h

‎bsp/README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,7 @@ This document is based on the RT-Thread mainline repository and categorizes the
763763
| [hpm6800evk](hpmicro/hpm6800evk) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - | ✅ | ✅ | ✅ | - | ✅ | ✅ | ✅ |
764764
| [hpm6e00evk](hpmicro/hpm6e00evk) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
765765
| [hpm6p00evk](hpmicro/hpm6p00evk) | ✅ | ✅ | ✅ | ✅ | ✅ | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
766+
| [hpm5100evk](hpmicro/hpm5100evk) | ✅ | ✅ | ✅ | ✅ | - | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
766767

767768
#### 🟢 K230 (RT-Smart)
768769

‎bsp/hpmicro/.clang-format-ignore‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
# clang-format ignore file
22
/**/startup/
3-
/libraries/hpm_sdk/
3+
/**/board/
4+
/libraries/

‎bsp/hpmicro/.gitignore‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# HPMicro SDK is fetched as an RT-Thread package into the shared libraries dir
2+
/libraries/hpm_sdk-*/

‎bsp/hpmicro/README.md‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Below is a comprehensive list of HPMicro BSPs currently supported:
3333
| hpm6800evk | HPM6800EVK | HPM6800 | Development board for HPM6800 series |
3434
| hpm6e00evk | HPM6E00EVK | HPM6E00 | Development board for HPM6E00 series |
3535
| hpm6p00evk | HPM6P00EVK | HPM6P00 | Development board for HPM6P00 series |
36+
| hpm5100evk | HPM5100EVK | HPM5100 | Development board for HPM5100 series |
3637

3738
## Quick Start Guide
3839

@@ -120,7 +121,7 @@ Additional peripherals may be supported depending on the specific board:
120121
- HPM6E00EVK
121122
- HPM6P00EVK
122123
- HPM5E00EVK
123-
- **CAN**: Available on HPM6750 series Development Boards, HPM5300EVK, HPM6800EVK, HPM6E00EVK, HPM6P00EVK and HPM5E00EVK
124+
- **CAN**: Available on HPM6750 series Development Boards, HPM5300EVK, HPM6800EVK, HPM6E00EVK, HPM6P00EVK, HPM5E00EVK and HPM5100EVK
124125
- **SDIO**: Available on HPM6300EVK, HPM6750EVKMINI, HPM6750EVK, HPM6750EVK2 and HPM6800EVK
125126
- **Display/Audio**: Available on HPM6750EVK, HPM6800EVK, HPM6E00EVK,HPM6P00EVK
126127

@@ -153,6 +154,7 @@ Please refer to the individual BSP directories for detailed documentation:
153154
- `hpm6800evk/README.md`
154155
- `hpm6e00evk/README.md`
155156
- `hpm6p00evk/README.md`
157+
- `hpm5100evk/README.md`
156158

157159
## Troubleshooting
158160

‎bsp/hpmicro/README_zh.md‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
| hpm6800evk | HPM6800EVK | HPM6800 | HPM6800 系列开发板 |
3434
| hpm6e00evk | HPM6E00EVK | HPM6E00 | HPM6E00 系列开发板 |
3535
| hpm6p00evk | HPM6P00EVK | HPM6P00 | HPM6P00 系列开发板 |
36+
| hpm5100evk | HPM5100EVK | HPM5100 | HPM5100 系列开发板 |
3637

3738
## 快速开始指南
3839

@@ -120,7 +121,7 @@ msh >
120121
- HPM6E00EVK
121122
- HPM6P00EVK
122123
- HPM5E00EVK
123-
- **CAN**:HPM5300EVK、HPM6750系列开发板,HPM6300EVK,HPM6800EVK, HPM6E00EVK, HPM6P00EVK 和HPM5E00EVK
124+
- **CAN**:HPM5300EVK、HPM6750系列开发板,HPM6300EVK,HPM6800EVK, HPM6E00EVK, HPM6P00EVK、HPM5E00EVK 和HPM5100EVK
124125
- **SDIO**:HPM6300EVK、HPM6750EVK 系列可用
125126
- **显示/音频**:HPM6750EVK 系列可用
126127

@@ -152,6 +153,7 @@ msh >
152153
- `hpm6800evk/README.md`
153154
- `hpm6e00evk/README.md`
154155
- `hpm6p00evk/README.md`
156+
- `hpm5100evk/README.md`
155157

156158
## 故障排除
157159

0 commit comments

Comments
 (0)