2361265_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2361265_ja-JP

2361265_ja-JP

DSPレンダラーユニットテストで、i.MX8QM-MEK 上で XAF レンダラーコンポーネントの設定に失敗しました。

こんにちは、

UG10167 i.MX DSP ユーザーの Guide - Rev. のユニットテストを実行しようとしています。LF6.6.36_2.1.0、しかし、私たちは困難に直面しています。具体的には、tensilicaツールチェーンを使用してdsp_frameworkをダウンロードしてコンパイルすることができました。hifi4.binを起動すると、期待どおりに動作します。


# echo start > /sys/class/remoteproc/remoteproc2/state
# dmesg
...
[ 2003.327475] remoteproc remoteproc2: powering up imx-dsp-rproc
[ 2003.328807] remoteproc remoteproc2: Booting fw image imx/dsp/hifi4.bin, size 881668
[ 2003.352398] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node vdev0buffer@94300000
[ 2003.353925] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 2003.353997] rproc-virtio rproc-virtio.2.auto: registered virtio0 (type 7)
[ 2003.354014] remoteproc remoteproc2: remote processor imx-dsp-rproc is now up
[ 2003.354255] virtio_rpmsg_bus virtio0: creating channel rpmsg-raw addr 0x1
[ 2003.354938] virtio_rpmsg_bus virtio0: creating channel rpmsg-raw addr 0x2

しかし、mp3レンダラーのテストを実行しようとするとタイムアウトが発生します。

# /unit_tests/DSP/dsp_rend_test.out -f10 -itest.mp3
****************************************************************
Cadence Audio Framework (Hostless) : 'Decoder + Renderer'
Build: NON_XTENSA, RTOS: Linux, On: May  6 2026 13:02:32
Copyright (c) 2015-2020 Cadence Design Systems, Inc.
Lib Name        : Audio Framework (Hostless)
Lib Version     : 2.6
API Version     : 2.0
****************************************************************
Audio Device Ready
get samplerate 44100, channel 2, width 16
renderer_setup failed, Error code : -110

DEBUGを有効にしようと試みましたが、DSPのドキュメントによると、i.MX8QM-MEKでは動作しないようです。
もう一つは、HiFi4ファームウェアのメモリ割り当てアドレスが、linux-imxリポジトリのこのコミットまではi.MX8 QuadXPlusとi.MX8 QuadMax MEKと同じだったことです。
https://github.com/nxp-imx/linux-imx/commit/01440e5d67c873caccd06e0fc0498ddc70c0f15a

ここで、DSPノードは以下から移動されました。

  • dsp: dsp@596e8000 <- QuadXPlusと同じ
  • dsp: dsp@556e8000 <- 上記のコミット後に変更されました

DSPノードを以前のアドレスに戻し、 imx8qm-mek-rpmsg.dtbを起動することができました。


# find /sys/firmware/devicetree/base/ -name "*dsp*"
/sys/firmware/devicetree/base/bus@5d000000/mailbox@5d280000/fsl,dsp_ap_mu_id
/sys/firmware/devicetree/base/__symbols__/dsp_reserved_heap
/sys/firmware/devicetree/base/__symbols__/dsp_lpcg
/sys/firmware/devicetree/base/__symbols__/dsp_ram_lpcg
/sys/firmware/devicetree/base/__symbols__/dsp_vdev0vring1
/sys/firmware/devicetree/base/__symbols__/dsp_reserved
/sys/firmware/devicetree/base/__symbols__/dsp_vdev0buffer
/sys/firmware/devicetree/base/__symbols__/dsp
/sys/firmware/devicetree/base/__symbols__/vpu_subsys_dsp
/sys/firmware/devicetree/base/__symbols__/dsp_vdev0vring0
/sys/firmware/devicetree/base/reserved-memory/dsp_reserved_heap@93400000
/sys/firmware/devicetree/base/reserved-memory/dsp@92400000
/sys/firmware/devicetree/base/bus@59000000/dsp@596e8000

