Armadilloフォーラム

AVコーデックミドルウェアが動きません

te_kawasaki

2015年12月10日 11時31分

手持ちのarmadillo-840でAVコーデックを使ったテストをしようとしています。
hermit> info
Board Type: 0x08400000
Product Revision: 3.2
Lot Number: 0x00000002
Serial Number: 2255
Boot Mode: 0x00000008 (NOR)
ORIG MAC-1: 00:11:0c:16:00:fe
このハードに
hermit> tftpdl 172.xx.yy.69 172.xx.yy.233 --blksize=1024 --kernel=linux-a840-v1.12.bin.gz
hermit> tftpdl 172.xx.yy.69 172.xx.yy.233 --blksize=1024 --userland=romfs-a840-v1.10.img.gz
hermit> tftpdl 172.xx.yy.69 172.xx.yy.233 --blksize=1024 --firmware=squashfs-a800-firmware-v3.02.img
このイメージを入れました。
すると、ブートメッセージの最後で、
acm acm.0: failed to load firmware
failed
となり、起動できません。
ブートメッセージの詳細は、添付ファイルにしました。

よろしくお願いします。

ファイル ファイルの説明
boot_message.zip
コメント

hermitのversionを確認(hermit> version コマンド)して、もし v3.7.0 より古ければ、
tftpdl を使って最新版に更新してみてください。

hermitをtftpdlで更新した時は、電源を一旦切るか、リセットスイッチを
押してください。

自己フォローです。
freeで確認したところ、メモリが512Mになっていました。

[guest@armadillo840-0 (ttySC2) ~]$ free
             total         used         free       shared      buffers
Mem:        512764       241892       270872            0         2732
-/+ buffers:             239160       273604
Swap:            0            0            0

そこで、
hermit> setenv mem=384M
したところ、
acm_h264dec: H.264 Decoder of AV Codec Middleware
acm_aacdec: AAC Decoder of AV Codec Middleware
と、動いたようです。

過去のドキュメント(Howto : AVコーデックミドルウェアを無効にしてメモリを全てLinuxに割り当てる)で、
Armadillo-800シリーズではAVコーデックミドルウェア (ACM)を使用するために、システムメモリ 512MB のうち128MBをACM専用のワーキングメモリとして割り当てる必要があります。そのた め、デフォルトでLinuxカーネルが管理するメモリを384MBに制限しています。

と記載されていますが、これは正しいでしょうか?

> 過去のドキュメント(Howto : AVコーデックミドルウェアを無効にしてメモリを全てLinuxに割り当てる)で、
> Armadillo-800シリーズではAVコーデックミドルウェア (ACM)を使用するために、システムメモリ 512MB のうち128MBをACM専用のワーキングメモリとして割り当てる必要があります。そのた め、デフォルトでLinuxカーネルが管理するメモリを384MBに制限しています。
>
> と記載されていますが、これは正しいでしょうか?

このメモリを制限する機能を hermit 3.7.0 + linux-3.14-at16 からはkernelの起動パラメーターではなく、
hermitがkernelに供給するATAG_MEMというデータ構造で実装するように変更しました。

なので、お手数ですが、kernel だけでなく bootloader も最新版をお使いください。
下記のニュースがそのアップデートに対応します。
http://armadillo.atmark-techno.com/news/20150930/software-update-a800

自己レスです。
不正確だったので訂正します。

> このメモリを制限する機能を hermit 3.7.0 + linux-3.14-at16 からはkernelの起動パラメーターではなく、
"制限するための情報"ですね。

Hermitをアップデートしたところ、正常に画像表示までできました。
ありがとうございました。