ラズパイで始める 64ビットARM

全 ARM 共通! 隠ぺいされている技術の本質を体得して何でも作れる自由 GET!
ARM 達人への道!
村井 和夫
ラズパイで始める
64 ビット ARM
ご購入はこちら
スタートアップ
スタート
アップ処理 ・アセンブラ
ベクタ・テーブル
vect.c
ラズベリー・パイ 64 ビット ARM 用
プログラムの全体像
2回
ctr0.o
crt0.s
割り込み
第
vect.o
割り込み処理
プログラム
interrupt.c
interrupt.o
ボード
main.c
メイン・
プロ
グラム
I/O構造定義
io.h
main.o
リンク
I/O処理
ARM
実行ファイル
PIE.out
macro.h
I/O処理
I/Oや
printf
io.c
printf.c
printf.h
ユーザ・
アプリ
pi.c
ARM共通
プログラム
要は,割り込みやI/Oの
設定や処理を合わせ込む
CPU個別
プログラム
io.o
printf.o
C標準
ライブラリ
pi.o
C内部
ライブラリ
メモリ情報
(リンカ・スプリクト)
libc.a
memory.x
libgcc.a
制御
Makefile
それなりに
共通
図 1(1) 紹介する 64 ビット ARM 用プログラム
全 ARM 共通で使えるプログラム構成にしてある.割り込みや I/O 関連の設定や処理を合わせこめば,どの ARM で動かすことも可能
紹介する64ビットARM用プログラム
● 全 ARM 共通コンセプトで作ってある
CPU &プログラミングの本質を理解していれば,
全 ARM 共通構造のプログラムを作ることも可能にな
ります.今回から ARM 共通プログラムの 64 ビット
ARM 版について解説していきます.
プログラムは CPU の基本動作をひと通り確認する
ために,以下の仕様を満たすことにします.
① I/O 処理を行う
②割り込み処理を行う
③負荷のかかる計算プログラムを実行する
④ C 言語の教科書の最初に出てくる「Hello World」
164
相当の画面表示を行う
プログラムの基本構成を図 1 に示します.
このプログラムを,図 2 の実験構成で,図 3 の開発
環境を使って動かすことを目指します.プログラムは
ラズベリー・パイ 1/2 でもほぼ共通に使えますが(1),
ここでは特に 64 ビット Cortex-A53 搭載のラズベリー・
パイ 3 における特徴を重点的に説明します.
開発環境やプログラムは,本誌 2017 年 2 月号(1)付
録 DVD に収録されています.自分で 64 ビット ARM
のプログラムを作ることも可能です.
● 用意したラズパイ 3 用バイナリ・イメージ
筆者が用意した各ラズベリー・パイ用バイナリ・イ
メージを以下に示します.
第 1 回 最低限これだけ…64 ビット ARM の基礎知識(2017 年 3 月号)
2017 年 4 月号