マイコン工作実験日記

Microcontroller を用いての工作、実験記録

ヘッダファイルの変更

2012-01-06 22:48:50 | Weblog
ふだんARMのソフトを書くときには、好みのせいもあってATMELが提供しているライブラリとかは全く使わないのですが、各種アドレスや周辺デバイスの構造を定義するヘッダファイルだけはATMELのものを使わせてもらっています。

SAM3Sでも同じで、ライブラリだか評価ボードのデモコードだかに含まれていたヘッダを使っています。このヘッダファイル(AT91SAM3S4.h)、最後の更新日付が 7/29/2009と記されていてちょっと前のもの。実際にSAM3Sが買えるようになったのが、2011年になってからですから、ずいぶんと前と言ってもいいのかもしれません。そのせいもあってか、ちょっと気になっていたこともあったのです。一部のレジスタのネーミングがマニュアルと違うとか、そもそも定義されていないとか。。

こんなものをいつまでも使い続けるのも良くないと思い立ち、最近のライブラリをダウンロードしてヘッダ(SAM3S.h)を確認してみました。2010-9-6の日付が記載されています。わたしが使っていたものから、2年の月日を経る間にレジスタの定義抜けやネーミングの修正もちゃんとおこなわれているようです。しかし、変わったのはそれだけではありませんでした。周辺デバイスのレジスタ群を定義する構造体名や、typedefによるそのエイリアスまで変わっているじゃありませんか。これじゃ、新しいヘッダを使うためにはソースを書き換えないといけません。これまでのレジスタ構造体名はSAM7/SAM9の頃からの定義を踏襲した慣れ親しんだものだったのですが、新しいものは短くてわかりやすい名前を心がけたようです。

今後のことを考えれば、今のうちに新しいヘッダに移行すべきでしょう。面倒だけどCMOSカメラとBlueSAMのコードを全て新ヘッダ対応に変更しておこうかと思います。