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 |
コメント
te_kawasaki
自己フォローです。
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に制限しています。
と記載されていますが、これは正しいでしょうか?
at_ohsawa
> 過去のドキュメント(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
at_ohsawa
te_kawasaki
at_ohsawa
2015年12月10日 11時45分
hermitのversionを確認(hermit> version コマンド)して、もし v3.7.0 より古ければ、
tftpdl を使って最新版に更新してみてください。
hermitをtftpdlで更新した時は、電源を一旦切るか、リセットスイッチを
押してください。