53 Commits

Author SHA1 Message Date
Bernard Xiong
743b614875 [components][clock_time] Refactor time subsystem around clock_time (#11111)
Some checks failed
RT-Thread BSP Static Build Check / 🔍 Summary of Git Diff Changes (push) Has been cancelled
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (push) Has been cancelled
RT-Thread BSP Static Build Check / collect-artifacts (push) Has been cancelled
doc_doxygen / doxygen_doc generate (push) Has been cancelled
doc_doxygen / deploy (push) Has been cancelled
pkgs_test / change (push) Has been cancelled
utest_auto_run / A9 :components/dfs.cfg (push) Has been cancelled
utest_auto_run / A9 :components/lwip.cfg (push) Has been cancelled
utest_auto_run / A9 :components/netdev.cfg (push) Has been cancelled
utest_auto_run / A9 :components/sal.cfg (push) Has been cancelled
utest_auto_run / A9 :cpp11/cpp11.cfg (push) Has been cancelled
utest_auto_run / AARCH64-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / A9-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / XUANTIE-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64 :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64-smp :default.cfg (push) Has been cancelled
utest_auto_run / A9 :default.cfg (push) Has been cancelled
utest_auto_run / A9-smp :default.cfg (push) Has been cancelled
utest_auto_run / RISCV :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-smp :default.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/atomic_c11.cfg (push) Has been cancelled
utest_auto_run / RISCV :kernel/atomic_c11.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/ipc.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/kernel_basic.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/mem.cfg (push) Has been cancelled
ToolsCI / Tools (push) Has been cancelled
Weekly CI Scheduler / Trigger and Monitor CIs (push) Has been cancelled
Weekly CI Scheduler / Create Discussion Report (push) Has been cancelled
* [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
2026-01-31 17:44:27 +08:00
ache
36bf8f656b feat:clang format ignore migration 2025-10-28 14:13:56 +08:00
JamieTx
5f4319a6ca Update bsp drivers for F334. 2025-08-22 18:42:44 +08:00
Jamie
4423c6f01f Add ev_hc32f334_lqfp64 board and update package relation. #10522
Some checks failed
ToolsCI / Tools (push) Has been cancelled
AutoTestCI / components/cpp11 (push) Has been cancelled
AutoTestCI / kernel/atomic (push) Has been cancelled
AutoTestCI / kernel/atomic/riscv64 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11/riscv64 (push) Has been cancelled
AutoTestCI / kernel/device (push) Has been cancelled
AutoTestCI / kernel/ipc (push) Has been cancelled
AutoTestCI / kernel/irq (push) Has been cancelled
AutoTestCI / kernel/mem (push) Has been cancelled
AutoTestCI / kernel/mem/riscv64 (push) Has been cancelled
AutoTestCI / kernel/thread (push) Has been cancelled
AutoTestCI / kernel/timer (push) Has been cancelled
AutoTestCI / rtsmart/aarch64 (push) Has been cancelled
AutoTestCI / rtsmart/arm (push) Has been cancelled
AutoTestCI / rtsmart/riscv64 (push) Has been cancelled
AutoTestCI / components/utest (push) Has been cancelled
RT-Thread BSP Static Build Check / 🔍 Summary of Git Diff Changes (push) Has been cancelled
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (push) Has been cancelled
RT-Thread BSP Static Build Check / collect-artifacts (push) Has been cancelled
pkgs_test / change (push) Has been cancelled
utest_auto_run / AARCH64-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / A9-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / XUANTIE-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64 :default.cfg (push) Has been cancelled
utest_auto_run / A9 :default.cfg (push) Has been cancelled
utest_auto_run / A9-smp :default.cfg (push) Has been cancelled
utest_auto_run / RISCV :default.cfg (push) Has been cancelled
2025-07-18 15:50:00 +08:00
沐攸
29ab5334af bsp:Separate HC32F4 series library (#10427)
* bsp:Separate HC32F4 series library
2025-06-25 10:02:43 +08:00
ryancw
ac8fba0129 [drivers][serial_v2]允许阻塞接收超过rx缓冲区大小的数据、增加超时时间、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-05-16 09:42:11 +08:00
Jamie
928e47395d [hc32] Add the ev_hc32f4a8_lqfp176 board and modify some bsp drivers. (#10233)
* [hc32] Add the ev_hc32f4a8_lqfp176 board and modify some bsp drivers.
2025-04-29 14:23:01 +08:00
JOONH0o
3fdb940967 fix - 1 优化中断中打印日志问题;2 优化SPI写外部FLASH慢的问题 (#10009)
Some checks failed
pkgs_test / change (push) Has been skipped
AutoTestCI / components/cpp11 (push) Has been cancelled
AutoTestCI / kernel/atomic (push) Has been cancelled
AutoTestCI / kernel/atomic/riscv64 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11/riscv64 (push) Has been cancelled
AutoTestCI / kernel/device (push) Has been cancelled
AutoTestCI / kernel/ipc (push) Has been cancelled
AutoTestCI / kernel/irq (push) Has been cancelled
AutoTestCI / kernel/mem (push) Has been cancelled
AutoTestCI / kernel/mem/riscv64 (push) Has been cancelled
AutoTestCI / kernel/thread (push) Has been cancelled
AutoTestCI / kernel/timer (push) Has been cancelled
AutoTestCI / rtsmart/aarch64 (push) Has been cancelled
AutoTestCI / rtsmart/arm (push) Has been cancelled
AutoTestCI / rtsmart/riscv64 (push) Has been cancelled
AutoTestCI / components/utest (push) Has been cancelled
RT-Thread BSP Static Build Check / ESP32C3 (push) Has been cancelled
RT-Thread BSP Static Build Check / Infineon_TI_microchip (push) Has been cancelled
RT-Thread BSP Static Build Check / RT-Thread Online Packages (STM32F407 RT-Spark) (push) Has been cancelled
RT-Thread BSP Static Build Check / RTduino/Arduino Libraries (Raspberry Pico) (push) Has been cancelled
RT-Thread BSP Static Build Check / RTduino/Arduino Libraries (STM32F412 Nucleo) (push) Has been cancelled
RT-Thread BSP Static Build Check / aarch64 (push) Has been cancelled
RT-Thread BSP Static Build Check / gd32_n32_apm32 (push) Has been cancelled
RT-Thread BSP Static Build Check / hpmicro (push) Has been cancelled
RT-Thread BSP Static Build Check / i386-unknown (push) Has been cancelled
RT-Thread BSP Static Build Check / llvm-arm (push) Has been cancelled
RT-Thread BSP Static Build Check / mips (push) Has been cancelled
RT-Thread BSP Static Build Check / nordic(yml) (push) Has been cancelled
RT-Thread BSP Static Build Check / nuvoton (push) Has been cancelled
RT-Thread BSP Static Build Check / nxp_renesas (push) Has been cancelled
RT-Thread BSP Static Build Check / others_at32_hc32_ht32 (push) Has been cancelled
RT-Thread BSP Static Build Check / riscv-none (push) Has been cancelled
RT-Thread BSP Static Build Check / riscv64-unknown (push) Has been cancelled
RT-Thread BSP Static Build Check / simulator (push) Has been cancelled
RT-Thread BSP Static Build Check / stm32_f2_f4 (push) Has been cancelled
RT-Thread BSP Static Build Check / stm32_f7_g0_h7_mp15_u5_h5_wb5 (push) Has been cancelled
RT-Thread BSP Static Build Check / stm32l4_f0_f1 (push) Has been cancelled
BSP compilation with more drivers / BSP Compilation with More Drivers (push) Has been cancelled
* 1. 优化中断中打印日志问题;2 优化SPI写外部FLASH慢的问题
* 2. 在spi驱动中有在中断中打印调试信息的问题,增加ISR log判断进行
* 3. spi+DMA 写外部flash,由于spi速度很快,不进行delay就可以;同时,仿照Linux的驱动框架进行优化,数据小不使用DMA
2025-02-24 09:25:15 +08:00
Jamie
0800db1400 Add pm driver for F472 and add lVD unlock in board_init 2025-01-21 18:43:46 -05:00
Jamie
77e95594db [BSP] add some bsp drivers for F448, F472 and add bsp test codes 2025-01-19 22:13:22 -05:00
Lin-Chengqiu
16093369b2 [bsp/hc32]hc32f460 doesn't support CAN-FD, hc32_ll_can.h has no some definations. 2024-12-21 13:10:47 -05:00
yangpeng
0947a44658 [bsp][hc32][spi]update rt_hw_spi_device_attach 2024-12-04 16:37:40 +08:00
liuchao
56c9bbe405 [bsp/hc32] fix uart dma if gcc optimization level is not none 2024-11-09 19:01:11 -05:00
Kai
91eca8d573 [bsp][hc32] 修复SPI驱动的片选脚获取方式 2024-10-28 00:30:35 -04:00
CXSforHPU
416ec66380 [device] add dev_ prefix for file names 2024-08-23 18:15:09 -04:00
sp-cai
47ee23510c [BSP] HC32F460 在 SConscript 补充几个源文件 (#9042)
[BSP] HC32F460 工程中增加几个源文件
2024-06-10 16:15:04 +08:00
JamieTx
3d30b56c86 [HC32] Fixed a bug about erase flash. 2024-05-16 19:15:38 -04:00
LZerro
f190cba0ab [i2c] adjust the timing for I2C initialization 2024-04-29 20:46:12 -04:00
chengy2
2aa66b1b4e [HC32] support HC32F472 & remove residual files 2024-04-29 17:48:47 -04:00
Meco Man
6a9c42a19d [bsp][drv_gpio] fix the error code return when pin number is illegal 2024-03-24 09:18:25 +08:00
kk
2549b82bd6 [pin] pin_read/write rt_uint8_t to rt_ssize_t 2024-03-23 14:50:31 -04:00
sp-cai
cddab69d77 [BSP][HC32] drv_usart.c fix macro switch error 2024-03-07 20:26:14 -05:00
skllii
6fe69d7431 [bsp][hc32] support hc32f448 2024-02-22 12:34:35 -05:00
yangpengya
2a68f70094 [bsp][hc32]更正pin和usart初始化顺序(bug fix)
#8480
#8458
2024-01-16 01:00:09 +08:00
Jamie
48244f25f8 [hc32] Add some bsp drivers. (#8480) 2024-01-09 21:56:37 +08:00
yangpeng
7c07a97479 [bsp][hc32]更正pin和usart初始化顺序 2024-01-02 19:06:13 +08:00
梁生
7a56058c61 [bsp][hc32]优化can驱动和pwm驱动 (#8217)
**为什么提交这份PR (why to submit this PR)**
1. hc32驱动函数和rtt函数声明之间的参数类型不一致,在mdk编译时产生警告。
2. hc32的can设备,在注册时就把can中断使能了。导致can设备在打开前,就会产生中断。
3. hc32的pwm驱动,不支持PWM_CMD_SET_PERIOD和PWM_CMD_SET_PULSE指令,导致rt_pwm_set_pulse()函数返回失败。
**你的解决方案是什么 (what is your solution)**
1. 修改hc32驱动函数参数类型和声明一致。
2. 注册can设备时主动禁止can中断,因为打开设备时会主动打开中断。
3. 修改pwm驱动,增加PWM_CMD_SET_PERIOD和PWM_CMD_SET_PULSE指令支持。
2023-11-14 09:18:32 -05:00
Placebo27
538158bf20 [bsp] fix mismatched function types in rt_pin_ops for all drv_gpio.c (#7457) 2023-05-08 23:35:27 -04:00
nobody
613e5a3e51 [HUST CSE]fix:修改drv_spi.c空指针问题 2023-04-29 18:16:10 -04:00
Zxy
4ed9bc11f7 [errno code]fix that use RT_ENOSYS without - (#7084)
* [errno code]fix that use RT_ENOSYS without -

* Update bsp/airm2m/air32f103/libraries/rt_drivers/drv_hwtimer.c

---------

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-03-23 01:54:42 -04:00
Meco Man
deb40e8c0c [errno code][-RT_EBUSY] fix that use RT_EBUSY without - 2023-03-22 01:55:18 -04:00
Meco Man
0f461e870c [errno code][-RT_ERROR] fix that use RT_ERROR without - 2023-03-20 00:06:16 -04:00
Meco Man
dfddd79b24 [errno code][-RT_EINVAL] fix that use RT_EINVAL without - 2023-03-16 20:21:43 -04:00
Meco Man
2cc9bd876e [error code][-RT_EIO] fix that use RT_EIO without - 2023-03-16 20:20:37 -04:00
Meco Man
f58d3c5200 rt_device_write/read return data type as rt_ssize_t
rt_ssize_t can give negative error code, which follows the unix style correctly
2023-02-07 21:43:57 -05:00
Meco Man
592284c66c format link scripts 2023-01-08 22:52:13 -05:00
Meco Man
9bc68d26a4 format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
wdfk-prog
569e2ae1e8 [CAN]update struct can_filter_item and rt_can_msg (#6556)
* 修改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-11-21 21:45:51 -05:00
Fan Yang
666af5e29d [DeviceDriver] Add CANFD support and correct typos (#5912)
* 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 <fan.yang@hpmicro.com>

* update

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
Co-authored-by: Meco Man <920369182@qq.com>
2022-08-13 22:59:28 -04:00
xiaoxiaolisunny
af82606dd3 [bsp][hc32]添加hc32f460系列WDT外设驱动 (#6158)
* 添加hc32f460系列外设WDT驱动

* format kconfig

* Update drv_wdt.c

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-08-02 22:46:35 -04:00
梁生
c7ce44ab3a [bsp/hc32]添加timerA的pwm驱动 2022-07-31 23:14:13 -04:00
JamieTx
50d514a8a4 modify precompile waring for uart,spi driver. 2022-07-30 14:53:34 -04:00
ueJone
956fdc60c0 接收错误中断未触发的问题
/* Enable error interrupt */
NVIC_EnableIRQ(uart->config->rxerr_irq.irq_config.irq_num);
上述代码使能错误接收中断后需要使能串口的接收中断`USART_INT_RX`才可以正常触发中断
2022-06-21 14:16:17 +08:00
梁生
f41cb5636f 修复hc32f460的can总线在bus off状态时死机问题,修复can滤波器设置失效问题 (#6083)
* [bsp][hc32]fix can bus driver bug.

1. 更改硬件滤波器数量为8,和手册描述一致。
2. 修复_can_control()函数,RT_CAN_CMD_SET_FILTER指令,当应用层ID超出29bit时导致滤波器失效的问题。
3. 修改_can_control()函数,RT_CAN_CMD_SET_FILTER指令,
可同时支持标准帧和扩展帧。
4. 修复can总线故障关闭时,程序一直卡在中断中无法退出的问题。
5. 针对can收发器硬件STB引脚,增加宏定义CAN1_STB_FUNC_ENABLE,适配没有STB引脚的收发器。

This reverts commit 7fcd8e9afc.
2022-06-21 11:12:35 +08:00
xiaoxiaolisunny
9d0f088e20 添加HC32F460系列RTC外设驱动 (#6069)
* 添加HC32F460系列RTC外设驱动
2022-06-15 10:38:35 +08:00
cmbjxxiao
c8d92d7529 fix bugs of hc32 driver adc and can (#6077)
* fix bugs of hc32 driver adc and can
2022-06-15 10:37:27 +08:00
xiaoxiaolisunny
5ccf6a0fa8 添加HC32F460系列ADC外设驱动支持 (#6067)
* 添加HC32F460系列ADC外设驱动支持
2022-06-13 21:13:51 +08:00
xiaoxiaolisunny
65669de0e3 [bsp][hc32]添加HC32F460系列模拟I2C外设驱动支持 2022-06-13 11:33:48 +08:00
ueJone
138925be08 修复多串口的描述符被覆盖的问题 (#6051)
[bsp][HC32] 修复使用多串口的描述符被覆盖的问题
2022-06-09 14:32:37 +08:00
xiaoxiaolisunny
a738849257 添加HC32F460系列CAN设备驱动支持 2022-06-09 07:05:23 +08:00