V3sを見つけたときに、カメラモジュールを使ってなにか作ろうとしたときに面白そうだな…と思っていじってきてみていたものの、残念ながら過程で壊してしまったのでストーリーは一旦お蔵入り。Lichee Zeroを先に調達しても良かったのだけど、dockとはコネクタ配置が違うし、ちょうどMilk-VとかLuckFoxとか出てきたこともあってそれを先に眺めてみることにした。
両方、入手してはいるけど、問題は、Lichee Zeroとは世代的に違いどちらのボードもMIPIサポート主眼のようであること。MIPIは、解像度などによって使用するレーン数は違うし、信号レベル的規格は共通とはいえ使用するコネクタは統一されていないので、ラズパイでさえ1mmピッチ15pinと、0.5mmピッチ22pinの2種の実装がある。流石に1mmピッチはコネクタサイズが大きくなる関係で、Luckfox、Milk含め0.5mmピッチ品が主流になってきているみたいだけど、ピン数は15、22、24といったところで、ラズパイ用のカメラモジュールが入手しやすいとは言っても、ほぼ間違いなく「ピッチ・ピン数変換コネクタ」が必要になる。
変換コネクタさえ作れてしまえればどちらのボードでも良いのではあるけど、LuckFoxのほうであれば、BT.656を含めCMOS parallelを実装しようとする動きがあるように思えた(あくまでも検索できた範疇で)。
環境づくり
LuckfoxでもMilkでも、結構webを使って一通りの情報が出されてるんじゃないかと思う。Licheeでは中国語主体記事が多くgoogle翻訳使って読む、みたいなケースがあったけど、Luckfox、Milk共英語で書いてくれているのでなんとかならないわけではない。
カメラ(モジュール)を使おうとすると、デバイスドライバをビルドしないとならないとか起こるので、buildrootやらyoctoやらを使ったSDKを、最低一度は通しておく必要がある。LuckfoxにしてもMilkにしても、実際に活用するかどうかは別として、ヘテロなマルチコアSoCを使っている関係で、汎用的に入手できるコンパイラを使えばビルドできるとは限らず、SDKが提供されているならまずそれを使うことになる。必要な情報はwikiにあるのでその内容をたどればよいのだが。ヘテロマルチコアであっても負荷分散とか機能してくれると良いのだけど、どちらも2つコアが入ってまっせーという構成らしい。タスク分けみたいなことができてくれたら良いのにな。
ハマった?
wiki掲載の開発用推奨環境はubuntu Jammy (22.04)ということになっているのだけど、不幸にも?自宅ではDebian使いでtrixieになっている。親戚とはいえ基礎としているツールバージョンが異なることには注意が必要になる。結果として、2つ問題発生。
一つはSDKで使用しているlibffiが若干古いバージョンであることで、そのbuildに失敗する。内容としては https://github.com/mxe/mxe/issues/3082 に記載されているものと同一で、libffiのバージョンを3.4.6にしてしまえばよい。libffi.mk内で、使用するバージョン(=ダウンロードしてくるソース)が指定されているのでそれを書き換えるとともに。予めlibffiソースtgzのsha256を確認し、合わせてlibffi.hashの内容も書き換えてやる必要がある。
もう一つはatmb-wifiドライバのビルド部分で、これ、特にコンパイラなどがリソース食い合いしているとかということが起こっているわけではなく、単にmakeが進まない。一連のbuild script (build.sh)を確認して見ても、特に問題はなさそうに思われるのだけど。
スクリプトを部分実行などしながら確認してみると、trixieとjammyでは、gnutoolsバージョンが違っていると思うけどgccバージョンは関係なく、makeのバージョンが問題であった。
trixieはmake4.4、jammyはmake4.3なのだけど、trixieのmakeを入れ替えるためにbookwormから持ってくるのはリスクがあるように思い、ソースからmakeしてしまう方を選んだ。つまりtrixieデフォルトのmake4.4は/usr/bin/makeのまま、/usr/local/bin/makeにmake4.3を置くことにして、後々alternativesを使って切り替える、か、な…。
atbm-wifiは、make4.3を使えばbuildできたので、全体をビルドし直すことで整った。
とりあえず。
で、こいつをインストールするのか?というと、まだそこまでは試してない。とにかく、開発環境サイドで、必要ならデバドラのビルドなど可能になったので、この先順を追って試していきたい。
0 件のコメント:
コメントを投稿