クロス開発用ツールのセットアップ

XG-50 用ファームウェアをビルドするためには、ARM Cortex-M 用のツールチェインをインストールする必要があります。

※ 最近 Arm の方針が変更されたようで、apt でのインストールができなくなっています(gdb のパッケージがありません)。 ここ からダウンロードしてインストールしてください。

NuttX README.txt より

  Install Ubuntu Software
  -----------------------
  Use "sudo apt-get install <package name>".  As examples, this is how
  you would get GIT:

    sudo apt-get install git

  This will get you a compiler for your host PC:

    sudo apt-get install gcc

  This will get you an ARM compiler for your target:

    sudo apt-get install gcc-arm-none-eabi

  NOTE: That is just an example.  I am not sure if apt-get will give you a
  current or usable compiler.  You should carefully select your toolchain
  for the needs of your project.

  You will also need to get the kconfig-frontends configuration as
  described below under "NuttX Configuration tool".  In order to build the
  kconfig-frontends configuration tool you will also need:  make, gperf,
  flex, bison, and libncurses-dev.

  That is enough to do a basic NuttX build.


インストール

インストールを行います。

xubuntu64:~$ sudo apt install gcc-arm-none-eabi
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  binutils-arm-none-eabi libnewlib-arm-none-eabi libnewlib-dev libstdc++-arm-none-eabi-newlib
提案パッケージ:
  libnewlib-doc
以下のパッケージが新たにインストールされます:
  binutils-arm-none-eabi gcc-arm-none-eabi libnewlib-arm-none-eabi libnewlib-dev
  libstdc++-arm-none-eabi-newlib
アップグレード: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。
65.1 MB のアーカイブを取得する必要があります。
この操作後に追加で 610 MB のディスク容量が消費されます。
続行しますか? [Y/n] 
取得:1 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 binutils-arm-none-eabi amd64 2.26-4ubuntu1+8 [2,083 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 gcc-arm-none-eabi amd64 15:4.9.3+svn231177-1 [17.3 MB]
取得:3 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 libnewlib-dev all 2.2.0+git20150830.5a3d536-1 [105 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 libnewlib-arm-none-eabi all 2.2.0+git20150830.5a3d536-1 [14.0 MB]
取得:5 http://jp.archive.ubuntu.com/ubuntu xenial/universe amd64 libstdc++-arm-none-eabi-newlib all 15:4.9.3+svn227297-1+8 [31.6 MB]
65.1 MB を 8秒 で取得しました (8,126 kB/s)                                                                    
以前に未選択のパッケージ binutils-arm-none-eabi を選択しています。
(データベースを読み込んでいます ... 現在 203336 個のファイルとディレクトリがインストールされています。)
.../binutils-arm-none-eabi_2.26-4ubuntu1+8_amd64.deb を展開する準備をしています ...
binutils-arm-none-eabi (2.26-4ubuntu1+8) を展開しています...
以前に未選択のパッケージ gcc-arm-none-eabi を選択しています。
.../gcc-arm-none-eabi_15%3a4.9.3+svn231177-1_amd64.deb を展開する準備をしています ...
gcc-arm-none-eabi (15:4.9.3+svn231177-1) を展開しています...
以前に未選択のパッケージ libnewlib-dev を選択しています。
.../libnewlib-dev_2.2.0+git20150830.5a3d536-1_all.deb を展開する準備をしています ...
libnewlib-dev (2.2.0+git20150830.5a3d536-1) を展開しています...
以前に未選択のパッケージ libnewlib-arm-none-eabi を選択しています。
.../libnewlib-arm-none-eabi_2.2.0+git20150830.5a3d536-1_all.deb を展開する準備をしています ...
libnewlib-arm-none-eabi (2.2.0+git20150830.5a3d536-1) を展開しています...
以前に未選択のパッケージ libstdc++-arm-none-eabi-newlib を選択しています。
.../libstdc++-arm-none-eabi-newlib_15%3a4.9.3+svn227297-1+8_all.deb を展開する準備をしています ...
libstdc++-arm-none-eabi-newlib (15:4.9.3+svn227297-1+8) を展開しています...
man-db (2.7.5-1) のトリガを処理しています ...
libc-bin (2.23-0ubuntu10) のトリガを処理しています ...
binutils-arm-none-eabi (2.26-4ubuntu1+8) を設定しています ...
gcc-arm-none-eabi (15:4.9.3+svn231177-1) を設定しています ...
libnewlib-dev (2.2.0+git20150830.5a3d536-1) を設定しています ...
libnewlib-arm-none-eabi (2.2.0+git20150830.5a3d536-1) を設定しています ...
libstdc++-arm-none-eabi-newlib (15:4.9.3+svn227297-1+8) を設定しています ...
libc-bin (2.23-0ubuntu10) のトリガを処理しています ...
xubuntu64:~$ 


git も必要になりますので、ついでにインストールしておきます。

xubuntu64:~$ sudo apt install git
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  git-man liberror-perl
提案パッケージ:
  git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs
  git-mediawiki git-svn
以下のパッケージが新たにインストールされます:
  git git-man liberror-perl
アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。
3,857 kB のアーカイブを取得する必要があります。
この操作後に追加で 25.6 MB のディスク容量が消費されます。
続行しますか? [Y/n] 
取得:1 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 liberror-perl all 0.17-1.2 [19.6 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 git-man all 1:2.7.4-0ubuntu1.3 [736 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 git amd64 1:2.7.4-0ubuntu1.3 [3,102 kB]
3,857 kB を 0秒 で取得しました (7,990 kB/s)
以前に未選択のパッケージ liberror-perl を選択しています。
(データベースを読み込んでいます ... 現在 205382 個のファイルとディレクトリがインストールされています。)
.../liberror-perl_0.17-1.2_all.deb を展開する準備をしています ...
liberror-perl (0.17-1.2) を展開しています...
以前に未選択のパッケージ git-man を選択しています。
.../git-man_1%3a2.7.4-0ubuntu1.3_all.deb を展開する準備をしています ...
git-man (1:2.7.4-0ubuntu1.3) を展開しています...
以前に未選択のパッケージ git を選択しています。
.../git_1%3a2.7.4-0ubuntu1.3_amd64.deb を展開する準備をしています ...
git (1:2.7.4-0ubuntu1.3) を展開しています...
man-db (2.7.5-1) のトリガを処理しています ...
liberror-perl (0.17-1.2) を設定しています ...
git-man (1:2.7.4-0ubuntu1.3) を設定しています ...
git (1:2.7.4-0ubuntu1.3) を設定しています ...
xubuntu64:~$