===================================================================== Arduino M0ターゲット依存部 Last Modified:2015 Nov 22 20:06:05 ===================================================================== ○概要 Arduino M0ターゲット依存部は,Arduino M0 Pro をサポートしている.スタ ートアップのコードは,Arduino IDEに付属しているGPLライセンスのコードを 使用するため注意が必要である.GPL化を避けるには,これらのコードを置き 換える必要がある. ○カーネルの使用リソース カーネルは以下のリソースを使用する. ・ROM/RAM コードとデータを配置する. 使用量はオブジェクト数に依存する. ・SysTick カーネル内部のティックの生成に用いる. ・SERCOM5 コンソールの出力に使用. ○実行環境 動作確認を行った実行環境は,Widnows 7 上の Cygwin である. ビルドには,Arduino IDE をインストールする必要がある.動作確認を行った バージョンは次の通りである. Arduino IDE 1.7.7 ○デバッグ環境 arm-none-eabi-gdb によるデバッグの動作確認を行った. Arduino IDE 付属 は,Windowsネイティブアプリであるため,Ctrl-Cによる停止等ができない. そのため,ソースコードからビルドして使用する. 動作確認を行ったバージョンは次の通りである. GNU gdb (GDB) 7.6.2 デバッガの名前を arm-gdb_m0.exe としてパスの通っているフォルダに置く. ビルド方法は次の通りである. $tar xvfj gdb-7.6.2.tar.bz2 $mkdir obj $../gdb-7.6/configure --target=arm-none-eabi $make ○コンパイラ 動作確認した GCC は,Arduino IDE 付属の以下のバージョンである. gcc version 4.8.3 20140228 (release) [ARM/embedded-4_8-branch revision 208322] (GNU Tools for ARM Embedded Processors) ○ビルド ビルドに当たっては Arduino IDE のインストールパスをMakefile.targetに指 定する ARDUINO_BASE_DIR_WIN = C:\Program Files (x86)\Arduino ○実行 ボードのPROGRAMINGポートとPCを接続する.プロジェクトをビルドしたフォル ダで以下のコマンドを実行するとフラッシュに書き込まれ実行が開始される. $make run ○デバッグ OpenOCDの起動 プロジェクトをビルドしたフォルダで以下のコマンドを実行する. OpenOCDが起動してターゲットと接続される. $make ocd デバッガの起動 プロジェクトをビルドしたフォルダで以下のコマンドを実行する. フラッシュへの書き込みが開始される.continue コマンドを入力すると実行 が開始される. $make db ○Atmel Studioによるビルドでデバッグ Atmel StudioによりGUIによるビルドとデバッグが可能である. 動作確認を行ったのは次のバージョンである. Atmel Studio 7.0 (build 594) Atmel Studio はソースコードのエンコードがutf8である必要があるため,ソー ス全体をutf8にすることを推奨する. ●Atmel Studio のインストール 以下のサイトにアクセスして http://www.atmel.com/ja/jp/tools/ATMELSTUDIO.aspx 以下のツールを選択する. Atmel Studio 7.0 (build 594) web installer (recommended) メールアドレス等を入力するとダウンロード可能である. ●付属のプロジェクトによるビルド ./atmelstudio/asp.atslnを開く メニュー -> Build -> Build Solution を選択してビルド メニュー -> Debug -> Start Debugging and Break を選択をしてデバッグの開始 ●プロジェクトの作成方法 フォルダを以下の場所に作成する.はASPカーネルのソースを展開したフ ォルダである. /// 以下に本フォルダのMakefileをコピーする./sampleから sample1.c/sample1.cfg/sample1.h をコピーする.フォルダの場所を変更した い場合は,MakefileのSRCDIRを変更すること. ●Atmelプロジェクトの作成 メニュー -> File -> New -> Project 左のメニューから C/C++ -> GCC C Executable Project を選択 下のボックスの Name に asp と入力. Device Selection の画面が出るので, Device Family : SAMD21 を選択して,リストから, ATSAMD21G18A を選択. プロジェクトが作成されるので,main.c 等は不要なので削除. メニュー -> Debug -> asp Properties を選択 Build タブを選択 Use External Makefile を選択 Make file Name に実行したいMakefileをプロジェクトからの相対パスで指定. ボードのPROGRAMINGポートを接続 Tool タブを選択 Select debugger/programmer から EDBG を選択 Programmin settings を Incremental Programming を選択 Advanced タブを選択 Use GDB のチェックを外す ○変更履歴 2015/11/04 ・新規作成