Commit Graph

4695 Commits

Author SHA1 Message Date
yangpeng 479fab7775 [ipc]修复pipe创建失败时的资源异常释放 2024-06-06 09:42:16 +08:00
Chen Wang f0af6ef809
component:mm: improve sconscript (#9028)
There is no next-level directory under the components/mm/
directory. Do not need to enter the next-level directory
to process the SConscript file.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2024-06-05 10:04:32 +08:00
Shell 6ca327d8ce
[smart] add CPU/thread usage tracing config (#8947)
* [smart] add CPU usage tracing config

This patch introduces following features:

- Added CPU usage tracing functionality, enabled by default, for
  applications like 'top'
- update time as smart independent

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

* fixup: add ump idle thread

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-06-04 00:06:41 +08:00
sp-cai 884e391954 [fix][misc][adc] 修复 ADC 电压转换的计算错误 2024-06-03 11:31:30 +08:00
sakumisu 62d321caa0
refactor(drivers/usb):replace rtt usb stack with cherryusb (#8799) 2024-06-02 11:20:13 +08:00
GUI 1d614a819d
[DM/feature] Implement PIC irq state { get; set } (#9006)
* [DM/feature] Implement PIC irq state { get; set }

There are some common state for irq:
1. Pending: IRQ was triggered, but software not ACK.
2. Active: IRQ was ACK, but not EOI.
3. Masked: IRQ was masked or umasked.

Signed-off-by: GuEe-GUI <2991707448@qq.com>

* [DM/pic] Support IRQ state { get; set } for ARM GICv2/v3

Signed-off-by: GuEe-GUI <2991707448@qq.com>

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-05-31 17:37:39 +08:00
zms123456 ef184d2157
[fix]fix compile err in pic-gic (#9015)
fix compile err in pic-gic
2024-05-31 17:33:34 +08:00
Shell e5cf86267b
[smart] fixup of script execution (#9009)
This patch fixup the script execution capabilities on argv passing
and adds support for arguments larger than 4k.

According to POSIX, the script parameter is quiet different
from the current implementation. Especially on the way it inserts
the path of executables. At the end, when you execute a script
from `$PATH`, it always fails.

For the script, interpreter will be invoked with the following
arguments: `{interpreter [optional-arg] pathname arg...}`
where pathname is the pathname of the file specified as the first
argument of execve(), and arg...  is the series of words pointed
to by the argv argument of execve(), starting at argv[1].  Note that
there is no way to get the argv[0] that was passed to the
execve() call.

The changes include:

- Separating argument, environment variable, and auxiliary vector
  processing into a new lwp_args.c file.
- Fixing bugs in script argument processing and supporting arguments
  larger than 4k.
- Updating lwp_execve to use the new argscopy function and removing
  the old lwp_argscopy function.
- Making various modifications to lwp_load and elf_aux_fill to work
  with the new argument processing.
- Removing unnecessary code related to dynamic loading and interpreter
  scripts.

Signed-off-by: Shell <smokewood@qq.com>
2024-05-31 17:32:19 +08:00
rcitachi 85b428df42
[lwp]list_process can print tid (#8991)
* list_process can print tid

* fix-ci

* update list_process

* Update lwp_pid.c
2024-05-31 17:30:46 +08:00
Shell e0df85c819
dev: random should copy size bytes of data to buffer (#9012) 2024-05-30 20:09:02 +08:00
GUI e7cddf3a52
[Feature] Support simple power domain API (#9005)
* [Feature] Power domain for device

1.Support device power on/off.
2.Support attach/detach device.
3.Support power domain driver api.

Signed-off-by: GuEe-GUI <2991707448@qq.com>

* [DM/platform] Enhanced platform bus

1.Add power domain for device.
2.Support `remove` and `shutdown` bus interface.

Signed-off-by: GuEe-GUI <2991707448@qq.com>

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-05-30 15:30:40 +08:00
LaterComer 2cbe8bdae0
解决ktime部分函数计算时unsigned long溢出 (#9008)
* 解决ktime部分函数计算时unsigned long溢出

* 恢复部分不需要ktime中部分rt_uint64_t类型的为unsigned long
2024-05-30 12:04:33 +08:00
Jiading Xu 2fcf151a8e [components][drivers][include][phy] add one more parameter for mulitiple phys
- add parameter phy to specify multiple-phy instance

Signed-off-by: Jiading Xu <Jiading.Xu@hpmicro.com>
2024-05-29 22:22:51 +08:00
Shell 63591d935e
[smart] fixup errno passing on sys_mkdir() (#9007)
Use _SYS_WRAP to fetch errno on return of mkdir to avoiding overriding
of it on other system APIs.

Signed-off-by: Shell <smokewood@qq.com>
2024-05-29 18:06:54 +08:00
Shell f179ce12b7
[smart] update sched_setaffinity() to use thread(task) ID (#9004)
Correct `sched_setaffinity()` to use the thread IDs (TIDs) instead of
process IDs (PIDs). The previous implementation used PIDs, which
caused issues since affinity settings need to be applied at the
thread level.

As the manual documented, the signature is:

>        int sched_setaffinity(pid_t pid, size_t cpusetsize,
>                             const cpu_set_t *mask);

Yes, it's tricky, the identification passing in is called **'PID'**.
But when we talk about 'pid' from GNU libc, it's the **'task-id'**,
aka, `thread->tid` known in kernel.

Changes were made by updating the function signatures and logic in
`lwp.h`, `lwp_pid.c`, and `lwp_syscall.c` to accept TIDs. Specifically,
the `lwp_setaffinity` function and related internal functions now
operate using thread IDs and adjust thread affinity settings accordingly

Signed-off-by: Shell <smokewood@qq.com>
2024-05-29 06:53:22 +08:00
heyuanjie87 326150e2f4
[lwp/riscv]进入libc前初始化用户态sp (#8997) 2024-05-29 06:52:38 +08:00
GUI b45fb59df2
[OFW] io ranges use list to storage without ofw data (#8993)
[OFW] io ranges use ptr array to storage without ofw data

ofw data is private data for every ofw node that
the drivers of ofw node will use item.
replace the ranges supported to a ptr array.

the ptr array size is config by `RT_USING_OFW_BUS_RANGES_NUMBER`

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-05-28 14:25:09 +08:00
GUI 6f6b0c3ba0
[DM/feature] Simple NUMA (Non-Uniform Memory Access) (#9000)
For some CPU memory access devices, that the drivers
will find memory and CPU affinity to config device.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-05-28 14:08:33 +08:00
Shell 952f2c43f8
[smart] add FIONREAD ioctl support for tty (#8996)
Signed-off-by: Shell <smokewood@qq.com>
2024-05-28 09:56:10 +08:00
GUI de352aee62
[PIC] Make affinity helper interface (#8995)
* [PIC] Make affinity helper interface

Signed-off-by: GuEe-GUI <2991707448@qq.com>

* [PIC/GIC] Fixup GIC affinity init

GICv2 is not support if current CPU is not startup,
but RT-Thread SMP is startup after the devices init
in the `main` thread.

This patch fixup the cpumask to init once and check
the init status in affinity interface.

Signed-off-by: GuEe-GUI <2991707448@qq.com>

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-05-28 09:55:24 +08:00
GUI f035188094
[OFW] Support ID map interface (#8994)
The OFW map id is always use in DMA, PCI, IOMMU
bus system to find the device identity. this is
a access interface.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-05-28 09:54:03 +08:00
GUI 8c6c9205b0
[OFW] Fixup irq parse map and map mask (#8992)
`map_len` and `map_mask_len` is the count of elements,
not the bytes size of elements.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-05-28 09:52:10 +08:00
GUI 754c59a411
[Feature] DFS mount auto by kernel parameters (#8989)
DFS mount auto by kernel parameters

1.Mount the rootfs options by parameters:
- root=: root device, like vda1, sda1, sd0p1, nvme0n0p1...
- rootfstype=: root file system type, like elm, ext, crom...
- rw/ro: root is readonly or all enable, if not have 'rw' flag,
         the 'ro' flag is default.
- rootwait: always wait for root device status is OK.
- rootdelay=: mount rootfs delay amount of time (millisecond).

2.Mount the other fs options by `fstab.sh`, it will read the script
after root mount is OK, it's format is a list of mount cmds in MSH:

mount vda2 /mnt elm
mount 192.168.1.1:/ /mnt/remote nfs

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-05-28 00:26:57 +08:00
winfenggao 80dc539698 如果申请空间不足,申请不到合适的空间,需要回收new_rbb 2024-05-27 11:28:45 +08:00
Fan YANG 2cc2743fc7 [components][drivers][sd] add uhs-i mode support to sd driver
- added SDR50, SDR104 and DDR50 support to SD driver

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-05-27 11:27:03 +08:00
Shell 5f71da566a
[libcpu] arm: fixup signal handling (#8988)
Signed-off-by: Shell <smokewood@qq.com>
2024-05-26 22:00:48 +08:00
Shell 397cdcd132
[libcpu] discard rt_current_thread (#8976)
* [libcpu] rv64: discard rt_current_thread

* arm: using rt_thread_self to fetch current TCB
2024-05-26 22:00:17 +08:00
Fan YANG 1a1514640a [components][drivers][mmc] add HS400 support to mmc driver
- added HS400 supprt (both eMMC5.0 and eMMC5.1 flavor are supported)

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-05-26 12:36:02 +08:00
zms123456 adf2b35ec6
[component][driver]init dm serial naming framework in a separate phase (#8971)
init dm serial naming framework in a phase
2024-05-21 22:36:20 +08:00
Shell 6b12bce22f
[quality] fixup compiler warning (#8961)
Signed-off-by: Shell <smokewood@qq.com>
2024-05-21 19:47:42 +08:00
Shell 5f947863b4
[dfsv2] fixup out-of-memory access (#8973)
This change addresses a potential out-of-memory access issue in the
devfs filesystem component. The issue arises when the `rt_malloc`
function allocates memory for a path string without accounting for
the null terminator, leading to undefined behavior.

As the manual documented:

> DESCRIPTION
>   The strlen() function calculates the length of the string pointed to
>   by s, excluding the terminating null byte ('\0').

To fix this, the memory allocation size was increased by one byte
to ensure space for the null terminator. This prevents potential
out-of-memory access and ensures proper string termination.

Signed-off-by: Shell <smokewood@qq.com>
2024-05-21 19:45:08 +08:00
zms123456 6101f1fd29
[components][driver]add isr statistics (#8955)
add isr statistics
2024-05-21 09:01:42 +08:00
Shell f2d6325b43
[smart] select console device dynamically (#8949)
* [smart] select console device dynamically

- Fixed compiler warning on terminal subsystem for
  `components/lwp/terminal/terminal.h`
- Updated default console setup to dynamically select an appropriate tty
  device based on the configured console device name.

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

* fixup: remove useless codes

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-05-17 13:19:00 +08:00
xiao-mang e46333496f
fix specified network card not taking effect with msh's ping error (#8937)
* fix specified network card not taking effect with msh's ping error

* fix specified network card not taking effect with msh's ping error
2024-05-16 15:43:50 +08:00
zms123456 ed002bb84a
[drivers][serial]fix error in getting serial_tty settings (#8953)
fix error in getting serial_tty settings
2024-05-16 15:36:16 +08:00
liYangYang 78bdf67ab2
[drivers][ofw] fix ofw_alias_scan() bug (#8908)
* fix ofw_alias_scan() bug

* fix tag_len
2024-05-13 20:56:32 +08:00
atwww b421b4e1f4
修复C++11 thread_local对象析构函数与实际内存释放动作顺序相反问题 2024-05-11 13:50:02 -04:00
zms123456 151a96cb88
[components][drivers]fix compiler error in serial dm (#8927)
fix compiler error in serial dm
2024-05-11 11:16:26 +08:00
Shell 989cc61f48
[hrtimer] fixup use-after-free (#8928)
Signed-off-by: Shell <smokewood@qq.com>
2024-05-11 08:53:42 +08:00
zhao maosheng 5dba9a4214 remove intr disable 2024-05-10 14:39:53 +08:00
zhao maosheng e2214cc899 add percpu interrupt info 2024-05-10 14:39:53 +08:00
Shell 017b2a5a44
[smart] fixup arm64 aspace switch (#8925)
* [smart] fixup arm64 aspace switch

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

* fixup: arm add arch_kernel_mmu_table_get

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-05-10 09:17:19 +08:00
geniusgogo 79b3d5ec1e fix_serial_baudrate_set 2024-05-09 00:35:46 -04:00
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
geniusgogo 02e0334ac3 fix_serial_baudrate_set
Signed-off-by: geniusgogo <xpxyr@sina.com>
2024-05-07 19:03:14 -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
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
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
xiao-mang c359e93a9c
fix file mmap (#8865) 2024-04-28 15:21:02 +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 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
Troy 98a234d430
Add some comments in components/libc/posix/ipc/semaphore.c (#8848) 2024-04-24 05:46:43 +08:00
sp-cai 554632f1ee
[ipc] [dataqueue] 修复队列 pop 挂起的线程 push 无法恢复运行的错误 (#8839)
队列在 push 后查找挂起列表时使用了错误的挂起列表。
2024-04-22 20:20:35 +08:00
zms123456 5ca1e45020
[components][drivers]improve ktimer sleep (#8838)
improve ktimer sleep
2024-04-22 11:55:20 +08:00
latercomer 3ff2b08d82 [clang-format] 增加clang-format格式化配置,通过ide或者手动运行tools/run-clang-format.py进行代码自动格式化 2024-04-21 01:18:37 -04:00
Shell 732d32be09 [smart] fixup rt_hw_serial_unregister_tty of serial tty
Mutex lock should be taken before release the TTY device.

Signed-off-by: Shell <smokewood@qq.com>
2024-04-20 11:35:45 -04:00
latercomer 6bfe740f27 解决LOG_RAW异步输出多条文本的时候会被截断,原因是rt_vsnprintf会在字符串最后添加\0,ulog.c中的do_output()将\0也压入到ulog.async_rb,当LOG_RAW没有及时输出,那么rb中的字符串被\0截断了,导致没法正确输出LOG_RAW信息 2024-04-19 22:27:33 -04:00
xiao-mang 98204c249b fix for art-pi smart 2024-04-19 18:17:20 +08:00
xiao-mang 4de96450be fix for art-pi smart 2024-04-19 18:17:20 +08:00
xiao-mang b50a53129f
fix chdir for ash's cd (#8824) 2024-04-19 17:58:04 +08:00
zmq bbdfad93eb Increased the limit on the number of messages 2024-04-18 21:51:42 -04:00
zms123456 0bcf5968c2
[components][drivers]delete nonexist include file 2024-04-16 22:15:51 -04:00
zms123456 96eabab698
[components][drivers]fix some uninitialize err (#8806)
fix some uninitialize err
2024-04-16 21:58:13 +08:00
zms123456 a68b4df4d8
[component][driver][serial/tty]using serial name to name tty
当使用新device model时,serial的名字由系统分配,id也由系统分配,此时应根据系统分配的serial id来作为serial-tty的id
2024-04-15 23:20:30 -04:00
zms123456 be699795f8
[components][drivers]close can irq before release fifo
原来的CAN close中先释放fifo后关闭CAN中断,可能导致释放fifo后且关闭CAN中断前来CAN中断,此时rt_hw_can_isr可能在RT_ASSERT(tx/rx_fifo != RT_NULL)断言失败
2024-04-15 23:17:06 -04:00
zms123456 6ad0b2bd09
[components][drivers]fix workqueue bug
fix workqueue bug
2024-04-15 23:15:37 -04:00
atwww 2cc88b6cf5
修复POSIX线程本地存储寻找posix线程句柄时的逻辑错误 (#8790)
* Add GCC generalized atomic operation function

* 修复POSIX线程本地存储寻找posix线程句柄时的逻辑错误
2024-04-15 23:13:24 +08:00
Shell 5730097296
[smart] fixup devfs porting layer of terminal (#8797)
Signed-off-by: Shell <smokewood@qq.com>
2024-04-15 18:24:19 +08:00
Eric LGF 58ecde786f
[ymodem] fix the cmd "sy" without close file 2024-04-13 08:11:31 -04:00
Yuqiang Wang c6d20e47ac [bsp][renesas] Add HMI rw007 initialization configuration by default 2024-04-13 13:32:30 +08:00
chinky a2ab247d8f [fal]修正类型不匹配 2024-04-12 19:00:41 -04:00
zms123456 d5e74be81d
[components][drivers][can]fix can warning in 64bit cpu (#8772)
fix can warning
2024-04-12 16:00:49 +08:00
geniusgogo bdfa1ea20a
fix symlink (#8755)
Signed-off-by: geniusgogo <xpxyr@sina.com>
2024-04-10 23:55:29 +08:00
geniusgogo 651f23a604
[dfsv2] add dfs pwrite pread 2024-04-09 22:26:58 -04:00
Yuqiang Wang d08ae0bfd1
[driver][soft-spi] spi device driver framework adds pin init function function
为什么提交这份PR (why to submit this PR)
ps:在设备初始化阶段不应该存在对硬件的操作

你的解决方案是什么 (what is your solution)
ps:添加一个pin_init函数,在spi设备使用时调用该函数来完成硬件引脚的状态初始化,而不是在设备初始化阶段对硬件进行操作,已经在瑞萨HMI上通过验证
2024-04-09 18:33:29 -04:00
Troy 5bb902895c
[libc] add some posix function comments 2024-04-09 18:11:34 -04:00
zms123456 cbf316a5f7
[components][drivers]fix compile warning in 64 bits arch cpu (#8739)
fix compile warning in 64 bits arch
2024-04-09 21:38:10 +08:00
Shell 4b0f42c24a
[drivers/serial] Introduce hooker for TTY (#8733)
In this patch, a hook list has been introduced to address the concerns
regarding coupling issues arising from modifications to the serial code
for integrating TTY logic.

Signed-off-by: Shell <smokewood@qq.com>
2024-04-09 21:36:16 +08:00
zms123456 4ffcbfef2a
[components][drivers]add ofw support i2c 2024-04-07 09:57:38 -04:00
Meco Man 545155616d [iar] fix legacy macros will be added if cannot get the IAR version 2024-04-06 23:37:32 -04:00
zhao maosheng 687eb87a2b fix: code format of serial.c and compile error in aarch64 context_gcc 2024-04-02 08:07:21 -04:00
Troy 3a4db99104
[libc][posix/io] add comments 2024-04-01 23:18:15 -04:00
zms123456 d856f77a55
[components][drivers] fix posix tty, and add more baudrate (#8683)
* serial-tty fix

* v2
2024-04-01 21:23:04 +08:00
Meco Man 1bf8a460e7 [finsh] remove finsh_syscall_lookup() function declaration 2024-03-31 20:31:35 -04:00
Meco Man a4204c61bd [devcie][pwm] fix warnings 2024-03-31 07:38:00 +08:00
Shell 864055bf18
[fixup] aarch64 UMP compiler error (#8677)
Signed-off-by: Shell <smokewood@qq.com>
2024-03-30 17:58:38 +08:00
Meco Man 6d1bc9b2f8 [msh] add comment for secondary-commands
新增加的二级命令使用方式没有清晰的描述
- 功能实现PR:https://github.com/RT-Thread/rt-thread/pull/8086
- 补充优化PR:https://github.com/RT-Thread/rt-thread/pull/8251
- 使用二级命令的例子:https://github.com/RT-Thread/rt-thread/pull/8398
- 相关issue:https://github.com/RT-Thread/rt-thread/issues/8691
2024-03-30 02:48:54 -04:00
geniusgogo 99245a1a8f fix pin ofw variable init. 2024-03-29 21:48:31 +08:00
Troy 7e492fc37c Add comments for all functions in components/libc/posix/io/eventfd/eventfd.c 2024-03-28 21:28:46 -04:00
Shell 83e95bdff4
sync smart & dfs (#8672)
Signed-off-by: xqyjlj <xqyjlj@126.com>
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2024-03-28 23:42:56 +08:00
Troy 56fd6984ac Fix the issue of incorrect return of invalid parameters in aio_write 2024-03-27 22:58:54 -04:00
Meco Man e0f2313c53 [msh] solve data access bugs and fix shell.c strcat()
When using musl libc's strcat, strcat itself will cause system crash.
2024-03-27 18:40:56 -04:00
Troy 51d4a9c804 Fix epoll.c file format error 2024-03-26 17:42:01 -04:00
Troy 9fc7c7569b Fix incorrect naming of triggered 2024-03-26 17:42:01 -04:00
Troy 46d6036c28 modified: components/libc/posix/io/aio/aio.c Added some function comments
modified:   components/libc/posix/io/aio/aio.h		Align comments within the aiocb structure
modified:   components/libc/posix/io/epoll/epoll.c	Add comments for all functions and members within structure members
2024-03-26 17:42:01 -04:00
Troy b228f67385 modified: components/libc/posix/delay/delay.c Added comments for all functions in this file
modified:   components/libc/posix/signal/posix_signal.c		Add comments to the sigqueue function, although it does not have an internal implementation
modified:   components/libc/posix/signal/posix_signal.h		Added detailed explanation to all members of the rt_signal_value enumeration
2024-03-25 18:36:17 -04:00
Shell 3237efd089
fixup d1s (#8671)
Signed-off-by: Shell <smokewood@qq.com>
2024-03-25 20:29:56 +08:00
Wat cb6d451564 Add GCC generalized atomic operation function 2024-03-24 23:01:11 -04:00
Evlers dca8a06471 [wlan][cmd] fixed a duplicate issue with the wifi scan command 2024-03-24 14:35:41 -04:00
Evlers 3a65967a40 [wlan] add the wlan join scan function 2024-03-24 14:35:15 -04:00
kk 2549b82bd6
[pin] pin_read/write rt_uint8_t to rt_ssize_t 2024-03-23 14:50:31 -04:00
Shell 22106bb8de [finsh] feat: add finsh thread entry hook
Signed-off-by: Shell <smokewood@qq.com>
2024-03-22 18:52:35 -04:00
Liu Yang 59dbebe6fc [components/driver] Fix issue for serial_V2 in no buffer bloking tx mode. 2024-03-20 02:28:35 -04:00
zms123456 5e26b4c585
[components/dirver]Fix issue of not releasing sem resource 2024-03-19 20:01:49 -04:00
StackYuan a582c0cc31 [fix] NXP bsp for RT-Thread 5.1.0 fixed up. 2024-03-19 08:13:00 -04:00
Meco Man 6ee7197587 [stm32][pwm] fix warning in Keil5 2024-03-18 23:22:34 -04:00
exxfire 90f86c2b71 netdev_unreg: modyify netdev remove logical when mutil-netdev exist 2024-03-18 20:39:15 -04:00
Meco Man 9ac8b47eb2 [sensor-v2] enable sensor v2
fix the confilcts with sensor v1
2024-03-16 23:31:54 -04:00
Meco Man 59231a4276 [msh][ci]only GCC use strict checking 2024-03-16 10:21:38 -04:00
Shell bef4bbd50a
[dfs] fixup bugs in dfs_dentry_lookup (#8612)
Signed-off-by: Shell <smokewood@qq.com>
2024-03-15 14:57:38 +08:00
yangpeng 1919ad0748 [spi]修复spi总线挂载多设备通信可能失败问题 2024-03-04 19:50:36 -05:00
Shell 53754ff50a
[fixup] check NULL pointer before access (#8573)
Signed-off-by: Shell <smokewood@qq.com>
2024-03-02 16:05:19 +08:00
fangjianzhou 00c6800e4e
[components/driver] update serial (#8567) 2024-03-01 10:29:21 +08:00
zms123456 6b5058ba5c
[components/drivers]update hwtimer (#8565) 2024-02-29 22:27:38 +08:00
zms123456 97c5edf947
[component][drivers]add pinctrl/pin-irqchip (#8383) 2024-02-29 22:27:27 +08:00
zms123456 195f94ef1d
[components][drivers]add pic-gic (#8388) 2024-02-29 09:39:56 +08:00
Shell 71560bafb5
🎯 Sync smart & scheduler codes (#8537)
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2024-02-23 17:49:15 +08:00
LaterComer 82bb104f65
fix(serial_v2): tx_fifo->rb.buffer_ptr not init when RT_DEVICE_FLAG_DMA_TX and RT_SERIAL_TX_BLOCKING
为什么提交这份PR (why to submit this PR)
serial_v2驱动框架,rt_serial_tx_enable()函数,在 DMA阻塞发送(RT_DEVICE_FLAG_DMA_TX and RT_SERIAL_TX_BLOCKING) 的时候,使用rt_malloc分配了tx_fifo内存,但是并未对tx_fifo->rb.buffer_ptr指针进行初始化(rt_malloc不会自动初始化内存),因此可能导致buffer_ptr是一个随机指针。但是rt_serail_write()函数需要根据tx_fifo->rb.buffer_ptr是否为RT_NULL来判断是调用_serial_fifo_tx_blocking_nbuf()还是_serial_fifo_tx_blocking_buf()。

由于tx_fifo->rb.buffer_ptr可能是一个随机值(不一定为RT_NULL=0),导致RT_DEVICE_FLAG_DMA_TX and RT_SERIAL_TX_BLOCKING模式下调用了_serial_fifo_tx_blocking_buf(),但是rb没有真正开辟内存空间,导致内存异常

你的解决方案是什么 (what is your solution)
rt_serial_tx_enable(),在DMA阻塞发送分支下,对tx_fifo->rb.buffer_ptr进行初始化,赋值为RT_NULL。
2024-02-21 00:29:53 -05:00
Yuqiang Wang c6bdee3c50
[ci] open ci check with function declaration warning (#8546) 2024-02-20 22:45:04 -05:00
Meco Man bd228eb9c5 [ci] fix errors under strick compiling mode 2024-02-20 08:39:05 +08:00
yangpengya a8d5a645f2
[components][at] 优化AT组件,并解决内存泄露
1.优化at server endmark判断,支持自动识别'\r''\n'"\r\n"。
2.优化at_recvfrom,修复大数据量时sem多次释放造成的接收错误。
3.修复at组件中可能存在的内存泄露。
4.优化部分代码逻辑,减少冗余代码。
2024-02-18 11:07:05 -05:00
yangpeng 02eaf76d7b [qspi]修复qspi配置未生效问题 2024-02-17 01:07:19 -05:00
Bernard Xiong cad5ceb1e0
[msh] fix the version command (#8531) 2024-02-09 19:56:52 +08:00
yangpeng 25d3136d02 fix MDK AC5 build warnings 2024-02-03 21:43:08 -05:00
rcitachi 0c96b26c23
[sys_bind] [signalfd] update (#8507) 2024-01-26 22:14:02 +08:00
Shell f6fce5f8d7 [kservice] MT-safe output support (kprintf/kputs)
Signed-off-by: Shell <smokewood@qq.com>
2024-01-16 00:59:18 +08:00
fangjianzhou 10b16273b8
[drivers][core] 完善设备模型 (#8384) 2024-01-09 23:10:42 +08:00
Meco Man 58a159a0d6 [finsh] support to check static thread size
增加检查finsh线程实际使用是否超过当前设定的线程大小
2024-01-09 14:29:55 +08:00
Meco Man 6cc63626d7 fix some -Wmissing-prototypes warnings 2024-01-02 21:25:26 +08:00
Shell 3a7903b799 [kernel] Add hook for malloc services
Including the patch for memory allocation, testsuites and fixups of
static analysis.

Signed-off-by: Shell <smokewood@qq.com>
2024-01-02 19:42:46 +08:00
Yuqiang Wang a5d4425ea7
[components][dfs]修复FATFS文件系统使用cat命令导致断言bug 2023-12-28 18:51:56 +08:00
Meco Man 045a49603e [libc] fix undefined warning of rt_memset 2023-12-28 17:47:59 +08:00
Meco Man ed4d037d7b [ci][stm32f407] add attach config CI check 2023-12-26 23:13:08 +08:00
yangpeng ff1bd3807c [components][drivers][sensor]暂时禁止使用sensorv2框架
sensor v2框架仍在开发中
2023-12-26 20:32:28 +08:00
1ridic 0bf7adf394 [pwm] Fix compiler warning 2023-12-26 12:12:31 +08:00
Meco Man f06b0894c4 [libc][picolibc] fix llvm compling warning
/home/runner/work/rt-thread/rt-thread/components/libc/compilers/picolibc/syscall.c:24:16: warning: returning 'volatile int *' from a function with result type 'int *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
        return &__pico_errno;
               ^~~~~~~~~~~~~
/home/runner/work/rt-thread/rt-thread/components/libc/compilers/picolibc/syscall.c:30:16: warning: returning 'volatile int *' from a function with result type 'int *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
        return &__pico_errno;
               ^~~~~~~~~~~~~
/home/runner/work/rt-thread/rt-thread/components/libc/compilers/picolibc/syscall.c:33:12: warning: incompatible pointer types returning 'rt_err_t *' (aka 'long *') from a function with result type 'int *' [-Wincompatible-pointer-types]
    return &tid->error;
2023-12-25 23:24:30 +08:00
Meco Man 4657312f9d [kconfig] fix Kconfig warnings 2023-12-25 20:28:46 +08:00
1ridic 3da0b76add [pwm] Add second-level command completion 2023-12-25 12:07:49 +08:00
zms123456 e1fdc13288
[component][drivers]add clk framework (#8213) 2023-12-24 19:53:12 +08:00
zmq810150896 cdad0c254a
Update epoll and timerfd (#8330) 2023-12-21 11:17:59 +08:00
zmq810150896 833b43dbc7
[libc][Kconfig] default open epoll/eventfd/signalfd/timerfd/select (#8386) 2023-12-21 01:00:26 +08:00
geniusgogo d19a15a5df update smart kernel default select dfsv2. 2023-12-19 19:04:17 +08:00
sulfurandcu c84d7c5324 fix warning #1295-D Deprecated declaration 2023-12-19 19:02:43 +08:00
fangjianzhou b233e29bb6
[libcpu][aarch64] 使用设备树对内存进行初始化 (#8320) 2023-12-16 18:08:11 +08:00
geniusgogo 6b22a0a2b7
dfsv2 code tidy. (#8374) 2023-12-16 18:06:47 +08:00
geniusgogo 304ce5919c
sync update dfs v2. (#8336) 2023-12-12 18:05:39 +08:00
geniusgogo 0b6402f3cb
update libc (#8335) 2023-12-10 06:49:24 +08:00
geniusgogo 896c4a5b99
fix netif name length config. (#8356) 2023-12-10 06:44:25 +08:00
geniusgogo 073761fdbe fix #8305, symlink bug. 2023-12-06 20:19:20 +08:00
zmq810150896 2790ce5357
Updated issues related to uds capacity and eventfd macro redefinition (#8329) 2023-12-06 13:51:13 +08:00
geniusgogo 3bc29c7673
sync update net. (#8333) 2023-12-05 23:09:19 +08:00
geniusgogo 7aa130c83c
update mm. (#8334) 2023-12-05 16:44:00 +08:00
rcitachi 58665c7f50
[AF_UNIX] Update AF_UNIX bind, connect entry (#8314) 2023-12-02 12:11:01 +08:00
Meco Man c06a31c7d3 [msh] add dependency of RT_USING_CONSOLE 2023-12-01 14:43:05 +08:00
Meco Man 6cd24d437c [nano][kernel] correct nano Kconfig dependency 2023-12-01 14:43:05 +08:00
Shell c87872c9c7
[mm] Bugs fix for page_install on shadow region (#8308)
Signed-off-by: Shell <smokewood@qq.com>
2023-11-30 22:00:54 +08:00
Meco Man 005828eba7 [nano] rt-thread susport nano option 2023-11-30 11:39:34 +08:00
rcitachi 1e6b2a81d0
修复 #8293 问题 (#8307) 2023-11-29 14:08:47 +08:00
geniusgogo 74925f43ed
fix dfs path name overflow. (#8305) 2023-11-28 17:16:21 +08:00
fangjianzhou 249871cbbc
[libcpu][aarch64] 使用设备树对CPU进行初始化 (#8221) 2023-11-28 14:20:11 +08:00
rcitachi c06f4e98fc
[SAL] Update SAL,Add socketpair sendmsg recvmsg function (#8293) 2023-11-28 13:56:06 +08:00
Raman Gopalan 4e656078b6 soft_i2c: Loop iteration variable: Conform to C89 2023-11-26 18:40:02 +08:00
geniusgogo 5a438c818a fix dfsv2 romfs dfs_romfs_getdents buffer overflow. 2023-11-23 06:20:17 -05:00
褚仕成 8635a4ce8d [components][wlan]: update rt_wlan_join_scan_callback 2023-11-22 11:21:18 -05:00
guozhanxin 896b1fe2da [driver/pipe] RT_UNAMED_PIPE_NUMBER add depends 2023-11-22 16:51:16 +08:00
Meco Man 873fd76b2f [libc] add RT_USING_INTERNAL_LIBC_ONLY macro
This option is for RT-Thread Nano version.
If select this option, it will not compile components/libc
folder and only use tool chain internal libc. Normally, the
tool chain internal is only cover ISO standard (e.g. armcc),
but some tool chains' internal libc will cover more than
ISO standard (e.g. newlib).
2023-11-21 23:22:55 -05:00
Meco Man df29a13d89
[components] remove vmm (#8269) 2023-11-21 13:41:54 +08:00
Meco Man 2324794825 [libc] add comment for RT_USING_EXTERNAL_LIBC 2023-11-20 06:26:48 -05:00
guozhanxin c9a63df925 [fix] sal build error. 2023-11-16 16:25:37 +08:00
guozhanxin 3143289486 [libc] update ctime.c compatible with old drivers 2023-11-16 13:09:32 +08:00
kk 58cd8e026c
[drivers/rtc] 修复 alarm.c 少写分号 (#8256) 2023-11-15 19:24:26 +08:00
wangqinglin b80a455b34
FINSH: 优化MSH宏定义 (#8251) 2023-11-15 13:54:22 +08:00
guo 6d7e393ce9
[fal] Add blocks mechanism to fal. (#8252) 2023-11-13 22:49:16 +08:00
geniusgogo 9acebb07dc
fix rt_channel lock. (#8244) 2023-11-10 21:37:07 +08:00
Meco Man 589641258e [debug] rename RT_DEBUGING_INIT as RT_DEBUGING_AUTO_INIT 2023-11-10 05:24:33 -05:00
xiao-mang 48f53e9150
add blockdev's flush fops for opening file with O_SYNC (#8232) 2023-11-10 17:50:20 +08:00
Xiang.Lin da55491608
[libc][picolibc] improve gcc picolibc support 2023-11-08 02:09:09 -05:00
xqyjlj fa9b496b2a
feat: fix pid recycling (#8225) 2023-11-06 13:22:27 +08:00
xqyjlj 5ad6a6f2c5
🐞 fix: fix taskset (#8211) 2023-11-02 23:12:44 +08:00
xqyjlj f806d6edd1
🐞 fix(lwip/port/sys_arch): fix spinlock`s deadlock (#8208) 2023-11-02 23:11:56 +08:00
Shell c2036e769a
[smart] fixup of lwp recycling and mm varea (#8206)
Signed-off-by: shell <wangxiaoyao@rt-thread.com>
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2023-11-02 20:23:11 +08:00
xqyjlj 27aac584a5
feat(dfs_v2/cromfs): add cromfs mmap (#8218) 2023-11-02 20:12:20 +08:00
shu-qian c7e0a96f6f
[libc] add comments to the cstdlib.c (#8209)
Co-authored-by: sq <1838545301@qq.com>
2023-11-01 05:31:57 -04:00
kk 1d3fc71c79
[libc] [ctime] fix rt_timespec_to_tick fun internal data overflow (#8198) 2023-10-31 08:59:01 -04:00
kk 7066761510
[dfs][mqueue]Ensure that dev is initialized before mqueue (#8197) 2023-10-30 23:12:42 +08:00
tangzz98 acc66c5479
实现MPU抽象层 (#8080)
- 为RT-Thread设计MPU抽象层,支持ARMV7-M,ARMV8-M架构,让用户使用MPU检测栈溢出等内存问题,实现线程内存隔离
- 在components/mp目录下提供通用的API,libcpu目录下提供各处理器架构的具体实现
- 在STM32U575 NUCLEO, STM32H75 NUCLEO开发板测试通过
2023-10-30 08:24:55 -04:00
Supper Thomas 65623777d5
[action] Doxygen ci fix (#8191) 2023-10-29 13:12:29 -04:00
guo f744d5e6fb
[msh]Optimize list_thread display (#7977) 2023-10-27 10:52:52 +08:00
xiao-mang 6b161bf3d5
update elmfat from r14b to r15 (#8179) 2023-10-26 17:26:48 +08:00
Shell eafb04e011
[ctime] fixup of data racing (#8187)
Signed-off-by: Shell <smokewood@qq.com>
2023-10-26 13:56:27 +08:00
kk 01672f8627
[dfs_v2][mqueue] fix No mqueue mounted (#8189) 2023-10-26 10:43:49 +08:00
xqyjlj 3283f54c7a
🎈 perf: perf rt_hw_interrupt_disable/enable (#8042)
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: Shell <smokewood@qq.com>
2023-10-25 20:31:25 +08:00
Shell 91fc52df36 fixup: merge condition 2023-10-25 18:40:44 +08:00
Shell e94b759160 [quality] fixup: vulnerability in kernel
including out-of-bound access in dfs, and use-after-free in
aspace_traversal

Signed-off-by: Shell <smokewood@qq.com>
2023-10-25 18:40:44 +08:00