FreeRTOS module improvements
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 14/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- c
- Lĩnh vực
- build-system, embedded-iot
Hướng nghiên cứu
This is a roadmap of several separate tasks, not one change. Start with the FreeRTOS module's Zig wrapper in modules/freertos/src/root.zig and the RP2040 config in modules/freertos/config/RP2040/FreeRTOSConfig.h. Done would mean one sub-item (for example, wrapping one more FreeRTOS API function) is finished with maintainers agreeing on the approach first, since the multicore and port questions are still open design decisions.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
#871 introduced FreeRTOS integration for RP2040 and RP2350 ARM targets but there is still more things to do.
More Zig wrapping functions
At this moment only few FreeRTOS API functions are wrapped in zig module, would be nice to add all of them.
More config options in build
Right now all FreeRTOS configs are set in FreeRTOSConfig.h file, would be nice to extract some of this option to zig build file. For example:
configTOTAL_HEAP_SIZE
configSUPPORT_STATIC_ALLOCATION
configNUMBER_OF_CORES
Allocator selection
Current implementation support just on default FreeRTOS heap allocator / strategy: heap_1.c We should allow in build config to select this by configuration option and expose all 5 standard allocators + add extra option where custom zig allocator could be provided.
Multicore support
Current ports for RP2xxx do not support multicore operation because the following functions remain unimplemented: multicore_launch_core1, multicore_reset_core1, and multicore_doorbell_claim_unused.
The main question is where these functions should be implemented: in Zig itself, or in C glue code that utilizes the Pico SDK implementation, similar to how IRQ handling is currently done. This confusion arose because the current Zig HAL already has an implementation of multicore_launch_core1, but its quality and correctness are unclear. Or maybe there should be build option to say which elements should be provided by C code?
RP2350 RISC-V port
I tried to add this port but finally get stuck with 2 missing symbols: __StackOneTop and __StackTop. In PicoSDK those are defined in liner script so microzig target would have to introduce something similar.
ESP32 C3 port
First, the base version used there is an older FreeRTOS release (V10.5.1) with custom patches. The current FreeRTOS version (V11.2.0) used by the MicroZig module already includes these patches and changes, so the only relevant parts are likely located here.
This code can either be reused directly or copied and slightly modified as needed. Don't know if generic RISC-V target from FreeRTOS repository can be used in this case directly.
CH32V port
Probably good place to start is this repo. It looks like those ports are using generic RISC-V port from FreeRTOS-Kernel repository and only thing that have to be included is additional header from chip_specific_extensions folder? All the rest code in linked repo looks like copy/paste from FreeRTOS.
- Ngôn ngữ chính
- Zig
- Star
- 2.3k
- Fork
- 198
- Merge trung bình
- 1 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 37
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ZigEmbeddedGroup/microzig
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
ZigEmbeddedGroup/microzig#1086 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 69/100
ZigEmbeddedGroup/microzig#1085 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
ZigEmbeddedGroup/microzig#1061 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
ZigEmbeddedGroup/microzig#1059 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
regz: AVR peripherals generated at address 0 when the register-group name matches the module (ATDF)Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
ZigEmbeddedGroup/microzig#1072 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của ZigEmbeddedGroup/microzig
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
-
Update vtm to 2026.10.09Đang mởpackage-update
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
oSoWoSo/vOid_Community_repOsitory#416 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
--version on a main build shows no commit hashCó thể đã có người làm @switch87 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
storytold/photocraft#5247 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
0.kind: build failure
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
NixOS/nixpkgs#573730 · 1 bình luận · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày