TGOSKits Documentation
website·Indexed 32 days ago
https://rcore-os.cn/tgoskits/Development kits and architectural documentation for the rCore-OS ecosystem, supporting StarryOS, ArceOS, and Axvisor. It covers hardware integration for RK3588, SG2002, and K230, memory management, driver layering (USB, Network), and a comprehensive build system using cargo xtask for QEMU and board-level testing.
What's inside TGOSKits
- StarryWRT is an OpenWrt-userland distribution that replaces the Linux kernel with the StarryOS (single-core) kernel. It is designed to be indistinguishable from OpenWrt, utilizing the same configuration system (uci), package manager (opkg), SSH (dropbear), DNS/DHCP (dnsmasq), busybox base, and /etc layout, all built from unmodified OpenWrt upstream sources.
Overview of the arm-scmi-rs component
Thearm-scmi-rscomponent provides an implementation of the ARM SCMI (System Control and Management Interface) protocol specifically designed forno_stdembedded environments. It is categorized as a device driver and is located in thedrivers/firmware/arm-scmi-rssource directory.Overview of TGOSKits backtrace demos
Theapps/backtracedirectory in TGOSKits provides a runnable guide and set of demos for backtrace support. It is designed for contributors and reviewers to configure environments, build StarryOS/ArceOS, run backtrace demos, enable backtrace support in other programs, and verify the functionality of different backtrace modes.Overview of the memory_set component
Thememory_setcomponent (version 0.8.0) provides data structures and operations for managing memory mappings. It is categorized under Memory Management and is licensed under Apache-2.0. The source code is located in thememory/memory_setdirectory.Overview of kasm-aarch64 AArch64 assembly macros
The
kasm-aarch64component provides AArch64-specific assembly macros designed for kernel development. It is categorized as a base component (基础组件) and is used within thearceoskernelcontext.- Source Directory:
components/kasm-aarch64 - Version: 0.2.3
- License: Apache-2.0
- Source Directory:
Overview of the rockchip-soc driver component
Therockchip-socdriver is a Rockchip SoC driver located in thedrivers/soc/rockchip/rockchip-socdirectory. It provides core SoC functionality including the Clock Reset Unit (CRU), power manager, and pinctrl. It is categorized as a device driver, version 0.4.8, and is licensed under MIT.Overview of the AIC8800 Wi-Fi driver core
The AIC8800 Wi-Fi driver core is an OS-independent device driver located in thedrivers/net/aic8800directory. It is currently at version 0.3.3 and is licensed under Apache-2.0.Overview of the rdif-timer system timer driver interface
Therdif-timercomponent provides the Driver Interface for the system timer within theosdrivercategory. It is located in thedrivers/interface/rdif-timersource directory, is currently at version 0.6.6, and is released under the MIT license.Overview of Rockchip Power Management Unit (PMU) Driver
Theosrockchippowerdriveris a device driver designed for the Rockchip Power Management Unit (PMU), providing support for RK3588 and similar SoCs. It is located in thedrivers/soc/rockchip/rockchip-pmsource directory and is released under the MIT license (version 0.4.10).Overview of the crab-usb Host Execution Model
The
crab-usbdriver separates host management, device enumeration, and controller transport. It utilizes an asynchronous request model where calls can wait for device events without necessarily creating a new OS task for every Transfer Request Block (TRB).Key components include:
USBHost: Holds the backend object and provides interfaces for initialization, device change queries, and event handling.Core: Manages the hub topology reused across controllers.- Backends (xHCI, DWC2, EHCI): Interpret hardware-specific requests.
PlatformUsbHost: AssociatesUSBHostwithBindingInfoand forwards DMA allocation, mapping, and synchronization viaUsbKernel.
Overview of axlog logging component for ArceOS
Theaxlogcomponent (version 0.6.1) provides macros for multi-level formatted logging within the ArceOS ecosystem. It is licensed under Apache-2.0 and is located in theos/arceos/modules/axlogsource directory.Overview of block-io-bench for StarryOS
block-io-bench is an operator-facing StarryOS QEMU application designed to collect simple filesystem read/write throughput metrics from the current root block device. It is categorized under StarryOS and supports multiple architectures including aarch64, loongarch64, riscv64, and x86_64.