I2Cサブシステムを含むサンプルプログラム集を更新

連休中作業していたI2Cサブシステムが完成し、サンプルとしてリリースすることが出来ました。

以下の環境でテストしています

  • Ubuntu 10.04
  • LPCXpresso 3.8.2 [Build 129] [31/01/2011]
  • LPCXpresso 1769 (100MHzで使用)
  • cmsis 2.0

CMSISとサブシステムはアーカイブプロジェクトとなっており、公開されているzipファイルをインポートすると、自動的に 展開されます。大まかな作業手順としては

  1. File→Import→Existing Projects into Workspaceでインポート
  2. cmsisをビルド
  3. subsystemsをビルド
  4. 好きなサンプルをビルド

となります。サンプルビルドに失敗するときには、プロジェクト中の config_projectスクリプトコマンドラインから実行します。実行に失敗する場合は必要なライブラリやツールがUbuntuにインストールされていない可能性があります。その場合はREADMEを参照してください。
I2Cサブシステムの使い心地は、我ながら上々です。割り込みISRやイニシャライザの登録を全部cfgファイルに詰め込んだため、アプリケーション・プログラマから見るとI2Cの操作はread/write関数の呼び出しに過ぎません。詳細はsubsystemのDoxygenコメントを参照してください。
当然ですがRTOSを使っていますので処理は割り込みベースで、ポーリングは行っていません。先日報告したCMSISのバグは修正して使っています。