Commit Graph

16016 Commits

Author SHA1 Message Date
Shell 48bd0e49f2
[ipc] support of lockless rt_completion (#8887)
* [ipc] lockless rt_completion implementation

The new rt_completion implemented by lockless algorithm can improve timer resolution for up to ~12%, compare to sem IPC.

Signed-off-by: Shell <smokewood@qq.com>

* fixup: error

* remove useless changes

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-05-08 09:25:57 +08:00
Shell 9ba6cec663
[libcpu/arm64] dealing with mem region out of kernel space (#8847)
* [ofw] dealing with mem region out of kernel space

- Fix parameter checking in _out_of_range() that NULL is excluded for
  fixed mapping
- Split page install with a deferred stage to avoid mapping over
  ARCH_EARLY_MAP_SIZE

Signed-off-by: Shell <smokewood@qq.com>

* fixup: restrict vstart for using of RT_NULL

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-05-08 09:23:31 +08:00
Shell 6977cf9101
[src] add rt_hw_cpu_id() wrapper API (#8894)
* [src] add rt_hw_cpu_id() wrapper API

rt_hw_cpu_id() is an unsafe API which should not be used by most codes
directly. It's error-prone because it must be used in proper context,
otherwise it can lead to errors and unpredictable behavior.

This patch adds a wrapper API for rt_hw_cpu_id() to address this risk.
It includes the context-checking functionality and provides a safer
alternative for obtaining CPU IDs, ensuring that it is used correctly
within the appropriate context.

Signed-off-by: Shell <smokewood@qq.com>

* fixup UMP

* update API & comment

* ci: cpp_check

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-05-08 09:22:09 +08:00
geniusgogo 02e0334ac3 fix_serial_baudrate_set
Signed-off-by: geniusgogo <xpxyr@sina.com>
2024-05-07 19:03:14 -04:00
luhuadong 1e9ed637d8 docs: fix source code catalog Name item 2024-05-07 19:02:02 -04:00
QTbin 7245dbd54f 修改scons的脚本文件,使其适配更多芯片的工程生成 2024-05-07 02:03:28 -04:00
Meco Man 84f8d209c4 [stm32l4] export env 2024-05-07 13:27:15 +08:00
zms123456 9112dffec8
[src][Kconfig]make RT_ASSERT independent of RT_USING_DEUBG 2024-05-06 20:40:30 -04:00
Meco Man 12ad1703df [bsp][stm32l4] remove local HAL 2024-05-06 21:42:10 +08:00
Meco Man ac45676830 [stm32l4] select PKG_USING_STM32L4_HAL_DRIVER 2024-05-06 21:42:10 +08:00
Meco Man b29b29b205 [stm32l4] remove HAL 2024-05-06 21:42:10 +08:00
Meco Man 0db3cfacda [stm32l4] remove STM32L4xx_HAL/CMSIS 2024-05-06 21:42:10 +08:00
xiao-mang 89164b19a8
fix art-pi smart boot from emmc (#8904)
* fix art-pi smart boot from emmc

* fix art-pi smart boot from emmc

* fix art-pi smart boot from emmc
2024-05-06 13:31:17 +08:00
Meco Man a7a8c59ea9 [stm32l475pandora] format Kconfig 2024-05-05 22:18:34 -04:00
Meco Man 68e92985c7 [stm32] 调整CMSIS-Core软件包宏 2024-05-05 22:18:34 -04:00
Meco Man 341ce50067 [stm32] format Kconfig 2024-05-05 22:18:34 -04:00
Meco Man f7762ebc90 [ci] disable tools check temporarily 2024-05-05 22:18:34 -04:00
SCZeiDan d78429eb8e
[stm32] i2c hard driver fixup:增加硬件I2C传输超时等待时间
问题:
在使用硬件 I2C 驱动进行音频模块 WM8978 配置时,发现连续 rt_i2c_transfer 进行 I2C 传输时发现,连续多次调用 rt_i2c_transfer 会出现丢包现象;溯源发现是每次使用 rt_i2c_transfer 传输2字节,传输频率过高导致底层 HAL_I2C_Master_Seq_Transmit_DMA 报错 HAL_BUSY;

现象:
rt_completion_wait超时等待完成之后,I2C仍处于HAL_I2C_STATE_BUSY_TX状态,且后续第二次运行至HAL_I2C_Master_Seq_Transmit_DMA时会直接返回HAL_BUSY,从而直接 goto out; 退出而不会再次进行超时等待;

* drv_hard_i2c.c: 修复325行缺失'}'语法错误;更改HAL_I2C_xx_Transimt_xx调用中目标设备地址值;i2c_hard_config.h: 添加STM32F系列芯片xx_DMA_CONFIG宏定义;

* 回溯I2C设备地址传参处(msg->addr<<1)修改;

* fixup: 增加硬件I2C传输延时,解决连续传输导致HAL_BUSY状态;
2024-05-04 12:51:27 -04:00
IceBear003 39e6b36bb0 [bsp][ch32v307]添加了适配RT-Thread的全速USB驱动 2024-05-04 01:02:47 -04:00
bernard c4e7a0e5e3 [tools] Add --cdb to make compile_commands.json. 2024-05-03 20:17:23 -04:00
Junjie Wang b632dc1aaf
[bsp][gd32] 修复串口驱动中由于可能的中断嵌套而导致RB索引异常的问题 2024-05-02 18:57:18 -04:00
Shell 2c9b7c10b9
[kernel] add rt_thread_close()
* [thread] Add rt_thread_close()

This patch introduces a new function `rt_thread_close()` to enhances the
usability and maintainability by providing a dedicated mechanism for
closing threads.

- A new function `rt_thread_close()` is added to the API, providing a
  standardized approach for closing threads.
- The `rt_thread_close()` function removes a thread from the thread
  queue, updates its status to indicate closure, and performs the thread
  timer detaching which is a embedded timer in thread object.
- Additionally, the `rt_thread_detach()` function is modified to utilize
  `rt_thread_close()` internally, streamlining the thread detachment
  process.

Signed-off-by: Shell <smokewood@qq.com>
2024-05-01 00:49:09 -04:00
sheltonyu bf669dd02c
[bsp/at32] add at32 bsp to auto ci 2024-04-30 22:08:55 -04:00
Fan Yang c21ba6985d
Fix compiling eror in hpmicro bsp (#8889)
- added 'DEVICE' to rtconfig.py
- fixed compiling error cuased by change in interrupt_gcc.S

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-04-30 20:11:47 +08:00
sheltonyu 0ccc315bce
[bsp/at32] add support at32a403a/a423 series and fix driver issues(uart/dma) 2024-04-30 01:11:18 -04:00
Troy 1d2fde8d73 Add comments for all functions in components/libc/posix/ipc/mqueue.c 2024-04-30 01:08:36 -04:00
LZerro f190cba0ab
[i2c] adjust the timing for I2C initialization 2024-04-29 20:46:12 -04:00
yiyi 4c9d3be98a
[components][drivers] added sensor device lookup function 2024-04-29 17:54:13 -04:00
LZerro a92f971267
[spi] soft_spi_pin_init loop variable is initialized to 0
The loop variable in the function 'drv_soft_spi:xx_pin_init()' is initialized to 0.
2024-04-29 17:49:20 -04:00
chengy2 2aa66b1b4e
[HC32] support HC32F472 & remove residual files 2024-04-29 17:48:47 -04:00
flyingcys 7890e2cb14
[bsp/cvitek]add eth driver 2024-04-29 17:47:50 -04:00
xiao-mang b586889216
fix baudrate error (#8873)
* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error
2024-04-29 18:00:34 +08:00
Meco Man e548a99da4 [ci] set at_device package as strict mode 2024-04-29 10:56:05 +08:00
Meco Man 14aa516b91 [ci] add workflow to check env 1.5.x stable version 2024-04-29 10:55:17 +08:00
flyingcys aee6048a53
[bsp/cvitek]update cvitek sdhci drvier (#8874)
update cvitek sdhci drvier
2024-04-28 23:07:42 +08:00
xiao-mang c359e93a9c
fix file mmap (#8865) 2024-04-28 15:21:02 +08:00
zms123456 fa1c473a96
[src][thread]bind cpu fixup (#8872)
bind cpu fixup
2024-04-28 15:19:50 +08:00
wdfk-prog 52ebdf6bdb
[mem]When using SLAB, calls to memcheck and memtrace will be abnormal (#8862)
* [mem]When using SLAB, calls to memcheck and memtrace will be abnormal

* [mem]The memtrace printing system does not match the display
2024-04-27 18:27:33 +08:00
liYangYang d30c8b340e
[drivers][ofw] Fixed fdt_scan_memory() memory adjustment bug (#8853)
* Fixed fdt memory adjustment bug

* Modify the memory adjustment logic
2024-04-27 18:25:42 +08:00
Troy 946dd264ed Add comments for all functions in components/libc/posix/io/termios/termios.c 2024-04-26 23:13:27 -04:00
xiao-mang bc774190f2
enable poll (#8867)
config poll
2024-04-26 22:25:04 +08:00
xiao-mang 75f41723cb
fix sys_getcwd (#8852) 2024-04-25 18:28:53 +08:00
zms123456 be97a8ef25
[components][dfs]remove duplicate lseek in devfs (#8859)
remove duplicate lseek in devfs
2024-04-25 18:28:43 +08:00
Shell 9e1a816f06
[smart] fix tty serial ioctl (#8861)
Using param callback to reduce unnecessary call.

Signed-off-by: Shell <smokewood@qq.com>
2024-04-25 18:21:32 +08:00
Meco Man a0e5526a55 [ci] fix doxygen ci grammar error 2024-04-25 10:13:13 +08:00
SCZeiDan 7ca2ebc51a
[bsp][stm32] fix bugs of i2c hardware drivers
在STM32F429IGTx设备上使用硬件i2c驱动程序师遇到以下几个问题:

语法错误:drv_hard_i2c.c 行67、68中i2c_handle未正常替换过来,估计是上个版本对变量重命名后因为宏定义忽略了此处修改;
语法错误:drv_hard_i2c.c 行326中缺少一个"}"导致编译出错;
初始化i2c设备过程中对双地址选项进行设置时(i2c_handle->Init.OwnAddress2Masks = I2C_OA2_NOMASK),STM32F4系列SOC没有这个配置定义,于是我直接将双地址模式关闭了(i2c_handle->Init.DualAddressMode = I2C_DUALADDRESS_DISABLE);
初始化i2c设备(DMA方式)过程中发现i2c_hard_config.h文件中未定义DMA通道配置;

主要补丁如下:
修复硬件i2c驱动代码中语法错误(drv_hard_i2c.c行67、68、326);
关闭默认i2c双地址模式(drv_hard_i2c.c行75:I2C_DUALADDRESS_DISABLE);
添加硬件i2c驱动配置文件DMA相关配置项,增加对SOC_SERIES_STM32F2、SOC_SERIES_STM32F4、SOC_SERIES_STM32F7系列芯片配置DMA_CHANNEL的适配
2024-04-24 01:42:03 -04:00
Troy 98a234d430
Add some comments in components/libc/posix/ipc/semaphore.c (#8848) 2024-04-24 05:46:43 +08:00
flyingcys 2c8c4ccc47
[bsp]support cvitek sdhci drvier (#8849)
support cvitek sdhci drvier
2024-04-24 05:40:22 +08:00
liYangYang 62544df564
[bsp][cvitek] Initialize the Milk-V Duo 256M using the device tree (#8841)
Initialize the board using the device tree
2024-04-23 23:09:45 +08:00
Shell ee8c61126d
[tools] fix menuconfig error on vscode console (#8843)
Signed-off-by: Shell <smokewood@qq.com>
2024-04-23 23:08:57 +08:00