Tensilicaツールチェーンのリンカーデータはi.MX8 QuadXPlusのアドレスに合わせて構成されているため、この処理を行いました。しかし、これも効果がなく、エラーはそのままだった。

両方

gplay-1.0 test.mp3

同様に

aplay test.wav 

出力先を3.5mmジャックに変更すれば動作します。


コーデックのバイナリファイルが不足している可能性はありますか?

# ls /usr/lib/imx-mm/audio-codec/dsp/
lib_aacd_wrap_dsp.so lib_dsp_voice_process_dummy.so lib_nbamrd_wrap_dsp.so lib_vorbisd_wrap_dsp.so.3
lib_aacd_wrap_dsp.so.3 lib_mp3d_wrap_dsp.so lib_nbamrd_wrap_dsp.so.1 lib_wbamrd_wrap_dsp.so
lib_mp3d_wrap_dsp.so.3 lib_vorbisd_wrap_dsp.so lib_wbamrd_wrap_dsp.so.1


オーディオレンダリングでXAFを有効にすることは、私たちのユースケースにとって必須なので、ご協力いただければ幸いです。


ありがとうございます

ドゥシャン

i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlusマルチメディアRe: dsp renderer unit test fails to setup the XAF renderer component on i.MX8QM-MEK

こんにちは、

i.MX8QMおよびi.MX8QXPプラットフォームでの再生およびキャプチャはサポートされていません。このCASEはi.MX8MPのみがサポートされます。

よろしくお願いいたします。

Re: dsp renderer unit test fails to setup the XAF renderer component on i.MX8QM-MEK

迅速なご返信ありがとうございます。


なぜこのようなCASEになっているのか、具体的にご説明いただけますでしょうか?ハードウェア、DSPファームウェア、あるいはユニットテストアプリケーションのいずれかに関係しているのでしょうか?


よろしくお願いいたします。

ドゥシャン

Re: dsp renderer unit test fails to setup the XAF renderer component on i.MX8QM-MEK

こんにちは、

社内チームによると、i.MX8QM/i.MX8QXPボードは、専用のデバイスツリーを備えたi.MX8MPと同様に、追加の設定が必要となるため、削除されたとのことです。

ご報告いただいたのと同じ問題です。

よろしくお願いいたします。

Re: dsp renderer unit test fails to setup the XAF renderer component on i.MX8QM-MEK

情報ありがとうございます。

それで、あなたが言っていたカスタムdtsを削除するコミットを見つけたと思います。
https://github.com/nxp-imx/linux-imx/commit/0ba5556c6fc3249a1973f57697d740ba0e4c3681

そして、これを基に調整を加えたものを作成した。添付されています。しかし、問題は依然として解決されていない。

DSPファームウェアについてもう少し詳しく調べたいのですが、どういうわけかUART経由でファームウェアからのデバッグを有効にすることができません。私のセットアップは以下のとおりです。

  1. ドキュメントに従って、特定のカーネルバージョン向けにDEBUG=1を設定したファームウェアを作成し、LPUART_BASEアドレスをUART2に変更しました。
  2. DSPノードにUART2(DBG)を追加しました
  3. ドキュメントには次のようなコメントがあります。
    i.MX 8QuadMax ボードでは、UART が
    取られました。
    そこで、ブートローダーをimx-boot-imx8qmmek-sd.bin-flash_splにアップデートしました。これにより、UART1、2、または3をDSPノードに割り当てることができるようになります。それがなければ、起動時にDSPノードは解析されない。

Linux側では、rprocを介して開始コマンドがDSPにエコーされると、UARTクロックが有効になり、DSPノードによって所有されます。動作自体は変わらないが、UARTからの出力がない。

UART経由でDSPデバッグを有効にするにはどうすればよいですか?そもそも可能でしょうか?UARTが占有されているという問題は、SCUファームウェアが原因でしょうか、それとも別の原因でしょうか?

ありがとうございます

ドゥシャン


Tags (1)
No ratings
Version history
Last update:
‎05-16-2026 02:35 AM
Updated by: