Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
EasyEVSE 1060 到 sigbrd2x 接口问题 这是对之前帖子的后续: https://community.nxp.com/t5/Power-Energy/EasyEVSE-signal-board-compatibility-and-availability/m-p/2384517 简要说明:我有一台RT1060EVKB/Sigbrd2x EVSE和一个运行v5.0.8软件的RT1064/Sigbrd2x EV,我正在尝试将它们连接起来。这条回复最初是针对上面的问题发布的,但我不太确定技术代表是否跟进了帖子里的回复。 感谢您的回复。我重新开始研究这个问题,但遇到了一些问题,我从NXP的Git仓库下载的EVSE代码v5.0.8无法正常运行。程序编译正常,图形用户界面也能正常显示,但是当我尝试使用其调试接口并请求版本信息时,对于 1060 代码,我得到了正确的 5.0.8 版本响应,但是 sigbrd2x 的版本显示为硬件版本 255,软件版本 255.255.0。我好像记得在某个地方看到过一篇帖子,说1060板上的液晶显示屏存在通信冲突问题。我会编写 sigbrd2x 和单步执行代码,所以我相当确信这部分功能正在运行。我使用的是EVSE-RT106X-CBL,而不是Arduino的接口。除了电动汽车和电动汽车供电设备(EVSE)之间无法通信之外,我的主要症状是上面报告的版本信息似乎有问题,而且我无法跳过EVSE液晶屏上的“固件下载”状态,如果sigbrd2x通电(我是单独给它们供电的),1060上的EVSE代码也无法启动。感觉像是沟通问题。是否有针对此问题的补丁或变通方案?如果是这样,能否提供一些关于如何解决此问题的文档? 顺祝商祺! 克里斯·爱德华兹 Re: EasyEVSE 1060 to sigbrd2x interface issues 嗨@chrisedwards , 感谢您对 NXP MIMXRT 系列产品的关注! RT1060 似乎正在读取空闲/上拉的 SPI 总线,但没有收到任何有效数据。这意味着 RT1060 ↔ Sigbrd2x SPI 链路从未建立——这也解释了为什么 EVSE 停留在“固件下载”状态,以及为什么双方无法通信。 建议步骤: - 用示波器测量 SPI 线路(SCK/MOSI/MISO/CS)。如果 MISO 保持高电平,则表示板没有响应 → 确认 0xFF。 - 根据信号板手册中的连接器引脚图检查 EVSE-RT106X-CBL 的接线——确认所有 SPI 线 + GPIO 都已正确连接。 - LCD 与 SPI 引脚冲突:暂时禁用 LCD 并重新读取版本以找出问题所在。 - 请按照用户指南中的开机顺序操作,或者先给主机通电。 此致, 加文 Re: EasyEVSE 1060 to sigbrd2x interface issues 嗨,加文, 检查Sigboard的QSPI闪存: 分别给电路板供电后,我没有在U17的SPI引脚上看到任何数据传输(我认为交换机的固件就是从这里获取的)。我确实在我的电动汽车配置(物理上与U17不同的板)的这些引脚上看到了流量。 检查Sigboard的主机接口SPI: 当给 1060 供电,然后给 sigbrd2x 供电(1060 和 sigbrd 分别供电)时,我在主机连接器的 spi 引脚(19、21、23、24)上看不到任何流量;当我通过连接到 J32 的电缆给 sigbrd 供电,并且 J2 和 J3 设置正确时,也看不到任何流量。 从查阅用户指南(UG10140)可知: 我注意到LED灯D18、D21和D33始终不亮。我的电动汽车充电桩上的 sigbrd2x 确实可以。两种设置下,D24指示灯均不亮。D19 闪烁。 禁用图形用户界面后,调试步骤的最终状态: 通过在 EVSE_config.h 中将 ENABLE_EVSE_UI 设置为 0 来禁用 LCD 后,1060 显卡连接到 sigbrd2x 板后可以正常启动。使用从 1060 显卡 J32 接口为 sigbrd 供电的线缆,我可以获取到 sigboard 硬件的版本号 (v2) 和 sigboard 软件的版本号 (v1.2.0)。 信号板的U17端口仍然没有信号传输,D18、D21、D24和D33指示灯也没有亮起。D19闪烁。信号板主机连接器上的 SPI 引脚仍然没有活动。 所以……算是有进展,但感觉转变根本没有发生。用户指南暗示,LED 指示灯亮起表示开关无法工作。 谢谢,并致以最诚挚的问候! 克里斯
記事全体を表示
S32K3 転送完了後の常時接続LPI2Cピン低タイムアウト監視のサポート要請 こんにちは、NXP 私たちはI2C_MASTER_EVENT_PIN_LOW_TIMEOUTイベントを利用して、SDAを低く保つスレーブデバイスの復旧を試みました。テスト中に、転送が完了したとき、または異常状態が検出されたときに、ピンロータイムアウト割り込みがオフになることが確認されました。 企业微信截图_17859835472427.png バスのリアルタイム監視が必要であり、タイムアウト割り込みの有効化は転送終了時に解除されてはならないため、この割り込みは継続的に有効にしておく必要があると考えています。現在のRTD 7.0.1におけるタイムアウト割り込みの処理には欠陥があると考えています。 NXPはこの問題を正しく扱うための公式な推奨や指針を提供できるでしょうか? 敬具 仙龍 Re: S32K3 Request to support always-on LPI2C Pin Low Timeout monitoring after transfer completion こんにちは@wuxianlongさん 詳しい説明とドライバーコードの指摘をありがとうございます。 ご指摘のとおりです。現在のRTD実装では、マスター転送割り込み処理の一環としてLPI2C_IP_MASTER_PIN_LOW_TIMEOUT_INTが有効になり、マスター転送が終了すると再び無効になります。つまり、RTDドライバーは転送完了後にこの割り込みを恒久的なバス監視機構として有効にしないことを意味します。 ハードウェアの観点から見ると、S32K3 LPI2Cモジュールはピンロータイムアウト機能をサポートしています。タイムアウトの閾値はMCFGR3[PINLOW]によって設定され、MSR[PLTF]フラグは選択したSCLまたはSDA回線が設定された閾値より長く低いままの状態で設定できます。リファレンス・マニュアルには、LPI2Cコントローラがアイドル状態でもこのフラグを設定できると記載されています。 しかし、このハードウェア機能があるからといって、RTDドライバーが対応する割り込みを継続的に有効に保つとは限りません。現在のRTD実装は、このイベントをアクティブなマスター転送の文脈で管理しているようです。 転送完了後の連続的なI2Cバス監視では、アプリケーションレベルで処理することが推奨されており、例えばバス復旧ロジックの一部としてMSR[PLTF]の状態を確認するなどです。また、ピンローの状態自体はソフトウェアで解決しなければならないことにもご注意ください。PLTFフラグは低条件がまだ存在している間はクリアできず、新たなSTART条件を生成する前にクリアしなければなりません。 よろしくお願いします、 パベル
記事全体を表示
IMX95 无法重新父级 can1 我尝试启用 can1 我的设备树引脚遵循 imx95 evk,并禁用 &micfil IMX95_PAD_PDM_CLK__AONMIX_TOP_CAN1_TX 0x39e IMX95_PAD_PDM_BIT_STREAM0__AONMIX_TOP_CAN1_RX 0x39e 但是出现了以下错误。 [ 9.968941] CAN 设备驱动程序接口 [ 9.976800] scmi-pinctrl-imx scmi_dev.8:设置配置错误 -13 [ 9.976814] scmi-pinctrl-imx scmi_dev.8:pin_config_set 操作对引脚 121 失败 [ 9.976893] clk:无法将 can1 重新父级设置为 syspll1_pfd1_di:-1 [ 9.978973] 内部错误:同步外部中止:0000000096000010 [#1] SMP [9.978986]链接的模块:flexcan(+)can_dev neoisp(+)at24 rpmsg_ctrl rpmsg_char pwm_fan enetc4_uio(O)fsl_ecat_enetc4 fsl_ecat_enetc_core moal(O)mlan(O)熔丝 [ 9.979017] CPU: 5 UID: 0 PID: 357 Comm: (udev-worker) Tainted: GMO 6.18.2-rt3-1.0.0-1.0.0 #1 PREEMPT_RT [ 9.979026] 已污染:[M]=MACHINE_CHECK,[O]=OOT_MODULE [ 9.979028] 硬件名称:Axiomtek i.MX95 scm136 板 (DT) [9.979031] pstate:60400009(nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 9.979035] pc : flexcan_read_le+0x0/0x20 [flexcan] [ 9.979060] lr : flexcan_probe+0x454/0x834 [flexcan] [ 9.979067] sp : ffff800086133820 [9.979069]x29:ffff800086133850 x28:ffff8000862b0000 x27:ffff000085a182a0 有人知道怎么解决这个问题吗? Re: IMX95 failed to reparent can1 嗨,刘志明 谢谢你的回复。 你说得对,我需要更改系统管理器配置。 Re: IMX95 failed to reparent can1 嗨@HenryHsu 这是我之前在 i.MX95 EVK 上的测试结果,请根据以下修改检查您的 dts 文件。   dts修改:     Zhiming_Liu_2-1785995739657.png diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts index ab7bd4fdaadf..5eb3011f0894 100644 --- a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts @@ -380,7 +380,7 @@ &flexcan1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan1>; xceiver-supply = <&reg_can1_stby>; - status = "disabled"; + status = "okay"; }; &flexcan2 { @@ -623,23 +623,23 @@ spidev0: spi@0 { }; }; -&micfil { - #sound-dai-cells = <0>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&pinctrl_pdm>; - pinctrl-1 = <&pinctrl_pdm_sleep>; - assigned-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>, - <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>, - <&scmi_clk IMX95_CLK_AUDIOPLL1>, - <&scmi_clk IMX95_CLK_AUDIOPLL2>, - <&scmi_clk IMX95_CLK_PDM>; - assigned-clock-parents = <0>, <0>, <0>, <0>, - <&scmi_clk IMX95_CLK_AUDIOPLL1>; - assigned-clock-rates = <3932160000>, - <3612672000>, <393216000>, - <361267200>, <49152000>; - status = "okay"; -}; +// &micfil { +// #sound-dai-cells = <0>; +// pinctrl-names = "default", "sleep"; +// pinctrl-0 = <&pinctrl_pdm>; +// pinctrl-1 = <&pinctrl_pdm_sleep>; +// assigned-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>, +// <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>, +// <&scmi_clk IMX95_CLK_AUDIOPLL1>, +// <&scmi_clk IMX95_CLK_AUDIOPLL2>, +// <&scmi_clk IMX95_CLK_PDM>; +// assigned-clock-parents = <0>, <0>, <0>, <0>, +// <&scmi_clk IMX95_CLK_AUDIOPLL1>; +// assigned-clock-rates = <3932160000>, +// <3612672000>, <393216000>, +// <361267200>, <49152000>; +// status = "okay"; +// }; &mu7 { status = "okay"; @@ -960,19 +960,19 @@ IMX95_PAD_GPIO_IO35__HSIOMIX_TOP_PCIE2_CLKREQ_B 0x4000031e >; }; - pinctrl_pdm: pdmgrp { - fsl,pins = < - IMX95_PAD_PDM_CLK__AONMIX_TOP_PDM_CLK 0x31e - IMX95_PAD_PDM_BIT_STREAM0__AONMIX_TOP_PDM_BIT_STREAM_BIT0 0x31e - >; - }; + // pinctrl_pdm: pdmgrp { + // fsl,pins = < + // IMX95_PAD_PDM_CLK__AONMIX_TOP_PDM_CLK 0x31e + // IMX95_PAD_PDM_BIT_STREAM0__AONMIX_TOP_PDM_BIT_STREAM_BIT0 0x31e + // >; + // }; - pinctrl_pdm_sleep: pdmsleepgrp { - fsl,pins = < - IMX95_PAD_PDM_CLK__AONMIX_TOP_GPIO1_IO_BIT8 0x51e - IMX95_PAD_PDM_BIT_STREAM0__AONMIX_TOP_GPIO1_IO_BIT9 0x51e - >; - }; + // pinctrl_pdm_sleep: pdmsleepgrp { + // fsl,pins = < + // IMX95_PAD_PDM_CLK__AONMIX_TOP_GPIO1_IO_BIT8 0x51e + // IMX95_PAD_PDM_BIT_STREAM0__AONMIX_TOP_GPIO1_IO_BIT9 0x51e + // >; + // }; pinctrl_ptn5110: ptn5110grp { fsl,pins = <     系统管理器修改: diff --git a/configs/mx95evk.cfg b/configs/mx95evk.cfg index 9250d02..6722097 100755 --- a/configs/mx95evk.cfg +++ b/configs/mx95evk.cfg @@ -389,7 +389,7 @@ SYS ALL # Resources M7P OWNER # CPUs must be first -CAN_FD1 OWNER +// CAN_FD1 OWNER FSB READONLY IRQSTEER_M7 OWNER LPIT1 OWNER @@ -612,6 +612,7 @@ CAMERA5 OWNER CAMERA6 OWNER CAMERA7 OWNER CAMERA8 OWNER +CAN_FD1 OWNER CAN_FD2 OWNER CAN_FD3 OWNER CAN_FD4 OWNER   结果: Zhiming_Liu_3-1785995783165.png  
記事全体を表示
EasyEVSE 1060からsigbrd2xへのインターフェースの問題 これは前回の投稿の続報です。 https://community.nxp.com/t5/Power-Energy/EasyEVSE-signal-board-compatibility-and-availability/m-p/2384517 簡単な概要:私はRT1060EVKB/Sigbrd2x EVSEと、v5.0.8ソフトウェアを搭載したRT1064/Sigbrd2x EVを設置しようとしています。これはもともと上の質問への回答として投稿されたものでしたが、技術担当者がスレッドの回答をフォローアップしたかどうか確信が持てませんでした。 ご回答ありがとうございます。作業を再開しましたが、NXPのGitリポジトリから入手したEVSEコードv5.0.8が動作しないという問題が発生しています。ビルドは問題なく、GUIも表示しますが、デバッグインターフェースを使ってバージョン情報を要求しようとすると、1060コードの5.0.8は正しい応答が出てきます。一方、sigbrd2xのバージョンはhw: v 255、sw: v255.255.0と表示されます。どこかの投稿で、1060ボードのLCDディスプレイに通信上の競合問題が発生しているという記事を読んだ記憶がある。sigbrd2xとstepコードのプログラミングはできるので、その側は確実に実行されているとかなり自信があります。ArduinoヘッダーではなくEVSE-RT106X-CBLを使っています。主な症状は(EVとEVSEの両側が連携しない以外に)上で報告されているバージョンで疑わしいこと、そしてEVSE LCDの「ファームウェアダウンロード」状態を突破できず、1060のEVSEコードがsigbrd2xを起動すると起動しません(別々に電源を入れています)。コミュニケーションの問題のように感じられる。この問題に対するパッチや回避策はありますか?もしそうなら、解決方法のドキュメントを教えてもらえますか? よろしくお願いいたします。 クリス・エドワーズ Re: EasyEVSE 1060 to sigbrd2x interface issues こんにちは、 @chrisedwards さん、 NXP MIMXRTシリーズにご関心をお寄せいただきありがとうございます! RT1060はアイドル/プルアップされたSPIバスを読み取っているのに有効なデータが返ってこないようです。つまり、RT1060 ↔ Sigbrd2x SPIリンクが確立されなかったことになります。これがEVSEが「ファームウェアダウンロード」のままで、両者が通信しない理由も説明できます。 推奨される手順: - SPIライン(SCK/MOSI/MISO/CS)をスコープします。MISOが高ければ、0xFFが確認される→、委員会は反応しません。 - 信号ボードマニュアルのコネクタピン配置に対してEVSE-RT106X-CBL配線を確認 — すべてのSPIライン+GPIOが正しく接続されていることを確認します。 - LCDとSPIのピン競合:LCDを一時的に無効にして、バージョンを再読み込みして問題を切り分けます。 - ユーザーガイドの電源を入れ順にするか、ホストに先に電源を入れる。 よろしくお願いします、 ギャビン Re: EasyEVSE 1060 to sigbrd2x interface issues こんにちは、ギャビンさん。 sigboardのqspiフラッシュを確認してください。 基板を別々に電源を供給すると、U17のSPIピン(スイッチのファームウェアがここにあると思われます)にはトラフィックが見当たりません。私のEVセットアップ(物理的に異なる基板)のU17のこれらのピンでトラフィックが発生しているのを確認しました。 sigboardのホストインターフェースSPIを確認してください: 1060に電源を供給してからsigbrd2xに電源を供給した場合(1060とsigbrdは別々に電源供給)、またはJ2とJ3が適切に設定されている状態でJ32につながるケーブルを介してsigbrdに電源を供給した場合、ホストコネクタのSPIピン(19、21、23、24)にトラフィックは確認できません。 ユーザーガイド(UG10140)を詳しく調べてみると: LED D18、D21、D33が全く点灯しないことに気づきました。私のEVセットアップに搭載しているsigbrd2xでは、確かに動作します。どちらの設定でもD24は点灯しません。D19が瞬きする。 GUIを無効化した後のデバッグ手順の終了状態: EVSE_config.hでENABLE_EVSE_UIを0に設定してLCDを無効にすると、1060はsigbrd2xに接続している間に起動します。1060のJ32ケーブルでsigbrdを駆動し、sigboardのハードウェア(v2)とsigboard sw v1.2.0のバージョン番号を入手できます。 信号板のU17には依然としてトラフィックがなく、LED D18、D21、24、D33も点灯していません。D19が点滅する。sigboardのホストコネクタ上のSPIピンには、依然として何の反応もありません。 それで...進歩はあるけど、スイッチが全く出てこないように感じる。ユーザーズガイドでは、LEDはスイッチが動作していないことを示しています。 ありがとうございます。よろしくお願いいたします。 クリス
記事全体を表示
汎用I/O (GPIO) S32K324 MCUに基づく、S32DSを使ってGPIOを高インピーダンス状態に設定する方法。 Re: GPIO ハイ 以前の同様の議論を参照してください: S32K3 GPIO HIGH-Z ピンが以前に内部プルを有効にしていた可能性がある場合、S32K3XXRM のトライステート定義を満たすために、 Siul2_Port_Ip_SetPullSel (..., PORT_INTERNAL_PULL_NOT_ENABLED) を呼び出して PUE=0 を確実にする必要があります。 よろしくお願いいたします ロビン
記事全体を表示
S32K356 RTD Selection We plan to use the S32K356, but found that only versions 7.0.0 and 7.0.1 are available, but the corresponding autosar...If using autosar R21, which version would you recommend? wenming_0-1786093683425.png Re: S32K356 RTD选择 I also tried SW32K3_S32M27x_RTD_R21-11_6.0.0_P05_D2510, but it failed many times. I suspect it's related to the S32Ds version. I've also tried 3.6.7. So, which version of S32D32 should I use? wenming_0-1786106406261.png Re: S32K356 RTD选择 Hello @wenming , You are right - even if the S32K356 is mentioned in the Supported Derivatives section of the  SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_ReleaseNotes.pdf , S32K356 project can't be created. The RTD 6.0.0 P05 release notes state that this P05 release adds the S32DS/CT support for the S32K356 derivative.  Best regards, Pavel Re: S32K356 RTD选择 Based on the description of version 6.0.0, it does not support S32K356. wenming_0-1786103361744.png Re: S32K356 RTD选择 Hello @wenming , S32K3 RTD versions 6.0.0 (AUTOSAR R21-11) is the recommended option for S32K356 with AUTOSAR R21. Best regards, Pavel Re: S32K356 RTD选择 Hello @wenming , Thank you for the screenshot. From the error message, this does not look like an S32DS version limitation. The error happens while S32DS is collecting/downloading the items to be installed, and the key message is: Unexpected end of ZLIB input stream The failed items are S32DS platform/debug related artifacts, for example: com.nxp.s32ds.doc.platform.resources com.nxp.s32ds.lrc.gdb.arm64.linux.win32 This usually indicates that one of the artifacts was not downloaded completely or was corrupted during download/extraction. So the issue looks more like an update-site/download/cache problem than a direct RTD 7.0.1 versus S32DS 3.6.7 compatibility limitation. Regarding the Release Note: the listed S32DS version should be understood as the baseline/tested S32DS version for that RTD release. However, S32DS is modular, and the RTD installation may still require related platform, tools, debugger, compiler, or documentation components to be updated or installed if they are missing or outdated in the current installation. Please try the following: Restart S32DS and try the installation again. Make sure the network connection to the NXP update site is stable. If possible, use the official offline update-site ZIP/package instead of relying only on online download during installation. Check that the required GCC 10.2 toolchain is installed in S32DS. If the issue remains, please try a clean S32DS 3.6.x installation and then install the base RTD 7.0.1 package first before applying any additional patch/update package. So based on the current screenshot, I would not conclude that RTD 7.0.1 cannot be used with S32DS 3.6.7. The current error points rather to an incomplete/corrupted download of required S32DS update artifacts. For reference, I was able to install SW32K3_S32M27x_RTD_R23-11_7.0.1_D2603_DesignStudio_updatesite.zip successfully in S32DS 3.6.6. In my setup, I only had to additionally install the GCC 10.2 toolchain required by the S32K3 RTD package.   Best regards, Pavel Re: S32K356 RTD选择 I've upgraded my S32DS version to 3.6.10, which can install RTD 7.0.1 without requiring additional components. We'll use S32DS 3.6.10 + RTD 7.0.1 for development now. If autosar is needed later...If there's news of an update to version R21, please let me know. Thank you. Re: S32K356 RTD选择 wenming_0-1786415389796.png wenming_1-1786415468027.png As shown in the image above, version 6.0.0 QLP01 also fails to install. Another issue is that the RTD release note states that only S32DS 3.6.2 is required for installation. Why is it prompting me to update components when I use version 3.6.7? This is related to the release...The note does not match; what could be the reason? Re: S32K356 RTD选择 How do I resolve the S32DS version incompatibility issue? Why can't I install RTD7.0.1 in S32DS3.6.7, and it keeps prompting me to update? wenming_0-1786513965538.png Re: S32K356 RTD选择 Hello @wenming , Q1: How do I resolve the S32DS version incompatibility issue? Could you please be more specific about the exact incompatibility message you see?   Q2: Why can't I install RTD7.0.1 in S32DS3.6.7, and it keeps prompting me to update? The update prompt itself is not an error. S32DS may ask to update related platform/tool packages when the selected RTD package depends on newer or additional components.   Also, please make sure that the GCC 10.2 toolchain required by the S32K3 RTD package is installed in S32 Design Studio.   Best regards, Pavel Re: S32K356 RTD选择 wenming_0-1786523357428.png This is an error message when installing RTD 7.0.1. Does it seem to be a version limitation? Also, the S32DS version described in the RTD release should, in principle, be ready to install without needing to update the S32DS components. If component updates are still required, it would be better to recommend the newer installation version, which would be easier to use.
記事全体を表示
S32K1 相補型PWM こんにちは、NXPの専門家の皆様 私たちは日産のエアコンコンプレッサープロジェクトでS32K142チップを使用しました。しかし、日産は、チップのFTMがどのようにして相補的なPWM出力の実現を保証するのかを知りたいと要請した。そのため、この機能の検証のために、説明資料や裏付け資料、またはテストレポートの提供にご協力をお願いしたいと考えております。ありがとう。 Chenxu1_0-1785987344020.png Re: S32K1 Complementary PWM こんにちは@ Chenxu1 チップレベルの保護は主にアーキテクチャ上のもので、1つのチャネルがPWMタイミングを定義し、伴随チャネルは内部補数ロジックによって生成され、オプションのデッドタイム/同期更新ハードウェアにより非重複と整合性のある更新が維持されます。 S32K-RM Rev14.1: Senlent_0-1785999338085.png Re: S32K1 Complementary PWM こんにちは、Senlentさん。ご返信ありがとうございます。 FTMが相補的なPWMを出力する仕組みについては、我々は明確に理解している。チップレベルでは、補完的な波形が位置をずれていないことをどう保証しているのでしょうか?これがお客様が知りたいことです。 Re: S32K1 Complementary PWM こんにちは@ Chenxu1 AN5303および提供されたベアメタルコードを読み取ってテストできます。 https://www.nxp.com/docs/en/application-note/AN5303.pdf Senlent_0-1785997622463.png 参考までに、前回のテスト時に記録した手順をいくつかご紹介します。 相補型PWMモードを設定し、2µsのデッドタイムを挿入しました(プロジェクト全体を保存し忘れましたが、変更は非常に簡単です)。 Senlent_3-1785997707326.png Senlent_1-1785997665931.png Senlent_2-1785997677611.png
記事全体を表示
FRDM-MCXA156:MCUXpresso IDE 中的 SWO 跟踪(数据、配置文件和中断)功能无法正常工作 大家好, 我目前正在使用FRDM-MCXA156开发板,在调试过程中遇到了SWO(串行线输出)问题。 虽然应用程序调试成功,但我无法在SWO 跟踪窗口中接收任何数据,包括: SWO 数据 SWO概况 SWO中断跟踪 SWO ITM 控制台 为了排查问题,我已经核实了以下内容: 使用配置工具已正确配置SWO 引脚。 TRACE 时钟已启用并配置为96 MHz ,与 MCU 内核时钟匹配(MCXA156 运行频率为 96 MHz)。 该项目正在使用LinkServer和板载MCU-Link探针进行调试。 尽管进行了这些配置,但在调试过程中所有 SWO 跟踪窗口仍然为空。 为了方便参考,我附上了SWO 跟踪配置、 SWO 数据、 SWO 配置文件和其他窗口的截图,以及相关的项目配置。 对于可能导致此问题的原因,或者在FRDM-MCXA156上启用 SWO 跟踪是否需要任何额外的配置步骤,我非常感谢您能提供任何指导或建议。 感谢您抽出时间提供帮助。 #swo #frdm-mcxa156 开发板 MCXA Re: FRDM-MCXA156: SWO Trace (Data, Profile & Interrupts) Not Working in MCUXpresso IDE 关于之前的帖子, 下面附上 SWO 启用配置和时钟的屏幕截图。 谢谢! Re: FRDM-MCXA156: SWO Trace (Data, Profile & Interrupts) Not Working in MCUXpresso IDE 你好@sidsal 对于 FRDM-MCXA156 板,将 SWO 信号连接到板载调试器的电阻 R36 默认情况下为 DNP(未安装)。请您填充 R36 并再次测试一下好吗? Alice_Yang_0-1786344510075.png 谢谢! BR 爱丽丝 Re: FRDM-MCXA156: SWO Trace (Data, Profile & Interrupts) Not Working in MCUXpresso IDE 感谢@Alice_Yang指出这一点。我检查了 FRDM-MCXA156 原理图,并确认将 P0_2/SWO 信号连接到板载 MCU-Link 调试器的 R36 标记为 DNP。 我还注意到,在 FRDM-MCXN947 上,等效的 SWO 连接 (R130) 装配了一个 0 Ω 电阻。请问FRDM-MCXA156上的R36是否也应该安装一个0Ω电阻,以便通过板载MCU-Link调试器进行SWO跟踪? 另外,能否请您解释一下为什么 FRDM-MCXA156 默认情况下 R36 未填充 (DNP)?是否有特殊的电路板设计原因或限制,要求该元件保持空置状态?所以我不能使用SWO功能吗? 感谢您的帮助。 Re: FRDM-MCXA156: SWO Trace (Data, Profile & Interrupts) Not Working in MCUXpresso IDE 你好@sidsal “请问FRDM-MCXA156上的R36是否也需要连接一个0Ω电阻,才能通过板载MCU-Link调试器进行SWO跟踪? ” 是的。如果要使用 SWO 功能,则需要安装一个 0 Ω 电阻或相应地焊接连接。 另外,能否请您解释一下,为什么FRDM-MCXA156芯片上的R36插槽默认是空的(DNP)?“ 我认为这是因为并非所有用户都需要 SWO 功能,所以默认情况下没有安装 0 Ω 电阻。 谢谢! BR 爱丽丝 Re: FRDM-MCXA156: SWO Trace (Data, Profile & Interrupts) Not Working in MCUXpresso IDE 感谢@Alice_Yang的支持。
記事全体を表示
错误报告模块 MCU:S32K148,144引脚封装 RTD 版本:SW32K1_S32M24x_RTD_4.4_3.0.0_QLP03_D2507 S32 DS 版本:3.6.6 目标操作系统:裸机 主机操作系统:Windows 根据以上信息,我在驱动程序模块中找不到名为“ERM”(或任何类似名称)的模块。我查看了 MCAL 和非 MCAL 模块。 ERM 是否支持作为驱动模块,还是用户需要像以前基于“Processor Expert”的旧框架那样操作原始指针? Re: Error reporting module 非常感谢您提供的最新信息。 Re: Error reporting module 你好@durga_choudhury 是的,你的理解是正确的。它们作为单独的软件包提供,不包含在 RTD 中。 关于此次分居的原因,我目前正在进行内部审查。但是,值得注意的是,SAF 和 SPD 是根据 ISO 26262 功能安全标准开发的安全导向型软件组件。这使得它们能够集成到需要功能安全支持(最高可达 ASIL D)的应用程序中。 Re: Error reporting module 你好@VaneB 感谢您的跟进。所以你的意思是说,这些模块仅在 SPD 驱动程序中受支持,而不受免费提供的 RTD 支持。是这样吗? 是否有任何理由不能直接通过位操作模块的寄存器来使用这些模块?我尝试了“Processor Expert”驱动程序模型(使用 S32 DS v2.2)的示例,它似乎可以正常工作。 Re: Error reporting module 你好@durga_choudhury 对于 S32K1 设备,可以使用功能安全外设驱动程序 (SPD)。这些驱动程序包括扩展微控制器错误管理器 (eMCEM),它支持通过错误注入模块 (EIM) 和错误报告模块 (ERM) 硬件模块进行内存错误注入和检测。 有关 SPD 的更多信息,请联系您的 NXP 代表或您所在地区的授权代理商之一(代理商网络 | NXP 半导体)。 BR,VaneB
記事全体を表示
S32K3 ADC 优化 DMA 流 你好, 当 ADC 组只有一个通道并且选中了“启用 DMA 流组”配置项时,执行 Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 函数时会发生硬故障。 对于单个通道,如果选中“无中断 ADC 组”配置项,并且启用了“ACCESS_MODE_STREAMING,选择 ADC 流式 DMA 通道”,则可执行此操作。否则,配置文件中的 DMA 通道数为 255,这在这里是合理的。但我不太明白的是,为什么当 ADC_ENABLE_GROUP_STREAMING_RESULTS_RORDER 或 ADC_OPTIMIZE_DMA_STREAMING_GROUPS 为 STD_ON 时,而不是 STD_ON==GroupPtr ->AdcWithoutInterrupt 时,会调用 Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 函数。这似乎不合理,而且调用此函数会导致硬故障。 Jason22_0-1785831767968.png BR, 杰森 Re: S32K3 ADC Optimize DMA Streaming 嗨@ Jason22 下次请不要使用QQ邮箱账号,请使用公司邮箱账号。 我测试过了,但没有发现任何问题。 我附上了我的测试项目和测试结果供你参考。 另外,我检查了你的代码,发现了一些错误。 1.时钟初始化错误,你的代码无法成功运行。 Senlent_0-1785915417329.png 2.“ adc_group0_val ”应归类为“不可缓存区域” 另外: 用户手册中对优化 DMA 流组的使用说明进行了详细说明。 RTD_ADC_UM.pdf Senlent_0-1785915908665.png Re: S32K3 ADC Optimize DMA Streaming 嗨@ Jason22 这是我的检测结果。如果您使用的是我提供的项目,并且优化级别设置为 -O0,那么我们的观察结果应该是一样的。 我觉得这里没什么问题。如果超出边界,肯定会进入硬故障,但测试结果并没有,这只能说明是编译优化级别的问题。没有必要在错误状态下继续分析。 Re: S32K3 ADC Optimize DMA Streaming 您好@Senlent 我不确定我的操作是否正确——我尝试用你的 ELF 文件进行调试,但没有成功。 1.png 请您按照我视频中演示的步骤操作一下好吗?我相信您能够重现这个问题。 步骤如下: 在该行设置断点 Mcl_Init(NULL_PTR); 。 运行程序直到它到达断点。 Mcl_Init(NULL_PTR); 。 禁用所有断点(点击“跳过所有断点”按钮)。 跨过 Mcl_Init(NULL_PTR);(单击“全部执行”按钮) 重新启用断点(单击“跳过所有断点”按钮),然后单击“恢复”按钮。 你会发现 Dma_Ip_ConvertLogicChToHwCh 再次输入,然后 逻辑 是 255。 BR, 杰森 Re: S32K3 ADC Optimize DMA Streaming 嗨@Senlent 很高兴你能看到 LogicCh 是 255。在你的项目中,它确实运行正常,但这属于越界访问,对吗?关于您所说的:“如果超出边界,就应该绝对进入硬故障”——我并不完全同意。C 语言不像 C++ 那样有运行时边界检查。对于指针数组,是否发生硬故障取决于越界访问所获得的值。 考虑一个指针数组:uint32* pArr[2] = {0x20400000, 0x20400004}。假设 pArr 的地址为 0x204300A0,则 pArr[2] 的值存储在地址 0x204300A8 处。如果 0x204300A8 包含 0x20400008,则 *pArr[2](越界访问,最终读取地址 0x20400008 处的值)不会导致硬故障。但是,如果 0x204300A8 包含 0x1FFFFFF0,则 *pArr[2](最终从 0x1FFFFFF0 读取)将导致硬故障。两者都是越界访问,但是否会发生硬故障取决于概率。 准确地说,硬故障并非由越界访问本身直接引起,而是因为对指针数组的越界访问得到了一个无效指针,而访问该无效指针触发了硬故障。 正因如此,在你的项目中,访问 Dma_Ip_pxInit->ppxLogicChannelConfigArray[255]->LogicChId.HwChId 不会导致硬故障,但在我的项目中却会导致硬故障。 BR, 杰森 Re: S32K3 ADC Optimize DMA Streaming 嗨@ Jason22 我会把设计团队的反馈意见发给你。 通常情况下,如果这是一个影响重大的漏洞,他们会在新版本中修复,并在发布说明中加以说明。 Re: S32K3 ADC Optimize DMA Streaming 嗨@Senlent 非常感谢您向设计团队报告这个问题。如果有最终结果,我应该在哪里查看?如果确实存在错误,是否会在类似于 SW32K3_S32M27x_RTD_R23-11_7.0.0_D2511_ReleaseNotes.pdf 的文档中公布? BR, 杰森 Re: S32K3 ADC Optimize DMA Streaming 您好@Senlent 是的,我直接使用了你的项目,没有做任何修改。在你的视频中, Dma_Ip_ConvertLogicChToHwCh 函数被间接调用 Mcl_Init ,这不是预期行为。预期行为是…… Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 间接呼叫 Dma_Ip_ConvertLogicChToHwCh 。我的视频演示了这一点:在运行期间 在 Mcl_Init 过程中,我跳过了所有断点,之后 Mcl_Init 完成后,我重新启用了断点。此时, Dma_Ip_ConvertLogicChToHwCh 再次输入, 逻辑 是255。 BR, 杰森 Re: S32K3 ADC Optimize DMA Streaming 您好@Senlent 非常感谢您的回复。我已经使用公司邮箱注册了一个新账号,本帖关闭后我将使用该账号。 我运行了你的项目,发现没有发生硬故障。但是,我的问题仍然存在。如下面的屏幕截图所示,该函数 Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 配置 DMA_IP_CH_SET_MAJORLOOP_LOGIC_LINK_CH DMA通道的参数。当 Dma_Ip_ConvertLogicChToHwCh 被称为, 逻辑 值为 255。 Dma_Ip_pxInit->ppxLogicChannelConfigArray 指向 Dma_Ip_paxLogicChannelConfigArrayPB 数组,大小为 2。访问 Dma_Ip_pxInit->ppxLogicChannelConfigArray[255] 这应该是越界访问。虽然没有发生硬故障,但我认为这并不合理。 Jason07_0-1785979871220.png Jason07_1-1785979890128.png Jason07_2-1785979907208.png 这种越界访问是由调用引起的。 关于 Adc_Ipw_SetupTcdSingleAdcChannelMajorLink ,这是我的另一个问题。我已经查看了相关内容。 RTD_ADC_UM.pdf 并且还检查了驱动程序代码。 优化DMA流组(单通道)时,数据直接从CDR传输到用户缓冲区,这与多通道情况下数据先从CDR移动到用户缓冲区的情况不同。 DmaIntermediateBuffer 然后从那里传输到用户缓冲区。 优化DMA流组(单通道) 不使用流式 DMA 通道。在配置文件中,以下值: AdcIpwConfigPtr->Mapping.AdcCountingDmaChanLogicId 数组确实存在 ADC_IPW_INVALID_DMA_CHANNEL_ID (255) Jason07_3-1785980010767.png 我不明白为什么 Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 仍然需要调用。真正应该调用这个函数的是 无中断组(单通道) ,但当 ADC_ENABLE_GROUP_STREAMING_RESULTS_RORDER 或者 ADC_OPTIMIZE_DMA_STREAMING_GROUPS 是 STD_ON ,而不是 STD_ON == GroupPtr ->AdcWithoutInterrupt , Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 函数被调用。 Jason07_4-1785980037684.png 我找到了项目中的问题所在:当我取消选中“数据部分”时,硬故障就不再发生了。然而,我认为这并非问题的关键所在。 Jason07_5-1785980062079.png BR, 杰森 Re: S32K3 ADC Optimize DMA Streaming 您好@Senlent 最后一条回复里的图片不清晰。我已经以附件的形式再次上传了图片。我用数字给图片编号。 BR, 杰森 Re: S32K3 ADC Optimize DMA Streaming 嗨@ Jason07 @Jason22 请将优化构建选项设置为 -O0。 这是我在单步调试过程中观察到的结果。 Senlent_1-1786003373031.png 这可能是因为版本优化(-Os)阻止了调试器准确映射源代码变量。 Re: S32K3 ADC Optimize DMA Streaming 您好@Senlent 我的项目优化程度为 我运行了你的项目(也使用了 -O0参数),发现它在 Adc_Ipw_SetupTcdSingleAdcChannelMajorLink -> ...... -> Dma_Ip_ConvertLogicChToHwCh , 逻辑 数值仍然是 255。 1.png 在你的截图中,是 Dma_Ip_ConvertLogicChToHwCh 因……而被称为 Adc_Ipw_SetupTcdSingleAdcChannelMajorLink ? Mcl_Init 也叫 Dma_Ip_ConvertLogicChToHwCh ,在这种情况下 逻辑 为 0,这似乎与您的屏幕截图一致。 我在你的项目中运行了一个测试。 Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 间接调用 Dma_Ip_ConvertLogicChToHwCh ,我观察到 &Dma_Ip_pxInit->ppxLogicChannelConfigArray[LogicCh] 是 0x429F28 ,与 &Dma_Ip_pxInit->ppxLogicChannelConfigArray[255] 。 2.png 然后我修改了地址处的值。 0x429F28 到 0x1FFFFFF0 ,并执行了第 348 行的代码。 3.png 发生了一次硬故障,并且 渔业和海事局 数值为 正如预期的那样,值为 0x1FFFFFF6。 4.png 这证实了越界访问确实存在。是否发生硬故障取决于该值。 Dma_Ip_pxInit->ppxLogicChannelConfigArray[255] . Re: S32K3 ADC Optimize DMA Streaming 嗨@ Jason22 这很奇怪,我已经尝试过好几次了。您可以直接调试我提供的 ELF 文件。 Re: S32K3 ADC Optimize DMA Streaming 嗨@Senlent 对不起。步骤4是点击“跨过”按钮。 BR, 杰森 Re: S32K3 ADC Optimize DMA Streaming 嗨@ Jason22 我可能还是没理解你的问题。我想请问一下这个项目运行是否符合预期?如果是这样,会有什么问题吗? 我看到 LogicCh 显示为 255,但程序运行正常。这样做有什么问题吗? Re: S32K3 ADC Optimize DMA Streaming 嗨@ Jason22 我可以将此问题转交给设计团队确认。 由于 RTD 驱动程序并非我设计,除非用户遇到问题,否则我不会深入探讨他们这样设计的原因。 反馈过程可能需要一些时间,但我会将调查结果转达给相关的设计团队。
記事全体を表示
LX2162A USXGMII 链路始终无法建立连接。 大家好, 我有一个由Solidrun公司生产的LX2162A系统模块。我目前使用的是Clearfog开发套件,但很快会换成定制的载体。 Solidrun 提供基本的 RCW/DCP/DPL,我已经验证了其功能。就我而言,dpmac3 的 DPC 适用于 SFP 笼,我可以通过 SFP DAC 电缆和各种 SFP 模块获得 XFI 连接。 RCW“rcw_2000_650_2900_3_11_0_auto”设置为SerDes1=3,SerDes2=11,我使用的是QorIQ内核(lf-6.6.52-2.2.0)和mc-utils(10.39.0),但两者都应用了一些Solidrun补丁。Uboot和其他一些东西也被打上了补丁。所有补丁均来自此处: https://github.com/SolidRun/lx2160a_build/tree/develop-ls-6.6.52-2.2.0 我有一套 MaxLinear GPY245-EKV-1(和 -2)开发套件,需要通过 DAC 电缆使用 USXGMII 将 phy 连接到设备。这似乎很正常。最终,这款物理芯片将被集成到 SerDes2=7 的第 6 道和第 7 道中,但我必须使用 Clearfog 上的 SFP 插槽进行测试。 Clearfog SFP (mac3) <-> DAC CABLE <-> GPY245-EVK-2 SFP 我只是想配置 dpmac3 通过 DPC 使用这个 USXGMII 链路: mac@3 { link_type = "MAC_LINK_TYPE_PHY"; enet_if = "USXGMII"; }; (我也尝试过 MAC_LINK_TYPE_BACKPLANE) 已通过“restool dpmac info dpmac.3”确认显示“DPMAC 以太网接口:DPMAC_ETH_IF_USXGMII”。 在Linux系统中,我添加了MaxLinear驱动程序并修复了一些问题: gpy_update_interface() 修复(LKML,Daniel Golle)。这导致 USXGMII 接口返回 -EINVAL,使 phy_state_machine 崩溃。 已修复 pcs-lynx.c 中的 lynx_pcs_config_usxgmii() 函数。同时通过 mdiobus_c45_modify() 写入 MII_BMCR (BMCR_ANENABLE | BMCR_ANRESTART),因为该函数只写入了 MII_ADVERTISE,而从未在复制器块本身上启用 AN。这一问题与本论坛上的另一篇帖子(“LS1028A 10g-qxgmii phy 启动”)相吻合,该帖子也发现了相同的症状(MMD31.0/复制器)。控制寄存器卡在 0),手动设置第 12 位后,AN 开始工作。 这是 DPMAC3 Linux 设备树条目: &dpmac3 { managed = "in-band-status"; phy-mode = "usxgmii"; phy-handle = <&gpy245_p0>; phys = <&serdes_1 7>; status = "okay"; }; 其中 `gpy245_0` 是 MDIO 节点。MDIO 到物理层的流量正常。 我在 lynx_pcs 驱动程序中添加了一个打印输出,用于显示读取结果: mdio_bus 0x0000000008c0f000:00: USXGMII: wrote ADV=0xd601 BMCR=0x1a00 readback ADV=0x6b00 BMCR=0x0800 BMSR=0x0000 LPA=0x0000 问题: 鉴于对该 PCS 实例上的 MDIO_MMD_VEND2 寄存器的写入似乎不会持久,在 LX2162A 系列 SoC 上的 USXGMII 接受配置之前,是否需要已知的额外步骤(SerDes/PCS 块使能、协议特定的初始化或类似步骤)?协议 3 是否已针对 dpmac3 上的 USXGMII 进行了全面验证,还是主要针对 XFI 进行设计/测试? 其他问题: 也许我不了解 GPY245 和 USXGMII。我看到有些人称之为 QXGMII,但我不知道 LX2162A 是否能够实现这个功能。 或许我需要联系 Solidrun,但他们所有的补丁似乎都没有限制 LX2162A 的功能。 谢谢! Re: LX2162A USXGMII link never completes LX2162A 端的文档显示,它支持您所使用的路径上的 USXGMII ,但您所描述的症状看起来不像缺少 Linux pcs-lynx 写入,而更像是所选的 PCS 实例实际上仍未处于 USXGMII 应用程序模式,或者 MC 固件正在对错误的 10G PCS 选择器进行编程。 对于SerDes1 协议 3 ,LX2162A 参考手册将所有四个 SerDes1 通道列为 USXGMII / XFI,其中第一个通道为 USXGMII / XFI.3,这对应于您在 Clearfog SFP 路径上测试的 DPMAC3 用例。对于您未来的自定义载波目标, SerDes2 协议 7还将通道 6 和通道 7 记录为 USXGMII / XFI.13 和 USXGMII / XFI.14。 需要注意的是,USXGMII / XFI 条目不会自动显示为“USXGMII”。参考手册指出,在同一通道上,USXGMII 和 XFI 之间的默认值为 XFI。模式是通过协议配置寄存器 C (PCCC)选择,其 SXGMII*_XFI 位选择 0b = USXGMII 和 1b = XFI/SFI。因此,我首先要检查的不是 Linux BMCR 写入本身,而是DPMAC3 的特定 SXGMII 实例在 MC/DPC 初始化后是否清除了其 PCCC XFI 选择位。 MC 固件中出现此类故障并非 Linux PCS 驱动程序中的故障,此前也有过先例:一个 LX2162A 工单显示,MC 在 USXGMII 配置的 PCCC 中清除了错误的 10G 接口选择器,而 MC 固件工程版本 10.35.101 解决了该问题。另一张工单指出,MC 设置由 MC 固件完成,NXP 以二进制形式提供 MC。由于您使用的是 MC 10.39.0,因此您应该已经过了那个特定的旧修复程序,但您看到的故障模式仍然与“MC 没有将预期的 PCS 置于 USXGMII 模式”或“正在处理错误的 PCS 实例”一致。 接下来我会这样做: 在 Linux 进行任何更改之前,请阅读 PCCC。 在 RCW + MC + DPL/DPC 加载之后,但在 Linux PCS 驱动程序运行之前,读取 PCCC 并确认相关的 SXGMII*_XFI 位为 0。适用于 DPMAC3 / USXGMII/XFI.3预计会是第一个 SXGMII 选择器,而不是 MAC13/14 选择器。如果该位保持为 1,则该通道仍然是 XFI/SFI,并且您的 VEND2/USXGMII PCS 写入不会应用于活动的 USXGMII PCS 路径。 检查 MDIO 访问是否连接到预期的 PCS 管理端口。 SXGMII 协议控制寄存器有一个 MDEV_PORT 字段,用于匹配 MDIO 访问。手册中指出,软件在更改该字段后必须至少等待 3 个平台时钟周期,然后才能对 SGMII/PCS 目标进行 MDIO 访问。如果 MDIO 地址解码错误,写入操作可能会“无法持久”,因为您正在读取不同的或重置/默认的 PCS 窗口。 确认 USXGMII AN 寄存器只有在模式选择正确后才有意义。 USXGMII PCS CONTROL 寄存器的第 12 位具有 AUTO_NEGOTIATION_ENABLE,而 DEV_ABILITY / PARTNER_ABILITY 是 RW 寄存器。DEV_ABILITY 下供应商任意速度字段必须非零,因为零会导致自动协商失败。但如果 PCCC 仍然选择 XFI,那么这些 BMCR/能力写入并不是真正的根本问题。 除非 GPY245 板文档明确说明,否则不要将 QXGMII 视为单独的必需外部协议。 LX2162A 文档确实包含 QXGMII 协议变流器寄存器,包括 RESET/掉电控制位,例如 PD_QXGM 和 RST_QXGM。NXP 社区关于 LS1028A 的资料也提到了 10G_QXGMII Lynx SerDes 驱动程序路径。但是您选择的已记录的 LX2162A DPMAC 接口仍然是 USXGMII / XFI,NXP 文档单独指出 LX2160 类设备支持 USXGMII,“SXGMII”不是同一回事。换句话说:“QXGMII”在驱动程序/社区讨论中的引用可能描述的是内部转换器/驱动程序命名路径,不一定与您配置的USXGMII模式不同的MAC到PHY协议。 对于本次 Clearfog SFP 测试,请保持 DPC 简单。 MAC_LINK_TYPE_PHY with enet_if = "USXGMII"  是 MDIO 上管理外部 PHY 的更自然模型。除非您有意使用背板/KR 风格的流程,否则我不认为 MAC_LINK_TYPE_BACKPLANE 可以修复面向 PHY 的 USXGMII 设置。 我不会得出协议 3“主要仅限 XFI”的结论。参考手册将协议 3 记录为 DPMAC3 的 SerDes1 通道的 USXGMII / XFI。我无法从检索到的材料中证实的是,有单独的验证声明称“协议 3 + DPMAC3 + USXGMII 已通过 GPY245 验证”。更有力、有证据支持的说法是:硬件模式存在,默认为 XFI,除非 PCCC 选择 USXGMII,并且已知 MC 固件有先例对错误的 10G PCS 选择器进行编程。 针对您具体的回读: 写入 ADV=0xd601 BMCR=0x1a00 回读 ADV=0x6b00 BMCR=0x0800 BMSR=0x0000 LPA=0x0000 如果 PCS 实例未完全启用/选择用于 USXGMII,或者 MDIO 管理窗口未指向预期的 PCS 实例,则这正是我所期望的结果。在添加更多 Linux 端写入之前,我会先验证 PCCC 和 MC 日志。 LX2162A 协议 3 已记录在案,适用于 DPMAC3 上的 USXGMII / XFI,但 USXGMII 依赖于 MC/PCCC 选择 USXGMII PCS;如果 VEND2/BMCR 写入没有持久性,首先要证明 DPMAC3 的正确 PCCC 位已清除,并且 MDIO 正在寻址正确的 SXGMII PCS 实例。 Re: LX2162A USXGMII link never completes @yipingwang非常感谢您的详细解答! 你说的都很有道理,我已经开始更多地了解这个平台了。我已经开始使用 AN13329.pdf 中的建议。部分地址和功能似乎无法正常工作(可能是版本不匹配),但至少我可以获取如下所示的 MC 日志: => md 0x8340020 10 08340020: e0000006 00000021 00060000 00000000 ....!........... 08340030: 00000000 00000000 00000000 00000000 ................ 08340040: 00000000 00000000 00000000 00000000 ................ 08340050: 00000000 00000000 00000000 00000000 ................ => md 0x21e1000000 21e1000000: 4d430100 00000000 01400000 00300000 [email protected]. 21e1000010: 00000073 00000000 00000000 00000000 s............... 21e1000020: 00000000 00000000 00000000 00000000 ................ 21e1000030: 00000000 00000000 00000000 00000000 ................ => md 0x21e1400000 50 21e1400000: 202c575b 54414c50 4d524f46 5520205d [W, PLATFORM] U 21e1400010: 20545241 6e697270 61662074 64656c69 ART print failed 21e1400020: 6c61202c 6564206c 20677562 61746164 , all debug data 21e1400030: 6c697720 6562206c 69727020 6465746e will be printed 21e1400040: 206f7420 66667562 0a2e7265 6e6e7552 to buffer..Runn 21e1400050: 20676e69 6120434d 202c7070 74696177 ing MC app, wait 21e1400060: 20676e69 20726f66 6e657665 2e207374 ing for events . 21e1400070: 000a2e2e 00000000 00000000 00000000 ................ 21e1400080: 00000000 00000000 00000000 00000000 ................ 21e1400090: 00000000 00000000 00000000 00000000 ................ 21e14000a0: 00000000 00000000 00000000 00000000 ................ 21e14000b0: 00000000 00000000 00000000 00000000 ................ 21e14000c0: 00000000 00000000 00000000 00000000 ................ 21e14000d0: 00000000 00000000 00000000 00000000 ................ 21e14000e0: 00000000 00000000 00000000 00000000 ................ 21e14000f0: 00000000 00000000 00000000 00000000 ................ 21e1400100: 00000000 00000000 00000000 00000000 ................ 21e1400110: 00000000 00000000 00000000 00000000 ................ 21e1400120: 00000000 00000000 00000000 00000000 ................ 21e1400130: 00000000 00000000 00000000 00000000 ................ 我尝试通过 uboot 来操作 PCCC。以下是相关内容: crc32+ MC firmware version 10.39.0 fsl-mc: Booting Management Complex ... SUCCESS fsl-mc: Management Complex booted (version: 10.39.0, boot status: 0x1) Autoboot in 3 seconds => mmc read 0x80d00000 0x6800 0x800 => fsl_mc apply dpl 0x80d00000 fsl-mc: Deploying data path layout ... SUCCESS => md.l 0x1ea10b0 1 01ea10b0: 88889991 .... 我真心希望 0x1ea10b0 是正确的地址。根据 LX2162ARM.pdf 文件,那*可能*是正确的地址,解码后显示: A (lane 0) bit 31 1 = XFI/SFI B (lane 1) bit 27 1 = XFI/SFI C (lane 2) bit 23 1 = XFI/SFI D (lane 3) bit 19 1 = XFI/SFI 是否应该观察正确的寄存器地址(PCCC)?我还能提供其他信息吗? 谢谢! Re: LX2162A USXGMII link never completes 是的。为了 SerDes1 ,  0x1ea10b0  是正确的地址 PCCC : LX2162A CCSR 地图列表 SerDes 1 在  0x1EA_0000–0x1EA_FFFF  。 SerDes 内存映射列表 协议配置寄存器 C / PCCC 偏移量  0x10B0  。 所以: 0x1EA0000+0x10B0=0x1EA10B0 0 x 1 E A 0000 + 0 x 10 B 0 = 0 x 1 E A 10 B 0 所以你的 U-Boot 读取到: 复制 => md.l 0x1ea10b0 1 01ea10b0: 88889991   正在观察预期情况 SerDes1 PCCC 登记。 需要特别注意的是命名:我不会将这些领域描述为物理领域。 SerDes 通道 A/B/C/D 适用于您当前的配置。在 LX2162A SerDes1 协议表中,协议  3  地图 物理车道 H / 车道 0 到  USXGMII / XFI.3  然后,从 G 车道/1 车道到  .4  ,F车道/2车道至  .5  以及 E 车道/3 号车道  .6  。PCCC 字段名称,例如  SXGMIIA_XFI  ,  SXGMIIB_XFI  等是 PCS/协议控制字段,其命名约定不一定与物理通道字母相同。 您的价值  0x88889991  高位进位解码如下: 复制 PCCC = 0x88889991 位 31:28 = 0x8 -> SXGMIIA_XFI = 1,CFG = 000 位 27:24 = 0x8 -> SXGMIIB_XFI = 1,CFG = 000 位 23:20 = 0x8 -> SXGMIIC_XFI = 1,CFG = 000 位 19:16 = 0x8 -> SXGMIID_XFI = 1,CFG = 000 位 15:12 = 0x9 -> SXGMIIE_XFI = 1,CFG = 001 位 11:8 = 0x9 -> SXGMIIF_XFI = 1,CFG = 001   关键在于  _XFI  少量。RM定义  0  作为 USXGMII 模式 和  1  作为 XFI/SFI 模式 这些领域 。因此,您读到的值强烈表明,相关的 USXFI/SXGMII PCS 实例仍然被选中。 XFI/SFI 不是 USXGMII。 这与您的症状相符:Linux/restool 可能会报告  DPMAC_ETH_IF_USXGMII  但如果PCCC仍然拥有相关  _XFI  选择位  1  底层 SerDes/PCS 选择仍然有效地处于 XFI/SFI 模式。RM 还明确指出,要启用 10G-SXGMII,软件必须进行设置  PCCC[SGMIIa_XFI] = 0  。 你的MC日志提取看起来也正常。AN13329 指示阅读 MCFBAL/MCFBAH  0x8340020  构建 MC 固件基础,然后转储偏移量的日志缓冲区结构。  0x01000000  该结构体包含魔数、日志缓冲区偏移量和日志缓冲区长度 。你的  0x21e1000000  转储文件显示了预期结果  0x4d430100  魔法和指向日志偏移量的指针  0x01400000  这与你之后的转储文件相符。  0x21e1400000  。 接下来我要拍摄的内容: 每个阶段的PCCC快照 复制 md.l 0x1ea10b0 1 捕捉它: immediately after RESET / before MC 启动 if possible, MC启动后, DPC/DPL申请后, Linux启动后, 在 DPMAC 探测/配置之后。 相邻协议配置寄存器 复制 md.l 0x1ea10a0 1 # PCC8 md.l 0x1ea10a4 1 # PCC9 md.l 0x1ea10b0 1 # PCCC PCC8/PCC9 包含其他 SGMII 配置字段,而 PCCC 是 SXGMII/XFI 选择器寄存器。 。 确认尝试强制使用 USXGMII 时,哪个 PCCC 字段发生了变化。 如果可以安全地在 U-Boot 中进行实验,请尝试清除候选路径。  _XFI  截取一段并立即读出来。例如,如果 dpmac3 对应于第一个 SXGMII/USXFI 控制字段,则清除第 31 位将作为实验性检查: 复制 mw.l 0x1ea10b0 0x08889991 1 md.l 0x1ea10b0 1 如果它立即读取为  0x88889991  那么,要么写入操作被阻止/覆盖,要么该字段在当前阻塞状态下不可写。如果这种情况一直持续到 MC 或 Linux 运行,那么 MC/Linux 很可能正在恢复 XFI/SFI 模式。 完整的RCW SerDes解码 你已经拥有  SerDes1=3, SerDes2=11  这与 dpmac3 通道可用相符  USXGMII / XFI.3  在 SerDes1 协议 3 下 。不过,升级问题时,仍需提供完整的 RCW 字符串和原始 RCW 转储,因为 MC 固件通常会根据完整的协议集进行调整。 MC固件+DPC/DPL制品 因为你的MC是  10.39.0  , 包括: MC固件版本 DPC源, DPL来源, 精确的  dpmac@3  堵塞, restool dpmac info dpmac.3  , 每一步之后的PCCC值。 我目前对您数据的解读: 是的,  0x1ea10b0  是正确的 SerDes1 PCCC 地址,并且  0x88889991  看起来相关的 PCS 选择器仍然处于 XFI/SFI 模式。 这与 XFI 通过 SFP 插槽工作,而 USXGMII 不接受/保留预期的 PCS 配置的情况一致。
記事全体を表示
旧ハードウェアと新ハードウェアのバージョン番号の違い _0-1785831056367.png 左側の旧バージョン(332)は使用できるのに、右側の新バージョン(B222)は使用できないのはなぜですか?332とB222の違いは何ですか? B222を正しく動作させるにはどうすればよいですか? Re: 新舊硬件版號差別 こんにちは、ダレンさん。 このことはアプリケーションチームと話し合いました。提供されたスクリーンショットから判断すると、GUIが新しいB222バージョンをサポートするために更新や再設計されていない可能性があり、これが古い332バージョンが正しく動作するのに対し、B222が動作しない理由を説明している可能性があります。 さらに調査のために、当社のアプリケーションエンジニアがチームと共に詳細を確認したいと考えています。彼が直接連絡し、分析を継続し、バージョン332とB222の違いやB222での正常動作を可能にするために必要な手順について話し合う予定だと聞いています。 BRs、トーマス
記事全体を表示
RW612 WiFi InitがHAL_ImuLinkIsUp()で停止する 私はカスタムボード上でMQTTのサンプルを実行しようとしています。使用されているモジュールはublox IRIS-W106-30Bです。j-linkを使用してWiFiファームウェアブロブを個別にインストールする手順に従いました。しかし、WPL_Init() 関数内で無限ループに陥ってしまっています。 natered21_0-1785877418073.png 私も同様の問題でBLEを初期化できませんでした。 MCUXpressoを使用したSDK 25.09.00 Re: RW612 WiFi Init stuck on HAL_ImuLinkIsUp() SDK_2.x_RW610 mqtt のサンプルから、「main_task」以降のすべてを既存のプロジェクトにコピーしました。残る大きな違いは、ハードウェアの初期化部分です。サンプルコードのどの部分がIMUの初期化不良の原因となっているのか特定できません。 カスタムボード上でベースサンプルプロジェクトを動かすことはできますが、既存のプロジェクトにポートすることはできません。 Re: RW612 WiFi Init stuck on HAL_ImuLinkIsUp() RD-RW61X-BGA SDKを使っていますか?それともFRDM-RW612のSDKですか? 元の例をモジュールに移植するためにどのファイルを修正しましたか? Re: RW612 WiFi Init stuck on HAL_ImuLinkIsUp() こんにちは、 簡単な「Hello World」の例をテストしていただけますか? また、モジュールを有効にするために必要な変更は既に適用済みですか?詳しい手順については、以下の記事をご参照ください。 よろしくお願いいたします。 ダニエル。 Re: RW612 WiFi Init stuck on HAL_ImuLinkIsUp() はい、通常のアプリケーションコードを実行したり、UARTにログを記録したりできます。 Re: RW612 WiFi Init stuck on HAL_ImuLinkIsUp() 私の理解が正しければ、カスタムボード上でWi-FiとBluetoothのサンプルを問題なく実行できるということですね。問題は、ネットワーク機能を自分のアプリケーションに統合または移植し始めたときに発生します。 私のおすすめは、MQTTの例をアプリケーションの基盤として使うことです。もしWi-FiとBT/BLEを同時に動作させる必要がある場合は、既存のカスタムアプリケーションに共存サポートを追加するよりも、共存例の一つから始めて、その上にアプリケーション固有の機能を追加する方が良いでしょう。 ちなみに、SDK 25.09はすでに3つのリリースから遅れています。続ける前に最新のSDK 26.06にアップグレードすることをお勧めします。
記事全体を表示
Differences between old and new hardware version numbers _0-1785831056367.png Why can the older version (332) on the left be used, while the newer version (B222) on the right cannot? What is the difference between 332 and B222? How can I make B222 work properly? Re: 新舊硬件版號差別 Hi Darren, I discussed this with our applications team. Based on the screenshots provided, it appears that the GUI may not have been updated or reworked to support the newer B222 version, which could explain why the older 332 version operates correctly while B222 does not. To investigate this further, our applications engineer would like to review the details together with your team. I have been informed that he will contact you directly to continue the analysis and discuss the differences between versions 332 and B222, as well as the steps required to enable normal operation with B222. BRs, Tomas
記事全体を表示
RW612 WiFi 初始化卡在 HAL_ImuLinkIsUp() 处 我正在尝试在自定义板上运行 MQTT 示例。所用模块为 ublox IRIS-W106-30B。我按照说明使用 j-link 单独安装了 wifi 固件 blob。但是,我在 WPL_Init() 函数中陷入了无限循环。 natered21_0-1785877418073.png 由于类似问题,我也无法初始化BLE。 SDK 25.09.00 使用 MCUXpresso Re: RW612 WiFi Init stuck on HAL_ImuLinkIsUp() 您使用的是 RD-RW61X-BGA SDK 还是 FRDM-RW612 SDK? 为了将原始示例移植到您的模块中,您修改了哪些文件? Re: RW612 WiFi Init stuck on HAL_ImuLinkIsUp() 如果我理解正确的话,您可以在您的定制板上运行 Wi-Fi 和蓝牙示例程序,没有任何问题。当您开始将网络功能集成或移植到自己的应用程序中时,问题就出现了。 我的建议是以 MQTT 示例为基础来开发你的应用程序。如果您的使用场景需要 Wi-Fi 和 BT/BLE 同时运行,那么最好从共存示例之一入手,并在其基础上添加您特定应用的功能,而不是之后尝试向现有的自定义应用程序添加共存支持。 顺便一提,SDK 25.09 已经落后三个版本了。我建议您在继续操作之前升级到最新的 SDK 26.06。 Re: RW612 WiFi Init stuck on HAL_ImuLinkIsUp() SDK_2.x_RW610 我从 mqtt 示例中复制了“main_task”及其之后的所有内容到我现有的项目中。这就留下了硬件初始化方面的主要区别。我无法确定示例中的哪些方面导致IMU无法初始化。 我可以在我的定制板上运行基础示例项目,但无法将其移植到现有项目中。 Re: RW612 WiFi Init stuck on HAL_ImuLinkIsUp() 是的,我能够运行正常的应用程序代码,也能将日志记录到UART等等。 Re: RW612 WiFi Init stuck on HAL_ImuLinkIsUp() 您好, 您能否测试一下简单的“Hello World”示例? 另外,您是否已经进行了必要的修改以启用您的模块?请参考以下文章获取指导。 问候, 丹尼尔。
記事全体を表示
エラー報告モジュール MCU:S32K148 144ピンパッケージ RTDバージョン:SW32K1_S32M24x_RTD_4.4_3.0.0_QLP03_D2507 S32 DS バージョン: 3.6.6 対象OS: ベアメタル ホストOS: Windows 上記の方法では、ドライバーモジュールに「ERM」というモジュール(またはそれに類するもの)が見つかりません。私はMCALモジュールと非MCALモジュールの両方を調べました。 ERMはドライバモジュールとしてサポートされているのか、それともかつての「プロセッサ Expert」ベースのフレームワークのようにユーザーが生のポインタを操作すべきなのか? Re: Error reporting module こんにちは、 @durga_choudhuryさん はい、あなたの理解は正しいです。これらは別のソフトウェアパッケージとして提供されており、RTDの一部には含まれていません。 今回の離職理由につきましては、現在社内で検討中です。しかし、SAFとSPDはISO 26262機能安全基準に準拠した安全志向のソフトウェアコンポーネントとして開発されたことに注意が必要です。これにより、ASIL Dまでの機能安全サポートを必要とするアプリケーションへの統合が可能となります。 Re: Error reporting module 最新情報をお知らせいただき、誠にありがとうございます。 Re: Error reporting module こんにちは、 @durga_choudhuryさん S32K1デバイスには、セーフティ ペリフェラル ドライバ(SPD)が利用可能です。これらのドライバには、エラー注入モジュール(EIM)およびエラー報告モジュール(ERM)を通じたメモリエラー注入と検出をサポートする拡張マイクロコントローラエラーマネージャ(eMCEM)が含まれます。 SPDに関する詳細は、NXPの担当者またはお住まいの地域の認可代理店(代理店ネットワーク | NXP Semiconductors)にお問い合わせください。 BR、VaneB Re: Error reporting module こんにちは、 @VaneBさん フォローアップありがとうございます。つまり、これらのモジュールはSPDドライバのみでサポートされていて、無料で入手できるRTDには対応していないということですね。それで合っていますか? なぜ誰かがモジュールのレジスタをビットバンするだけでこれらのモジュールを使えないのでしょうか?『プロセッサ Expert』ドライバモデル(S32 DS v2.2使用)の例を試してみたところ、動作しているように思えました。
記事全体を表示
KITFS24SKTFDMEVMとNXP GUIを使用してFS2400と通信できません 件名: KITFS24SKTFDMEVMとNXP GUIを使用してFS2400と通信できない こんにちは、 私はKITFS24SKTFDMEVM評価ボードを使ってFS2400のOTPを設定しプログラムしようとしています。 評価ボード: https://www.nxp.com/design/design-center/development-boards-and-designs/KITFS24SKTFDMEVM しかし、ボードをNXP GUIに接続しても、デバイスとの通信を確立できません。GUIには下記のエラーが表示され、通信は行われません。 以前は FS26 評価ボードで同じNXPのGUIを使って問題なく使っていたので、PCのセットアップとGUIのインストールは正常に動作していると思います。 評価ボードはデフォルトの設定で、ジャンパーやスイッチの設定は意図的に変更していません。確認のため、現在の構成は以下のとおりです。 S12 (OTP):オフ J30: ピン1-2接続 SW4 (WAKE2):オン S19 (WAKE3):オン J33:オープン J37: ピン2-3コネクテッド J36: ピン2-3コネクテッド J10: ピン2-3コネクテッド SW9: 全てのスイッチオン J45: ピン2-3コネクテッド J26: ピン5-6および9-10が接続 SW20: すべてのスイッチはオフです シーズン2: ON(回路図でこのスイッチを見つけられませんでした) SW18: 全てのスイッチオン SW1(メイン電源スイッチ): 3位(2-3位) 評価ボードの S32K144 MCUはプログラムしていません 。私の理解では、基板には必要なファームウェアが既にプログラムされた状態で出荷されるはずです。これが正しいのか、それともGUIがFS2400と通信する前にMCUをフラッシュする必要があるのか、誰か確認してもらえますか? 以下はGUIに表示されたエラーメッセージです。 どんなご支援でも大変感謝いたします。 よろしくお願いします。 FS85&FS84 FSBC+PMIC Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI こんにちは、 お問い合わせいただきありがとうございます。 UM12015 KITFS24SKTFDMEVMユーザーマニュアルの第5節「ソフトウェアとツールのインストールと設定」に従ってファームウェアを更新していただけますか?この手順で、発生しているエラーは解決するはずです。 アップデートを完了しても問題が続く場合は、ハードウェアの構成画像を教えていただけますか?これにより、設定を確認し、問題をさらに調査するのに役立ちます。 よろしくお願いします! Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI こんにちは、 @ErikaC さん。 ご返信ありがとうございます。 UM12015 KITFS24SKTFDMEVMユーザーマニュアルの第5節 「ソフトウェアとツールのインストールと設定 」を確認しました。しかし、ドキュメントに記載されているKITFS2400FRDMEVM_HW_Test_Package_W20.zipファイルが見つかりません。 この.zipをダウンロードできる場所を教えていただけますかファイル?マニュアルに記載されているとおり、ファームウェアをアップデートするために必要です。 NXPのGUIでfs23xx-fw-FS24-v0.86.hexを見つけることができました。これはアップデートに使用するファームウェアファイルですか、それともKITFS2400FRDMEVM_HW_Test_Package_W20.zipに含まれている別のファイルですか? マニュアルに記載されているリンクも確認しました: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=S32DS-IDE-ARM-V2-Xそこから実行ファイルをダウンロードしてインストールしました(これはDesign Studioで、メインのS31244_Flashファイルではありません)が、必要な.zipが見つかりませんでしたパッケージ. KITFS2400FRDMEVM_HW_Test_Package_W20.zipのダウンロード場所を教えていただけるか、アップデートに必要な正しいファームウェアパッケージの入手先を教えていただけますか? ご協力ありがとうございます。 ガネーシュ・バグワット Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI こんにちは、 KITFS2400FRDMEVM_HW_Test_Package_W20.zipフォルダは見つかりませんでした。おそらくNXPGUIの以前のバージョンに含まれていた機能でしょう。しかし、そのパッケージにはfs23xx-fw-FS24-v0.86.hexファイルのみが含まれており、ファームウェアをプログラムするために必要な唯一のファイルです。 ErikaC_1-1786381048598.png UM12014 KITFS2400FRDMEVMユーザーマニュアルに記載されているすべての手順に従ってください。図17に示されているようにデバッガの使用が必要であり、S32 Design Studioツールもインストールする必要があります。 ファームウェアアップデート手順は、必要なデバッガ接続とユーザーマニュアルに記載されたソフトウェア環境がなければ成功裏に完了できません。 お役に立てば幸いです! Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI こんにちは、 @ErikaC さん。 fs23xx-fw-FS24-v0.86.hexが正しいファームウェアファイルである場合、この.hexファイルを直接ロード/フラッシュするために必要な特別な手順はありますか?KITFS24SKTFDMEVM にファイルを転送すればよいのでしょうか、それとも特定のツールや設定が必要なのでしょうか? 可能であれば、 KITFS2400FRDMEVM_HW_Test_Package_W20.zip パッケージやダウンロード先を教えていただけると、マニュアルに記載されたファームウェアアップデート手順をずっと簡単に進めます。 助けてくれてありがとう。 ガネーシュ・バグワット Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI こんにちは、 @ErikaC さん。 ありがとうございます。うまくいきました。NXP-GUIと通信できるようになりました。 唯一の問題は、これら2つの設定がデフォルトでは存在していなかったことだった。ご指摘のとおり、それらを追加した後はすべて正常に動作しました。 実行可能ファイルの下に追加されたコマンドは次のとおりです。 ${cross_prefix}gdb${cross_suffix} 改めてサポートありがとうございます。 よろしくお願いいたします。 ガネーシュ・バグワット
記事全体を表示
关于“MPC5777C-1b+2b_RAM_ECC_error_injection GHS614”示例代码 你好。我目前正在基于MPC5777C MCU进行开发。 我有一个关于开发过程的问题。 我根据“MPC5777C-1b+2b_RAM_ECC_error_injection GHS614”示例代码设计了执行 ECC 检查的代码。 正常情况下,这段代码能够正确执行 ECC 检查。 但是,当使用 Trace32 等调试器连接到 MCU 并运行 ECC 检查代码时,经常会出现无法检测到位错误的错误。 “GHS614”示例代码整体上连接到 Trace32 等调试器时是否可能无法正常工作? 谢谢! Re: Regarding the "MPC5777C-1b+2b_RAM_ECC_error_injection GHS614" example code 您好。 假设 Trace32 调试器已连接,转储窗口已打开,并且我的自定义应用程序代码正在运行,是否有可能出现这种情况:在参考 GHS614 设计的 ECC 检查函数中未检测到位错误? Re: Regarding the "MPC5777C-1b+2b_RAM_ECC_error_injection GHS614" example code 你好, 我不确定你的设置,但要注意,Trace中任何打开的转储窗口都会持续读取内存,一旦检测到ECC故障会立即触发。 ECC错误永远不会发生在未损坏的地址上。ECC机制也受到EDC的保护。这根本不可能。 顺祝商祺! Peter Re: Regarding the "MPC5777C-1b+2b_RAM_ECC_error_injection GHS614" example code 你好, 如果软件或调试器读取的地址损坏,则 ECC 始终会发出错误信号,而与示例软件或任何其他因素无关。 顺祝商祺! Peter Re: Regarding the "MPC5777C-1b+2b_RAM_ECC_error_injection GHS614" example code 您好。 我将更详细地解释一下情况。 我的ECC校验码执行如下: (void)FCCU_ClearNCF(); /* 1 位 RAM 数据错误注入 */ GenerateRam1bitEccError(); uiErmSR0 = ERM.SR0.R; uiErmSR1 = ERM.SR1.R; uiErmSR2 = ERM.SR2.R; /// 4. 如果发生 RAM 1 位 ECC 错误,请执行以下操作。 如果((((uiErmSR0 & ERM_SR0_1b_all) == ERM_SR0_1b_PRAMC_1) || ((uiErmSR2 & ERM_SR2_1b_all) == ERM_SR2_1b_Core1_data)) && ((uiErmSR1) == CLEAR)) { /// 4.1.如果 ERM EAR 寄存器中存储的值与发生错误的地址相同,则执行以下操作。 if((UINT32)auiTest == (ERM.ERROR[ERM_chnl_PRAMC_1].EAR.R)) { ucStatus = OK; } /// 4.2.如果 ERM EAR 寄存器中存储的值与发生错误的地址不同,请执行以下操作。 否则如果((UINT32)auiTest == (ERM.ERROR[ERM_chnl_Core1_data].EAR.R)) { ucStatus = OK; } else { ucStatus = NOT_OK }; } /// 5.如果没有发生 RAM 1 位 ECC 错误,请执行以下操作。 else { ucStatus = NOT_OK }; 该结构强制注入 1 位 RAM 数据错误,并检查 ECC 错误是否成功发生以及是否准确检测到发生地址。 如果在运行上述代码时启用 Trace32 内存转储窗口,ECC 检查的结果是否会异常执行?(即未能检测到 ECC 错误或 ECC 发生地址处的错误) 谢谢!
記事全体を表示
S32K3 ADCのDMAストリーミング最適化 こんにちは、 ADCグループが1つのチャネルしか持たず、AdcのEnable Optimized DMA Streaming Groupsの設定項目がチェックされている場合、Adc_Ipw_SetupTcdSingleAdcChannelMajorLink関数の実行時にハードフォルトが発生します。 単一チャネルの場合、Adc Group Without Interruptsの設定項目がチェックされACCESS_MODE_STREAMINGされた場合、「Select Adc Streaming DMAチャネル」が有効になります。それ以外の場合は、設定ファイルのDMAチャネル数は255で、これは妥当な数値です。しかし、私が理解できないのは、ADC_ENABLE_GROUP_STREAMING_RESULTS_RORDER または ADC_OPTIMIZE_DMA_STREAMING_GROUPS が STD_ON の場合、STD_ON==GroupPtr ->AdcWithoutInterrupt の代わりに Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 関数が呼び出される理由です。これは不合理に思えるし、この関数を呼び出すとハードフォルトが発生するからでもある。 Jason22_0-1785831767968.png BR、 ジェイソン Re: S32K3 ADC Optimize DMA Streaming こんにちは、@ Jason22 次回はQQのメールアカウントを使用しないでください。代わりに会社のメールアドレスをご利用ください。 試してみましたが、問題は見つかりませんでした。 参考までに、テストプロジェクトとテスト結果を添付しました。 また、あなたのコードを確認したところ、いくつかエラーが見つかりました。 1.clock initが間違っている、コードが正常に動作しないはずがない。 Senlent_0-1785915417329.png 2. adc_group0_valは「キャッシュ不可領域」の属性であるべきです また: DMAストリーミンググループの最適化の使い方はユーザーマニュアルに明確に説明されています。 RTD_ADC_UM.pdf Senlent_0-1785915908665.png Re: S32K3 ADC Optimize DMA Streaming こんにちは、@ Jason22 これが私のテスト結果です。私が提供したプロジェクトを使用し、最適化レベルを-O0に設定している場合、私たちの観察結果は同じになるはずです。 私はここに何の問題もないと思います。境界を超えた場合は確実にハードフォルトに入るはずですが、テスト結果はそうでなく、これはコンパイル最適化レベルが原因であることを意味しています。エラー状態下では、分析を続ける必要はありません。 Re: S32K3 ADC Optimize DMA Streaming Hi@Senlent この問題を設計チームに報告してくださり、誠にありがとうございます。最終結果がある場合、どこで確認すればよいですか?もし実際にエラーが発生した場合、SW32K3_S32M27x_RTD_R23-11_7.0.0_D2511_ReleaseNotes.pdf のような文書で公開されるのでしょうか? BR、 ジェイソン Re: S32K3 ADC Optimize DMA Streaming こんにちは、@ Jason22 デザインチームのフィードバックをお送りします。 通常、重大な影響を及ぼすバグの場合は、新しいバージョンで修正版をリリースし、リリースノートに記載します。 Re: S32K3 ADC Optimize DMA Streaming Hi@Senlent LogicChが255だとわかってよかったです。あなたのプロジェクトでは正しく動作しますが、これはアクセス範囲外ですよね?「境界を超えた場合は、必ずハード断層に入るはずだ」というあなたの発言についてですが、私は完全には同意できません。C言語では、C++のようなランタイム境界チェックはありません。ポインタ配列の場合、ハードフォルトが発生するかどうかは、境界外アクセスから得られる値に依存します。 ポインタ配列を考えてみましょう: uint32* pArr[2] = {0x20400000, 0x20400004}。pArr のアドレスが 0x204300A0 であると仮定すると、pArr[2] の値はアドレス 0x204300A8 に格納されている値になります。0x204300A8が0x20400008を含む場合、*pArr[2](アドレス0x20400008の値を最終的に読み取る境界外アクセス)はハードフォルトを発生させません。ただし、0x204300A8 に 0x1FFFFFF0 が含まれている場合、*pArr[2] (最終的に 0x1FFFFFF0 から読み取る) はハードフォルトを引き起こします。どちらも境界外アクセスですが、ハードフォルトが発生するかどうかは確率のマターです。 正確には、ハードフォルトは境界外アクセス自体が直接原因ではなく、境界外のポインタ配列へのアクセスが無効なポインタを受け取り、その不正なポインタにアクセスするとハードフォルトがトリガーされるためです。 だからこそ、あなたのプロジェクトではDma_Ip_pxInit->ppxLogicChannelConfigArray[255]->LogicChId.HwChIdにアクセスするとハードフォルトは発生しませんが、私のプロジェクトではハードフォルトが発生します。 BR、 ジェイソン Re: S32K3 ADC Optimize DMA Streaming こんにちは@Senlent はい、あなたのプロジェクトを一切変更せずに使用しました。あなたのビデオでは、 Dma_Ip_ConvertLogicChToHwCh 関数は間接的に呼び出されます Mcl_Initは意図された動作ではありません。意図された動作は Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 間接的に呼びかける Dma_Ip_ConvertLogicChToHwCh 。私のビデオではこれを実証しています。 Mcl_Init で、すべてのブレークポイントをスキップし、その後 Mcl_Init 完了したので、ブレークポイントを再度有効にしました。その時点で、 Dma_Ip_ConvertLogicChToHwCh 再び入力され、 ロジックCh 255でした。 BR、 ジェイソン Re: S32K3 ADC Optimize DMA Streaming こんにちは@Senlent ご返信いただき、誠にありがとうございます。会社のメールアドレスを使って新しいアカウントを登録し、このスレッドが終了した後はそのアカウントを使う予定です。 あなたのプロジェクトを実行しましたが、ハードフォルトは発生していませんでした。しかし、私の疑問は依然として残ります。以下のスクリーンショットに示すように、function Adc_Ipw_SetupTcdSingleAdcChannelMajorLink は DMAチャネルの DMA_IP_CH_SET_MAJORLOOP_LOGIC_LINK_CH パラメータを設定します。 Dma_Ip_ConvertLogicChToHwCh が呼ばれると、 LogicCh 値は255.Dma_Ip_pxInit->ppxLogicChannelConfigArray はサイズ2の Dma_Ip_paxLogicChannelConfigArrayPB array を指しています 。アクセス Dma_Ip_pxInit->ppxLogicChannelConfigArray[255] は境界 外アクセスであるはずです。ハードフォルトは発生しませんでしたが、これは合理的ではないと思います。 Jason07_0-1785979871220.png Jason07_1-1785979890128.png Jason07_2-1785979907208.png この境界外アクセスは通話によって引き起こされます Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 、それもまた私の疑問です。関連する内容は RTD_ADC_UM.pdf で確認 し、ドライバーコードも確認しました。 最適化DMAストリーミンググループ(単一チャネル)では 、データはCDRから直接ユーザーバッファへ転送されます。マルチチャネルの場合とは異なり、まずCDRから DmaIntermediateBuffer へデータが移動され 、そこからユーザーバッファへ移動されますOptimize DMA Streaming グループ(単一チャネル) ストリーミングDMAチャネルは使用していません。設定ファイル内の AdcIpwConfigPtr->Mapping.AdcCountingDmaChanLogicId arrayの値は確かに ADC_IPW_INVALID_DMA_CHANNEL_ID (255)です。 Jason07_3-1785980010767.png なぜそうなのか理解できません Adc_Ipw_SetupTcdSingleAdcChannelMajorLink まだ電話をかけてないと。本来呼び出すべき関数は Without Interrupt グループ (single チャネル)ですが、wh ADC_ENABLE_GROUP_STREAMING_RESULTS_RORDER or ADC_OPTIMIZE_DMA_STREAMING_グループ is STD_ON、代わりに STD_ON == GroupPtr ->AdcWithoutInterrupt, the Adc_Ipw_SetupTcdSingleAdcChannelMajorLink functionが呼ばれます。 Jason07_4-1785980037684.png プロジェクトで問題を発見しました。「データセクション」のチェックを外すと、ハードフォルトが発生しなくなります。しかし、私はこれが問題の本質的なポイントだとは思いません。 Jason07_5-1785980062079.png BR、 ジェイソン Re: S32K3 ADC Optimize DMA Streaming こんにちは@Senlent 前回の返信の画像は鮮明ではありません。画像を添付ファイルとして再度アップロードしました。写真の順番を番号で示しました。 BR、 ジェイソン Re: S32K3 ADC Optimize DMA Streaming こんにちは、@ Jason07 @Jason22 最適化ビルドオプションを -O0 に設定してください。 これは、ステップ実行デバッグ中に私が確認した結果です。 Senlent_1-1786003373031.png これはおそらく、ビルド最適化オプション(-Os)によってデバッガーがソースコード変数を正確にマッピングできなくなるためでしょう。 Re: S32K3 ADC Optimize DMA Streaming こんにちは@Senlent 私のプロジェクトの最適化レベルは -O0で、あなたのプロジェクトを実行しました (これも -O0 で)。 Adc_Ipw_SetupTcdSingleAdcChannelMajorLink -> ...... -> Dma_Ip_ConvertLogicChToHwCh 、 ロジックCh 値は依然として255です。 1.png あなたのスクリーンショットでは、 Dma_Ip_ConvertLogicChToHwCh 結果として呼ばれる Adc_Ipw_SetupTcdSingleAdcChannelMajorLink ? Mcl_Init また Dma_Ip_ConvertLogicChToHwChも呼びますが、その場合 LogicCh 0で、あなたのスクリーンショットと一致しているように思えます。 あなたのプロジェクトでテストを実行しました。 Adc_Ipw_SetupTcdSingleAdcChannelMajorLink 間接的に呼び出す Dma_Ip_ConvertLogicChToHwCh で、私は次のことを確認しました。 &Dma_Ip_pxInit->ppxLogicChannelConfigArray[LogicCh] は 0x429F28に一致します &Dma_Ip_pxInit->ppxLogicChannelConfigArray[255] 。 2.png その後、アドレスの値を変更しました。 0x429F28 に 0x1FFFFFF0にアクセスし、348 行目のコードを実行しました。 3.png ハードフォールトが発生し、 BFAR 価値は 0x1FFFFFF6 、予想通りです。 4.png これにより、アウトオブバウンズアクセスが実際に存在することが確認されています。ハードフォルトが発生するかどうかは、 Dma_Ip_pxInit->ppxLogicChannelConfigArray[255]の値に依存します。 Re: S32K3 ADC Optimize DMA Streaming こんにちは、@ Jason22 これはおかしい。何度も試してみたのに。私が提供したELFファイルは直接デバッグできます。 Re: S32K3 ADC Optimize DMA Streaming こんにちは@Senlent 私の操作が正しかったかどうか確信が持てません。あなたのELFファイルを使ってデバッグを試みましたが、うまくいきませんでした。 1.png 私の動画で示した手順を同じように行ってもらえますか?この問題の再現が可能だと思います。 手順は以下の通りです。 行にブレークポイントを設定します Mcl_Init(NULL_PTR); 。 ブレークポイントに到達するまでプログラムを実行します。 Mcl_Init(NULL_PTR); 。 すべてのブレークポイントを無効にする( 「すべてのブレークポイントをスキップ」ボタンをクリック)。 跨いで Mcl_Init(NULL_PTR);( 「すべてステップ」ボタンをクリックします) ブレークポイントを再度有効にし( 「すべてのブレークポイントをスキップ」ボタンをクリック)、そして「再開」ボタンをクリックします。 あなたはそれを見ます Dma_Ip_ConvertLogicChToHwCh 再び入力され、 ロジックCh 255です。 BR、 ジェイソン Re: S32K3 ADC Optimize DMA Streaming こんにちは、@Senlent ごめん。ステップ4は、「ステップオーバー」ボタンをクリックすることです。 BR、 ジェイソン Re: S32K3 ADC Optimize DMA Streaming こんにちは、@ Jason22 もしかしたら、あなたの質問の意味がまだよく理解できていないかもしれません。このプロジェクトは想定通りに動作しているでしょうか?そうだとすれば、何か問題がありますか? LogicChでは255と表示されていますが、プログラムは通常通り動作しています。これのどこがおかしいのでしょうか? Re: S32K3 ADC Optimize DMA Streaming こんにちは、@ Jason22 この問題は設計チームに確認してもらえます。 RTDドライバーの設計者は私ではないので、ユーザーが問題に直面しない限り、なぜこう設計したのかは詳しくは触れません。 このフィードバックプロセスは長くなるかもしれませんが、その成果を関連するデザインチームに伝えます。
記事全体を表示
使用 KITFS24SKTFDMEVM 和 NXP GUI 无法与 FS2400 通信 主题:使用 KITFS24SKTFDMEVM 和 NXP GUI 无法与 FS2400 通信 您好, 我正在尝试使用KITFS24SKTFDMEVM评估板在FS2400上配置和编程 OTP。 评估板: https://www.nxp.com/design/design-center/development-boards-and-designs/KITFS24SKTFDMEVM 但是,当我将电路板连接到NXP GUI时,我无法与该设备建立通信。图形用户界面报告如下错误,并且无法进行通信。 我之前在FS26评估板上使用过相同的 NXP GUI,没有任何问题,所以我相信我的 PC 设置和 GUI 安装都是正确的。 评估板处于默认配置状态,我没有故意更改任何跳线或开关设置。为验证这一点,当前配置如下: S12(OTP):关闭 J30:引脚 1-2 连接 SW4(WAKE2):开启 S19(WAKE3):开启 J33:开放 J37:引脚 2-3 连接 J36:引脚 2-3 连接 J10:引脚 2-3 连接 SW9:所有开关打开 J45:引脚 2-3 已连接 J26:引脚 5-6 和 9-10 连接 SW20:所有开关关闭 S2:开启(我在电路图中找不到这个开关) SW18:所有开关打开 SW1(主电源开关):位置 3(2-3) 我没有对评估板上的 S32K144 MCU 进行编程。据我了解,电路板出厂时已经预装了所需的固件。请问有人能确认一下这个说法是否正确吗?或者说,在 GUI 能够与 FS2400 通信之前,是否需要先对 MCU 进行刷写? 以下是图形用户界面显示的错误信息: 若能得到任何帮助,我将不胜感激。 谢谢! FS85&FS84 FSBC+PMIC Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI 你好, 感谢您与我们联系。 请按照 UM12015 KITFS24SKTFDMEVM 用户手册第 5 节“安装和配置软件和工具”中的说明更新固件。此方法应该可以解决您遇到的错误。 如果更新完成后问题仍然存在,请您提供一张硬件配置的图片?这将有助于我们检查配置并进一步调查问题。 谢谢您! Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI 嗨@ErikaC 如果fs23xx-fw-FS24-v0.86.hex是正确的固件文件,那么直接加载/刷写此 .hex 文件是否需要任何特定步骤?文件是保存到 KITFS24SKTFDMEVM 目录,还是需要使用特定的工具/设置? 如果可以的话,非常感谢您能提供KITFS2400FRDMEVM_HW_Test_Package_W20.zip软件包或其下载位置,因为这将使按照手册中描述的固件更新程序进行操作变得更加容易。 感谢您的帮助。 加内什·巴格瓦特 Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI 你好, 我找不到 KITFS2400FRDMEVM_HW_Test_Package_W20.zip 文件夹。它很可能包含在早期版本的 NXPGUI 中。但是,该软件包仅包含 fs23xx-fw-FS24-v0.86.hex 文件,这是对固件进行编程所需的唯一文件。 ErikaC_1-1786381048598.png 请按照UM12014 KITFS2400FRDMEVM 用户手册中描述的所有步骤进行操作。如图 17 所示,需要使用调试器,并且还必须安装 S32 设计工作室工具。 如果没有用户手册中描述的必要调试器连接和软件环境,固件更新过程将无法成功完成。 希望这能帮到你! Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI 嗨@ErikaC , 感谢您的反馈, 我查阅了 UM12015 KITFS24SKTFDMEVM 用户手册的第 5 节“安装和配置软件和工具” 。但是,我找不到文档中提到的KITFS2400FRDMEVM_HW_Test_Package_W20.zip文件。 请问您能否告知我在哪里可以下载这个 .zip 文件?文件?我需要它按照手册中的说明更新固件。 我在 NXP GUI 中找到了fs23xx-fw-FS24-v0.86.hex 。这是应该用于更新的固件文件,还是包含在 KITFS2400FRDMEVM_HW_Test_Package_W20.zip 中的另一个文件? 我还查看了手册中提供的链接: 我从https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=S32DS-IDE-ARM-V2-X下载并安装了可执行文件(这是设计工作室,但不是主 S31244_Flash 文件),但我找不到所需的 .zip 文件。代码包,软件包. 请问能否提供KITFS2400FRDMEVM_HW_Test_Package_W20.zip的下载位置,或者告诉我哪里可以找到执行更新所需的正确固件包? 感谢您的帮助。 加内什·巴格瓦特 Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI 嗨@ErikaC , 谢谢。成功了,我现在可以与 NXP-GUI 通信了。 唯一的问题是,这两个设置默认情况下并不存在。正如你所说,添加它们之后,一切都正常了。 在“可执行文件”下添加的命令是: ${cross_prefix}gdb${cross_suffix} 再次感谢您的支持。 问候, 加内什·巴格瓦特
記事全体を表示