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)
“Board Selection”メニューが表示されます。
“Select By Device”にチェックを入れると、デバイスで利用できるリソースを表示できるので、こちらを選択します。なお特定のデモボードを利用したい場合は、”Select By Board”を選択します。
(Board Selection, Select By Device)
ここでは例として、ATmega328Pを選択しています。”OK”ボタンをクリックするとGCC C ASF Board Projectが作成されます。
プロジェクト作成後は、Solution Explorerで、main.c、asf.hなどがソリューションに含まれている事が確認できます。
空のmain.cですが、ASFのヘッダファイル、asf.hがインクルードされています。
以上で、GCC C ASF Board Projectの作成が終了し、ASFのモジュールを利用する準備が整いました。
ASF Wizardによるモジュール導入・管理
ASFのリソースは、ASF Wizardで利用・管理する事ができます。
Solution Explorerの対象ソリューションを右クリックしてポップアップメニューを表示し、”ASF Wizard”を選択します。
“ASF Wizard”のメニューが表示されます。左側の”Available Modules”が利用可能なドライバ等のモジュールで、右側の”Selected Modules”が実際にASF Board Projectで利用中のモジュールとなります。
左側”Available Modules”のモジュールから導入したいモジュールを選択して、”Add>>”ボタンをクリックします。
(ASF Wizard, Available Modules)
右側の”Seleceted Modules”に選んだモジュールが追加されます。ただし、モジュール名の文字が緑色の状態で、変更は未だ適用されていません。なお同様の手順で、”Selected Modules”でモジュールを選択し、”Remove”ボタンを
クリックすると利用しているモジュールを削除する事も出来ます。
(ASF Wizard, Selected Modules)
変更を適用するには、”Apply”ボタンをクリックします。
変更の内容が表示されるので、問題なければ”OK”ボタンをクリックします。
(ASF, Summary of operations …)
モジュール設定の変更が開始されます。
変更が終了すると、”Selected Modules”のモジュール名の文字が緑色でなくなり、モジュールが導入された事を確認できます。
(ASF Wizard, Selected Modules)
以上がASFモジュールの導入および設定変更の手順となります。
ASF Driver Moduleの概要
ASF Wizardでモジュールを導入した後は、Solution ExplorerでもASFのリソースを確認できます。この例では、clock、delay、ioportのサービスやadcドライバ等が導入されています。
asf.hには、導入したASFモジュールのヘッダファイルが自動的にインクルードされています。
この様に、ASF Wizardが、asf.hの書き換えを始めとしたリソースの管理を自動で行ってくれている事が判ります。
まとめ
ASF Wizardを活用する事で、ASF(Atmel Software Framework)のリソースを簡単に利用・管理する事ができます。追加あるいは削除したモジュールは、asf.hに自動的に記述、反映されるので、手間もかかりません。非常に良くできたシステムだと思いますが、デバイスによって多少、利用できるリソース量に差がある点が課題でしょう。今後の更なるリソース充実に期待したいと思います。
Sponsored Link