2018/10/17

デバイスドライバを書いてみよう04 Linuxドライバとアプリケーションを連携しよう

前回でドライバの基本形である最小のLinuxモジュールを書いたが、今後はどのような実装が必要だろうか?

  1. デバイスとドライバの通信
  2. アプリケーションとドライバのやり取り

が必要だろう。

1は難易度も高いし、実際のデバイスを用意するなど敷居が高いので、とりあえず2から説明する。
今回は、アプリケーションがカーネルのシステムコールを介してドライバとデータをやり取りするようなものを実装したい。

2018/10/16

デバイスドライバを書いてみよう03 Linuxデバイスドライバを書いてみよう

前回まででドライバの概要やデータのやり取り方法を説明した。では実際にデバイスドライバを書いてみよう。
前回に予告したようにLinux用ドライバを書いてみる。簡単なものから順に複数のドライバを書いていきたい。今回はもっとも単純なもので、ドライバのロード時とアンロード時にメッセージを出力するドライバを書く。

まぁこの内容、Raspberry Pi用に書いた以前の記事の内容に含まれているので、それの簡易版となる。すでに実践した人は飛ばしてもOK。

2018/10/14

デバイスドライバを書いてみよう02 続・デバイスドライバって何?

前回でデバイスドライバの立ち位置や仕組みをなんとなく説明したが、実際にデバイスドライバを書く場合、知りたいのは

  1. ドライバの基本的な書き方、組み込み方
  2. デバイスとデータをやり取りする方法
  3. アプリケーションとデータをやり取りする方法

ではないだろうか。

1は、その前に概念や仕組みを説明をしたいので、もう少し後に説明する。今回は2のデータのやり取りなどをもう少し突っ込んで説明したい。
また、3の概要はすでに説明したが、その詳細も2に関連するので今回でもう少し具体的に説明したい。

2018/10/13

デバイスドライバを書いてみよう01 デバイスドライバって何?

IoT的なものづくりをしていると簡単なものはGPIOなどから信号を出して制御するが、複雑になるとデバイスドライバを書いた方がいい場合がある。
規模が大きくなりがちなので、なんでもかんでもドライバを書くのはよくないのだが、必要な場合はある。

今回は、そもそもデバイスドライバって何?という疑問に対する説明をしたい。

2017/11/22

サウンド系API事情05 Android系API

前回はLinuxのサウンドAPIについて説明したが、今回はAndroidのサウンドAPIに関して説明する。
Androidはアプリケーションの実装言語がJavaであるため、またちょっとかわったソフトウェア構成になる。今回はその構造から説明したい。

2017/11/19

サウンド系API事情04 Linux系API

前回はMacのサウンドAPIについて説明したが、今回はLinuxのサウンドAPIに関して説明する。
Linuxはディストリビューションが多数ありそれぞれにモジュール構成の方針があるため、APIが多数ある。しかも、誤解を恐れずにいうがソフトベンダーがデスクトップ版をあまり重要視していないため、それぞれのディストリビューションで規格を統一しようという考え方があまりないようで、採用しているAPIもまちまちだったりする。
こういう事情もあり、複数のLinuxディストリビューションに対応したマルチメディアソフトウェアを作るのは、結構ないばらの道になることだろう。

2017/11/14

サウンド系API事情03 Mac/iOS系API

前回はWindowsのサウンドAPIについて説明したが、今回はMac/iOSのサウンドAPIに関して説明する。

新しいMacはiOSとAPIを同規格にしているものが多い為、昨今のAPIはiOSでも使用出来る。
ただし、サポートしている機能が異なったりレイテンシなどの品質が異なるなど、差異があるため注意が必要だ。
モバイルではバッテリ消費などを気にするため、品質や作法が異なる結果になるようだ。