開発ブログ

第25回クロスコンパイルしてパペロで実行してみた

投稿日時:2019年9月19日 17:09

こんにちは。ピャペロンです。
今回は簡単なプログラムをクロスコンパイルしてパペロで実行してみました。
パペロでライブラリやパッケージを利用したい場合、基本的にパペロ向けにソースコードからコンパイルしないと動かないのでクロスコンパイルできるようになると開発の幅が広がります。

目的

WindowsPCでクロスコンパイルしたプログラムをパペロで実行して「Hello World」を出力する。

今回使用する主なハード

  1. WindowsPC
  2. PaPeRo i 本体

今回使用する主なソフト

  1. Windows 10
  2. Tera Term
  3. PaPeRo i SDK
  4. VirtualBox
  5. debian-10.1.0

Debianの仮想環境構築

VirtualBoxでDebianの仮想環境を作成します。

sudoコマンドがインストールされてなかったのでrootユーザーに切り替えてaptコマンドでインストールしたら
gpasswd -a USER名 sudo
を実行してsudoを使えるようにします。

一般ユーザーに切り替えて必要なパッケージをaptでインストール

sudo apt install build-essential libncurses5-dev gawk git libssl-dev gettext zlib1g-dev swig unzip time

PaPeRo i SDKをDebianに転送します。

Hello Worldのクロスコンパイル

簡単なソースコード作成
hello.c


#include <stdio.h>
int main(void)
{
    printf("Hello World\n");
    return 0;
}

PaPeRo i SDKの中にあるクロスコンパイラでhello.cをクロスコンパイルします。

./paperoSDK/toolchain/bin/arm-openwrt-linux-gcc hello.c -o hello

helloファイルをパペロに転送して実行してみよう。
./hello
Hello World

まとめ

とりあえず簡単なソースコードのコンパイルには成功したけどGCCも古いので複雑なソースコードのビルドは一気に難しくなりそうです。

OpenWrt公式でSDKを提供しているので次回は公式SDKでクロスコンパイルして実行できるのか確認してみようと思います。


0

最新開発ブログ一覧  (一覧で確認
2020年8月19日 14:08
開発ブログ
第30回 パペロで赤外線アレイセンサを動かしてみよう!【中編:顔の表面温度を測ってみよう】
by 管理者
2020年7月22日 16:07
開発ブログ
第29回 パペロで赤外線アレイセンサを動かしてみよう!【前編:簡易サーモグラフィを作ろう】
by 管理者
2019年11月20日 17:11
開発ブログ
第28回 パペロでJulius4.5を実行してみた
by 管理者
2019年11月13日 09:11
開発ブログ
第27回 JuliusをPaPeRoi向けにクロスコンパイルしてみた
by 管理者
2019年9月19日 17:09
開発ブログ
第26回Linaro Toolchainでクロスコンパイルしてみた
by 管理者

コメントは受け付けていません。