カテゴリ:ソフト開発日誌
組み込み SoC の仕事が続いてる。良く出回っているラズベリーパイとかそんな類いのハードウエアで動くドライバの開発だ。リファレンスデザインは SoC メーカーから、評価キットとして提供される。ハードとソフトが一体だ。
開発している製品の最終形態は、評価キットの基板を四角いケースに入れた形とは違う。メモリ、周辺デバイス、基板形状、それぞれ製品として必要な仕様を満たした部品を使い、設計をする。 リファレンスデザインと違うと、「動かない」という状況が発生することがある。SoC メーカーと色々とやりとりをしているうちに、「リファレンスデザインと違う部品や基板は...」と、難色を示し始める。 難な所を一つ、二つ見ていく。 {DRAM | Flash} メモリの様な汎用部品の組み合わせであっても、今時はソフトウエアによる細やかな制御をしないと動かない。動いたとしても詳細な挙動を調べると、未実装だったり、汎用部品として程々に使える程度でベンダー独自の仕様になっている。「別の部品を使うなら、ソフトを頑張って修正・実装してね...」と言うことだ。 電源周りはどうだろうか。電源入/切、休止/再開、Reset/Reboot 動作の際の所で主プロセッサ上のドライバでは操作できない処理がある。このような処理は簡単なシーケンサーや補助プロセッサが行っている。「自分自身や今動作中のプログラムを格納しているメモリの電源を切る・入れる・必要最小限にする」といった処理は難しい。補助プロセッサに格納されるプログラムは多くの場合、バイナリーで提供され、SDK は提供されない。「別の電源制御 IC を使いたい?ならば、補助プロセッサに関する NDA を締結して、さらに社内ツール・レベルの SDK を使ってね」ということになる。 他の周辺デバイスも、リファレンスデザイン通りなら始めから動くデバイス・ドライバ付きだ。オープンソースでソースコードを読めたとして、殆ど関心を持たなくて良い。 開発資金や人員に余裕がある所なら、ハードもソフトも独自実装・あるいは大幅な修正も可能だろう。そんな余裕を持てるところは希少だろう。 大人しくリファレンス・デザイン通り SoC メーカーがチップセットとして提供するものを使うしか無いのだ。汎用部品を組み合わせ、部品メーカーが品質・価格を競い、自由な市場から部品を調達するなんてことはできない。 「安い部品を見つけた!組み合わせると動かない。ドライバ修正してね!」という繰り返しをしているのは良いことなんだろうか。 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2018.08.02 01:27:52
コメント(0) | コメントを書く
[ソフト開発日誌] カテゴリの最新記事
|
|