Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
バグ:iMX8QM:HDMI経由のオーディオが音声停止時にカーネルパニックを引き起こす こんにちは、 これは当時Maxが作成したThreadのフォローアップです。 彼が提供したパッチは、lf-6.18.y には含まれていないため、最終的に適用されなかったようです。 現在、オーディオが停止するとカーネルパニックが発生しています。 root@apalis-imx8-15304854:~# aplay -D sysdefault:CARD=imxaudiohdmitx sound/Gong.wav Playing WAVE 'sound/Gong.wav' : [ 100.599725] [drm] pclkc 533250 is not supported! Signed 16 bit Little Endian, Rate 44100 Hz, Stereo ^CAborted by signal Interrupt... [ 102.674593] SError Interrupt on CPU3, code 0x00000000bf000002 -- SError [ 102.674642] CPU: 3 UID: 0 PID: 630 Comm: aplay Tainted: G M 6.18.39+ #115 PREEMPT [ 102.674664] Tainted: [M]=MACHINE_CHECK [ 102.674671] Hardware name: Toradex Apalis iMX8QM V1.1 on Apalis Evaluation Board V1.2 (DT) [ 102.674680] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 102.674694] pc : cdns_mhdp_bus_write+0x0/0xe4 [cdns_mhdp_drmcore] [ 102.674744] lr : cdns_mhdp_audio_stop+0x40/0x180 [cdns_mhdp_drmcore] [ 102.674769] sp : ffff80009290bc70 [ 102.674774] x29: ffff80009290bc70 x28: ffff00080e893240 x27: 0000000000000000 [ 102.674801] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000 [ 102.674818] x23: 0000000000000000 x22: ffff0008090f1880 x21: ffff000801114a00 [ 102.674837] x20: ffff000809a34b78 x19: ffff000809a34080 x18: 0000000000000000 [ 102.674856] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 102.674874] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [ 102.674892] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 [ 102.674910] x8 : ffff80009290bd78 x7 : 0000000000000000 x6 : 0000000000000000 [ 102.674927] x5 : ffff00080905a880 x4 : ffff00080905a918 x3 : ffff000801150e80 [ 102.674946] x2 : 000000000003004c x1 : ffff000809a34080 x0 : 0000000000000000 [ 102.674968] Kernel panic - not syncing: Asynchronous SError Interrupt [ 102.674978] CPU: 3 UID: 0 PID: 630 Comm: aplay Tainted: G M 6.18.39+ #115 PREEMPT [ 102.674995] Tainted: [M]=MACHINE_CHECK [ 102.675000] Hardware name: Toradex Apalis iMX8QM V1.1 on Apalis Evaluation Board V1.2 (DT) [ 102.675009] Call trace: [ 102.675016] show_stack+0x28/0x7c (C) [ 102.675046] dump_stack_lvl+0x60/0x80 [ 102.675070] dump_stack+0x18/0x24 [ 102.675088] vpanic+0xf8/0x2b4 [ 102.675106] abort+0x0/0x4 [ 102.675120] add_taint+0x0/0xbc [ 102.675145] arm64_serror_panic+0x70/0x80 [ 102.675166] do_serror+0x34/0x74 [ 102.675184] el1h_64_error_handler+0x38/0x60 [ 102.675206] el1h_64_error+0x6c/0x70 [ 102.675222] cdns_mhdp_bus_write+0x0/0xe4 [cdns_mhdp_drmcore] (P) [ 102.675250] audio_shutdown+0x20/0x40 [cdns_mhdp_drmcore] [ 102.675276] hdmi_codec_shutdown+0x58/0x7c [snd_soc_hdmi_codec] [ 102.675302] snd_soc_dai_shutdown+0x54/0x80 [ 102.675327] soc_pcm_clean.isra.0+0x5c/0x1c8 [ 102.675345] soc_pcm_close+0x34/0x58 [ 102.675360] snd_pcm_release_substream.part.0+0x3c/0xc0 [ 102.675378] snd_pcm_release+0x58/0xe0 [ 102.675392] __fput+0xc8/0x2cc [ 102.675408] fput_close_sync+0x38/0x114 [ 102.675423] __arm64_sys_close+0x38/0x7c [ 102.675443] invoke_syscall.constprop.0+0x48/0xc0 [ 102.675464] do_el0_svc+0x3c/0xc0 [ 102.675480] el0_svc+0x40/0x170 [ 102.675495] el0t_64_sync_handler+0xa0/0xe4 [ 102.675511] el0t_64_sync+0x198/0x19c [ 102.675529] SMP: stopping secondary CPUs [ 102.675547] Kernel Offset: 0x4f62f0a00000 from 0xffff800080000000 [ 102.675555] PHYS_OFFSET: 0xfff1000080000000 [ 102.675560] CPU features: 0x100000,00025800,40004001,0400420b [ 102.675571] Memory Limit: none [ 102.952968] ---[ end Kernel panic - not syncing: Asynchronous SError Interrupt ]--- このバグは、 https://github.com/nxp-imx/linux-imx/commit/bbdf7c86aa79c9ead532a2779920a0ac68db4863で導入されました。 この修正は次のBSPリリースに組み込めますか? @Zhiming_Liu  敬具 フランツ・シュナイダー Re: Bug: iMX8QM: Audio over HDMI Creates a Kernel Panic When Audio Stops こんにちは、 内部のCASEはすでにフォローアップして、返答を待っておいてください。 よろしくお願いします、 志明
View full article
i.MX RT1176 – FlexIO2パラレル受信:達成可能な最大シフトクロックは?わずか約48 MSPSしか到達しなかった iMXR1176 SDK 25.09.00 Manifest 3.15.0 ゴール i.MX RT1176に搭載されているLTC2164 16ビットADCからデータを取得しています。データパスは次のとおりです。 LTC2164(フルレートCMOS出力)→FlexIO2(パラレルRX)→eDMA→外部SDRAM ハードウェアのセットアップ LTC2164フルレートCMOS出力モードで構成され、外部100MHz発振器(100MSPS、16ビット並列)でクロックされます。 ADCデータ出力D0–D15はGPIO_AD_00...GPIO_AD_15。 ADC CLKOUT+はGPIO_AD_30に接続され、FlexIOタイマークロック(外部ピンクロックソース)として使用されました。 ソフトウェアのセットアップ FlexIO2は並列レシーバとして構成され、データはシフター7にラッチされます。シフター7から>0は、DMA要求が主張される前に32バイトバッファリングされるようにチェーンされています。 kDmaRequestMuxFlexIO2Request0Request1によってトリガーされたeDMAは、ピンポン(スキャッター/ギャザー)モードで2つのTCDを使用します。各メジャーループ完了時、つまり16384サンプルごとに割り込みが発生します。 FlexIO2の機能クロック:120MHz。 バスクロック(eDMA/SEMC側):240MHz。 問題 100 MSPS の場合、16384 サンプルの処理には163.84 µsかかるはずです。連続する 2 つの DMA 割り込み間の時間を測定 (GPIO トグル + オシロスコープ) すると、常に338 µsという結果が得られ、これは約 2.06 倍です。 これは約48 MSPSの実効持続レートに相当し、ボトルネックはADCやSDRAMではなくFlexIO側にあることを示唆している。 質問 RT1176の並列受信モードにおけるFlexIOの最大シフトクロック周波数に関する公式な文書はありますか?RMやデータシートにはそのような数値は見つかりませんでした。 タイマークロックのソースが外部ピンの場合、FlexIOの機能クロックと外部シフトクロックの比率はどのようになりますか?私のFlexIOクロック(120MHz)は、入力される100MHzクロックのわずか1.2倍ですが、それで十分でしょうか?それとも、入力同期ロジックには2倍または4倍が必要ですか? ほぼ正確な×2の比率を考えると、これはFlexIOタイマーがクロックの両端で減少している(TIMMPの慣例)によるもので、タイマー比較値が実質的にスループットを半分に減らしているのではないでしょうか? この部分でのFlexIO + eDMAの最大現実的な持続スループットについてのガイダンスがあれば、非常に助かります。なぜなら、別のペリフェラルに移行するか外部FIFOに切り替えるかを判断するからです。 よろしくお願いいたします。 通信・制御(I3C |I2C |SPI |FlexCAN |イーサネット |FlexIO) Re: i.MX RT1176 – FlexIO2 parallel receive: maximum achievable shift clock? Only ~48 MSPS reached こんにちは、ご返信ありがとうございます。確かに望ましい性能は達成できましたが、Flexioペリフェラルの推奨クロック周波数を最大を超えたことでしかできませんでした。具体的には、120MHzでクロックを設定するのではなく、100MSpsの取得には200MHz以上のクロック速度が必要ですが、120MHz構成ではクロックエッジがミスされます。問題は、200 MHzで動作しているにもかかわらず(リファレンスマニュアルには最大120 MHzと記載されていますが)、温度条件や生産バッチごとに安定して動作する保証がないことです。 Re: i.MX RT1176 – FlexIO2 parallel receive: maximum achievable shift clock? Only ~48 MSPS reached こんにちは、@azed38 さん。 外部ピンをクロックソースとして使用した場合、わずかな同期レイテンシが発生することに注意してください。RMのセクション67.3.3.2によると、このレイテンシは0.5から1.5 FlexIOクロックサイクルの範囲です。 Habib_MS_1-1788818202534.pngHabib_MS_1-1788818202534.pngHabib_MS_1-1788818202534.png FlexIOとDMAで達成可能な最大スループットに関しては、FlexIOとDMAの性能テストは存在しません。しかし AN12686 、FlexIOとDMAを用いた並列通信実装を示しているため、あなたのユースケースに関連する指針となるかもしれません。 BR ハビブ Re: i.MX RT1176 – FlexIO2 parallel receive: maximum achievable shift clock? Only ~48 MSPS reached こんにちは、@azed38 さん。 このトピックに関してはすでに別のチャネルでサポートを受けているのに気づきましたので、すべてのコミュニケーションを集中管理するために引き続きサポートを続けます。FlexIOを最大周波数仕様を超えて運用すると、最終アプリケーションに影響を与える予期せぬ挙動を引き起こす可能性があることを付け加えたいと思います。RMの表15-4「クロックルート」に記載されている情報に基づき、最大周波数を120MHzにすることを推奨します。 BR ハビブ
View full article
Bug: iMX8QM: Audio over HDMI Creates a Kernel Panic When Audio Stops Hello, This is a follow up from the thread Max created back then. It seems that the patch he provided was at the end not applied as it's not present in lf-6.18.y. Currently, there is a kernel Panic when Audio stops. root@apalis-imx8-15304854:~# aplay -D sysdefault:CARD=imxaudiohdmitx sound/Gong.wav Playing WAVE 'sound/Gong.wav' : [ 100.599725] [drm] pclkc 533250 is not supported! Signed 16 bit Little Endian, Rate 44100 Hz, Stereo ^CAborted by signal Interrupt... [ 102.674593] SError Interrupt on CPU3, code 0x00000000bf000002 -- SError [ 102.674642] CPU: 3 UID: 0 PID: 630 Comm: aplay Tainted: G M 6.18.39+ #115 PREEMPT [ 102.674664] Tainted: [M]=MACHINE_CHECK [ 102.674671] Hardware name: Toradex Apalis iMX8QM V1.1 on Apalis Evaluation Board V1.2 (DT) [ 102.674680] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 102.674694] pc : cdns_mhdp_bus_write+0x0/0xe4 [cdns_mhdp_drmcore] [ 102.674744] lr : cdns_mhdp_audio_stop+0x40/0x180 [cdns_mhdp_drmcore] [ 102.674769] sp : ffff80009290bc70 [ 102.674774] x29: ffff80009290bc70 x28: ffff00080e893240 x27: 0000000000000000 [ 102.674801] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000 [ 102.674818] x23: 0000000000000000 x22: ffff0008090f1880 x21: ffff000801114a00 [ 102.674837] x20: ffff000809a34b78 x19: ffff000809a34080 x18: 0000000000000000 [ 102.674856] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 102.674874] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [ 102.674892] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 [ 102.674910] x8 : ffff80009290bd78 x7 : 0000000000000000 x6 : 0000000000000000 [ 102.674927] x5 : ffff00080905a880 x4 : ffff00080905a918 x3 : ffff000801150e80 [ 102.674946] x2 : 000000000003004c x1 : ffff000809a34080 x0 : 0000000000000000 [ 102.674968] Kernel panic - not syncing: Asynchronous SError Interrupt [ 102.674978] CPU: 3 UID: 0 PID: 630 Comm: aplay Tainted: G M 6.18.39+ #115 PREEMPT [ 102.674995] Tainted: [M]=MACHINE_CHECK [ 102.675000] Hardware name: Toradex Apalis iMX8QM V1.1 on Apalis Evaluation Board V1.2 (DT) [ 102.675009] Call trace: [ 102.675016] show_stack+0x28/0x7c (C) [ 102.675046] dump_stack_lvl+0x60/0x80 [ 102.675070] dump_stack+0x18/0x24 [ 102.675088] vpanic+0xf8/0x2b4 [ 102.675106] abort+0x0/0x4 [ 102.675120] add_taint+0x0/0xbc [ 102.675145] arm64_serror_panic+0x70/0x80 [ 102.675166] do_serror+0x34/0x74 [ 102.675184] el1h_64_error_handler+0x38/0x60 [ 102.675206] el1h_64_error+0x6c/0x70 [ 102.675222] cdns_mhdp_bus_write+0x0/0xe4 [cdns_mhdp_drmcore] (P) [ 102.675250] audio_shutdown+0x20/0x40 [cdns_mhdp_drmcore] [ 102.675276] hdmi_codec_shutdown+0x58/0x7c [snd_soc_hdmi_codec] [ 102.675302] snd_soc_dai_shutdown+0x54/0x80 [ 102.675327] soc_pcm_clean.isra.0+0x5c/0x1c8 [ 102.675345] soc_pcm_close+0x34/0x58 [ 102.675360] snd_pcm_release_substream.part.0+0x3c/0xc0 [ 102.675378] snd_pcm_release+0x58/0xe0 [ 102.675392] __fput+0xc8/0x2cc [ 102.675408] fput_close_sync+0x38/0x114 [ 102.675423] __arm64_sys_close+0x38/0x7c [ 102.675443] invoke_syscall.constprop.0+0x48/0xc0 [ 102.675464] do_el0_svc+0x3c/0xc0 [ 102.675480] el0_svc+0x40/0x170 [ 102.675495] el0t_64_sync_handler+0xa0/0xe4 [ 102.675511] el0t_64_sync+0x198/0x19c [ 102.675529] SMP: stopping secondary CPUs [ 102.675547] Kernel Offset: 0x4f62f0a00000 from 0xffff800080000000 [ 102.675555] PHYS_OFFSET: 0xfff1000080000000 [ 102.675560] CPU features: 0x100000,00025800,40004001,0400420b [ 102.675571] Memory Limit: none [ 102.952968] ---[ end Kernel panic - not syncing: Asynchronous SError Interrupt ]--- This bug has been introduced with https://github.com/nxp-imx/linux-imx/commit/bbdf7c86aa79c9ead532a2779920a0ac68db4863 Can the fix be included to the next BSP release? @Zhiming_Liu  Kind regards Franz Schnyder Re: Bug: iMX8QM: Audio over HDMI Creates a Kernel Panic When Audio Stops Hi, Already follow up the internal case, wait for reply. Best Regards, Zhiming
View full article
AN15075 パッチは適用できません 比較的新しいユーザーマニュアルAN15075ファイル0001-add-AHAB-check-for-imxに言及しています remote-proc-process.patch AN15075SW.zipで見つけました。 このパッチファイルは以下の3行を適用します。 +#ifdef CONFIG_IMX_REMOTEPROC_AHAB +#include +#include +#endif に Linux-IMXからのdrivers/remoteproc/imx_rproc.c しかし、ファイル linux/firmware/imx/se_fw_inc.h存在しない(インターネット上のどこにも) そして、ファイル ele_base_msg はその場所には配置されていません。 Linux-imx lf-6.18.yのブランチ https://github.com/nxp-imx/linux-imx/tree/lf-6.18.y を担当しています 6.6や6.12でも見つけることができませんでした。 このパッチはどのバージョンのlinux-imxに適用すべきでしょうか? PSパッチを追加して無効にすると CONFIG_IMX_REMOTEPROC_AHAB Linux-imxもビルドしません。なぜなら、一部のコードが #ifdef で保護されているため、いくつかのプロパティが存在しなくなったからです。すべてではありません。 Re: AN15075 Patch can't be applied 当時実装したパッチは単なる概念実証に過ぎず、ソフトウェアチームはそれを上流リポジトリに統合することに同意しませんでした。 つまり、これは単なるリファレンス実装です。 その後の移植作業は継続されなかった。 Re: AN15075 Patch can't be applied Yocto Wrynose(Linux 6.18対応)のパッチはNXPで何か変更されますか? Re: AN15075 Patch can't be applied AN15075SWのカーネルパッチをlf-6.6.36-2.1.0に適用する/ BSP lf-6.6.36 。 $ git clone https://github.com/nxp-imx/linux-imx.git      $ git checkout -b lf-6.6.36-2.1.0lf-6.6.36-2.1.0 lf-6.18.y にそのまま適用できるとは期待しないでください。前方移植が必要です。 前方移植を行う場合は、インクルードパスとKconfigガードの両方を修正してください。あなたのPSは部分的なガードバグと一致しています。CONFIG_IMX_REMOTEPROC_AHABを無効にすると、既存のリモートプロシージャパスが構築可能になるはずですが、ANパッチでは、#ifdef CONFIG_IMX_REMOTEPROC_AHAB内でのみ導入された定義またはフィールドに依存する非AHABコードが残っているようです。 Re: AN15075 Patch can't be applied さらに調べてみました: このパッチでは以下のファイルが追加されるようです:[PATCH v4 6/7] firmware: imx: add ドライバ for NXP EdgeLock Enclave しかし、このコミットでは異なる方法で再適用されました:LF-13910: firmware: imx: add ドライバ for NXP EdgeLock Enclave · nxp-imx/Linux@0eff402 Re: AN15075 Patch can't be applied リモートプロシージャコードを修正してELEファームウェアを使用するようにすることは、セカンドコアでAHABを有効にするための推奨される方法でしょうか? Re: AN15075 Patch can't be applied はい。
View full article
AN15075补丁无法应用 较新的用户手册 AN15075 提到了文件 0001-add-AHAB-check-for-imx 远程进程处理补丁 我在 AN15075SW.zip 文件中找到了它。 此补丁文件应用了以下 3 行代码: +#ifdef CONFIG_IMX_REMOTEPROC_AHAB +#include +#include +#endif 到 来自 linux-imx 的 drivers/remoteproc/imx_rproc.c 但是文件 linux/firmware/imx/se_fw_inc.h不存在(在互联网上的任何地方)。 文件 ele_base_msg 并未放置在该位置。 我正在使用 linux-imx lf-6.18.y 分支进行开发:https://github.com/nxp-imx/linux-imx/tree/lf-6.18.y 我在 6.6 和 6.12 版本上也没找到。 这个补丁应该应用到哪个版本的linux-imx? PS如果你添加了补丁并禁用 CONFIG_IMX_REMOTEPROC_AHAB linux-imx 也无法构建,因为某些属性不再存在,这是因为部分代码受到 #ifdef 保护,但并非所有代码都受到保护。 Re: AN15075 Patch can't be applied 我们当时实现的补丁只是一个概念验证,软件团队不同意将其合并到上游存储库中。 所以这只是一个参考实现。 后续的移植工作没有继续进行。 Re: AN15075 Patch can't be applied NXP 是否有可能更新 Yocto Wrynose(Linux 6.18)的补丁? Re: AN15075 Patch can't be applied 将 AN15075SW 的内核补丁应用到 lf-6.6.36-2.1.0/ BSP lf-6.6.36。 $ git clone https://github.com/nxp-imx/linux-imx.git $ git checkout -b lf-6.6.36-2.1.0lf-6.6.36-2.1.0 不要指望它能直接应用于 lf-6.18.y;它必须向前移植。 如果需要向前移植,请同时修复包含路径和 Kconfig 保护。您的 PS 与部分保护错误一致:禁用 CONFIG_IMX_REMOTEPROC_AHAB 应该使现有的 remoteproc 路径可构建,但 AN 补丁似乎使一些非 AHAB 代码依赖于仅在 #ifdef CONFIG_IMX_REMOTEPROC_AHAB 中引入的定义或字段。 Re: AN15075 Patch can't be applied 我又深入调查了一下: 此补丁似乎添加了以下文件: [PATCH v4 6/7] 固件:imx:添加 NXP EdgeLock Enclave 驱动程序 但在这次提交中,它以不同的方式重新应用: LF-13910:固件:imx:添加 NXP EdgeLock Enclave 的驱动程序 · nxp-imx/linux-imx@0eff402 Re: AN15075 Patch can't be applied 修改 remoteproc 代码以使用 ELE 固件仍然是在第二个核心上启用 AHAB 的推荐方法吗? Re: AN15075 Patch can't be applied 是的。
View full article
NXP i.MX93 EVKのNPU温度と使用率を取得する方法 私はi.MX93 EVKを使っており、Ethos-UのNPU温度と稼働率(負荷)を実行時に監視したいのですが、このデータをどうやって取得できますか? 目的は、AIモデルの推論中にハードウェアパラメータを監視することです。 i.MX8MPlusで以下のパラメータを監視できます。i.MX93でも同様のことを実現したいです。 8Mプラス RAM=$(free -m | awk '/Mem:/ {print $3}') CPU_LOAD=$(vmstat 1 2 | tail -1 | awk '{print 100 - $15}') CPU_TEMP=$(awk '{print $1/1000}' /sys/class/thermal/thermal_zone0/temp 2>/dev/null || echo "N/A") GPU_TEMP=$(awk '{print $1/1000}' /sys/class/thermal/thermal_zone1/temp 2>/dev/null || echo "${CPU_TEMP}") GPU_LOAD=$(cat /sys/kernel/debug/gc/load 2>/dev/null | awk '/load/ {gsub("%","",$3); if (max=="" || $3>max) max=$3} END {if (max!="") print max "%"; else print "N/A"}') i.MX93 RAM=$(free -m | awk '/Mem:/ {print $3}') CPU_LOAD=$(vmstat 1 2 | tail -1 | awk '{print 100 - $15}') CPU_TEMP=$(awk '{print $1/1000}' /sys/class/thermal/thermal_zone0/temp) i.MX93 NPU(ethos-u)のGPU_LOADとGPU_TEMPをどうやって監視できますか? Linux Re: How to get NPU Temperature and utilization for NXP i.MX93 EVK こんにちは、@sonal-acldigital i.MX 8M Plusも i.MX 93も、NPU温度をリアルタイムで監視する方法を提供していません。 - imx8MP、thermal_zone0はCPUの温度を表し、thermal_zone1はSoCの温度を表します。 - imx93、thermal_zone0はCPUの温度を表します。 - NPU、 nputopのようなツールは存在しません。 パフォーマンスチューニングに関する情報については、セクション7.1.2を参照してください。「ハードウェアアクセラレータのプロファイリング」、 MLユーザーガイドに収録。 B.R Re: How to get NPU Temperature and utilization for NXP i.MX93 EVK @pengyong_zhang i.MX 8M Plusとi.MX 93の熱ゾーンについてご説明いただきありがとうございます。以下の点を明確にしていただけますか? i.MX8MPLUS 1. GPU温度: 個別のGPU温度を読み取る専用のシステムパス(/sys/class/thermal/thermal/thermal_zoneX/temp)はありますか?それともソックサーマルゾーン(thermal_zone1)だけでカバーされているのでしょうか? 2. GPU負荷: /sys/kernel/debug/gc/loadを読み込むことがGPU負荷の確認の標準的な方法ですか?それともMLユーザーガイドのセクション7.1.2に詳述されている手順も必要ですか? i.MX93: NPUの負荷と温度を監視するネイティブツール(nputopなど)がないため、次の点について質問させてください。推論の実行をNPUにオフロードした場合とCPUのみで実行した場合のCPU負荷の減少を測定することで、相対的なNPU使用率を導き出すことは妥当でしょうか? もしこの方法が推奨されていない場合、推論実行中のNPU活動を推定するために使える代替のドライバーノードやパフォーマンスカウンターはありますか?
View full article
漏洞:iMX8QM:通过HDMI传输音频时,音频停止会导致内核崩溃 你好, 这是对Max 当时创建的帖子的后续讨论。 看来他提供的补丁最终并没有应用,因为 lf-6.18.y 中没有这个补丁。 目前,音频停止播放时会发生内核崩溃。 root@apalis-imx8-15304854:~# aplay -D sysdefault:CARD=imxaudiohdmitx sound/Gong.wav Playing WAVE 'sound/Gong.wav' : [ 100.599725] [drm] pclkc 533250 is not supported! Signed 16 bit Little Endian, Rate 44100 Hz, Stereo ^CAborted by signal Interrupt... [ 102.674593] SError Interrupt on CPU3, code 0x00000000bf000002 -- SError [ 102.674642] CPU: 3 UID: 0 PID: 630 Comm: aplay Tainted: G M 6.18.39+ #115 PREEMPT [ 102.674664] Tainted: [M]=MACHINE_CHECK [ 102.674671] Hardware name: Toradex Apalis iMX8QM V1.1 on Apalis Evaluation Board V1.2 (DT) [ 102.674680] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 102.674694] pc : cdns_mhdp_bus_write+0x0/0xe4 [cdns_mhdp_drmcore] [ 102.674744] lr : cdns_mhdp_audio_stop+0x40/0x180 [cdns_mhdp_drmcore] [ 102.674769] sp : ffff80009290bc70 [ 102.674774] x29: ffff80009290bc70 x28: ffff00080e893240 x27: 0000000000000000 [ 102.674801] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000 [ 102.674818] x23: 0000000000000000 x22: ffff0008090f1880 x21: ffff000801114a00 [ 102.674837] x20: ffff000809a34b78 x19: ffff000809a34080 x18: 0000000000000000 [ 102.674856] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 102.674874] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [ 102.674892] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 [ 102.674910] x8 : ffff80009290bd78 x7 : 0000000000000000 x6 : 0000000000000000 [ 102.674927] x5 : ffff00080905a880 x4 : ffff00080905a918 x3 : ffff000801150e80 [ 102.674946] x2 : 000000000003004c x1 : ffff000809a34080 x0 : 0000000000000000 [ 102.674968] Kernel panic - not syncing: Asynchronous SError Interrupt [ 102.674978] CPU: 3 UID: 0 PID: 630 Comm: aplay Tainted: G M 6.18.39+ #115 PREEMPT [ 102.674995] Tainted: [M]=MACHINE_CHECK [ 102.675000] Hardware name: Toradex Apalis iMX8QM V1.1 on Apalis Evaluation Board V1.2 (DT) [ 102.675009] Call trace: [ 102.675016] show_stack+0x28/0x7c (C) [ 102.675046] dump_stack_lvl+0x60/0x80 [ 102.675070] dump_stack+0x18/0x24 [ 102.675088] vpanic+0xf8/0x2b4 [ 102.675106] abort+0x0/0x4 [ 102.675120] add_taint+0x0/0xbc [ 102.675145] arm64_serror_panic+0x70/0x80 [ 102.675166] do_serror+0x34/0x74 [ 102.675184] el1h_64_error_handler+0x38/0x60 [ 102.675206] el1h_64_error+0x6c/0x70 [ 102.675222] cdns_mhdp_bus_write+0x0/0xe4 [cdns_mhdp_drmcore] (P) [ 102.675250] audio_shutdown+0x20/0x40 [cdns_mhdp_drmcore] [ 102.675276] hdmi_codec_shutdown+0x58/0x7c [snd_soc_hdmi_codec] [ 102.675302] snd_soc_dai_shutdown+0x54/0x80 [ 102.675327] soc_pcm_clean.isra.0+0x5c/0x1c8 [ 102.675345] soc_pcm_close+0x34/0x58 [ 102.675360] snd_pcm_release_substream.part.0+0x3c/0xc0 [ 102.675378] snd_pcm_release+0x58/0xe0 [ 102.675392] __fput+0xc8/0x2cc [ 102.675408] fput_close_sync+0x38/0x114 [ 102.675423] __arm64_sys_close+0x38/0x7c [ 102.675443] invoke_syscall.constprop.0+0x48/0xc0 [ 102.675464] do_el0_svc+0x3c/0xc0 [ 102.675480] el0_svc+0x40/0x170 [ 102.675495] el0t_64_sync_handler+0xa0/0xe4 [ 102.675511] el0t_64_sync+0x198/0x19c [ 102.675529] SMP: stopping secondary CPUs [ 102.675547] Kernel Offset: 0x4f62f0a00000 from 0xffff800080000000 [ 102.675555] PHYS_OFFSET: 0xfff1000080000000 [ 102.675560] CPU features: 0x100000,00025800,40004001,0400420b [ 102.675571] Memory Limit: none [ 102.952968] ---[ end Kernel panic - not syncing: Asynchronous SError Interrupt ]--- 此错误是由https://github.com/nxp-imx/linux-imx/commit/bbdf7c86aa79c9ead532a2779920a0ac68db4863引入的。 能否将此修复程序包含在下一个 BSP 版本中? @刘志明 此致敬礼 弗朗茨·施奈德 Re: Bug: iMX8QM: Audio over HDMI Creates a Kernel Panic When Audio Stops 你好, 已跟进内部案件,等待回复。 此致, 志明
View full article
如何获取 NXP i.MX93 EVK 的 NPU 温度和利用率 我正在使用 i.MX93 EVK,想要监控 Ethos-U NPU 在运行时的温度和利用率(负载),请问如何获取这些数据? 本次议程旨在监测人工智能模型推理过程中的硬件参数。 我可以使用 i.MX8MPlus 监测以下参数,我想在 i.MX93 中实现类似的功能。 8MPlus RAM=$(free -m | awk '/Mem:/ {print $3}') CPU_LOAD=$(vmstat 1 2 | tail -1 | awk '{print 100 - $15}') CPU_TEMP=$(awk '{print $1/1000}' /sys/class/thermal/thermal_zone0/temp 2>/dev/null || echo "N/A") GPU_TEMP=$(awk '{print $1/1000}' /sys/class/thermal/thermal_zone1/temp 2>/dev/null || echo "${CPU_TEMP}") GPU_LOAD=$(cat /sys/kernel/debug/gc/load 2>/dev/null | awk '/load/ {gsub("%", "$3"); if (max== || $3>max) max=$3} END {if (max!=) print max "%"; else print "N/A"}') i.MX 93 RAM=$(free -m | awk '/Mem:/ {print $3}') CPU_LOAD=$(vmstat 1 2 | tail -1 | awk '{print 100 - $15}') CPU_TEMP=$(awk '{print $1/1000}' /sys/class/thermal/thermal_zone0/temp) 如何监测 i.MX93 npu(ethos-u) 的 GPU_LOAD 和 GPU_TEMP? Linux Re: How to get NPU Temperature and utilization for NXP i.MX93 EVK 你好@sonal-acldigital i.MX 8M Plus 和 i.MX 93 都没有提供实时监测 NPU 温度的方法。 - imx8MP,thermal_zone0 表示 CPU 温度,thermal_zone1 表示 SoC 温度。 - imx93,thermal_zone0 表示 CPU 温度。 - NPU,没有像 nputop 这样的工具。 有关性能调优的信息,请参阅第 7.1.2 节。《机器学习用户指南》中的“硬件加速器性能分析”。 B.R Re: How to get NPU Temperature and utilization for NXP i.MX93 EVK @pengyong_zhang感谢您澄清 i.MX 8M Plus 和 i.MX 93 的热区划分。请您澄清以下问题: i.MX8MPLUS 1. GPU 温度:是否有专门的系统路径(如 /sys/class/thermal/thermal_zoneX/temp)来读取单个 GPU 温度,还是仅包含在 soc-thermal 区域(thermal_zone1)中? 2. GPU 负载:读取 /sys/kernel/debug/gc/load 是检查 GPU 负载的标准方法吗?还是也需要按照 ML 用户指南第 7.1.2 节中详述的过程进行检查? i.MX93: 由于没有像 nputop 这样的原生工具来监测 NPU 负载和温度,我们想问:将推理执行卸载到 NPU 与单独在 CPU 上运行相比,通过测量 CPU 负载的减少量来推导出相对 NPU 利用率是否有效? 如果这种方法不推荐,是否有其他驱动节点或性能计数器可以用来估算推理运行期间的 NPU 活动?
View full article
i.MX95/i.MX952 - LPDDR5/LPDDR4X memory compatibility guide The purpose of this document is to provide extended guidance for selection of compatible LPDDR5 and LPDDR4x memory devices that are supported by the i.MX 95 and i.MX 952 processors. In all cases, it is strongly recommended to follow the DRAM layout guidelines outlined in the NXP Hardware Developer's Guides for the specific SoCs. Please note that some of the LPDDR4x devices may not support operation at low speeds and in addition, DQ ODT may not be active, which can impact signal integrity at these speeds. If low speed operation is planned in the use case, please consult with the memory vendor the configuration aspects and possible customization of the memory device so correct functionality is ensured. LPDDR5 - maximum supported densities SoC Max Data bus width Maximum density Assumed memory organization Notes i.MX 95 32-bit 128Gb/16GB dual rank, dual channel device with 17-row addresses and x8 (byte mode) organization 1, 3, 7 i.MX 952 32-bit 128Gb/16GB dual rank, dual channel device with 17-row addresses and x8 (byte mode) organization 1, 3, 7, 9   LPDDR5 - list of validated memories Note: The memory vendors often list their devices as LPDDR5x in their high-level product information while in fact, they are in most cases backward compatible with the LPDDR5 mode. This may lead to the false impression that there are not so many LPDDR5 devices on the market. In such cases, it is strongly recommended to check the full datasheet to confirm if the device is in fact LPDDR5/LPDDR5x or LPDDR5x only. The SoC cannot be used with devices that only support the LPDDR5X mode. The validation process is an ongoing effort - regular updates of the table are expected. SoC Density Memory Vendor  Validated Memory Part#  Notes i.MX 95 128Gb/16GB Micron MT62F4G32D8DV-023 FAAT:C - 64Gb/8GB  Samsung K3KL9L90QM-MHCT - 32Gb/4GB  Samsung K3KL8L80QM-MHCT 2 32Gb/4GB  Samsung K3KL8L80EM-MUCV 2        64Gb/8GB  SK HYNIX H58G66DK9VX067N 2 64Gb/8GB Micron MT62F2G32D4DS-023 FAAT:C 2, 6 32Gb/4GB Micron MT62F1G32D2DS-020 WT:D 2 16Gb/2GB Micron MT62F1G16D1DS-023 IT:B 2 64Gb / 8GB Rayson RS2G32LO5D24DB-31BT 2 32Gb/4GB Rayson ATL5X4G32M7E-31IT 2 64Gb / 8GB CXMT CXDB6CCBM-MA-A 2 i.MX 952 128Gb/16GB Micron MT62F4G32D8DV-023 FAAT:C 9 32Gb/4GB Micron MT62F1G32D2DS-020 WT:D 2   LPDDR5 - list of incompatible devices The SoC cannot be used with memory devices that only support the LPDDR5x mode. LPDDR4x - maximum supported densities SoC Max Data bus width Maximum density Assumed memory organization Notes i.MX 95 32-bit 128Gb/16GB dual rank, dual channel device with 17-row addresses 1 i.MX 952 32-bit 128Gb/16GB dual rank, dual channel device with 17-row addresses 1, 9   LPDDR4x - list of validated memories The validation process is an ongoing effort - regular updates of the table are expected. SoC Density Memory Vendor Validated Memory Part# Notes i.MX 95 64Gb/8GB Micron   MT53E2G32D4DE-046 AUT:C  5 8Gb/1GB Micron MT53E256M32D1KS-046 IT:L 2 128Gb/16GB Micron MT53E4G32D8GS-046 2 64Gb/8GB SK Hynix H54G66BYYVPX104 2 32Gb/4GB Intelligent Memory IMBG32L4KBB_V10 2 48Gb/6GB Micron MT53E1536M32D4DT-046 WT:A 3, 8 24Gb/3GB Micron MT53E768M32D4DT-053 AIT:E 3, 8 8Gb/1GB Samsung K4U8E3S4ADGHCL  2 32Gb/4GB Intelligent Memory IMBG32LK4BBG-046I 2 32Gb/4GB Alliance Memory AS4C1G32MD4V-046BIN 2 64Gb/8GB Rayson ATL4X8G32M2D-46IT 2 64Gb/8GB Rayson ATL4X8G32M2D-46AIT 2 64Gb/8GB DW DWCTB36HLC0 2 8Gb/1GB Alliance Memory AS4C256M32MD4V-062BAN 2 32Gb/4GB ISSI IS46LQ32K01S2A-046BLA2 2 32Gb/4GB Nanya NT6AT1024T32AV-J1 2 64Gb/8GB Nanya NT6AT2048F32AV-J1 2 i.MX 952 64Gb/8GB Micron   MT53E2G32D4DE-046 AUT:C  9   LPDDR4/4X - list of incompatible devices Note: This SoC supports LPDDR4x memory devices. This SoC is not compatible with memories that only support LPDDR4. Combo Devices that support both LPDDR4x and LPDDR4 are compatible with the SoC. Note 1: The numbers are based purely on the IP documentation for the DDR Controller and the DDR PHY, on the settings of the implementation parameters chosen for their integration into the SoC, SoC reference manual and on the JEDEC standards JESD209-5 (LPDDR5) and JESD209-4C/JESD209-4-1 (LPDDR4/4X). Therefore, they are not backed by validation, unless said otherwise and there is no guarantee that an SoC with the specific density and/or desired internal organization is offered by the memory vendors. Should the customers choose to use the maximum density and assume it in the intended use case, they do it at their own risk. Note 2: The memory part number did not undergo full JEDEC verification however, it passed all functional testing items. Note 3: Memory devices with binary densities (e.g., 1 GB, 2 GB, 4 GB) are preferred because they simplify memory management by aligning with system addressing schemes and reducing software complexity. Note 4: All memory parts are available at vendors unless stated otherwise. Checked Q2 2026 Note 5: Memory device supports both LPDDR4x and LPDDR4, however can only be used in LPDDR4x mode Note 6: Not validated by NXP but confirmed working on a non NXP Board Note 7: The maximum density supported may change in the future when DRAM vendors make higher density options available Note 8: This DRAM part number is not recommended for new designs Note 9: This SoC is in Pre-Production IMX95EVK
View full article
[lx2080a][lx2160a] 如何关闭 CPU 核心? 对于LX2080A,我们需要禁用8个核心中的4个。请问如何关闭8个核心中的特定4个核心? 为了进行测试,我将以下内容添加到 rcw_2200_750_3200_19_5_2.rcw 文件中,但它无法启动。 .pbi 写入 0x01e00094, 0x00000f0 。结尾 还有其他需要修改的地方吗? Re: [lx2080a][lx2160a] How do I turn off CPU cores? 如果目的是保持前四个 LX2080A 集群处于活动状态,并禁用后面四个活动核心,请使用 physical-core 位图: 复制 # 禁用物理核心 8、10、12、14 .pbi 写入 0x01e00094, 0x00005500 。结尾 Re: [lx2080a][lx2160a] How do I turn off CPU cores? 我们应用了它。但它没能启动。 .pbi 写入 0x01e60060,0x0000000f 写入 0x01e00094,0x000000f0 。结尾 因此,在未应用该版本的情况下,我从 uboot 提示符读取寄存器,如下所示。 看来活跃核心的数量是奇数。 > md.l 0x01e00094 01e00094: 00000000 00000000 00000000 00000000 ................ 01e000a4: 87360220 00000040 00000000 00000000 .6.@........... => md.l 0x01e60060 01e60060: 0000aaaa 00000000 00000000 00000000 ................ 01e60070: 00000000 00000000 00000000 00000000 ................ 这会不会是原因? 谢谢 Re: [lx2080a][lx2160a] How do I turn off CPU cores? 您设置的目标寄存器用于禁用核心是正确的,但我建议不要只做如下更改: .pbi 写入 0x01e00094, 0x00000f0 。结尾 使用完整的 32 位值,并确保启动/版本路径不会尝试启动已禁用的核心: .pbi 写入 0x01e00094, 0x000000f0   /* COREDISR: 禁用核心 4、5、6、7 */ 。结尾 0x01e00094 是 DCFG + 0x94;LX2160A/LX2080A RM 列出了 DCFG 基地址 = 0x1E0_0000 和偏移量为 0x94 的 COREDISR。COREDISR 是用于禁用/时钟门控未使用的物理内核的已记录机制,可以在 PBI 系统就绪之前对其进行编程。核心 4-7 的位/字段对应于核心 4 禁用到核心 7 禁用,因此,如果您想保留核心 0-3 并禁用核心 4-7,则 0x000000f0 是预期掩码。 另一个重要的附加项目是启动版本。对于 LX2/LS2 四核处理器,官方/内部指南建议配对: 启动 版本 @ 0x01e60060 = 0x0000000f COREDISR     @ 0x01e00094 = 0x000000f0   /* 禁用 Core7:4 */ 因此,只有核心 0-3 被释放用于启动,而核心 4-7 被禁用。启动释放寄存器 BRRL 位于 RST 基址 0x1E6_0000 + 0x60,其位 CR0...CR15 将相应的内核从启动保持状态中释放出来。还要确认主启动核心未包含在您的 COREDISR 掩码中;RM 表示可以通过 BRCORENBR[CORE_NBR] 识别启动核心。 两种用于检查启动失败的实用方法: 请使用 0x000000f0,而不是 0x00000f0,以避免任何解析器/工具歧义。 如果 RCW/PBI 映像使用 STOP-with-CRC 命令,则在更改 PBI 后重建必须更新 PBI CRC;CRC 涵盖从 Load RCW 命令到 STOP-with-CRC 命令的所有 PBI 命令。 启动后,通过读取 COREDISR 和核心禁用状态寄存器来确认结果;LX2 实验使用 COREDISABLESR @ 0x01E00990 来确认禁用核心掩码。另请注意,通过 COREDISR 禁用的核心以后不得通过软件重新启用。 对于“保留核心 0-3,禁用核心 4-7”,请使用 COREDISR = 0x000000f0,并确保启动释放掩码仅释放活动核心,例如:BRRL = 0x0000000f;否则固件可能会尝试启动您已禁用的核心。 Re: [lx2080a][lx2160a] How do I turn off CPU cores? .pbi 写入 0x01e00094,0x00005500 写入 0x01e60060,0x000000aa 。结尾 我们应用了它。但是它无法启动。 还有其他需要调查的事项吗? Re: [lx2080a][lx2160a] How do I turn off CPU cores? 系统可以启动,但结果如下。 => md.l 0x01e00094 01e00094: 0000aa00 00000000 00000000 00000000 ................ 01e000a4: 87360220 00000040 00000000 00000000 .6.@........... => md.l 0x01e60060 01e60060: 0000aaaa 00000000 00000000 00000000 ................ 01e60070: 00000000 00000000 00000000 00000000 ................ 内核还检测到 8 个 CPU。 您能在LX2080a上测试一下吗? 谢谢, Re: [lx2080a][lx2160a] How do I turn off CPU cores? LX2160A 的核心编号是按照簇组的顺序排列的。16 个核心分为 8 个簇,每个簇包含两个核心。编号如下: 核心 0 和 1 位于集群 1 中 核心 2 和 3 位于集群 2 中 ... 以此类推,直到第 14 和 15 号核心,它们位于第 8 集群中。 禁用集群中的所有核心会导致系统崩溃。所以你的目的不可能实现。 Re: [lx2080a][lx2160a] How do I turn off CPU cores? 请尝试以下配置。 .pbi 写入 0x01e00094,0x0000aa00 写入 0x01e60060,0x000000aa 。结尾 Re: [lx2080a][lx2160a] How do I turn off CPU cores? 结果似乎相同。 => md.l 0x01e00094 01e00094: 00008888 00000000 00000000 00000000 ................ 01e000a4: 87360220 00000040 00000000 00000000 .6.@.......... . => md.l 0x01e60060 01e60060: 0000aaaa 00000000 00000000 00000000 ................ 01e60070: 00000000 00000000 00000000 00000000 ................ Re: [lx2080a][lx2160a] How do I turn off CPU cores? 似乎禁用集群中的所有核心会导致系统崩溃。 我们只禁用一个集群中的一个核心。 .pbi 写入 0x01e00094, 0x00008888 写入 0x01e60060, 0x00002222 。结尾 Re: [lx2080a][lx2160a] How do I turn off CPU cores? 以下设置似乎正确。 .pbi 写入 0x01e00094, 0x00005500 写入 0x01e60060, 0x000000aa 。结尾 关于 `0x01e60060` 释放寄存器中的值 `0x0000aaaa`,我认为核心 1、3、5、7、9、11、13 和 15 是已禁用的核心(用 1 表示),而核心 0、2、4、6、8、10、12 和 14(用 0 表示)是 LX2080A 实际支持的活动核心。 每个集群连接一个核心,共八个集群,必须禁用四个集群;这样就剩下四个活动核心——每个剩余的四个集群中各有一个。但即使在修改了 `COREDISR` 和 `BRRL` 之后,`BRRL` 和 `COREDISABLESR` 寄存器仍然显示 `0x0000aaaa`。 因此,我检查了 `atf/nxp/soc-lx2160/soc.c` 中的 SoC 初始化例程(其中簇计数最初设置为 8),并将簇数更改为 4 后,系统成功启动。目前,我在 `get_num_cluster()` 中将该值硬编码为 4,但我希望得到其他建议或反馈。 => md.l 0x01e00094 01e00094: 00005500 00000000 00000000 00000000 .U.............. => md.l 0x01e60060 01e60060: 0000ffaa 00000000 00000000 00000000 ................ => md.l 0x01e00990 01e00990: 0000ffaa 00000000 00000000 00000000 ........ 谢谢。
View full article
S32K312 Freertos build issue for the FreeRTOS_Toggle_Led_Example_S32K312 Hi Team, I have downloaded the following RTD and FreeRTOS packages from the NXP website: SW32K3_RTD_R23-11_7.0.1_P02_D2603_DesignStudio_updatesite.tar SW32K3_FreeRTOS_11.1.0_0.8.0_CD1_D2603_DesignStudio_updatesite.tar I am using a Windows system and have successfully imported/opened the FreeRTOS_Toggle_Led_Example_S32K312 project in S32 Design Studio (V3.6.10). However, when I try to build the application, I encounter the error #include "FreeRTOSConfig.h file not found as shown in the attached screenshot (BE1). Additionally, when I open the project's .mex file, Config Tools displays the following error (Refer attached Mex file) "The tool does not support the selected processor." Could you please guide me on the following points? Is there any specific version of S32 Design Studio required for these RTD and FreeRTOS packages? Are there any additional updates, plugins, or device support packages that need to be installed for S32K312? What is the correct procedure to build and run the FreeRTOS_Toggle_Led_Example_S32K312 sample application? My end goal is to run FreeRTOS on the S32K312 EVB. Could you please advise on the recommended setup and installation steps? I have attached the build error screenshots (BE1 and Mex) for reference. Thank you for your support. Best regards, Pramod Jadhav Re: S32K312 Freertos build issue for the FreeRTOS_Toggle_Led_Example_S32K312 Thanks for the quick update the given RTD version is resolved my issue. Re: S32K312 Freertos build issue for the FreeRTOS_Toggle_Led_Example_S32K312 Hi, the SW32K3_RTD_R23-11_7.0.1_P02_D2603_DesignStudio_updatesite.zip includes just Crypto driver. You need to install based RTD package first before adding FreeRTOS one. PetrS_0-1788946493548.pngPetrS_0-1788946493548.png Once you have RTD & FreeRTOS sucesfully installed, just create new project from example PetrS_1-1788946542398.pngPetrS_1-1788946542398.png After it is loaded, open mex file and click on Update Code button. It should add missing drivers etc.  Then you can Build the demo You can also right click on project in Project Explorer window and select Update Code and Build Project. PetrS_0-1788946711279.pngPetrS_0-1788946711279.png BR, Petr
View full article
アーカイブされたS32K3 FreeRTOS 2.0.0およびTCP/IP 1.0.1パッケージをNXPアカウントに追加するリクエスト こんにちは、NXPサポートチームの皆さん、 私は S32 Design Studio 3.4とS32K3 RTD 2.0.0を使って、S32K344プロジェクトに取り組んでいます。私はすでに動作中のイーサネット/lwIPプロジェクトを持っており、もともとは以下のソフトウェアバージョンで作成されました。 S32 デザインスタジオ:3.4 S32K3 RTD: 2.0.0 FreeRTOS: 10.4.6 UOS 2.0.0 S32K3 TCP/IPスタック:RTM 1.0.1 次に、構成ツールでプロジェクトを修正して、FlexCAN構成を追加する必要があります。しかし、現在のS32DSのインストールには、対応するFreeRTOSとTCP/IP設定ツールパッケージがインストールされていません。 このため、 Update Codeを使用すると、Configuration Toolsは既存のFreeRTOS/lwIPコンポーネントを認識せず、次のようなファイルの削除を提案します。 FreeRTOSConfig.h lwipcfg.h lwipopts.h lwippools.h netifcfg.h netifcfg.c 私のアカウントで利用可能な新しいパッケージはこのプロジェクトと互換性がありません。例えば、FreeRTOS 2.0.1とTCP/IP 1.0.1 HF1はRTD 2.0.1に準拠していますが、私のプロジェクトはRTD 2.0.0に基づいています。 対応するFreeRTOS 2.0.0パッケージはアーカイブされていると理解しています。以下のアーカイブ済みパッケージへのアクセスを私のNXPアカウントに追加していただけますか? SW32K3_FreeRTOS_10_4_6_UOS_2_0_0_DS_updatesite_D2204.zip そして可能であれば、対応するTCP/IPパッケージも含めます: S32K3_TCPIP_RTM_1_0_1_D2205_updatesite.zip これらのパッケージは、既存のプロジェクトを元のソフトウェアバージョンで開いて再生成し、プロジェクト全体を別のRTDリリースに移行する必要がないために必要です。 私の目標は:   MCU: S32K344 S32DS: 3.4 S32K3 RTD: 2.0.0 FreeRTOS: 10.4.6 UOS 2.0.0 TCP/IP Stack: RTM 1.0.1 これらのアーカイブされたダウンロードを私のアカウントで有効にしていただけるか、正しい取得手順を教えていただけませんか? よろしくお願いします。 Re: Request to add archived S32K3 FreeRTOS 2.0.0 and TCP/IP 1.0.1 packages to my NXP account こんにちは、 @Aaditya773 さん。 古いリリースにアクセスしようとしているのは理解しています。これらの古いパッケージは古く、現在は積極的に管理されていませんが、もしアカウントが以前にパッケージへのアクセスをリクエストしていれば、Flexeraポータル内の「前回」タブから確認できるはずです。 Julin_AragnM_0-1788887530794.pngJulin_AragnM_0-1788887530794.pngJulin_AragnM_0-1788887530794.pngJulin_AragnM_0-1788887530794.png もしアカウントにアクセスできない場合は、より持続可能な方法として、プロジェクトをRTD 6.0.0またはRTD 7.0.0に移行することをお勧めします。新しいRTD(およびFreeRTOSやStackのリリース)は、既知の問題、バグ修正、最適化、そしてK3派生モデルのより広範なサポートを提供しています。 新しいRTDパッケージでのイーサネット実現に関するコミュニティの例はいくつかあります: 例:S32K358、GMAC、lwIP、FreeRTOS、RDBESS、S32DS 3.6.1、RTD600 例:S32K389 GMAC1 SABRE lwIP FreeRTOS S32DS 3.6.1 RTD600 例:S32K344 EMAC lwIP FreeRTOS miniEVB S32DS 3.6.1 RTD 6.0.0 [RTD600 MCAL] サンプル FRDM-A-S32K358 EMAC lwIP FreeRTOS S32DS 3.6 RTD 6.0.0 RTD 6.0.0では、以下の互換パッケージをインストールできます: SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_DesignStudio_updatesite.zip SW32K3_FreeRTOS_11.1.0_6.0.0_CD1_D2506_DesignStudio_updatesite.zip SW32K3_TCPIP_STACK_3.0.0_D2507_DesignStudio_updatesite.zip RTD 7.0.1の場合、以下の互換性のあるパッケージをインストールできます: SW32K3_S32M27x_RTD_R23-11_7.0.1_D2603_DesignStudio_updatesite.zip SW32K3_FreeRTOS_11.1.0_7.0.0_CD1_HF1_D2511_DesignStudio_updatesite.zip SW32K3_TCPIP_STACK_5.0.0_CD01_D2605_DesignStudio_updatesite.zip もし古いパッケージが必要で、古いSWバージョンの開発を続ける必要がある場合は、担当の代理店またはNXPの担当者にご連絡ください。 よろしくお願いします、 ジュリアン Re: Request to add archived S32K3 FreeRTOS 2.0.0 and TCP/IP 1.0.1 packages to my NXP account こんにちは、ジュリアンさん。 ご回答いただき、またRTD 6.0.0への移行パスをご共有いただき、ありがとうございます。 新しい環境を設定してみましたが、残念ながら古いS32K344-WBプロジェクトは新しいソフトウェアスタックで正しく動作しません。このプロジェクトは元々、旧世代のS32DS 3.4 / PlatformSDK 2.0.0をベースに作成されたため、元の構成の一部は新しい環境にスムーズに移行できません。 このプロジェクトは具体的には以下に依存しています。 S32 デザインスタジオ 3.4 S32K344 / S32K3 プラットフォームSDK 2.0.0 ${PLATFORMSDK_S32K3_2022_03_S32K344_M7_2.0.0_PATH} SW32K3_RTD_4_4_2_0_0_D2203 SW32K3_FreeRTOS_10_4_6_UOS_2_0_0_DS_updatesite_D2204.zip S32K3_TCPIP_RTM_1_0_1_D2205_updatesite.zip 利用可能なダウンロード履歴と過去のダウンロード履歴を確認しましたが、私のアカウントのアーカイブされたパッケージは見つかりません。 現時点では、新しいパッケージはこの特定のレガシープロジェクトの代替としてはなさそうなので、NXPが必要なアーカイブ済みS32DS 3.4互換パッケージを私のアカウントで提供していただけると非常にありがたいです。 特に、以下の内容を追加またはアクセスを提供していただければ幸いです。 S32K3 / S32K344 PlatformSDK 2.0.0 / RTD 2.0.0 SW32K3_FreeRTOS_10_4_6_UOS_2_0_0_DS_updatesite_D2204.zip S32K3_TCPIP_RTM_1_0_1_D2205_updatesite.zip S32DS 3.4でS32K344に必要な対応するS32設定ツール/デバイスサポートパッケージ このプロジェクトで正しく動作する他のセットアップが見つからなかったので、これらのアーカイブ済みパッケージを利用可能なダウンロードに追加していただけると本当にありがたいです。 ご協力いただき、誠にありがとうございました。 Re: Request to add archived S32K3 FreeRTOS 2.0.0 and TCP/IP 1.0.1 packages to my NXP account こんにちは、 @Aaditya773 さん。 SWパッケージは「前回」タブからは利用できないため、おそらくそのアカウントは最初からそのパッケージにアクセスできなかったのでしょう。 もし割り当てられたFAEや営業担当者がいれば、アカウントへのアクセスを申請できるよう連絡を取ってほしいです。 一方で、S32K344-WBプロジェクトを新しいRTDに移行したい場合、プロセス中の問題を私がサポートできます。 よろしくお願いします、 ジュリアン
View full article
The bootloader requires the fs26 installation package. I am currently using unified_bootloader_demo_v2.1 to port and develop a bootloader project based on S32K344. The RTD is version 2.0, and my controller uses the FS26 chip.The SBC driver package is at least compatible with RTD 3.0; could you provide one compatible with RTD 2.0?SBC package or handwritten implementation code? Even better if you could provide a bootloader project for RTD 3.0 or higher? Thank you so much! 回复: bootloader需要fs26安装包 Hello, I'm currently modifying bootloader v2.1, and it says there's an error in the ECC checksum of 4 bytes. This function... Boot_PowerONClearAllFlag needs to be modified. Directly performing an 8-byte check reveals that only the ExchangeInfo area in the startup function is not initialized. Is this modification acceptable? /*when power on, clear all flag in RAM for ECC.*/ void Boot_PowerONClearAllFlag(void) { uint16 infoCrc = 0u; uint8 index = 0u; /*clear RAM with 8 bytes for ECC*/ for(index = 0u; index < (gs_stBootInfo.infoDataLen >> 3u); index++) { *((uint64 *)gs_stBootInfo.infoStartAddr + index) = 0u; } infoCrc = Boot_CalculateInfoCRC(); SetInforCRC(infoCrc); } 回复: bootloader需要fs26安装包 Hi We apologize that the Unified bootloader demo shared by the community is provided "as is," without examples of higher S32K3 RTD versions. We sincerely apologize for any inconvenience this may cause. The FS26 SBC Autosar 4.4 version 1.0.0 is designed for use with the S32K3 RTD 2.0.0 . I have already requested this older version driver from the internal team for you. Please wait for them to add download permissions for this version of the software to your account. Incidentally, there's an error in the example code that needs attention. The S32K3 common problem checklist, specifically section 3.4.3 , mentions the need to use 8- byte writes for ECC initialization of RAM. Check whether the RAM (pay special attention to the standby RAM) is written in 8-byte format during ECC initialization. For example: *(uint64 *)0x20400000 = 0; Failure to comply may result in an ECC error. The NXP bootloader sample project uses a 4-byte zeroing ECC initialization method. *(uint32 *)0x20400000 = 0; That's incorrect; don't refer to it. There is also a discussion about this in the section on S32K3 sharing data between Bootloader and Application . Best Regards, Robin 回复: bootloader需要fs26安装包 Hello, in image 1, I need to modify the startup_cm7.s startup file regarding RAM initialization. To minimize changes, can I simply modify `extern void Boot_PowerONClearAllFlag ( void );` in bootloader v2.1? 回复: bootloader需要fs26安装包 Changing Boot_PowerONClearAllFlag() from a 4-byte write to an 8-byte/64-bit write is key to resolving the S32K3 RAM ECC initialization issue. Your change seems to work. For issues related to ExchangeInfo , please refer to the discussion in s32k312Will the data in the SRAM area not be reset during the reset process? 1.0 0 FS26 SBC Autosar 4.4 version 1.0.0 should already be added to your account.
View full article
NXP S32M276CHABMKHSR VPRE output voltage range Hello,  I have a question about the VPRE output voltage range of NXP S32M276XX IC. I used external P-MOSFET voltage-regulator for VPRE in my design as below shows. Ted_Qiao_0-1788752795769.pngTed_Qiao_0-1788752795769.pngTed_Qiao_0-1788752795769.pngTed_Qiao_0-1788752795769.pngTed_Qiao_0-1788752795769.png When external P-MOSFET regulator is activated(set CONFIG-VPREEXT = 1), the output voltage of VPRE pin is around 7.0V; When external P-MOSFET regulator is not activated(set CONFIG-VPREEXT = 0, then internal regulator to be used), the output voltage of VPRE pin is around 6.3V. The status that I described is normal or not? What exactly output range is the VPRE in both status? By the way, In the datasheet, the typical output voltage of VPRE is 6.4V. Ted_Qiao_1-1788753322135.pngTed_Qiao_1-1788753322135.pngTed_Qiao_1-1788753322135.pngTed_Qiao_1-1788753322135.pngTed_Qiao_1-1788753322135.png Re: NXP S32M276CHABMKHSR VPRE output voltage range Hello @Ted_Qiao, The two regulators, one using the external ballast PMOS and the other using the internal ballast PMOS, are enabled by default. The external regulator has a slightly higher regulation point, so it is the only one active under normal conditions. The internal regulator becomes active only when the external regulator is disabled. The exact regulation points are not specified in the datasheet. Only a typical value of 6.4 V is provided for both the internal and external regulators. The actual regulation point depends on production variations and operating conditions. For example, on my EVB I measured approximately 6.2 V with the internal ballast PMOS and approximately 6.8 V with the external ballast PMOS. The absolute maximum rating for VPRE is 7.5 V, so the voltage you measured is well below this limit. BR, Daniel Re: NXP S32M276CHABMKHSR VPRE output voltage range Hi @Ted_Qiao, Between resets, these bits can only be changed once, from 1 to 0. As shown below, the reset value of both bits is 1, and they can only be written to 0. Therefore, if you need to change any of them back to 1, the MCU must be reset. danielmartynek_0-1788937659360.pngdanielmartynek_0-1788937659360.pngdanielmartynek_0-1788937659360.png danielmartynek_1-1788937747975.pngdanielmartynek_1-1788937747975.pngdanielmartynek_1-1788937747975.png Regards, Daniel Re: NXP S32M276CHABMKHSR VPRE output voltage range Hi Daniel, Thanks for your explanation. It's clear for me now. My further question, how could I switch freely between internal regulator mode and external regulator mode in application software? I try to set the relevant register according to [S32M27x Reference Manual], Set if using VPRE internal regulator (VPREINT=1, VPREEXT=0) or using VPRE external regulator (VPREINT=0, VPREEXT=1). But it could not switch freely during operating mode.  The background for doing it is that I want to do some tests with the regulator mode switching. Thanks!  Ted_Qiao_0-1788917986227.pngTed_Qiao_0-1788917986227.png
View full article
88W9098 エネルギー検出 (ed_mac) チューニング こんにちは、 私たちは、SDIO経由でSDR50で動作するu-blox M2-JODY-W377に88W9098を使用しています。githubからlf-6.18.20_2.0.0のドライバ/ファームウェアバージョンがあります。2.4GHzチャネル6のアクセスポイントとして使っています。 ed_macを有効にする(wifi_mod_para.confで「init_hostcmd_cfg=nxp/ed_mac.bin」を使ったり、mlanutlをed_mac_ctrl_V3_909x.confで使用したり)すると、社内の適用テストの安定性やレイテンシが大幅に悪化する問題に直面しています: ed_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.png ここで詳しくは説明できませんが、これは複数のマシンを使い、88W9098アクセスポイントを中央に配置して、特定の社内段階をエンドツーエンドでレイテンシ測定するものです。ed_macを使うと平均200〜250ms高い曲線もありますが、全体的にカゲが強く、ランダムな「レイテンシ」が増えることもあります。 オフセット「ed_ctrl_2g.offset」を調整してみました。そして「ed_ctrl_5g.offset」をデフォルトの0x8とは異なる値に設定しましたが、試したどの値もテストには影響しませんでした。影響を与える唯一の方法は、有効化(2g/5g)を0にするか、起動時にファイルを読み込まないことです。 他に試せることはある? Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 詳細な説明とテストデータをありがとうございました。ed_mac(エネルギー検出MAC)機能の設計上、実際に見られる動作は想定内ですが、いくつか確認して明確にしておくべき点があります。 なぜed_mac APモードでレイテンシが高くなるのか ed_mac機能は、EU ETSI EN 300 328適応性適合性試験のために特別に設計されています。その基本的な仕組みは、ファームウェアがチャネル上のエネルギーを閾値以上に検知した場合に、送信を能動的に抑制することです。アクセスポイントのシナリオでは、無線機が周囲エネルギーを検知するとバッファリングされたダウンリンクパケットが直接遅延し、測定しているレイテンシスパイクや「バースト」が発生します。オフセットパラメータを調整すると閾値感度(無線機のトリガーのしやすさ)は変わりますが、抑制動作自体は消えません。だからこそ、オフセット値がエンドツーエンドのレイテンシテストに測定可能な影響を与えなかったのです。 設定ファイルの不一致 あなたはed_mac_ctrl_V3_909x.confを使用しているようですね。当社のアプリケーションノートAN13756によると、88W9098の正しい設定ファイルは ed_mac_ctrl_V2_909x.conf です(デフォルトはed_ctrl_2g.offset = 0x08、ed_ctrl_5g.offset = 0x08)。V3バージョンは、ed_ctrl_txq_lockフィールドの値が異なり、このデバイスの検証済み構成ではありません。ed_mac_ctrl_V2_909x.confを使って、レイテンシの影響が改善するか試してみてください。 重要な質問:貴社の展開において、EUの適応性に関する要件を満たす必要がありますか? ETSI EN 300 328の適応性要件は、EU/EEA市場で運用され、最大RF出力が10 dBm EIRP以上と宣言されている機器にのみ適用されます。確認いただけますか: この機器はEU域内で展開されており、ETSI EN 300 328認証の対象となっていますか? あなたのモジュール(u-blox M2-JODY-W377)の宣言されたRF出力電力はどれくらいですか? EU準拠があなたのユースケースに必要でない場合、正しい解決策は単純 にed_mac構成をロードしない ことです。すでに確認済みでレイテンシ問題は完全に解決されます。 コンプライアンスが必要な場合は、まずed_mac_ctrl_V2_909x.confに切り替えることをおすすめします。レイテンシの問題が続く場合は、APモードの挙動を改善するための新しいファームウェアバージョンがあるかどうか検討できます。 上記の質問への回答をお知らせください。それに応じて対応させていただきます。 よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning ウェイドンさん、ありがとう。はい、製品は確実に10dBm以上のEIRPを出力しており、EN 300 328準拠が必要です。 ed_mac_ctrl_V2_909x.conf ( https://github.com/u-blox/u-blox-sho-host-based/blob/main/JODY-W3/txpower_config/ed_mac_ctrl_V2_909x.conf ) を試してみましたが、動作に変化はありませんでした。 私たちが理解していないのは、このモジュールをDoodleLabs(QCA988Xベース)のものと交換し、同じ環境で同じテストを行うと、EN 300 328も認証される一方で、レイテンシの問題は全くないということです。だから、なぜ88W9098のed_mac実装がこのような問題を引き起こすのに、他のチップメーカーのものは起きないのか疑問に思っています。 バージョンlf-6.18.20_2.0.0の他に、hotfix/lf-6.12.49_2.2.0_hotfixも試しましたが、問題は依然として発生しています。 さらに詳しい情報はこちら: * JODYのアクセスポイントには2つのステーションがあります。 * テスト中にステーションとJODYの間で使用される帯域幅は非常に低い(約6KiB/s)ですが、主にSTA→AP方向の小さなパケットが多数含まれています。 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、   お客様のご依頼内容を社内チームに報告いたしました。専門家の回答を一緒に待ちましょう。何か新しい情報が入り次第、すぐに皆さんと共有します。   よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 内部チームがこの問題を分析中です。以下の情報を教えていただけますか?社内チームから以下のフィードバックを受けました。 ====================================================== ドライバーのロードパラメータと、問題を再現するために使われた完全なドライバーのロード/アンロードコマンドシーケンス。 ed_mac_ctrl_V2_909x.conf 設定ファイル。 ログ さらなる調査のために、問題を再現する際に取得した画像です。 ホストの詳細(以下を含む): ホストプラットフォーム カーネルバージョン ドライバーバージョン 使用されているインターフェース(PCIe/SDIO)   これらの詳細は、お客様のセットアップと社内テストを関連付け、分析を迅速化するのに役立ちます。 ====================================================== ありがとうございます よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 何か進展はありましたか? よろしくお願いします! よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning こんにちは、ウェイドンさん。現在you-bloxで問題のトラブルシューティングを行っているので、もしNXPにエスカレーションされた場合に備えて衝突を防ぐため、今は彼らとだけ相談するつもりです。助けてくれてありがとう。 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 はい、わかりました。 最新情報のご提供ありがとうございます。 よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 弊社の社内チームは、お客様からご報告いただいた問題に関して、追加のテストを実施いたしました。検査結果を皆様と共有したいと思います。調査に役立つ洞察が得られれば幸いです。 ================================================ リリースSD9098---17.92.1.p149.159-MM6X17552.p22 (FP92)を使用したQA環境で問題を検証しましたが、問題は再現しませんでした。 観察されたpingレイテンシは 約1〜2秒でした。 テスト手順: ビルドをロードし、リリース構成フォルダにあるデフォルトのed_mac_ctrl_V2_909x.confを使用してEDMACを有効にしました。 CH6でAPUTを起動しました。 2人の元STAをつなげた。 旧STAからAPUTへのpingテストを実施しました。 テストされたシナリオ: auto_ds=1、ps_mode=1 auto_ds=2、ps_mode=2 HT20およびHT40で構成されたAPUT セキュリティモード:OPENおよびWPA3 旧STA省電力モード:有効と無効 顧客が観察した問題を分析し再現するために、以下の情報も提供していただけませんか: お客様が使用するファイル/ビルドの詳細を読み込む 構成とテスト環境の詳細 顧客のセットアップで観察されたノイズ/干渉レベル 顧客側からの関連ログ この情報を得れば、より深い分析を行い、問題の再現を試みることができます。 ================================================ ありがとうございます。 よろしくお願いいたします。 維東
View full article
spi: spi_nxp_lpspi: DMA モード、-EIO または破損したデータを返します こんにちは、みんな 最近、SPI DMAのマルチセンサー通信で問題が発生しました。SPIトランザクションが-EIOで返却されるか、データが破損している場合です。私が見つけたドライバに掘り下げると、spi_nxp_lpspi転送開始時に両方のLPSPI DMA要求有効ビットを有効にしますが、転送の最後には1ビットだけが無効になります。2つのDMAチャネルのうち2番目に終了するものが、自身のDERビットをクリアせずにSPIコンテキストを完了するため、各転送は次のリクエストに1つのEnable Leakを送ります。 In ドライバ/spi/spi_nxp_lpspi/spi_nxp_lpspi_dma.c, 両方のビットがtransceive_dma()(:346)で同時に有効化されています: if (channel == dma_data->dma_tx.channel) { spi_mcux_issue_TCR(spi_dev); dma_data->state = LPSPI_TRANSFER_STATE_TX_DONE; base->DER &= ~LPSPI_DER_TDDE_MASK; } else { dma_data->state = LPSPI_TRANSFER_STATE_RX_DONE; base->DER &= ~LPSPI_DER_RDDE_MASK; } lpspi_dma_callback()では、最初に終了するチャネルが自分のビットをクリアします(:249–:253): if (channel == dma_data->dma_tx.channel) { spi_mcux_issue_TCR(spi_dev); dma_data->state = LPSPI_TRANSFER_STATE_TX_DONE; base->DER &= ~LPSPI_DER_TDDE_MASK; } else { dma_data->state = LPSPI_TRANSFER_STATE_RX_DONE; base->DER &= ~LPSPI_DER_RDDE_MASK; } 両方のビットをクリアすると、すべてのトランザクションが警告なしに通過するようです。以下は私が使用したパッチです。 @@ lpspi_dma_callback() case LPSPI_TRANSFER_STATE_TX_DONE: case LPSPI_TRANSFER_STATE_RX_DONE: dma_data->state = LPSPI_TRANSFER_STATE_RX_TX_DONE; /* TX and RX both done here. */ + base->DER &= ~(LPSPI_DER_TDDE_MASK | LPSPI_DER_RDDE_MASK); spi_context_complete(ctx, spi_dev, 0); spi_context_cs_control(ctx, false); break; @@ error: + base->DER &= ~(LPSPI_DER_TDDE_MASK | LPSPI_DER_RDDE_MASK); LOG_ERR("DMA callback error with channel %d.", channel); spi_context_complete(ctx, spi_dev, ret); spi_context_cs_control(ctx, false); 添付は私が使ったテストアプリケーションです。上記の解決策がアプリに組み込まれています。 私の質問は、ドライバーが片方だけクリアして両方がクリアされない理由があるのでしょうか?
View full article
TJA1410 - TXはフルスイングしません 私はカスタム基板上でTJ1410Aを使用しています。このPMDチップと連携できるMacを評価中です。データが差動線でこのPMDチップに送信されると、データフレームは3線式RX(MACに対するRX)でMACに送信されます。TJ1410チップに供給されるVCCは3.3Vで、RX(3.3Vでハイレベル)に何らかの動作が見られます。現在は、活動が3.2Vから2Vの間で変動する(以前は3.3Vから0Vの間で変動していた)。そのためMacはこれをRXハイと認識し、静かだと思い込んでしまいます。電圧振幅が正しくないのはなぜですか?(オシロスコープのキャプチャ画面を添付します)。また、この部品(TJ1410)のデータシートをお持ちでしたら、ぜひ共有してください。 bitmasker_0-1788968416352.png Re: TJA1410 - TX does not have full swing こんにちはビットマスク 良い一日! VIOピンの接続を確認してもらえますか?VIOが電源に接続されているか確認してください。TJA1410AはVIOで1.8Vから3.3Vまで対応しています。VCCで3.3Vを供給しているのにVIOが開いたまままたは接続されていない場合、RX出力がグラウンドにスイングできません。 データシートは公式ウェブサイト TJA1410「ドキュメント > Secure」セクションでご覧いただけます。 残念ながら、これは機密ファイルなので、アクセスするには当事務所とのNDAが必要です。NDAに署名したい旨を伝えるサポートチケットを開くことをお勧めします。そうすれば、適切なチームにリクエストが回されるようにしましょう。 RafaR_1-1788987187012.pngRafaR_1-1788987187012.png この情報がお役に立てば幸いです。他に何かご不明な点がありましたら、お気軽にお問い合わせください。 良い一日をお過ごしください。幸運を祈ります。
View full article
GUI-Guider 1.9.1 こんにちは、NXPサポートの皆さん、 GUI-Guider 1.9.1 GA Windows インストーラー+オフラインテンプレートzipパッケージの公式ダウンロードリンクを教えていただけませんか?ありがとう。 eGUI Re: GUI‑Guider 1.9.1 こんにちは、 @Leo_China さん。 GUI Guider v1.9.1のインストーラーは提供されなくなりました。 しかし、すでにGUI Guider v1.9.xでプロジェクトを作成している場合は、GUI Guider v1.10.xを利用できます既存のプロジェクトを直接インポートできます。 よろしくお願いします、 パブロ
View full article
ブートローダーにはfs26インストールパッケージが必要です。 現在、S32K344をベースとしたブートローダープロジェクトの移植と開発にunified_bootloader_demo_v2.1を使用しています。RTDはバージョン2.0で、コントローラーにはFS26チップを使用しています。SBCドライバパッケージは少なくともRTD 3.0と互換性がありますが、RTD 2.0と互換性のあるものを提供していただけませんか?SBCパッケージですか、それとも手書きの実装コードですか?RTD 3.0以降に対応したブートローダープロジェクトを提供していただけるとさらに助かります。 どうもありがとうございます! 回复: bootloader需要fs26安装包 こんにちは。現在ブートローダーv2.1を修正しているのですが、ECCチェックサムの4バイトにエラーがあると表示されます。この関数は... Boot_PowerONClearAllFlag を変更する必要があります。8バイトのチェックを直接実行したところ、起動関数内の ExchangeInfo 領域のみが初期化されていないことがわかりました。この変更は許容範囲内でしょうか? /*電源投入時に、ECC用のRAM内のすべてのフラグをクリアします。*/ void Boot_PowerONClearAllFlag(void) ヤージュ uint16 infoCrc = 0u; uint8 インデックス = 0u; /* ECC用に8バイトでRAMをクリア */ for(index = 0u; index < (gs_stBootInfo.infoDataLen >> 3u); index++) ヤージュ *((uint64 *)gs_stBootInfo.infoStartAddr+ インデックス) = 0u; } infoCrc = Boot_CalculateInfoCRC(); SetInforCRC(infoCrc); } 回复: bootloader需要fs26安装包 こんにちは。画像1で、RAM初期化に関してstartup_cm7.s起動ファイルを変更する必要があります。変更を最小限に抑えるため、ブートローダーv2.1の`extern void Boot_PowerONClearAllFlag ( void );`だけを変更すれば良いでしょうか? 回复: bootloader需要fs26安装包 こんにちは コミュニティから提供された統合ブートローダーのデモは、より新しいS32K3 RTDバージョンの例を含めず「現状のまま」提供されており、ご迷惑をおかけすることを深くお詫び申し上げます。 FS26 SBC Autosar 4.4 バージョン 1.0.0は、 S32K3 RTD 2.0.0で使用するように設計されています。既に社内チームにこの旧バージョンのドライバをリクエスト済みです。お客様のアカウントにこのバージョンのソフトウェアのダウンロード権限が追加されるまでお待ちください。 ちなみに、サンプルコードに注意すべきエラーがあります。S32K3の共通問題チェックリスト、特にセクション3.4.3では、RAMのECC初期化には8バイトの書き込みが必要であると記載されています。 ECC初期化中にRAM(特にスタンバイRAM)が8バイト形式で書き込まれているかどうかを確認してください。 例えば、*(uint64 *)0x20400000 = 0; 規定を遵守しない場合、ECCエラーが発生する可能性があります。 NXPのブートローダーサンプルプロジェクトは、4バイトのゼロフィルECC初期化方式を使用しています。 *(uint32 *)0x20400000 = 0; それは間違いです。その記述は参照しないでください。 S32K3におけるブートローダーとアプリケーション間のデータ共有に関するセクションでも、これについて議論されています。 よろしくお願いします、 ロビン 回复: bootloader需要fs26安装包 Boot_PowerONClearAllFlag() の書き込みを 4 バイトから 8 バイト/64 ビットに変更することが、S32K3 の RAM ECC 初期化の問題を解決する鍵となります。あなたの変更はうまくいったようです。 ExchangeInfoに関連する問題については、s32k312「リセット処理中に SRAM 領域のデータはリセットされませんか?」の議論を参照してください。 1.0 0 FS26 SBC Autosar 4.4 バージョン 1.0.0は既にアカウントに追加されているはずです。
View full article
TJA1410 - TX does not have full swing I am using TJ1410A on a custom board. I am evaluating  mac to work with this PMD chip. When data is sent to this PMD chip on differential wire, it then sends the data frame to MAC on 3-wire RX (RX with respect to mac). The VCC provided to TJ1410 chip is 3.3 V and I see some activity on RX (which was high at 3.3V). Now the activity fluctuates from 3.2 V to 2V (instead of 3.3 to 0V). So the mac sees this as RX high and thinks that it is silent. Why is the voltage swing not correct (attaching a scope capture screenshot). Also do you have a datasheet on this part (TJ1410) - please share.  bitmasker_0-1788968416352.png Re: TJA1410 - TX does not have full swing Hello bitmasker Good day! Could you verify your VIO pin connection, confirm VIO is connected to your supply. The TJA1410A supports 1.8 V to 3.3 V on VIO. If you are supplying 3.3 V on VCC but VIO is left open or unconnected, the RX output cannot swing to ground. You can find the datasheet on our official website TJA1410 under the "Documentation > Secure" section. Unfortunately, it is a confidential file, so you must have an NDA in place with us to access it. I recommend opening a support ticket stating that you wish to sign an NDA so that your request can be routed to the appropriate team. RafaR_1-1788987187012.pngRafaR_1-1788987187012.png I hope this information has helped you, please let me know if you need help with anything else. Have a great day and best of luck.
View full article