LoginSignup
8
1

More than 3 years have passed since last update.

M5StickV で TOPPERS BASE PLATFORM を動かしてみる

Last updated at Posted at 2020-11-26

TOPPERS Advent Calendar 2020 2 日目の記事です。

はじめに

M5StickV で TOPPERS を動かしてみる で、M5StickV上でTOPPERSが動作することができたので、次は TOPPERS BASE PLATFORM を動かしてみます。TOPPERS BASE PLATFORM にはデバイスドライバーが含まれていて、M5StickV のいくつかのデバイスもサポートされています。

準備

ツールチェーン

M5StickV で TOPPERS を動かしてみる では、Platform IOでインストールされたツールチェーンをそのまま使ってみましたが、TOPPERS BASE PLAFORM(ST) の標準で指定されている The xPack GNU RISC-V Embedded GCC を使用します。

以下の順にインストールします

TOPPERS BASE PLAFORM(ST)

M5StickV で TOPPERS を動かしてみる でダウンロードした3つのファイルに加えて、

TOPPERS BASE PLAFORM(ST): asp_baseplatformv1.4.1_051120.tar.gz

M5StickV用のパッチ: TOPPERS M5StickV patch

をダウンロードします。

作業を行うディレクトリーに以下の4つのファイルを入れます。

asp-1.9.3.tar.gz
asp_arch_riscv_gcc-1.9.4.tar.gz
asp_baseplatformv1.4.1_051120.tar.gz
cfg-osx-static-1_9_5.tar.gz
toppers-m5stickv-patch.zip

解凍します

tar xvzf asp-1.9.3.tar.gz                     # 1. asp フォルダーが作成されます
tar xvzf asp_baseplatformv1.4.1_051120.tar.gz # 2. asp フォルダーに追加されます
tar xvzf asp_arch_riscv_gcc-1.9.4.tar.gz      # 3. asp_arch_riscv_gcc-1.9.4 フォルダーが作成されます
tar xvzf cfg-osx-static-1_9_5.tar.gz          # 4. cfg ファイルが作成されます
unzip toppers-m5stickv-patch.zip              # 5. toppers-m5stickv-patch-main ファイルが作成されます

3 〜 5 のファイルを asp フォルダーにコピーします

cp -pr asp_arch_riscv_gcc-1.9.4/asp/* asp

mkdir -p asp/cfg/cfg
cp -p cfg asp/cfg/cfg

cp -pr toppers-m5stickv-patch-main/asp/* asp

ビルド

まず、カーネルをビルドします。

cd asp/OBJ/K210_GCC
mkdir libkernel
cd libkernel

#ツールチェーンのパス
PATH=$PATH:~/Library/xPacks/@xpack-dev-tools/riscv-none-embed-gcc/8.3.0-2.3.1/.content/bin

perl ../../../configure -T k210_gcc -f -g ../../../cfg/cfg/cfg
make depend

初回警告が表示されますので、キャンセルします。

image.png

このまま許可をクリックします。

image.png

再度実行します。

make depend

開くをクリックすると、makeが開始します。

image.png

これでビルドできるようになります。カーネルをビルドします。

make libkernel.a

アプリビルド (TEST)

カーネルがビルドできたら、アプリをビルドします。

cd ../TEST
make depend
make

M5StickVをUSBで接続して、フラッシュメモリに書き込みます。

~/.platformio/packages/tool-kflash-kendryte210/kflash.py asp.bin

VSCodeのターミナル等でシリアル接続すると、次のようなログが出力されました。

TOPPERS/ASP Kernel Release 1.9.3 for K210 (Nov 24 2020, 21:28:00)
Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
                            Toyohashi Univ. of Technology, JAPAN
Copyright (C) 2004-2014 by Embedded and Real-Time Systems Laboratory
            Graduate School of Information Science, Nagoya Univ., JAPAN
Copyright (C) 2017-2019 by Education Working Group TOPPERS PROJECT

mSystem logging task is started on port 1.

ASP TASK Monitor Release 1.2.0 for K210 (Nov 24 2020, 21:10:31)
Copyright (C) 2016-2019 by TOPPERS PROJECT Educational Working Group
mon>h
  Display BYTE     [start address] [end address]
          HALF     [start address] [end address]
          WORD     [start address] [end address]
          TASK
          REGISTER
  Set     BYTE     [start address]
          HALF     [start address]
          WORD     [start address]
          COMMAND  [mode]  mode=1 or (2)
          SERIAL   [port id]
          TASK     [task id]
  Task    ACTIVATE          (act_tsk)
          TERMINATE         (ter_tsk)
          SUSPEND           (sus_tsk)
          RESUME            (rsm_tsk)
          RELEASE           (rel_tsk)
          WAKEUP            (wup_tsk)
          PRIORITY [pri]    (chg_pri)
  Log     MODE     [logmask] [lowmask]
          TASK     [cycle time(ms)] [count]
          PORT     [no] [logno] [portaddress]
  Help    [arg1]
  Rtc     DATE  (year #) (month #) (day #)
          TIME  (hour #) (min   #) (sec #)
          INTM  mode(0-4)
          WAKEUP time(sec)
          CLOCK DATE:TIME
mon>

アプリビルド (DEMO)

DEMOアプリをビルドします。

cd ../DEMO
make depend
make

M5StickVをUSBで接続して、フラッシュメモリに書き込みます。

~/.platformio/packages/tool-kflash-kendryte210/kflash.py asp.bin

image.png

おわりに

TOPPERS BASE PLATFORM が動きました。他のデバイスも動かしてみたいと思います。

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1