本文へ移動
cccskills
無料GitHub で公開

multicore

Developing for multicore systems in Zephyr RTOS. Covers Symmetric Multiprocessing (SMP), Asymmetric Multiprocessing (AMP) with OpenAMP/RPMsg, inter-processor communication (IPC) patterns, and Linkable Extensions (LLEXT). Trigger when designing for SoCs with multiple homogeneous or heterogeneous cores.

インストール方法を見る

含まれるファイル(9)

  • SKILL.md3.6 KB
  • assets/rpmsg_channel_contract.md630 B
  • references/ipc_patterns.md2.4 KB
  • references/llext_basics.md2.2 KB
  • references/multidomain_sysbuild.md2.4 KB
  • references/openamp_rpmsg.md2.0 KB
  • references/smp_configuration.md1.8 KB
  • scripts/smp_config_check.py1.8 KB
  • skill-meta.yaml636 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Zephyr Multicore Development

Leverage multiple CPU cores to increase performance, isolate critical tasks, and integrate heterogeneous systems.

Core Workflows

1. SMP Configuration

Run the Zephyr kernel and your threads across multiple identical cores.

2. OpenAMP & RPMsg

Communicate between heterogeneous cores (e.g., A-series and M-series) using standard protocols.

  • Reference: openamp_rpmsg.md
  • Key Tools: CONFIG_OPENAMP, message vrings, Resource Tables.

3. IPC Patterns

Implement efficient data exchange between cores using high-level services or low-level mailboxes.

  • Reference: ipc_patterns.md
  • Key Tools: IPC Service, IPM drivers, Shared Memory.

4. LLEXT (Linkable Extensions)

Dynamically load and run binary modules at runtime without a full firmware update.

  • Reference: llext_basics.md
  • Key Tools: CONFIG_LLEXT, dynamic ELF loading, Symbol Export.

5. Multi-domain SoCs (nRF5340)

Build separate application-core and network-core images in one Sysbuild invocation.

  • Reference: multidomain_sysbuild.md
  • Key Tools: west build --sysbuild, CONFIG_NRF53_BOOT_NETWORK_CORE_ON_STARTUP, domains.

Quick Start (SMP prj.conf)

# Enable SMP for dual-core SoCs
CONFIG_SMP=y
CONFIG_MP_NUM_CPUS=2
// Using spinlocks for cross-core sync
struct k_spinlock lock;
k_spinlock_key_t key = k_spin_lock(&lock);
// ... critical section ...
k_spin_unlock(&lock, key);

Professional Patterns (Architecture Design)

  • Linux Bridging: Use OpenAMP/RPMsg to bridge Zephyr real-time logic with a Linux application controller.
  • Core Isolation: Pin high-frequency interrupts (e.g., motor control) to Core 1 and keep the main application on Core 0 to prevent jitter.
  • Zero-Copy Transfers: Use shared memory regions for large data (video/audio) and only pass meta-data via IPC channels to minimize overhead.

Automation Tools

Examples & Templates

Validation Checklist

  • SMP builds run with expected CPU count and no cross-core race regressions.
  • OpenAMP/RPMsg endpoint exchange passes bidirectional message tests.
  • IPC latency and throughput remain within target budget under load.
  • LLEXT module load/unload path resolves symbols and handles failure cases safely.
  • Multi-domain Sysbuild builds both core images and west flash programs each domain.

Resources

  • References:
    • smp_configuration.md: Configuration and spinlocks.
    • openamp_rpmsg.md: AMP and Linux interoperability.
    • ipc_patterns.md: Mailboxes and high-level IPC services.
    • llext_basics.md: Dynamic code loading.
  • Scripts:
    • smp_config_check.py: SMP config consistency checker.
  • Assets:
    • rpmsg_channel_contract.md: RPMsg interface contract template.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Custom board bringup for Zephyr RTOS using Hardware Model v2 (HWMv2). Covers directory structure, board.yml metadata, core configuration files (Kconfig, defconfig, CMake), and revision management. Trigger when creating new board definitions or porting Zephyr to custom hardware.

日本語の概要は準備中です。原文の説明を表示しています。

beriberikix/zephyr-agent-skills692026年5月19日 更新

Build system management for Zephyr RTOS. Covers West workspace initialization, manifest management, Sysbuild multi-image builds, Kconfig symbols, and CMake integration. Trigger when setting up workspaces, configuring builds, or troubleshooting build-time errors.

日本語の概要は準備中です。原文の説明を表示しています。

beriberikix/zephyr-agent-skills692026年5月19日 更新

Bluetooth Low Energy (BLE) integration for Zephyr RTOS. Covers GATT Services/Characteristics, GAP advertising, connection parameters, power optimization strategies, and the professional Send-When-Idle design pattern. Trigger when adding BLE connectivity, optimizing battery life for wireless devices, or implementing custom GATT profiles.

日本語の概要は準備中です。原文の説明を表示しています。

beriberikix/zephyr-agent-skills692026年5月19日 更新

IP networking fundamentals for Zephyr RTOS. Covers IoT protocol selection (LwM2M, CoAP, MQTT), IP stack configuration and trimming (IPv4/IPv6, UDP/TCP), and professional SDK integration as Zephyr modules using West manifests. Trigger when building cloud-connected applications, optimizing network memory usage, or integrating external cloud SDKs.

日本語の概要は準備中です。原文の説明を表示しています。

beriberikix/zephyr-agent-skills692026年5月19日 更新

USB and CAN connectivity for Zephyr RTOS. Covers USB device stack configuration (CDC ACM, HID, MSC), CAN controller integration, and professional USB-to-CAN adapter patterns including buffering and protocol packetization. Trigger when adding USB interfaces, implementing CAN bus communication, or building hardware diagnostic tools.

日本語の概要は準備中です。原文の説明を表示しています。

beriberikix/zephyr-agent-skills692026年5月19日 更新

Devicetree management for Zephyr RTOS. Covers syntax, bindings, overlays, Hardware Model v2 (HWMv2), and advanced node/property deletion patterns. Trigger when defining hardware topology, creating overlays, or mapping pins and peripherals.

日本語の概要は準備中です。原文の説明を表示しています。

beriberikix/zephyr-agent-skills692026年5月19日 更新

beriberikix のスキルをすべて見る

このスキルの問題を報告する