Atmel Studio入門:ASFのモジュール導入方法

ASF(Atmel Software Framework)は、Atmel社が提供するソフトウェア・ライブラリーで、実行可能なサンプル・プロジェクト、ドライバ等の設計リソースで構成されています。今回は、そのASFを利用してドライバ等のモジュールを導入する方法を説明したいと思います。
なお、Atmel社の販売しているSTK600等のデモボード以外でも、ドライバ等のASFリソースを利用する事が可能です。

GCC C ASF Board Projectの作成

ASFを利用するには、”GCC C ASF Board Project”を作成する必要があります。”New Project”→”GCC C ASF Boad Project”を選択します。

(New Project, GCC C ASF Board Project)
asf_usr_proj_1

“Board Selection”メニューが表示されます。

(Board Selection)
asf_usr_proj_3

“Select By Device”にチェックを入れると、デバイスで利用できるリソースを表示できるので、こちらを選択します。なお特定のデモボードを利用したい場合は、”Select By Board”を選択します。

(Board Selection, Select By Device)
asf_usr_proj_2

ここでは例として、ATmega328Pを選択しています。”OK”ボタンをクリックするとGCC C ASF Board Projectが作成されます。

プロジェクト作成後は、Solution Explorerで、main.c、asf.hなどがソリューションに含まれている事が確認できます。

(Solution Explorer)
asf_usr_proj_4

空のmain.cですが、ASFのヘッダファイル、asf.hがインクルードされています。

(main.c)
asf_usr_proj_5

以上で、GCC C ASF Board Projectの作成が終了し、ASFのモジュールを利用する準備が整いました。

ASF Wizardによるモジュール導入・管理

ASFのリソースは、ASF Wizardで利用・管理する事ができます。

Solution Explorerの対象ソリューションを右クリックしてポップアップメニューを表示し、”ASF Wizard”を選択します。

(Right Click→ASF Wizard)
asf_usr_proj_6

“ASF Wizard”のメニューが表示されます。左側の”Available Modules”が利用可能なドライバ等のモジュールで、右側の”Selected Modules”が実際にASF Board Projectで利用中のモジュールとなります。

(ASF Wizard)
asf_usr_proj_7

左側”Available Modules”のモジュールから導入したいモジュールを選択して、”Add>>”ボタンをクリックします。

(ASF Wizard, Available Modules)
asf_usr_proj_8

右側の”Seleceted Modules”に選んだモジュールが追加されます。ただし、モジュール名の文字が緑色の状態で、変更は未だ適用されていません。なお同様の手順で、”Selected Modules”でモジュールを選択し、”Remove”ボタンを
クリックすると利用しているモジュールを削除する事も出来ます。

(ASF Wizard, Selected Modules)
asf_usr_proj_9

変更を適用するには、”Apply”ボタンをクリックします。

(ASF Wizard, Apply)
asf_usr_proj_10

変更の内容が表示されるので、問題なければ”OK”ボタンをクリックします。

(ASF, Summary of operations …)
asf_usr_proj_11

モジュール設定の変更が開始されます。

(ASF Driver Selection Wizard)
asf_usr_proj_12

変更が終了すると、”Selected Modules”のモジュール名の文字が緑色でなくなり、モジュールが導入された事を確認できます。

(ASF Wizard, Selected Modules)
asf_usr_proj_13

以上がASFモジュールの導入および設定変更の手順となります。

ASF Driver Moduleの概要

ASF Wizardでモジュールを導入した後は、Solution ExplorerでもASFのリソースを確認できます。この例では、clock、delay、ioportのサービスやadcドライバ等が導入されています。

(Solution Explorer, ASF)
asf_usr_proj_14

asf.hには、導入したASFモジュールのヘッダファイルが自動的にインクルードされています。

(asf.h)
asf_usr_proj_15

この様に、ASF Wizardが、asf.hの書き換えを始めとしたリソースの管理を自動で行ってくれている事が判ります。

まとめ

ASF Wizardを活用する事で、ASF(Atmel Software Framework)のリソースを簡単に利用・管理する事ができます。追加あるいは削除したモジュールは、asf.hに自動的に記述、反映されるので、手間もかかりません。非常に良くできたシステムだと思いますが、デバイスによって多少、利用できるリソース量に差がある点が課題でしょう。今後の更なるリソース充実に期待したいと思います。

→その他のAtmelマイコン関連情報

Sponsored Link