2013年8月20日火曜日

HAL Component

その2、ソースコード


全体像を簡単に説明。

picncのhal_picnc_jr.compを元にさせていただき、ソースコード中のハイライトした部分を必要に応じて追加、変更しています。マニュアルにはごく単純な例題しかないので、正しい記述になっているのか不明です。BCM2835のレジスタ定義等をしているヘッダーファイル、hal_picnc.mini.hもそのまま利用させていただいてます。

マクロを使って記述した関数は、
  1. EXTRA_SETUP() - GPIOのメモリへのマップ、各ピンの入出力設定。
  2. EXTRA_CLEANUP() - マップ開放、各ピンを入力に設定。
  3. FUNCTION(read_gpio) - GPIO4を入力に使用。
  4. FUNCTION(write_gpio) - GPIO17、18、21、22、23、24、25を出力に使用。
3と4をINIファイルでbaseおよびservoスレッドに登録します。1と2は自動的に呼ばれます。

このコード(ファイル名は、hal_rpi_gpio.compとしました。)を、RPi上でcompコマンドによって、コンパイル、インストールして使用します。

0 件のコメント:

コメントを投稿