Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

FreeRTOS module improvements

Đang mở
#880 0 bình luận 1 reaction 0 người được giao Xem trên GitHub

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ả

enhancement good first issue help wanted

#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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ZigEmbeddedGroup/microzig

Tất cả issue của ZigEmbeddedGroup/microzig

Issue tương tự

Thêm issue về Build System

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.