Bit-Brick Documentation
website·Indexed 32 days ago
https://docs.bit-brick.comDevelopment guides and technical documentation for Bit-Brick SSOM modules, including SSOM-K1 and SSOM-3588S. Covers software peripheral drivers (GPIO, I2C, SPI, PCIe, GMAC, CAN), the Multimedia Processing Platform (MPP), GStreamer integration, ISP API development, and cross-compiling tools for the Spacemit platform.
What's inside Bit-Brick
- Bianbu Linux is the Board Support Package (BSP) and Software Development Kit (SDK) for Spacemit Stone series chips. It is designed to provide processor Linux support and enable the development of drivers and applications. The package includes the supervisor program interface (OpenSBI), bootloader (U-Boot/UEFI), Linux kernel, root file system (with middleware and libraries), and various examples.
Overview of GoPoint for i.MX Applications Processors
GoPoint for i.MX Applications Processors is a user-friendly application used to launch preselected demonstrations included in the NXP-provided Linux Board Support Package (BSP). It is designed to showcase the features and capabilities of NXP SoCs for users of all skill levels.
Minimum hardware requirements:
- A supported NXP Evaluation Kit (EVK)
- A display output (MIPI DSI or HDMI)
- A connected mouse
Note: Some demonstrations may require additional equipment. Users may need basic knowledge of Evaluation Kits, such as modifying Device Tree Blob (DTB) files.
Overview of the CPUFREQ subsystem
The CPUFREQ subsystem manages CPU frequency and voltage scaling at runtime to minimize power consumption while maintaining performance. It consists of four main components:
- cpufreq core: The framework core that abstracts scaling logic, provides a sysfs interface to user space, notifies other drivers of changes, and provides the driver framework.
- cpufreq governor: Implements policies for frequency and voltage scaling.
- cpufreq driver: Implements platform-specific scaling mechanisms (e.g.,
spacemit-cpufreq.c). - cpufreq stats: Tracks frequency information and statistics for each CPU.
Overview of SpacemiT K1 Peripheral Driver Documentation
This documentation provides guidance for secondary development on the SpacemiT K1 CPU. It covers board-level configuration, CONFIG settings, testing procedures, debugging interfaces, and common troubleshooting for the CPU's peripherals. The drivers act as the bridge between the hardware and the Linux operating system, handling initialization, configuration, management, data transfer, and error handling.Overview of K1 Pro 40-pin GPIO extension interface
The K1 Pro features a 40-pin GPIO extension interface using a 2.54mm double-row straight insertion socket. These pins are multi-functional multiplexed pins, meaning they can be used as general-purpose inputs/outputs (GPIO) or reconfigured via software/kernel to perform specific hardware functions.Overview of SpacemiT AI Demo Repository
The SpacemiT AI Demo Repository is a collection of AI application examples adapted for SpacemiT K-series chips. It provides developers with model deployment tutorials and sample code in Python and C++ across several domains: Computer Vision (CV), Natural Language Processing (NLP), and speech processing. The repository is optimized for SpacemiT K1 chips.git clone https://gitee.com/bianbu/spacemit-demo.gitOverview of Ollama for local LLM execution
Ollama is a tool for running Large Language Models (LLMs) locally on personal computers and single-board computers like the Raspberry Pi. It simplifies the setup process and provides a REST API for model inference, allowing other applications and devices to call the model remotely.Overview of K1 OH5.0 FactoryTest
The FactoryTest application is used on K1 OH5.0 devices during the research, development, and production phases to perform specialized testing of hardware and system functions.Overview of Bianbu NAS Software Stack
Bianbu NAS is a system derived from the Bianbu operating system tailored for NAS products. It manages its components and subpackages via an APT repository using standard Debian format. The software stack includes:
- Applications: Openmediavault, Docker, Wi-Fi AP, Soft Router, Fast USB Drive, and SMB.
- Multimedia Frameworks: FFmpeg, GStreamer (both hardware accelerated), and PipeWire.
- AI Inference: onnxruntime (hardware accelerated).
- Runtimes: Python, Java, Node.js, Rust, and Go.
- Libraries: OpenCV (RVV acceleration), OpenSSL (hardware acceleration), MPP (Spacemit multimedia processing platform C API), and OpenGLES/Vulkan/OpenCL.
Overview of the RKLLM Software Stack
The RKLLM software stack enables the deployment of large language models on Rockchip NPU platforms. The workflow is divided into two main phases:
- Model Conversion (PC side): Uses the
RKLLM-Toolkitto convert pre-trained models (Hugging Face or GGUF format) into the.rkllmformat and perform quantization. - Board-side Deployment: Uses the
RKLLM Runtime(C/C++ API) to load the.rkllmmodel onto the Rockchip NPU for inference.
- Model Conversion (PC side): Uses the
Overview of the Rockchip Clock Subsystem
The Rockchip (RK) clock subsystem manages the clock tree framework that provides clock signals to various SOC components. It acts as an adaptation layer between the SOC-level clock hardware (oscillators, PLLs, dividers, MUXes, and AND gates) and the consumer drivers (e.g., USB, peripherals). The system is designed to handle clock enabling/disabling, frequency setting, and parent clock selection.Overview of I2C Driver Architecture for Spacemit K1
The I2C driver for the Spacemit K1 platform follows the standard Linux I2C framework, divided into three layers: User space (applications), Kernel (drivers), and Hardware (controller and peripherals). The framework consists of the I2C core, I2C busses (controller drivers), I2C algos (communication methods), and I2C muxes. The specific controller driver for the K1 platform is located atdrivers/i2c/busses/i2c-k1x.c.