Commit Graph

16676 Commits

Author SHA1 Message Date
GuEe-GUI 1bef42c64c [DM/FIXUP] remove some redundant INIT_EXPORT
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-11-18 15:03:23 +08:00
GuEe-GUI b6f67285e9 [DM/FIXUP] remove OFW switch macros
The drivers will support OFW and name probe both.
We should make build OK when OFW is disable.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-11-18 15:03:23 +08:00
GuEe-GUI 3b22dbd049 [DM/FEATURE] DM Device IDA management
Drivers can manage their own IDs without having to concern
themselves with the register/unregister in system

Link: https://github.com/RT-Thread/rt-thread/issues/9534

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-11-18 14:23:25 +08:00
zhuzhuzhu 45aba1bcd7 add head 2024-11-18 13:53:25 +08:00
zhujiale 48fca91817 add ofw api to of net,driver writer can use this api get phy modes or get mac address 2024-11-18 13:53:25 +08:00
zhujiale 6e78474998 pci 2024-11-18 13:53:25 +08:00
Supper Thomas a7ee7b6617 Revert "[tools] use project's dir basename as default project name"
This reverts commit ea75800d5b.
2024-11-17 22:01:42 -05:00
zhujiale 44515624e2 [libcpu] fix No memory higher than 1 GB is mapped 2024-11-17 21:13:07 -05:00
zhujiale 96da7abd3e [libcpu] fix No memory higher than 1 GB is mapped 2024-11-17 21:13:07 -05:00
Meco Man 09f47c55a9 [utest] format code and remove duplicate header file 2024-11-18 09:58:55 +08:00
Meco Man a406c8fce8 [utest][Kconfig] adjust RT_CONSOLEBUF_SIZE when utest is enabled 2024-11-18 09:58:55 +08:00
Meco Man 491f13e289 [utest][stm32f412][gcc] add __rt_utest_tc_tab_start to support utest 2024-11-18 09:57:46 +08:00
rcitachi d9c16efe8f Modify the position of libc_rent definition 2024-11-17 11:59:37 -05:00
ligr 5e8602c6e0 [components/libc/posix][pthreads]add comments for thread APIs of pthread. 2024-11-16 11:52:57 -05:00
ligr ac1df96ec9 [net][sal]add comments for BSD socket APIs. 2024-11-15 21:04:27 -05:00
zhujiale c1db34983d [rpi4b] add new bsp for qemu-rpi4b 2024-11-15 15:35:46 +08:00
heyuanjie87 2b21b095f9 [libcpu]riscv使用call指令解决长跳转问题 2024-11-15 14:34:32 +08:00
flyingcys 0d9185bd5a
[bsp][cvitek]fix milkv-duos-sd cann't startup big-core kernel (#9633)
fix milkv-duos-sd cann't startup big-core kernel
milkv-duos-sd use cv1813h folder store ld file
Signed-off-by: flyingcys <flyingcys@163.com>
2024-11-15 12:52:57 +08:00
Chen Wang 83a250f05f
bsp: qemu-virt64-riscv: Improve README (#9651)
Improved README document
- Unified the usage process of Standard Edition and Smart Edition.
- Deleted the description of running RTT in Machine Mode. Currently,
  both Standard Edition and Smart Edition RTT run in S-mode by default.

At the same time, some unnecessary scripts were cleaned up.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2024-11-14 22:09:23 +08:00
wumingzi 908dc684b7
[bsp][ESP32] add spi custom configuration function and enhance muti object initliz… (#9643)
* add spi custom configuration function and enhance muti object initlization and setting

* update changelog

* submit ci files

* fix ci file

* update

* formatting

* delete yaml files

* fix ble ci file

* fix undefined reference to app_main error

* update
2024-11-14 20:11:37 +08:00
WwWangGuan ebe2926cd6 [bsp][gd32][fix rtc clock selection] 2024-11-13 22:56:32 -05:00
wdfk-prog 4c18fa7e21 fix:[CAN][STM32]open时立刻启动can_start,还未完成其他配置,可能导致异常 2024-11-13 22:56:17 -05:00
Shell e763e51e49 feat: devfs: handling unit size in POSIX RW request
POSIX.1 says:
>  read() attempts to read up to count bytes from file descriptor fd
>  into the buffer starting at buf.

On the other hand, for rt_device_read, the `@size` is defined as the
number of unit (block size for blk device, otherwise one byte).

Changes:
- Transferred unit size from POSIX R/W(in bytes) to rt_device_R/W during
  request of file R/W operations.

Signed-off-by: Shell <smokewood@qq.com>
2024-11-13 22:56:07 -05:00
下里巴人 be0161ec62
[bsp][nxp][mcxa153] add more UART channels (#9635)
* [bsp][nxp][mcxa153] add more UART channels
2024-11-13 08:01:21 +08:00
ligr f0934630c4 [libc] add comments for libdl APIs. 2024-11-13 07:58:34 +08:00
Shell 20263be180
fixup: smart: uninitialized buffer on mount(2) (#9636)
The `struct stat` object used inside mount(2) is uninitialized, which
can lead to undefined behavior during running

Changes:
- Set zero to buffer before calling to stat()

Signed-off-by: Shell <smokewood@qq.com>
2024-11-12 21:11:50 +08:00
Supper Thomas ddf42bad82 [action] remove rockchip/rk3568 because of the complie time 2024-11-11 19:14:14 +08:00
Bernard Xiong f8ea6c6527
[tools] add project.json generation in vsc.py. (#9632)
* [tools] fix the SDK path issue in env script.

* [tools] add project.json generation in vsc.py.

* [tools] provide correct and clear comments in vsc.py
2024-11-11 09:14:53 +08:00
liuchao 56c9bbe405 [bsp/hc32] fix uart dma if gcc optimization level is not none 2024-11-09 19:01:11 -05:00
Alex Imcu d141d148cf
[bsp][cvitek] fix pinmux array order error (#9593) 2024-11-08 15:36:37 +08:00
hydevcode 8f77525b5d
[action] attachconfig adapts yml syntax features (#9629) 2024-11-07 22:32:31 +08:00
andeyqi 38caf02bb4 [BSP][FRDM-MCXN947]Add IAR9.60 project template. 2024-11-06 20:55:09 -05:00
hydevcode 65e239d3f1
[action] yml file adds the depends parameter (#9627) 2024-11-07 09:47:59 +08:00
liuchao ea75800d5b [tools] use project's dir basename as default project name 2024-11-06 17:46:16 -05:00
kurisaw 04686869c7 [bsp][ifx] Infineon RTC driver adds alarm function 2024-11-06 18:19:13 +08:00
kurisaw 2241f4676b [libcpu][component] fixed the r52 kernel gcc context switch assembly 2024-11-06 16:09:52 +08:00
zhujiale 1572a44055 [dm2.0] add new bsp for rk platform 2024-11-05 22:36:59 -05:00
yangpeng f98f772a84 [components/net/at]修复大数据量传输socket断开后可能丢数据的问题 2024-11-05 22:36:33 -05:00
hydevcode fc765e2f32 [action] Recursive folder lookup attachconfig.yml 2024-11-05 19:31:20 +08:00
liuchao bdf5a1fb09 [components][finsh]在RT_USING_POSIX_STDIO时,使用get_console获取当前console描述符 2024-11-04 22:02:59 -05:00
Supper Thomas 96165a5e99
[action] add the yml file support 2024-11-04 22:01:30 -05:00
kurisaw ee052245d3 Specification submission 2024-11-05 09:43:57 +08:00
kurisaw 13a6c5201d [net][lwip] lwip hook functions are provided to provide greater flexibility for unknown Ethernet protocols 2024-11-05 09:43:57 +08:00
yangpeng a939e8e4ea [components/net/at]修复at socket信号量释放异常 2024-11-04 17:52:59 -05:00
zhangjianwu 4fe86c9439 [GD32]更新GD32E503V文档 2024-11-04 17:51:57 -05:00
GuEe-GUI d8db49c17a [COMPILER/FEATURE] Support rt_packed
__ARMCC_VERSION:         https://smtp.keil.com/support/man/docs/armcc/armcc_chr1359124980173.htm
__IAR_SYSTEMS_ICC__:     <Not Found>
__GNUC__:                https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-packed-type-attribute
__ADSPBLACKFIN__:        <Not Found>
_MSC_VER:                https://learn.microsoft.com/en-us/cpp/preprocessor/pack?view=msvc-170
__TI_COMPILER_VERSION__: https://software-dl.ti.com/codegen/docs/tiarmclang/rel1_3_0_LTS/migration_guide/migrating_c_and_cpp_source/pragmas_and_attributes.html
__TASKING__:             https://resources.tasking.com/sites/default/files/2021-02/TASKING_Alignment%20Requirements%20Restrictions_WEB.pdf

Usage:
```c
rt_packed(struct object1
{
    int dword;
    char byte;
});
typedef struct object1 object1;

rt_packed(struct object2
{
    int dword;
    char byte;
});
```

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-11-04 10:10:15 +08:00
Shell a573ea06b7 🚚 renaming: move `smp` to `smp_call` 2024-11-03 10:08:45 +08:00
Shell 81a35861fd utest: smp_call: add smoke test cases
Signed-off-by: Shell <smokewood@qq.com>
2024-11-03 10:08:45 +08:00
Shell 2f6d98bfcb feat: smp_call: added signaling call_req
This patch introduces `rt_smp_call_request` API to handle queued
requests across cores with user provided data buffer, which provides a
way to request IPI through a non-blocking pattern.

It also resolved several issues in the old implementation:
- Multiple requests from different cores can not be queued in the work
  object of the target core.
- Data racing on `rt_smp_work` of same core. If multiple requests came
  in turns, or if the call is used by the target cpu, while a new
  request is coming, the value will be overwrite.
- Memory vulnerability. The rt_smp_event is allocated on stack, though
  the caller may not wait until the call is done.
- API naming problem. Actually we don't provide a way to issue an IPI to
  ANY core in mask. What the API do is aligned to MANY pattern.
- FUNC_IPI registering to PIC.

Changes:
- Declared and configured the new `RT_SMP_CALL_IPI` to support
  functional IPIs for task requests across cores.
- Replaced the single `rt_smp_work` array with `call_req_cores` to
  manage per-core call requests safely.
- Added `_call_req_take` and `_call_req_release` functions for atomic
  handling of request lifetimes, preventing data race conditions.
- Replaced single event handling with a queue-based approach
  (`call_queue`) for efficient multi-request processing per core.
- Introduced `rt_smp_call_ipi_handler` to process queued requests,
  reducing IPI contention by only sending new requests when needed.
- Implemented `_smp_call_remote_request` to handle remote requests
  with specific flags, enabling more flexible core-to-core task
  signaling.
- Refined `rt_smp_call_req_init` to initialize and track requests
  with atomic usage flags, mitigating potential memory vulnerabilities.

Signed-off-by: Shell <smokewood@qq.com>
2024-11-03 10:08:45 +08:00
Shell 285fee9d4c feat: rtatomic: lockless single linked list
Signed-off-by: Shell <smokewood@qq.com>
2024-11-03 10:08:45 +08:00