summaryrefslogtreecommitdiff
path: root/bsp/hpmicro/libraries
AgeCommit message (Collapse)Author
7 days[bsp][hpmicro] upgrade hpm_sdk to v1.13.0 and add hpm5100evk supportFan YANG
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
2026-07-08bsp: hpmicro: clear full ENET buffersOld-Ding
rt_hw_eth_init() clears ENET descriptor tables using element size times count, but the RX/TX data buffers used sizeof(size), which only covers the width of the size field. Use the configured buffer count and size so the whole RX/TX buffer areas are initialized before handing them to the ENET descriptor configuration. Make the Cppcheck intent explicit for the HPM placement macros and the LPI_CSR register read so the touched file passes static analysis. Signed-off-by: Old-Ding <[email protected]>
2026-01-31[components][clock_time] Refactor time subsystem around clock_time (#11111)Bernard Xiong
* [components][clock_time] Refactor time subsystem around clock_time Introduce the clock_time core with clock source/event separation, high-resolution scheduling, and boot-time helpers, plus clock_timer adapters for timer peripherals. Remove legacy ktime/cputime/hwtimer implementations and migrate arch and BSP time paths to the new subsystem while keeping POSIX time integration functional. Update drivers, Kconfig/SConscript wiring, documentation, and tests; add clock_time overview docs and align naming to clock_boottime/clock_hrtimer/clock_timer. * [components][clock_time] Use BSP-provided clock timer frequency on riscv64 * [risc-v] Use runtime clock timer frequency for tick and delays * [bsp] Add clock timer frequency hooks for riscv64 boards * [bsp] Update Renesas RA driver doc clock_timer link * [bsp] Sync zynqmp-r5-axu4ev rtconfig after config refresh * [bsp][rk3500] Update rk3500 clock configuration * [bsp][hpmicro] Add rt_hw_us_delay hook and update board delays * [bsp][stm32l496-st-nucleo] enable clock_time for hwtimer sample in ci * [bsp][hpmicro] Fix rtconfig include scope for hpm6750evk Move rtconfig.h include outside the ENET_MULTIPLE_PORT guard for hpm6750evk and hpm6750evk2 so configuration macros are available regardless of ENET settings. * [bsp][raspi3] select clock time for systimer * [bsp][hpm5300evk] Trim trailing blank line * [bsp][hpm5301evklite] Trim trailing blank line * [bsp][hpm5e00evk] Trim trailing blank line * [bsp][hpm6200evk] Trim trailing blank line * [bsp][hpm6300evk] Trim trailing blank line * [bsp][hpm6750evk] Trim trailing blank line * [bsp][hpm6750evk2] Trim trailing blank line * [bsp][hpm6750evkmini] Trim trailing blank line * [bsp][hpm6800evk] Trim trailing blank line * [bsp][hpm6e00evk] Trim trailing blank line * [bsp][nxp] switch lpc178x to gcc and remove mcx timer source * [bsp][stm32] fix the CONFIG_RT_USING_CLOCK_TIME issue. * [docs][clock_time] add clock time documentation * [docs][clock_time] Update clock time subsystem documentation - Update device driver index to use correct page reference - Clarify upper layer responsibilities in architecture overview - Update README to describe POSIX/libc, Soft RTC, and device driver usage - Refine architecture diagram with improved layout and color scheme - Remove obsolete clock_timer.md file * [kernel][utest] Trim trailing space * [clock_time] Fix hrtimer wrap handling * [clock_time] fix the static rt_inline issue * [clock_time] fix the rt_clock_hrtimer_control result issue
2025-12-26[sdio][dm] update for DM (#11078)GUI
* [sdio][dm] import Kconfig for DM Signed-off-by: GuEe-GUI <[email protected]> * [sdio] fixup IRQ and mmcsd threads' stack size default Signed-off-by: GuEe-GUI <[email protected]> * [sdio][dm] Support DM mode 1. Support features read by DM. 2. Support regulator API in drivers. 3. Support send tuning option CMD. 4. Replace `switch_uhs_voltage` by `signal_voltage_switch`. Signed-off-by: GuEe-GUI <[email protected]> * [dm][sdhci] Cleanup the SDHCI Signed-off-by: GuEe-GUI <[email protected]> * [sdio][dm] add new SDIO/SDHCI drivers 1. SDHCI support on PCI bus 2. Synopsys DesignWare MMC Family(MMIO/PCI) Signed-off-by: GuEe-GUI <[email protected]> --------- Signed-off-by: GuEe-GUI <[email protected]>
2025-11-30[bsp][hpm]:fix scons --distCYFS
2025-09-23[bsp][hpmicro] upgrade to bsp v1.10.0, add hpm6p00evk and hpm5e00evk supportFan YANG
- upgraded bsp to v1.10.0 - moved hpm_sdk to rt-thread package - added support for hpm6p00evk and hpm5e00evk Signed-off-by: Fan YANG <[email protected]>
2025-05-16[drivers][serial_v2]允许阻塞接收超过rx缓冲区大小的数据、增 ↵ryancw
加超时时间、flush、获取缓冲区数据长度命令、数据溢出逻辑修复、稳定性细节优化、添加更多serial_v2测试用例 [components][serial_v2] 优化txflush逻辑、对tx的activated做中断保护 [components][at] at_client适配新版serial_v2 [components][at] at_server适配新版serial_v2 [components][serial_v2] 测试用例增加循环调用,format测试用例 [components][serial_v2] poll模式判断逻辑错误 [components][serial_v2] 测试用例去掉一些非必要延时 [components][serial_v2] 测试例程使用menuconfig进行配置,更新readme [components][at_client] at_client_getchar返回值错误、at_client解析线程优先级错误设置 [components][at] 错误码应该返回负值 [components][serial_v2] TCFLSH和FIONREAD完善、control函数增加错误返回值 [components][serial_v2] RT_SERIAL_CTRL_GET_RX_DATA_LEN更改为RT_SERIAL_CTRL_GET_UNREAD_BYTES_COUNT [utest][serial_v2] TC_UART_SEND_TIMES替换为RT_SERIAL_TC_SEND_ITERATIONS [components][serial_v2] FIONREAD参数应该是无符号类型 [utest][serial_v2] 完善测试用例 [components][serial_v2] 避免使用三目运算符 [components][serial_v2] 使用clang-format格式化代码 [components][serial_v2] 添加get超时时间命令 [components][serial_v2] 完善posix接口 [components][serial_v2] 阻塞接口添加阻塞时间为0时的处理逻辑、优化RX阻塞接收逻辑 [components][serial_v2] 设置超时时间命令的参数改为指针形式 [components][serial_v2] nbuf发送添加超时时间为0时的逻辑 [components][serial_v2] 完善添加测试用例 [utest][serial_v2] 修复依赖关系 [components][serial_v2] 非阻塞模式下tx_flush错误修复 [components][serial_v2] activated使用原子API [components][serial_v2] 优化DMA逻辑、没使能DMA时屏蔽DMA逻辑节约资源 [components][serial_v2] 提供写满时丢弃新数据和覆盖旧数据策略,写满丢弃策略效率更高 [components][serial_v2] 部分平台适配写满时两种策略功能 [components][serial_v2] DMA模式暂不支持丢弃新数据策略 [utest][serial_v2] 优化测试代码 [components][serial_v2] DMA模式下使用乒乓缓冲、DMA模式支持丢弃新数据策略 [utest][serial_v2] 适配DMA乒乓缓冲 [bsp][serial_v2] 部分bsp适配DMA下乒乓缓冲 [components][serial_v2] 使用spinlock替换中断,对部分结构体变量使用原子操作 [utest][serial_v2] 更新测试用例 [components][at] 适配new serialv2不再判断RTT版本号 [components][at] 删除多余的中文注释 [utest][serial_v2] 添加交叉echo示例,qemu环境下专用 [bsp][qemu] 适配串口v2并开启fifo [components][at] 修复合并导致的错误 [bsp][n32] 适配serial_v2,没有经过测试 [components][serial_v2] 格式化代码 [utest][serial_v2] 删除无意义的打印
2025-01-08[bsp][hpmicro] fix the alignement check logic and the cache-maintenance logicFan YANG
- corrected the alignement check logic - optimized the cache maintenance logic Signed-off-by: Fan YANG <[email protected]>
2024-08-26[bsp][hpmicro] add missing fence apisFan YANG
- added missing fence apis Signed-off-by: Fan YANG <[email protected]>
2024-08-26[bsp][hpmicro] upgrade hpm_sdk to v1.6.0Fan YANG
- upgraded hpm_sdk to v1.6.0 Signed-off-by: Fan YANG <[email protected]>
2024-08-23[device] add dev_ prefix for file namesCXSforHPU
2024-06-03[bsp][hpmicro] add HPM5300EVK,HPM5301EVKLITE and HPM6800EVK support & update ↵Fan YANG
hpm_sdk - added new boards: hpm5300evk, hpm5301evklite and hpm6800evk - upgaded hpm_sdk - driver updates and bugfixes - add hpmicro BSPs to CI Signed-off-by: Fan YANG <[email protected]>
2024-06-02refactor(drivers/usb):replace rtt usb stack with cherryusb (#8799)sakumisu
2024-03-24[bsp] format drivers codeMeco Man
2024-03-24[bsp][drv_gpio] fix the error code return when pin number is illegalMeco Man
2024-03-23[pin] pin_read/write rt_uint8_t to rt_ssize_tkk
2023-08-16[bsp][hpmicro] Update libraries, add new BSPsFan YANG
- Updated hpm_sdk in libraries - Updated rt-thread driver adapter - Updated bsp for hpm6750evkmini - Updated bsp for hpm6750evk - Added bsp for hpm6750evk2 - Added bsp for hpm6300evk - Added bsp for hpm6200evk Signed-off-by: Fan YANG <[email protected]>
2023-05-08[bsp] fix mismatched function types in rt_pin_ops for all drv_gpio.c (#7457)Placebo27
2023-04-17[HUST CSE] Fix many abnormal symbols in annotations and format code7YZ7
2023-04-14【修改】hpm_clock_drv.c文件中if判断中逻辑错误 (#7235)DmrS5
2023-03-20[errno code][-RT_ERROR] fix that use RT_ERROR without -Meco Man
2023-03-16[errno code][-RT_EINVAL] fix that use RT_EINVAL without -Meco Man
2023-03-01[libcpu][riscv]整合libcpu/riscv中的移植文件 ↵Yaochenger
提供一份公共代码于common (#6941) 整合libcpu/riscv中的移植文件 提供一份公共代码于common 在提交本pr时,除hpmicro的内核,rv32内核bsp已完成去除大部分的冗余,大部分代码采用common中的实现。本pr的作用是进一步统一common中的文件,从而提供一份公用代码,新移植的RV32内核的BSP可以全部使用common代码。 - 在common中提供一份公用文件:interrupt_gcc.S - 修改原有的文件,将原有的中断中上下文切换代码替换为interrupt_gcc.S - 基于上述修改,修改仓库中risc-v内核的BSP与移植相关的部分 (主要包含中断入口函数 中断栈等) - 在common中提供一份公用文件:trap_common.c;提供统一中断入口函数,中断入口函数初始化,中断入口注册等函数,并完善异常时的信息输出 - 在common中提供一份公用文件:rt_hw_stack_frame.h;将栈帧结构体剥离,供用户使用 - 在上述工作完成后,在上述工作的基础上测试仓库中risc-v内核的BSP - 完善函数中的命名,完善中断栈的获取 - 提供一份详细的基于现有common文件的移植指南 #### 在什么测试环境下测试通过 - 1.CH32V307V-R1-R0 - 2.CH32V208W-R0-1V4 - 3.HPM6750EVKMINI - 4.GD32VF103V-EVAL - 5.qemu(CORE-V-MCU ) > 与上述开发板使用同样芯片的BSP均测试通过 在CH32V307V-R1-R0与HPM6750EVKMINI上基于现有移植文件进行多线程复杂场景下的长时间测试,测试过程系统运行正常。
2023-02-07rt_device_write/read return data type as rt_ssize_tMeco Man
rt_ssize_t can give negative error code, which follows the unix style correctly
2023-01-08format link scriptsMeco Man
2023-01-08format Kconfig and sconscriptMeco Man
2022-11-21[CAN]update struct can_filter_item and rt_can_msg (#6556)wdfk-prog
* 修改ry命令,已便于自定义保存路径 * modified: components/utilities/ymodem/ry_sy.c * 修复从被动错误恢复后发送返回异常 * 修复在自动重传模式下,ACK异常阻塞线程 - 删除TX中断函数else分支。仅当RQCP位 置一才进入该中断 - 添加SCE中断函数中关于ACK_ERR的else判断。自动重传模式下会进入该判断,打断自动重传释放完成量。 * 增加对于CAN1与CAN2的SCE中断和TX中断的公共处理函数 * formatting格式化代码 * update struct can_filter_item and rt_can_msg 1. 对过滤器号和索引号结构体定义中同一名称hdr进行重命名hdr_bank和hdr_index, 以便准确区分.采用宏定义兼容以前变量名. 2. 添加接收标识rxfifo,已指明是哪个RXFIFO. * 更正42M下的波特率 * 修复接收获取索引号错误 * 添加接收标识 * 更新注释 * 取消CANFD限制 * update struct can_filter_item and rt_can_msg
2022-09-06Add BSP for HPM6750EVK and HPM6750EVKMINI (#6374)Fan Yang
* Add CANFD support and correct typos - Added CANFD required fields to can.h - Fixed typos in can.h and can.c - Corrected all the projects affected by the typo - Fixed wrong line-ending in some affected can driver files Signed-off-by: Fan YANG <[email protected]> * update * bsp: support boards from hpmicro - Supported HPM6750EVKMINI - Supported HPM6750EVK Signed-off-by: Fan YANG <[email protected]> Signed-off-by: Fan YANG <[email protected]> Co-authored-by: Meco Man <[email protected]>