統合開発ツールで"ラクラク"マイコン開発 <ARM編> ―― コードを自動生成させればすぐに動作する

山際 伸一

●マイコンの起動方法を知る

 マイコンが起動する手順を図3に示します.マイコンの仕様に合わせて,適切な順序で必要な処理を行うためのコードを記述します.



図3 マイコンを起動する手順

マイコンによって異なるが,およそここで示した流れになる.


(1)リセット例外ベクタ
 マイコンは,電源が投入されると,決められたアドレスから処理を始めます.例えばARMマイコンの場合,割り込みベクタのアドレスに分岐します(図4).そして,割り込みベクタに書き込まれている命令を実行します.



図4 メモリ配置
ARMマイコンの例を示す.
 

(2)初期設定コード
 マイコンを初期設定するコードでは,例えば,クロック信号をマイコン内でどのように使うか,割り込みを使うかどうか,周辺機能をどのように使うかといった初期設定を行います.

(3)メモリ関連の初期化
 メモリ関連の初期化では,C言語コードを実行するための環境設定を行います.スタック・ポインタを設定し,ヒープ領域を初期化します.


(4)C言語のmain関数へ分岐
 すべての設定が終わったら,C言語のmain関数を呼び出します.

 ここまでの処理が記述されたコードを,スタートアップ・ルーチンといいます.スタートアップ・ルーチンは,マイコンのドキュメントの内容を正確に理解して,間違いのないように記述しなければなりませんから,作成には手間がかかります.
 

●周辺機能の制御方法を知る

 スタートアップ・ルーチンでC言語コードがきちんと呼び出されれば,それ以降はアプリケーションのコードを実行するだけになります.  アプリケーション・コード中で,周辺機能を制御するときには,周辺機能のレジスタの読み書きを行うことになります.この操作法を,ユーザーズ・マニュアルなどでよく理解する必要があります.

●メモリ・マップを知る

 コーディングの際には,図4で示したようなアドレスの定義をあらかじめまとめておくと,効率が上がります.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日