0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

M5UnitV2 でHello World

Last updated at Posted at 2023-12-01

目的

M5UnitV2のクロスコンパイル環境でプログラムを作成し、
Hello Worldを実行します。

事前準備

M5Stack UnitV2のクロスコンパイル環境を構築する手順

プログラムの作成

以下のように、C++言語で、Hello Worldのプログラムを作成します。

test.cpp
#include <iostream>
using namespace std;
int main() {
    cout<<"Hello UnitV2 World"<<endl;
    return 0;
}

プログラムのコンパイル

まずは、通常環境のコンパイラ g++でプログラムをコンパイルしてみましょう。

g++ test.cpp -o test

ubuntu-PCの中でバイナリを実行すると、Hello Worldが出てきました。

$ ./test 
hello world

次に、arm用のクロスコンパイラarm-none-linux-gnueabihf-g++
を使ってプログラムをビルドします。

$ arm-none-linux-gnueabihf-g++ test.cpp -o test

arm環境のバイナリなので、ubuntu-PCの中で実行しても
Hello Worldは出ません。

$  ./test 
bash: ./test: バイナリファイルを実行できません: 実行形式エラー

ファイル形式を調べるためのコマンド「file」でファイルを見てみましょう。
arm環境のバイナリであることが確認できました。

$ file ./test
./test: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, with debug_info, not stripped

このバイナリをUnitV2環境にコピーします。
PCとUnitV2とをUSBで接続し、SCPコマンドでバイナリをコピーします。

$ scp ./test  m5stack@unitv2.local:/media/sdcard/

SSHでUnitV2にログインして、バイナリを実行します。

$ ssh m5stack@unitv2.local
unitv2% cd /media/sdcard/
unitv2% ./test 
Hello UnitV2 World

Hello UnitV2 Worldが表示できることが確認できました。

参考資料

この記事を作成するにあたり、以下のウェブサイトを参考にしました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?