第1部 第 3章 ご購入はこちら 基本32ビットARMのリセット直後からの動作メカニズム C にちょっとアセンブラ… 全 ARM で動く共通プログラム 村井 和夫 本稿では,32 ビット系 ARM を例にして,全 ARM で動かす共通プログラムの基本構造について解説しま す(図 1).ターゲット ARM ボードを以下に示します. ビ ッ ト 対 応 ARM Cortex-A53 コ ア ) ,Cortex-M 系 FM3 マイコン基板(ARM Cortex-M3 コア)も基本は 同様です.対応の詳細については,誌面の都合で全て を本特集で紹介することは難しいため,今後連載など でフォローアップしていきます. (編集部) ・ラズベリー・パイ(ARM11 コア) ・ラズベリー・パイ 2(ARM Cortex-A7 コア) ・BeagleBone Black 基板(ARM Cortex-A8 コア) ・CEV RZ/A1L 基板(ARM Cortex-A9 コア) ・LPC2388 基板(ARM7TDMI コア) プログラミング体得! ARM 共通プログラムの仕様 本章では,32 ビット ARM 共通のプログラム記述方 法を解説していきます.今回はその後,ラズベリー・ パイやラズベリー・パイ 2 について,CPU 固有機能の プログラムを作成する方法を紹介します. 他の 32 ビット系 ARM ボードや,アーキテクチャが 大きく異なる 64 ビット ARM 系ラズベリー・パイ 3(64 スタートアップ スタート アップ処理 ・アセンブラ ベクタ・テーブル vect.c ・汎用ディジタル I/O(GPIO) ・シリアル通信(UART) ctr0.o crt0.s 割り込み ARM 共通プログラムの要求条件として,以下の項 目を満たすものとします. (1)I/O 処理を行う 代表的な I/O 処理をひと通り行います vect.o 割り込み処理 プログラム interrupt.c interrupt.o ボード main.c メイン・ プロ グラム I/O構造定義 io.h main.o リンク I/O処理 実行ファイル PIE.out ARM 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 ARM 共通プログラムの構成…割り込みや I/O 関連の設定や処理を合わせこめばどの ARM で動かすことも可能になる 64 2017 年 2 月号
© Copyright 2024 ExpyDoc