Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
无法使用命令 `v4l2-ctl --device /dev/video0 --all` 获取所有详细信息 大家好, 我正在使用相机传感器os02g10。我可以从传感器获取 RAW10 文件,但是图像不正确。图片错位了,两部分图像错位了。您可以在这里看到: https://community.nxp.com/t5/i-MX-Processors/Camera-sensor-os02g10-MIPI-CSI-for-IMX8MM-Image-issue/m-p/1512386#M194329 我测试了摄像头传感器和 mipi-csi 的许多设备树设置,但图像没有任何变化。 v4l2也存在问题,您可以在下方看到。为什么它无法获得 Driver Info: Driver name : mx6s-csi Card type : i.MX6S_CSI Bus info : platform:32e20000.csi_bridge Driver version : 5.10.72 Capabilities : 0x84200001 Video Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04200001 Video Capture Streaming Extended Pix Format Priority: 0 Video input : 0 (Camera: ok) Format Video Capture: Width/Height : 1920/1080 Pixel Format : '' Field : None Bytes per Line : 0 Size Image : 4147200 Colorspace : Default Transfer Function : Default (maps to Rec. 709) YCbCr/HSV Encoding: Default (maps to ITU-R 601) Quantization : Default (maps to Full Range) Flags : Crop Capability Video Capture: Bounds : Left 0, Top 0, Width 0, Height 0 Default : Left 0, Top 0, Width 0, Height 0 Pixel Aspect: 1/1 Selection Video Capture: crop, Left 0, Top 0, Width 0, Height 0, Flags: Selection Video Capture: crop_default, Left 0, Top 0, Width 0, Height 0, Flags: Selection Video Capture: crop_bounds, Left 0, Top 0, Width 0, Height 0, Flags: Selection Video Capture: compose, Left 0, Top 0, Width 0, Height 0, Flags: Selection Video Capture: compose_default, Left 0, Top 0, Width 0, Height 0, Flags: Selection Video Capture: compose_bounds, Left 0, Top 0, Width 0, Height 0, Flags: Selection Video Capture: compose_padded, Left 0, Top 0, Width 0, Height 0, Flags: Selection Video Capture: native_size, Left 0, Top 0, Width 0, Height 0, Flags: 但是当我拿到图片时,会发现更多细节。我试图确定 v4l2 是否是导致图片错误的原因,还是其他原因。到底出了什么问题? v4l2-ctl -d /dev/video0 --verbose --set-fmt-video=width=1920,height=1080,pixelformat=BG10 --stream-mmap --stream-count=1 --stream-to=bb001.raw VIDIOC_QUERYCAP: ok VIDIOC_G_FMT: ok VIDIOC_S_FMT: ok Format Video Capture: Width/Height : 1920/1080 Pixel Format : 'BG10' (10-bit Bayer BGBG/GRGR) Field : None Bytes per Line : 3840 Size Image : 4147200 Colorspace : sRGB Transfer Function : Default (maps to sRGB) YCbCr/HSV Encoding: ITU-R 601 Quantization : Full Range Flags : VIDIOC_REQBUFS returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_STREAMON returned 0 (Success) cap dqbuf: 0 seq: 0 bytesused: 4147200 ts: 46.903731 delta: 46903.731 ms (ts-monotonic, ts-src-eof) i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all 您好,您可以使用我们已向上游提交的 Linux 驱动程序。 我们已在基于 i.mx8mp 的 debix 平台上进行了测试。 这是我们的司机。 https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=263d0fa1d46ac1ae2eebc5a5490fec58233c69ad 这是我们的DT https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a4d0f0c88ae8185315afbc1eb68c978ed710f759 -- 鲁特维 SiliconSignals Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all mx6s_vidioc_g_fmt_vid_cap 似乎不完整。 mx6s_vidioc_s_fmt_vid_cap 包含所有详细信息 btarnowski_0-1672393812102.png Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all 关于 RAW10,有解决方案。 https://community.nxp.com/t5/i-MX-Graphics/gst-launch-1-0-returns-Internal-data-stream-error/m-p/1536966 关于:v4l2-ctl --设备 /dev/video0 --all 很难说哪里出了问题,可能是摄像头驱动程序对 V4L2 使用了 ctrl API 而不是 ctrlio。 但现在这不是问题了,接下来我要设置的参数是曝光或增益。 Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all 嗨@btarnowski 对于使用 v4l2-ctl --all 显示的问题,你只需要编辑 mx6s_capture.c 文件即可。在函数“mx6s_vidioc_s_fmt_vid_cap”中:只需复制整个 pix 结构体,而不是仅复制宽度/高度/图像大小/字段。 csi_dev->pix = f->fmt.pix; 这样,内部结构体 csi_dev->pix 就包含了执行 get_format 时所需的所有信息(参见函数 mx6s_vidioc_g_fmt_vid_cap)。 我觉得 mx6s_capture.c 有很多小错误,需要进行很多改进才能更好地与 v4l2 工具兼容。 此致问候 Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all 你好, 使用v4l2-ctl --设备 /dev/video0 --all和gstream均未取得进展。 看起来像是摄像头传感器驱动程序的问题。 dev/media0 - 不需要 处理相机传感器有多种不同的方法。 下面您可以看到底层 API 处理方面的差异。 ov5640(摄像头传感器)在其他设备上可以正常工作。 btarnowski_0-1663928001102.png 还有另一项比较: btarnowski_1-1663928150167.png Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all 你找到解决办法了吗?因为我也遇到了同样的错误,如果你也遇到了,请分享一下你的解决方法。 Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all 而且我发现有些作业分配不正确。csi_bridge 应该分配给 media0。 btarnowski_0-1662374734790.png 具体该怎么做?求助! Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all 同时: root@qrnd:~# gst-inspect-1.0 -a > gst-inspect.txt 结果如下(见附件) Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all 下一个问题:我可以看到视频设备,但是没有 /dev/media 设备。 root@qrnd:~# v4l2-ctl --list-devices i.MX6S_CSI (platform:32e20000.csi_bridge): /dev/video0 vsi_v4l2dec (platform:vsi_v4l2dec): /dev/video2 vsi_v4l2enc (platform:vsi_v4l2enc): /dev/video1 Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all 我需要更新 Yocto 版本所需的软件包列表: # 相机支持工具 IMAGE_INSTALL_append = " i2c-tools" IMAGE_INSTALL_append = " v4l-utils" IMAGE_INSTALL_append = " gstreamer1.0" IMAGE_INSTALL_append = " gstreamer1.0-plugins-good" IMAGE_INSTALL_append = " gstreamer1.0-plugins-imx" IMAGE_INSTALL_append = " gstreamer1.0-plugins-base" IMAGE_INSTALL_append = " gst-player" IMAGE_INSTALL_append = " gstreamer1.0-meta-base" IMAGE_INSTALL_append = " gst-examples" IMAGE_INSTALL_append = " gstreamer1.0-rtsp-server" IMAGE_INSTALL_append = " gst1.0-fsl-plugin" IMAGE_INSTALL_append = " gstreamer1.0-plugins-good-video4linux2" IMAGE_INSTALL_append = " gstreamer1.0-plugins-good-png" IMAGE_INSTALL_append = "gstreamer1.0-plugins-good-jpeg" 但我现在在使用命令时遇到了问题。 gst -发布- 1.0v4l2src 设备 = / dev / video0 缓冲区 数量 = 1 !video / x - raw , width = 1920 , height = 1080 !pngenc !filesink location = / tmp / test_1920x1080.png​ 我得到的是: Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /GstPipeline: pipeline0/GstV4l2Src:v4l2src0: Internal data stream error. Additional debug info: ../git/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: streaming stopped, reason not-negotiated (-4) Execution ended after 0:00:00.057218529 Setting pipeline to NULL ... Freeing pipeline ... Re: can not get all details with command: v4l2-ctl --device /dev/video0 --all 看来是 Yocto 造成了这个问题。内核镜像中并不包含所有必需的元器件。gstreamer-plugins-good缺少 v4lsrc。我向 Yocto 构建中添加了额外的软件包,但没有效果。需要调查 Yocto 版本过程的部署阶段。
View full article
Advanced Mitochondrial Formula Reviews: A Complete Buyer’s Guide Last Updated: 5 September 2026 Advanced Mitochondrial Formula is a dietary supplement designed to support mitochondrial health and cellular energy production. Unlike many general energy supplements that focus mainly on stimulants, this formula is intended to provide nutritional support for the mitochondria, often referred to as the “powerhouses” of your cells. This is one of the things that makes Advanced Mitochondrial Formula stand out from other mitochondrial support supplements on the market. The main idea behind Advanced Mitochondrial Formula is simple: provide your body with nutrients that may help support healthy mitochondrial function and efficient cellular energy production. When your mitochondria are working properly, your cells can produce energy more efficiently. That may help support everyday energy levels, stamina, mental focus, and overall cellular performance. Re: Advanced Mitochondrial Formula Reviews: A Complete Buyer’s Guide Advanced Mitochondrial Formula is a dietary supplement formulated in the USA, Canada, UK, Australia and NZ to support mitochondrial function and healthy cellular energy production. Rather than relying primarily on stimulants like many conventional energy supplements, it focuses on supplying key nutrients that help nourish and support the mitochondria—the structures often described as the “powerhouses” of our cells. This nutritional approach is one of the features that distinguishes ORIGINAL Advanced Mitochondrial Formula from many other mitochondrial-support products. The concept behind Advanced Mitochondrial Formula is straightforward: provide the body with nutrients that may help maintain healthy mitochondrial activity and support efficient energy production at the cellular level. Well-functioning mitochondria play an important role in how cells generate energy. By supporting normal mitochondrial function, the formula may help promote everyday energy, stamina, mental alertness, and overall cellular performance.
View full article
MCIMX6D6AVT10ACの境界スキャン用BSDLファイルを探しています こんにちは、 デバイス「MCIMX6D6AVT10AC」のBSDLファイルをダウンロードできるチャネルはありますか?
View full article
i.MX95 19x19 EVKにおけるSD2_VSELおよびSD2_RST_B接続に関する質問 親愛なるNXPサポートチームへ、 i.MX95 19x19 CPU EVK基板の回路図を確認していると、SD2_VSEL信号とSD2_RST_B信号がFP09のGPIO1およびGPIO2ピンに接続されていることに気づきました。 これらの接続の目的をもう少し詳しく説明していただけますか? 特に、なぜこれら2つの信号がGPIOピンに接続されているのか、そしてそれらがシステム内でどのように制御または使用されるのかを理解したいです。 よろしくお願いいたします。 ウォルター Re: Question About SD2_VSEL and SD2_RST_B Connections on i.MX95 19x19 EVK その目的は、i.MX95 uSDHC2ブロックがPF09 PMICを介してSDカードの電源レールを制御できるようにすることであり、これらのネットを通常のボードGPIOとして扱うことではありません。 SD2_VSEL → PF09 GPIO1 :これはSD/SDIO電圧の切り替え用です。i.MX95 uSDHC VSELECT出力は外部電源電圧を変化させる信号として定義されており、コントローラはVEND_SPEC[VSELECT]による電圧選択をサポートしています。PF09では、GPIO1を専用のVSELECT入力として設定できます;有効化すると、低電圧時はLDO2 = 3.3 V、高電圧時はLDO2 = 1.8 Vを選択します。これは、プラットフォームが3.3Vと1.8Vの両方の信号を実装するSD3.0の要件と一致します。 SD2_RST_B → PF09 GPIO2 : これはカードの電源/リセット制御用です。i.MX95のRESET_B信号はオプションのアクティブローと説明されており、着脱式カードの場合は「ハードウェアリセットの代わりにウォームリセット時にカード電源を有効化・無効化するために使用できます」。PF09 GPIO2はLDO1EN入力として構成でき、ピンがハードウェアによってLDO1出力を有効または無効化します。したがって、EVK接続はuSDHC2のリセット/電源制御信号をPMIC制御のSDカード供給に直接送る経路を与えます。 実際には、これらのPF09ピンはEVK上でランダム拡張GPIOとしては使用されていません。これらは多機能PMICピンで、SDホストコントローラーが正しいSDカードレールの挙動を要求できるように配線されています。 信号 PF09ピンロール システムの目的 SD2_VSEL PF09 GPIO1 を VSELECT モードで使用する SD3.0動作用に3.3Vから1.8Vの間の/SD I/O電源をスイッチNVCC_SD2。 SD2_RST_B PF09 GPIO2をLDO1ENモードまたは同等のカード電源制御ロールで使用する SDカードの電源を有効/無効にします。特にリセット/ウォームリセット動作時に役立ちます。 したがって、制御経路は通常次の通りです:uSDHC2ドライバー/U-BootがSDホストコントローラ→uSDHC2ドライブをSD2_VSEL設定し、PF09がそれらのピンをOTPや設定に従って解釈SD2_RST_B →PF09がSD関連のLDO状態を変更し→PF09のGPIOモードやデフォルト動作はOTPで設定可能で、GPO出力もGPOとして設定した場合、システムオン状態で制御可能ですが、EVK配線は手動ビットバンではなく、PMIC専用のSD電源管理機能を使用することを意図しています。 結論として、SD2_VSELとSD2_RST_BはPF09 GPIO1/GPIO2にルーティングされているため、i.MX95 uSDHC2インターフェースはPMICを通じてSDカードの電圧切り替えやカードの電源・リセット制御を行えます。 Re: Question About SD2_VSEL and SD2_RST_B Connections on i.MX95 19x19 EVK こんにちは、 はい。これらの接続は意図的なSD2_VSELであり、SD2_RST_Bはi.MX95 USDHC2インターフェースが通常のGPIO信号ではなく、PF09 PMICを通じてSDカードの電源/リセット動作を制御するために使われています。 SD2_VSEL → PF09 GPIO1: SDカードのI/O電圧の切り替えを制御します。SD 3.0動作の場合、通常は3.3Vと1.8Vの間で切り替わります。 SD2_RST_B → PF09 GPIO2: SDカードの電源/リセット制御を提供します。特にリセットまたは電源サイクルシーケンス中に役立ちます。 つまり、意図された経路は基本的に次の通りです: i.MX95 USDHC2 → SD2_VSEL / SD2_RST_B → PF09 → SDカード電源レール Linuxデバイスツリーでは、USDHC2でSD2_VSELECTが使用され、SD2_RESET_BがSDカードの電源制御に使われていることが示されており、これらは予備のGPIOではなく通常のSDカード設計の一部であることが確認されています。
View full article
先進ミトコンドリアフォーミュラのレビュー:完全購入ガイド 最終更新日:2026年9月5日 アドバンスト・ミトコンドリアフォーミュラは、ミトコンドリアの健康と細胞エネルギー生成をサポートするために設計された栄養補助食品です。多くの一般的なエネルギーサプリメントが主に刺激物に焦点を当てているのに対し、この処方はミトコンドリア、すなわち細胞の「パワーハウス」と呼ばれる部分に栄養をサポートすることを目的としています。これがAdvanced Mitochondrial Formulaが他のミトコンドリアサポートサプリメントと差別化されている理由の一つです。 The main アイデア behind Advanced Mitochondrial Formula is simple: provide your body with nutrients that may help support healthy mitochondrial function and efficient cellular energy production. When your mitochondria are working properly, your cells can produce energy more efficiently. That may help support everyday energy levels, stamina, mental focus, and overall cellular performance. Re: Advanced Mitochondrial Formula Reviews: A Complete Buyer’s Guide アドバンスト・ミトコンドリアフォーミュラは、アメリカ、カナダ、イギリス、オーストラリア、ニュージーランドで調合される栄養補助食品で、ミトコンドリアの機能と健康的な細胞エネルギー生成をサポートします。多くの従来のエネルギーサプリメントのように主に刺激物に依存するのではなく、ミトコンドリアを養いサポートするための重要な栄養素の供給に焦点を当てています。ミトコンドリアはしばしば細胞の「パワーハウス」と呼ばれる構造です。この栄養アプローチは、 オリジナル・アドバンスト・ミトコンドリアルフォーミュラ を多くの他のミトコンドリアサポート製品と区別する特徴の一つです。 Advanced Mitochondrial Formulaのコンセプトはシンプルです。健康なミトコンドリア活動を維持し、細胞レベルで効率的なエネルギー生産をサポートする栄養素を体に供給することです。正常に機能するミトコンドリアは、細胞がエネルギーを生成する上で重要な役割を果たしている。この処方は、ミトコンドリアの正常な機能をサポートすることで、日々のエネルギー、スタミナ、精神的な覚醒度、そして細胞全体のパフォーマンス向上に役立つ可能性があります。
View full article
Looking for boundary scan, BSDL file for MCIMX6D6AVT10AC Hi,  Is there any channel to download the BSDL file for device "MCIMX6D6AVT10AC"?
View full article
正在查找 MCIMX6D6AVT10AC 的边界扫描 BSDL 文件 你好, 是否有渠道可以下载设备“ MCIMX6D6AVT10AC”的BSDL文件?
View full article
S9KEAZN16AM WDOGタイミングに関する補足説明:128バスクロックと観測された80µsおよび2.5msの遅延について こんにちは、 私はS9KEAZN16AMを扱っており、WDOGの初期化タイミングについていくつか確認したい点があります。 設定 MCU:S9KEAZN16AM バスクロック: 16.777216 MHz WDOGクロックソース:1kHz LPOCLK リセットタイプ:ソフトウェアリセット(SYSRESETREQ) KEA64リファレンスマニュアルによると、ウォッチドッグの解除シーケンスの後: 「アンロックシーケンスを完了した後、ユーザーは128のバスクロック内でウォッチドッグを再構成しなければなりません;そうでなければ、監視役はMCUのリセットを強制します。」 ppande19_1-1784788705383.pngppande19_1-1784788705383.png バスクロック周波数は16.777216MHzです。 128バスクロック ≈ 7.63マイクロ秒 補足事項 現在の実装では、安定した動作のために以下の遅延が必要となります。 ソフトウェアリセット();   SysTick_DelayUs(2500);   DisableInterrupts();   WDOG_Init(&Wdog_cfg);   SysTick_DelayUs(80);   EnableInterrupts(); 我々は2つの問題点を指摘する。 Software_Reset() の後の 2.5 ms の遅延を削除または短縮すると、ウォッチドッグ カウンタが正しく起動/実行されない場合があります。 WDOG_Init() の後の 80 µs の遅延を削除すると、ウォッチドッグの設定が常に正しく適用されるとは限りません。 質問 128バスクロックの要件は、ロック解除後の設定ウィンドウのみに適用されるのでしょうか、それともその後も追加の内部同期が行われるのでしょうか? 1 kHzのLPOクロックの使用によって追加の同期遅延が生じることはありますか? ソフトウェアリセット後の起動タイミングの要件で、約2.5msの遅延が必要になる理由は何かありますか? 固定遅延の代わりに、推奨されるステータスビットやポーリングメカニズムはありますか? 混乱の主な原因は、観測された遅延( 80 µs と 2.5 ms )が、文書化された128 バス クロックの要件(約 7.6 µs)から示唆されるタイミングよりもかなり大きいことである。 何かご助言いただければ大変ありがたいです。 よろしくお願いします。 Re: S9KEAZN16AM WDOG timing clarification: 128 bus clocks vs observed 80 µs and 2.5 ms delays ICSが完全にロックする前にウォッチドッグを初期化したり、タイトなタイミングループを実行しようとすると、その期間中は実際のバスクロック周波数が低くなったり、不安定になったりします。実際のバスクロックが低いと、128回のバスサイクルが7.6μsよりかなり長くかかるか、ハードウェアペリフェラルが完全にリセット状態を解除する前に初期化シーケンスが実行されることを意味します。約2.5ミリ秒の遅延により、ICSは完全なロックを達成し、16.777216MHzのバス周波数を安定させるのに十分な時間を確保できる。 Re: S9KEAZN16AM WDOG timing clarification: 128 bus clocks vs observed 80 µs and 2.5 ms delays こんにちは、 内部クロックソース(ICS)が完全にロックしてバスクロック(16.777216 MHz)が安定するまで、約2.5ミリ秒待ちます。ウォッチドッグを初期化したり、タイトループをあまりに早く実行すると、不安定またはクロックが低くなり、タイミングのずれやペリフェラルのリセット前に実行されることがあります。
View full article
关于 i.MX95 19x19 EVK 上的 SD2_VSEL 和 SD2_RST_B 连接的问题 尊敬的恩智浦技术支持团队: 在查看 i.MX95 19x19 CPU EVK 板原理图时,我注意到 SD2_VSEL 和 SD2_RST_B 信号连接到 FP09 GPIO1 和 GPIO2 引脚。 请您更详细地解释一下这些连接的用途? 我尤其想了解为什么这两个信号要连接到 GPIO 引脚,以及它们在系统中是如何控制或使用的。 顺祝商祺! 沃尔特 Re: Question About SD2_VSEL and SD2_RST_B Connections on i.MX95 19x19 EVK 其目的是让 i.MX95 uSDHC2 模块通过 PF09 PMIC 控制 SD 卡电源轨,而不是将这些网络视为普通的板 GPIO。 SD2_VSEL → PF09 GPIO1 :这是用于 SD/SDIO 电压切换。i.MX95 uSDHC 的 VSELECT 输出被定义为用于改变外部电源电压的信号,控制器支持通过 VEND_SPEC[VSELECT] 进行电压选择。在 PF09 中, GPIO1 可以配置为专用 VSELECT 输入;启用时,GPIO1在低电平时选择 LDO2 = 3.3 V,在高电平时选择 LDO2 = 1.8 V。这符合 SD3.0 的要求,即平台必须同时实现 3.3 V 和 1.8 V 信号。 SD2_RST_B → PF09 GPIO2 : this is for card power/RESET control.i.MX95 的 RESET_B 信号被描述为可选的、低电平有效的,对于可拆卸卡,它可以“代替硬件 RESET,在热 RESET 期间启用/禁用卡电源”。PF09 GPIO2 可以配置为 LDO1EN 输入,该引脚通过硬件启用或禁用 LDO1 输出。因此,EVK 连接为 uSDHC2 RESET/电源控制信号提供了一条直接通往 PMIC 控制的 SD 卡电源的路径。 实际上,这些 PF09 引脚并没有在 EVK 上用作随机扩展 GPIO。它们是多功能 PMIC 引脚,连接方式使得 SD 主机控制器可以请求正确的 SD 卡导轨行为: 信号 PF09 引脚角色 系统目的 SD2_VSEL PF09 GPIO1 处于 VSELECT 模式 将 NVCC_SD2 /SD I/O 电源在 3.3 V 和 1.8 V 之间切换,以实现 SD3.0 操作。 SD2_RST_B PF09 GPIO2 处于 LDO1EN 模式或等效的卡电源控制角色 启用/禁用 SD 卡电源,尤其是在 RESET/热 RESET 行为期间。 因此,控制路径通常是: uSDHC2 驱动程序/U-Boot 配置 SD 主机控制器 → uSDHC2 驱动 SD2_VSEL 和/或 SD2_RST_B → PF09 根据其 OTP/配置解释这些引脚 → PF09 改变与 SD 相关的低压差线性稳压器(LDO)状态。PF09 的 GPIO 模式/默认行为可通过 OTP 配置,其 GPIO 输出在配置为 GPO 时也可在系统开启状态下进行控制,但 EVK 接线旨在利用 PMIC 的专用 SD 电源管理功能,而不是手动进行位操作。 结论:SD2_VSEL 和 SD2_RST_B 被路由到 PF09 GPIO1/GPIO2,以便 i.MX95 uSDHC2 接口可以通过 PMIC 执行 SD 卡电压切换和卡电源/复位控制。 Re: Question About SD2_VSEL and SD2_RST_B Connections on i.MX95 19x19 EVK 你好, 是的。这些连接是故意的,SD2_VSEL 和 SD2_RST_B 用于让 i.MX95 USDHC2 接口通过 PF09 PMIC 控制 SD 卡的电源/复位行为,而不是普通的 GPIO 信号。 SD2_VSEL → PF09 GPIO1:控制 SD 卡 I/O 电压切换,SD 3.0 操作通常在 3.3 V 和 1.8 V 之间切换。 SD2_RST_B → PF09 GPIO2:提供 SD 卡电源/RESET 控制,在 RESET 或电源循环序列期间特别有用。 所以预期的路径本质上是: i.MX95 USDHC2 → SD2_VSEL / SD2_RST_B → PF09 → SD卡电源轨 Linux 设备树还显示 SD2_VSELECT 被 USDHC2 使用,SD2_RESET_B 被用于 SD 卡电源控制,这证实了这些是正常 SD 卡设计的一部分,而不是备用 GPIO。
View full article
AN15075 Patch can't be applied The relativly new user manual AN15075 metions the file 0001-add-AHAB-check-for-imx remote-proc-process.patch  Which i found in the  AN15075SW.zip. This patch files applies the following 3 lines:  +#ifdef CONFIG_IMX_REMOTEPROC_AHAB +#include +#include +#endif to  drivers/remoteproc/imx_rproc.c from linux-imx but tthe file linux/firmware/imx/se_fw_inc.h doesn't exist (anywhere on the internet) And the file ele_base_msg is not placed at that location. I am working on the linux-imx lf-6.18.y branch https://github.com/nxp-imx/linux-imx/tree/lf-6.18.y I couldn't find it on the 6.6 or 6.12 either. To what version of linux-imx should this patch be applied?  P.S. If you add the patch and disable  CONFIG_IMX_REMOTEPROC_AHAB The linux-imx won't build either because some properties stopped existing because some of the code is guarded under a #ifdef but not all. Re: AN15075 Patch can't be applied The patch we implemented at that time was merely a proof of concept, and the software team did not agree to merge it into the upstream repository. So it's just a reference implementation. The subsequent porting was not continued. Re: AN15075 Patch can't be applied Is there any change NXP will update the patch for Yocto Wrynose (with linux 6.18)? Re: AN15075 Patch can't be applied Apply AN15075SW’s kernel patch to 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.0 lf-6.6.36-2.1.0 Do not expect it to apply cleanly to lf-6.18.y ; it must be forward-ported. If forward-porting, fix both the include paths and the Kconfig guards. Your PS is consistent with a partial guard bug: disabling CONFIG_IMX_REMOTEPROC_AHAB should leave the existing remoteproc path buildable, but the AN patch appears to leave some non-AHAB code dependent on definitions or fields introduced only inside #ifdef CONFIG_IMX_REMOTEPROC_AHAB . Re: AN15075 Patch can't be applied Did some more digging:  This patch seems to add these files: [PATCH v4 6/7] firmware: imx: add driver for NXP EdgeLock Enclave But it was reapplied differently in this commit: LF-13910: firmware: imx: add driver for NXP EdgeLock Enclave · nxp-imx/linux-imx@0eff402 Re: AN15075 Patch can't be applied Is modifying the remoteproc code to use the ELE firmware still the recommended approach to enable AHAB on the second core? Re: AN15075 Patch can't be applied Yes.
View full article
バグ: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
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
漏洞: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
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.png Once you have RTD & FreeRTOS sucesfully installed, just create new project from example PetrS_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.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.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