Raspberry Pi 3のベアメタル・プログラミング環境の構築 - 2017/3/5の状況

公開:2017-03-05 19:39
更新:2017-07-29 13:18
カテゴリ:raspberry pi

Raspberry Pi 3で64bitベアメタル・プログラミングをするための環境構築をぼちぼちやっている。

環境構築の状況

JTAGデバッグはソフト・ハードともに不明点も多く、FT232HLボードまで買ったがとりあえず置いておくことにして、lubuntuでクロスコンパイルしたARM64バイナリをu-bootでロードして実行する環境を作ろうとあれこれやってみているところだ。今のところの環境構築図は以下のとおりである。

Raspberry Pi 3
Raspberry Pi 3
lubuntu
lubuntu
windows 10
windows 10
MicroSD
MicroSD
Ethernet
Ethernet
ARM
バイナリ
[Not supported by viewer]
ARM
ソース
[Not supported by viewer]
クロス
コンパイラ
クロス<div>コンパイラ</div>
Windows
バイナリ
[Not supported by viewer]
Win
ソース
[Not supported by viewer]
クロス
コンパイラ
クロス<div>コンパイラ</div>
ARM
バイナリ
[Not supported by viewer]
Windows
バイナリ
[Not supported by viewer]
GDB
[Not supported by viewer]
OpenOCD
<div>OpenOCD</div>
USB-JTAG
USB-JTAG
ARM
バイナリ
[Not supported by viewer]
Ethernet
Ethernet
Ethernet
Ethernet
中断
中断
u-boot
[Not supported by viewer]
OpenOCD
バイナリ構築用
OpenOCD<div>バイナリ構築用</div>
Arm64バイナリ
構築用
Arm64バイナリ<br>構築用
中断
中断
SCP
SCP
TFTP
TFTP
TFTP
TFTP
SCP
SCP

Raspberry Pi 3用のu-bootのビルド

ARM64バイナリを実行させるためにRaspberry Pi 3用のu-bootを下記サイトを参考にしてビルドし、ブート用のSDカードにインストールした。

http://oyasirazu.blogspot.jp/2017/01/bash-on-ubuntu-on-windows-raspberry-pi.html

ほぼ上記サイトの手順通りだが、TFTPDの構築と、boot.scrの作成はやらなかった。 クロス・コンパイルはWindows 10上のubuntu on windowsで行った。ちなみにlubuntuでもビルドできるけど、SCPでWindows 10に持ってくるのが面倒だったので。。ということでu-bootベースでの環境構築ではlubuntuはいらないっぽいので、以下の環境で進めることにしようと思っている。

あと気づいたのはu-bootでtftpを使ってロード・実行するにはRaspberry Pi 3を有線LANでつながなければいけないようだ。wifi経由で可能かは今調べているところであるが、どうもできなさそうだ。

Raspberry Pi 3
Raspberry Pi 3
windows 10
windows 10
MicroSD
MicroSD
Ethernet
Ethernet
ARM
バイナリ
[Not supported by viewer]
ARM
ソース
[Not supported by viewer]
クロス
コンパイラ
クロス<div>コンパイラ</div>
ARM
バイナリ
[Not supported by viewer]
u-boot
[Not supported by viewer]
Arm64バイナリ
構築用
Arm64バイナリ<br>構築用
TFTP
TFTP

TFTPサーバーの構築

TFTPサーバーは、ubuntu on windowsで作ってみようと思っていて、以下のサイトの情報を参考にしてtftpd-hpaを今インストールしたところである。

http://www.prosper2.org/devwiki/index.php?tftpd-hpa%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%9Ftftp%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E5%B0%8E%E5%85%A5