Skip to main content

XIAO nRF54L15 with PlatformIO

PlatformIO 紹介

PlatformIOは、組み込みシステム向けに設計された強力で高度に拡張可能な開発エコシステムです。膨大な数の開発ボードとマイクロコントローラーのサポートをシームレスに統合し、比類のない柔軟性を提供します。PlatformIOの特徴は、その優れたスケーラビリティです:特定のボードがネイティブでサポートされていない場合でも、そのアーキテクチャにより簡単にカスタムボード定義を追加できます。

重要なことに、PlatformIOはArduinoに慣れ親しんだ開発者のギャップを埋め、関連するライブラリを含めるだけでArduinoスタイルのコードのコンパイルとデプロイを可能にします。このガイドでは、XIAO nRF54L15用のPlatformIOのセットアップ手順を説明し、サンプルコードのコンパイル、アップロード、モニタリング方法を実演して、複雑なZephyr RTOS開発を驚くほどアクセシブルにします。

XIAO nRF54L15用のPlatformIOセットアップ

以下の合理化された手順に従って、開発環境を構成し、XIAO nRF54L15 Senseで最初のアプリケーションをデプロイしてください。

VS Code用PlatformIO IDE拡張機能のインストール

まだインストールしていない場合は、Visual Studio Code内でPlatformIO IDE拡張機能を直接インストールしてください。この強力な拡張機能により、VS Codeが包括的な組み込み開発環境に変わります。

  • VS Codeを開きます。

  • 拡張機能ビュー(Ctrl+Shift+XまたはCmd+Shift+X)に移動します。

  • "PlatformIO IDE"を検索し、インストールをクリックします。

新しいPlatformIOプロジェクトの作成

ここでは、プロジェクトファイルを作成するために任意の開発バージョンを選択できます。例としてXIAO ESP32 C3を使用します。

操作1操作2

XIAO nRF54L15 Zephyr サポート用の platformio.ini を設定する

プロジェクトが作成されたら、プロジェクトディレクトリのルートにある platformio.ini ファイルを見つけます(VS Code の左側のエクスプローラーで確認できます)。このファイルは PlatformIO プロジェクト設定の中核です。

操作3

platformio.ini ファイルの内容全体を以下の設定に置き換える必要があります:

[env:seeed-xiao-nrf54l15]
platform = https://github.com/Seeed-Studio/platform-seeedboards.git
framework = zephyr
board = seeed-xiao-nrf54l15
操作4

cMakeLists.txtの内容を以下の設定に置き換える必要があります

set(BOARD_ROOT "$ENV{ZEPHYR_BASE}/../../platforms/Seeed Studio/zephyr")
cmake_minimum_required(VERSION 3.13.1)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(blinky)

target_sources(app PRIVATE ../src/main.cpp) # If the main source file is.c, please change it to src/main.c

その後、platformio.iniファイルを再保存し(Ctrl+SまたはCmd+S)、完全に読み込まれるまで待ちます。

tip

以前に他のXIAOライブラリをダウンロードしたことがある場合は、platform.iniファイルを変更して必要なライブラリを再ダウンロードする前に、手動でそれらを削除する必要があります。

Macパス: /Users/YourName/.platformio/platforms

Windowパス: C:\Users\000.platformio\platforms\Seeed Studio

最初のBlinkサンプルをコンパイルしてアップロード

それでは、クラシックな「Blink」サンプルでセットアップをテストしてみましょう。このコードは、XIAO nRF54L15の内蔵LEDを点滅させます。

src/main.cpp(またはsrc/main.c)ファイルの内容を、以下のZephyr対応Cコードに置き換えてください:


次に、このコードを使用してコンパイルと書き込みを行います

/*
* Copyright (c) 2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <zephyr/kernel.h>
#include <zephyr/device.h>
#include <zephyr/drivers/gpio.h>
#include <nrfx_power.h>

/* 1000 msec = 1 sec */
#define SLEEP_TIME_MS 1000

/* The devicetree node identifier for the "led0" alias. */
#define LED0_NODE DT_ALIAS(led0)

static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED0_NODE, gpios);

int main(void)
{
int ret;
bool led_is_on = true;
nrfx_power_constlat_mode_request();
if (!gpio_is_ready_dt(&led)) {
return -1;
}

ret = gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE);
if (ret < 0) {
return ret;
}

while (1) {
ret = gpio_pin_set_dt(&led, (int)led_is_on);
if (ret < 0) {
return ret;
}
led_is_on = !led_is_on;
k_msleep(SLEEP_TIME_MS);
}

return 0;
}

次に、XIAO nRF54L15をUSB経由でコンピュータに接続します。VS Codeで:

  • ビルド:VS Code下部のPlatformIOツールバーの「Build」アイコン(チェックマーク)をクリックするか、PlatformIOサイドバーを使用します:PROJECT TASKS -> your_project_name -> General -> Build。

  • アップロード:ビルドが成功した後、PlatformIOツールバーの「Upload」アイコン(右矢印)をクリックするか、PlatformIOサイドバーを使用します:PROJECT TASKS -> your_project_name -> General -> Upload。

操作5

ターミナルの出力は、コンパイルと書き込みプロセスが成功したことを示すはずです。

結果を確認する

アップロードが成功した後、XIAO nRF54L15の内蔵LEDが1秒間隔で点滅を開始するはずです。

技術サポート & 製品ディスカッション

私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。

Loading Comments...