Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
无法步进调试 PN7642 (PNEV7642A) 您好, 我正在尝试根据示例 USBCCID_FreeRTOS_PUB 调试 PCSC 固件,运行在评估套件板 PN7642 (PNEV7642A) 上,我已经按照了 FREERTOS 调试文档中的说明进行操作。 UG10059 - MCUXpresso IDE 25.06 FreeRTOS 调试指南。 从日志中可以看出,FreeRTOS 线程感知应该没问题,但并没有完全正常工作。 我在调试程序中有一个线程列表,但线程状态为未检测到 RTOS。 Debug statusDebug statusDebug status调试状态 使用 MCULink,在使用phOsal_StartScheduler(); 启动线程调度器之前,我可以跨步,之后,工作线程中的断点会停止工作线程,但我无法跨步或跨出。 我在反汇编中找到了可能与问题有关的信息。 0020ae54: 执行 MI 命令失败: -data-disassemble -s 2141780 -e 2141824 -- 3 来自调试器后端的错误信息: 无法访问地址为 0x20ae54 的内存 谁能给我指点一下? 此致, Re: Cannot step through debugging on PN7642 (PNEV7642A) 你好@EduardoZamora、 check_nxpfw_update 演示报告 FW 为 02.02,SDK 也是 02.02。 返回STATUS_FW_SAME_VERSION。 我会尝试找到一个 jLink 进行进一步测试,但我购买了一个全新的 McULink 只是为了调试这个板。 至于操作系统...你是指主机操作系统吗?我使用的是 ubuntu 22.04.5 LTS: 此致, 此致, Re: Cannot step through debugging on PN7642 (PNEV7642A) 你好@V_Palacio,. 希望你一切顺利。 SDK 与某个固件版本绑定。如果 PN7642 的 FW 版本与 SDK 使用的 FW 版本不一致,可能会出现一些问题和意外行为。请确保您使用的是最新版本的固件;您可以运行 PN7642 SDK 中的 check_nxpfw_update 演示,如果 PN7642 和 SDK 固件版本不匹配,该演示将帮助您更新固件。 您也可以尝试删除调试配置(为调试生成的*.launch 文件),然后重新启动调试会话。如果可能,请使用调试器的 J-Link 固件进行一些测试。 不过,您在调试过程中观察到的行为应该与操作系统有关,而且正如您所指出的那样,在计划程序开始运行后出现这种情况也是意料之中的。要进行调试,请考虑设置一个断点,达到断点后禁用断点,然后运行到下一个断点。 Eduardo。 Re: Cannot step through debugging on PN7642 (PNEV7642A) 更正:未检测到的 RTOS 来自 Azure RTOS。 FREERTOS 任务显示 3 任务: -IDLE -ClTaskEvent -Tmr Svc Re: Cannot step through debugging on PN7642 (PNEV7642A) 您好, 请使用 PN7642 产品页面 "Software" 部分提供的最新版本 PN7642 SDK 和固件。 您也可以尝试更新 MCULink 的 CMSIS-DAP 固件。 Eduardo。 Re: Cannot step through debugging on PN7642 (PNEV7642A) 有了最新的 SDK (2.15) 并以 " All Stop " 的身份启动调试配置,现在我可以自己进行调试了。
View full article
RGMII Late Peer Power-Up: Reliable Verification of Actual Communication Health In an RGMII deployment, when the peer device is powered on later than the switch, communication may remain abnormal even though no MAC errors are reported. After manually reconfiguring RXC_DELAY and RXC_PD, communication returns to normal. Could you recommend a reliable approach to determine whether end-to-end peer communication is truly operational, rather than relying only on basic status indications? SJA1105PQRS  Re: RGMII Late Peer Power-Up: Reliable Verification of Actual Communication Health System Configuration: | Port | Connection | Mode | |--------|------------|---------| | Port 0 | SOC | MAC-MAC | | Port 4 | MCU | MAC-MAC | | Port 1 | PHY | MAC-PHY | Initialization Sequence: 1. MCU boots and initializes Switch/PHY configurations 2. SOC completes initialization ~10 seconds later 3. Ethernet device visible via ifconfig, but communication fails 4. RXC must be manually controlled to restore communication Problem: No error notification mechanism to determine SOC boot completion or when to trigger RXC for recovery. Port 1 and Port 4 remain operational during this issue. Observed Symptoms: |                    Scenario                                  |     MACERR                      |                  Recovery Method               | |------------------------------------  |----------------------|---------------------------------| | SOC online at normal temperature       | Reported (Runt+SOF) | Reconfigure RXC_BYPASS + RXC_PD | | SOC powered on at high temperature | NOT detected              | Reconfigure RXC_BYPASS + RXC_PD | Additional Issue (possibly unrelated): During normal operation, Port 0 may occasionally go offline with low probability. When this occurs, no MACERR is reported and communication cannot be restored. Best regards, __shiyi Re: RGMII Late Peer Power-Up: Reliable Verification of Actual Communication Health Hello @__shiyi , Which PHY device are you using on the RGMII interface? When you mention the peer device, do you refer to the link partner of your PHY or another MCU MAC, switch or SoC? Does the issue require a manual reconfiguration of RXC_DELAY / RXC_PD only after the initial power‑up or does it also occur after a normal link down / link up cycle? The standard link status (PHY link up, MAC no error counters) only confirms signal‑level integrity. Reliable confirmation requires checks at higher OSI layers, e.g. TCP/IP. Best regards, Pavel Re: RGMII Late Peer Power-Up: Reliable Verification of Actual Communication Health Hello @__shiyi , Thank you for detailed description. It appears that this behavior is described in UM11040, Software user manual for SJA1105P, SJA1105Q, SJA1105R, SJA1105S,  Rev. 3, Table 123. Registers CFG_PAD_MIIx_ID . Please check that out. Best regards, Pavel
View full article
[iMX93] ADC 校准失败 您好,NXP团队: 我只是在我们的设备树中启用了 “adc1”,但是系统响应校准失败了。 原因何在? &adc1 { vref-supply = <&reg_vref_1v8>; status = "okay"; }; root@imx93afee320a1:/sys/bus/iio/devices# dmesg| grep adc [ 1.565952] Bluetooth: HCI UART protocol Broadcom registered [ 1.719162] imx93-adc 44530000.adc: ADC calibration failed! [ 1.724775] imx93-adc: probe of 44530000.adc failed with error -11 [ 1.842125] can: broadcast manager protocol Re: [iMX93] ADC calibration failed 你好,你找到解决办法了吗?我的 i.MX93 也遇到了同样的问题。 Re: [iMX93] ADC calibration failed 你好,恩智浦团队。我也遇到了同样的问题。我的 IMX93 ADC 也显示错误 "imx93-adc 44530000.adc":ADC 校准失败!"和 "imx93-adc: probe of 44530000.adc failed with error -11"。我正在使用研华的 IMX93ROM-2820A1 核心板。 Re: [iMX93] ADC calibration failed 你使用的是哪个版本的电路板支持包?你在使用恩智浦 93EVK 板吗?
View full article
S32G399 + SJA1110 首先,感谢您的回答,但我现在看的是 s32g339-rd3 的电路图,现在我通过 GMAC0 将 s32g339a 连接到 KSZ9031 RJ45,但这并没有连接到 ETH_SWITCH SJA1110? 那么,如果我现在想使用框架优先权,是否不能通过 SJA1110,而只能直接在 GMAC 使用? Re: S32G399 + SJA1110 你好,东民 我正在看 s32g339-rd3 的电路图。 >>>请参阅此链接:S32G-VNP-RDB3 设计文件 我通过 GMAC0 将 s32g339a 连接到 KSZ9031 RJ45,但它没有连接到 ETH_SWITCH SJA1110? >>>是的,SJA1110 无法连接RDB3 上的 GMAC0。对于 S32G3 的 SJA1110,它支持 Qav、Qbv,但不连接 RDB3 上的 GMAC0。 那么,如果我现在想使用框架优先权,是否不能通过 SJA1110,而只能直接在 GMAC 使用? >>>是的您可以使用 GMAC 支持帧抢占(IEEE 802.1Qbu),以实现时间敏感型联网。SJA1110 不连接 RDB3 上的 GMAC0。 BR 乔伊
View full article
MX8QM hi team, i am ordering MCIMX8QM-CPU i need to beingup Android and Freertos  do we need Jailhouse hypervisor here and how to download android source to compile and flash? Re: MX8QM @Manuel_Salas this info I am aware but requirement is to run Android and freertos on top of hypervisor. MCIMX8QM-CPU -soc  Not possible? Re: MX8QM Hello @Shivu_Guru_24  As you can see in the i.MX8QM datasheet:     It has 2 Cortex M4 processors. So, you can run heterogeneous processing, running Linux in Cortex A, and run RTOS in Cortex M, in an independent way. So, you do not need to use any hypervisor. Best regards, Salas. Re: MX8QM Hello @Shivu_Guru_24  This is "Technically" possible, but we have not any examples of how to do it. You can refer to the HARPOON as starter point. Best regards, Salas. Re: MX8QM On last kernel is just supported Jailhouse for i.MX8QM. https://github.com/nxp-imx/imx-jailhouse/blob/lf-6.12.49_2.2.0/configs/arm64/imx8qm.c Best regards, Salas. Re: MX8QM @Manuel_Salas  which Hypervisor is best for latest kernal? Xen or jailhouse?
View full article
Test Ram on iMX93 Hi all, We are using BSP 1.5.2 on the i.MX93 with Windows IoT. Is there an integrated RAM test included in the BSP that is executed on every boot? i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Windows Windows 10 IoT Enterprise Re: Test Ram on iMX93 Thanks you Chavira, only to understand better your answare. Is it technically impossible or has it not been implemented? thanks, Fabio Re: Test Ram on iMX93 Hi @FabioDF_86, Thank you for contacting NXP Support!  Unfortunately that is not possible.
View full article
i.MX 93 LPUART RS-485 — TXRTSE 有効時の TE 0→1 遷移時のスプリアス約 3 ミリ秒 RTS パルス NXPサポートチーム様 当社は i.MX LPUART ペリフェラルを RS-485 モードで使用しており、RTS 信号に影響するハードウェア レベルの問題を特定しました。私たちはその根本的な原因を理解し、利用可能な緩和策について話し合いたいと思っています。 --- ハードウェアコンテキスト --- 私たちの設計では、LPUART RTS ピンは RS-485 トランシーバの送信イネーブル (DE) 入力に直接接続されています。TXRTSE ハードウェア機能は、LPUART が送信している間のみ RTS/DE ラインが自動的にアサートされ、最後のストップ ビットの直後にアサート解除されるように使用され、ソフトウェア オーバーヘッドなしで適切な半二重 RS-485 バス方向制御が可能になります。 この直接的な電気的接続のため、ドライバーの初期化中であっても RTS ピンの誤ったアサーションにより RS-485 トランシーバーが有効になり、バスが駆動され、他のバス参加者からの進行中の通信が破損する可能性があります。 --- デバイスツリー構成 --- 以下は、i.MX93 上の影響を受ける LPUART インスタンスの DTS 構成です。RTS_B パッドは、ハードウェア LPUART RTS 機能に多重化され、RS-485 トランシーバーの DE ピンにルーティングされます。RE (レシーバ有効化、アクティブ ロー) は、rs485-rx-during-tx-gpios を使用して別の GPIO 経由で制御されます。 &lpuartX { ステータス = "正常"; pinctrl-0 = <&pinctrl_lpuart_rs485_0>; uart-has-rtscts; linux、起動時に rs485 を有効化; rs485-rx-during-tx-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; }; &lpuartY { ステータス = "正常"; ピンコントロール-0 = <&ピンコントロール_lpuart_rs485_1>; uart-has-rtscts; linux、起動時に rs485 を有効化; rs485-rx-during-tx-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>; }; pinctrl_lpuart_rs485_0: lpuart_rs485_grp0 { fsl、ピン = < MX93_PAD_GPIO_IO05__LPUART6_RX 0x31e MX93_PAD_GPIO_IO04__LPUART6_TX 0x31e MX93_PAD_GPIO_IO07__LPUART6_RTS_B 0x31e MX93_PAD_GPIO_IO06__GPIO2_IO06 0x31e >; }; pinctrl_lpuart_rs485_1: lpuart_rs485_grp1 { fsl、ピン = < MX93_PAD_GPIO_IO13__LPUART8_RX 0x31e MX93_PAD_GPIO_IO12__LPUART8_TX 0x31e MX93_PAD_GPIO_IO15__LPUART8_RTS_B 0x31e MX93_PAD_GPIO_IO14__GPIO2_IO14 0x31e >; }; この設定では、Linux,rs485-enabled-at-boot-time により、ポートの起動時に RS-485 モード (および TXRTSE) がアクティブ化され、システムの起動時またはポートのオープン イベントごとにスプリアス RTS パルスが発生します。 --- 観察された行動 --- UARTMODIR レジスタの TXRTSE ビット (トランスミッタ送信要求有効化) が設定され、UARTCTRL のトランスミッタ有効化ビット (TE) が 0 から 1 に遷移すると、その時点ではデータが送信されていないにもかかわらず、RTS/DE ラインには約 3 ミリ秒続くスプリアス パルスが表示されます。 この動作は、アップストリームのNXP Linuxカーネルドライバ(drivers/tty/serial/fsl_lpuart.c)で明確に確認できます。ここで、lpuart32_setup_watermark_enable() には次のコメントと回避策があります。 /* * RS-485 がアクティブな場合、TE の有効化を start_tx まで延期します。 * TXRTSE が設定された TE 0->1 により、約 3 ミリ秒の RTS パルスが発生します (シリコンの癖)。 * TEを最初の実際の送信まで延期することで、RTS * アサーションは、ネットワーク上の実際のデータと一致します。 */ if (!sport->rs485_te_deferred) ctrl |= UARTCTRL_TE; 回避策では、TE の有効化を start_tx() まで延期し、実際のデータが送信されているときにのみ RTS/DE アサーションが発生するようにします。 --- 根本原因 — 段階的なメカニズム --- スプリアスパルスを生成する内部シーケンスについては次のように理解しています。 1. lpuart_config_rs485() が呼び出され、UARTMODIR で TXRTSE=1 が設定され、TE=0 のままになります。RTS は低いです。 2. ポートオープン中に lpuart32_setup_watermark_enable() が呼び出され、UARTCTRL に TE=1 が書き込まれます。この時点では TX FIFO は空です。 3. LPUART ハードウェアは、TXRTSE = 1 のときに TE 0 -> 1 遷移を検出します。 4. シリコンの癖: TX FIFO が空であるにもかかわらず、ハードウェアは送信が開始されたかのように直ちに RTS HIGH をアサートします。 5.約 3 ミリ秒後、ハードウェアは TC (送信完了) を認識し、送信するものがないと判断し、RTS LOW をアサート解除します。 タイミング図: 時間 ──────────────────────────────────────────────► config_rs485 open() 約3ミリ秒後 │ │ │ ▼ ▼ ▼ TXRTSE=1 TE: 0→1 TC 認識 TE=0 TXRTSE=1 FIFO が空です! │ │ RTS: ─── 低 ─────────┤ 高 ├──────────┤── 低 ─── │←─ 約3ミリ秒 ──→│ RTS 上のこの誤った HIGH パルスは、RS-485 トランシーバの DE 入力を約 3 ms 間直接有効にし、有効なデータなしでバスを駆動します。 --- 信号キャプチャ --- RTS (DE) 信号と TXD 信号は、ロジック アナライザーを使用して RS-485 トランシーバ入力でキャプチャされました。2 つのテスト シナリオが表示されます。 --- キャプチャ 1 --- UART を開いてすぐに送信 --- テスト アプリケーションは UART ポートを開き、遅延なくすぐに「Hello World」を書き込みます。 fd = open("/dev/ttyLPx", O_RDWR); 書き込み(fd, "Hello World", 11); TE 0->1でスプリアスRTSパルスは依然として発生しますが、実際の送信はTE 0->1で発生するため、 マイクロ秒単位で、奇妙なパルスと正当な RTS アサーションが 1 つの連続したパルスに結合されます。 最初の部分の偽りの性質はキャプチャでは確認できません。 --- キャプチャ 2 --- UART を開き、約 3 ミリ秒以上待ってから送信します --- テストアプリケーションはUARTポートを開き、Quirk期間(約3ミリ秒)よりも長くスリープします。 そして、その後に「Hello World」と書き込みます。 fd = open("/dev/ttyLPx", O_RDWR); usleep(3000); /* > ~3ms、スプリアスパルスの持続時間よりも長い */ 書き込み(fd, "Hello World", 11); 遅延がクワーク持続時間を超えるため、スプリアスパルスはデータが完全に送信される前に完了します。 と書かれています。これにより、バグが明確に明らかになります。 - open() のとき: RTS は対応する TXD アクティビティなしで HIGH をアサートします (スプリアス パルス、約 3 ms) - TC が認識されると RTS は LOW をアサート解除します (TX FIFO はずっと空でした) - スリープ後: アプリケーションがデータを送信し、RTSが再びHIGHをアサートし、TXDが「Hello World」ペイロードを伝送します。 2つのRTSパルス間のギャップにより、最初のパルスが原因ではないことが明白になる。 いかなるデータ送信によっても。   --- 質問 --- 1. この動作は、影響を受ける i.MX SoC の公式エラッタまたはテクニカル ノートに記載されていますか?もしそうなら、ドキュメント参照と影響を受けるデバイスのリストを提供していただけますか? 2. 影響を受ける i.MX SoC バリアント (例: i.MX7ULP、i.MX8ULP、i.MX8QXP、i.MX93、その他) はどれですか? 3. どのシリコン リビジョンでもハードウェア レベルの修正は利用可能でしょうか。それともソフトウェアによる回避策 (TE の延期) が唯一推奨される緩和策でしょうか。 4. 約 3 ミリ秒の持続時間はデターミニスティックですか (IDLECFG 設定またはボー レートに結びついています)、それともシリコン サンプル/リビジョンによって異なりますか? 5. 特に RS-485 モードでポートが繰り返し開閉される場合、遅延 TE 回避策で注意すべき副作用はありますか? - - 環境 - - - SoC: i.MX93 - カーネル: Linux (NXP ダウンストリームフォーク、lf-6.12.49-2.2.0 ベース) - ドライバ: fsl_lpuart.c - モード: RS-485、TXRTSE 有効、RTS_B パッドを RS-485 トランシーバ DE 入力に接続 ご協力ありがとうございます。 Re: i.MX 93 LPUART RS-485 — Spurious ~3ms RTS Pulse on TE 0→1 Transition with TXRTSE Enabled こんにちは、 @tapio_reijonen さん。 使用しているBSPのバージョンは何ですか? それらのコメントが表示されているコードの具体的な箇所を教えていただけますか? サードパーティ製の改造ドライバを使用しているかどうかは分かりませんが、UART IPには既知のバグがいくつかありますが、それらは既に公式のBSPリリースでソフトウェア的に修正されています。 弊社の公式Linuxディストリビューションをお試しください。 https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/tty/serial/fsl_lpuart.c 引き続きサポートを提供するため、追加情報をお寄せください。 よろしくお願いします、 チャビラ Re: i.MX 93 LPUART RS-485 — Spurious ~3ms RTS Pulse on TE 0→1 Transition with TXRTSE Enabled こんにちは、 @Chaviraさん BSPバージョン: NXP公式BSP lf-6.12.y(Linux 6.12.49、リリースlf-6.12.49-2.2.0)。 ドライバ: NXP 公式リポジトリhttps://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/tty/serial/fsl_lpuart.cから変更されていない drivers/tty/serial/fsl_lpuart.c 。 この問題は、変更を加えていない公式のNXP BSPでも再現可能です。i.MX93で標準ドライバをRS-485モード(linux、rs485-enabled-at-boot-time、uart-has-rtscts、TXRTSE enabled)で使用すると、シリアルポートを開くと約3msの不要なRTSパルスが発生します。TE 0→1遷移は、TXRTSEが設定されている間、送信機プリアンブルをトリガーし、RS-485バス上でRTS/DEをアサートしますが、データは送信されません。 Re: i.MX 93 LPUART RS-485 — Spurious ~3ms RTS Pulse on TE 0→1 Transition with TXRTSE Enabled こんにちは、 @tapio_reijonen さん。 返信が遅くなり申し訳ありません。 私の方でも同様の現象を再現できたので、以下の結論に至りました。 この問題の根本原因は、LPUART IPの内部ステートマシンのシリコンレベルでの設計にある。RS-485モードを設定する際、UARTMODIRレジスタのTXRTSEビットを設定することで、RTSピンの物理的な制御をハードウェアに直接委ねることができます。その瞬間から、シリコンはUARTCTRLレジスタのTE(トランスミッタ・イネーブル)ビットの0から1への遷移に無条件で反応するようにハードワイヤリングされる。この遷移により、論理ゲートが作動し、RTSピンが即座にHIGHになり、Linuxカーネルからの制御がバイパスされます。 トランスミッタを有効にすると、ハードウェアは送信が間近であると判断し、プリアンブルを送信しようとしますが、送信バッファ(TX FIFO)が空であることが判明します。ステートマシンは既にRTS信号を発信しているため、データのシリアル化を待機している間、停止状態になります。処理すべきバイトがないため、ハードウェアが非アクティブ状態を理由に「送信完了」(TC)状態を独自に認識するまでに約3ミリ秒が経過し、その時点でようやくRTS信号をLOW状態に戻します。 公式のfsl_lpuart.cに含まれる回避策ドライバはこの電気的挙動を完全に排除するのではなく、単に時系列的に隠蔽するだけです。カーネルの戦略は、ポートの初期化(open())中はTEビットを無効にし、write()関数が呼び出され、start_tx()が実行されるまで、そのビットを1に遷移させることです。しかし、TXピンからデータを出力するには、TEビットを必ず1に設定する必要があります。この場合、ハードウェアは最初に発生した誤ったパルスを再び注入します。しかし、その直後に実際のデータペイロードが続くため、不規則なパルスは正当なRTSアサーションとほとんど知覚できないほどに融合してしまう。 Re: i.MX 93 LPUART RS-485 — Spurious ~3ms RTS Pulse on TE 0→1 Transition with TXRTSE Enabled @tapio_reijonen デバイスツリーで`uart-has-rtscts`が使用されている場合、「このプロパティが存在するということは、UARTに専用ラインがあることを示しています」。つまり、制御にはGPIOではなく、iMX93の専用ピンが使用されるということです。 `fsl_lpuart.c` が確認できます。関連する`serial_mctrl_gpio`コードが欠落しています。たとえLinuxレベルでGPIOを制御できたとしても、このシリアルポートモジュールの状態遷移とは一致しないだろう。そして、運転手を混乱させる可能性もある。 別のシリアルポートドライバ(`drivers/tty/serial/imx.c`)と比較すると、`serial_mctrl_gpio`というコードが見つかります。 https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/Documentation/devicetree/bindings/serial/serial.yaml uart-has-rtscts: $ref: /schemas/types.yaml#/definitions/flag description: The presence of this property indicates that the UART has dedicated lines for RTS/CTS hardware flow control, and that they are available for use (wired and enabled by pinmux configuration). This depends on both the UART hardware and the board wiring. https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/tty/serial/imx.c #include "serial_mctrl_gpio.h" struct imx_port { struct uart_port port; struct timer_list timer; unsigned int old_status; unsigned int have_rtscts:1; unsigned int have_rtsgpio:1; unsigned int dte_mode:1; unsigned int inverted_tx:1; unsigned int inverted_rx:1; struct clk *clk_ipg; struct clk *clk_per; const struct imx_uart_data *devdata; struct mctrl_gpios *gpios; /* counter to stop 0xff flood */ int idle_counter;
View full article
一次可以写入多少字节? 我使用的是 s32ds,rtd 版本是 4.0.0,mcu 是 s32k314。 一次可以写入多少字节? 示例设置为 128 字节。当我设置超过 128 字节时,效果不佳... (t_BufferSize 为 128U)。 1. 最大写入字节数是 128 字节吗? 2. 如果最大写入字节数为 128 字节,我在哪里可以找到这方面的文档或数据表? 感谢帮助。 Re: How many bytes can be written at a time? 你好@rlaxortn API 的说明中对此有明确解释。
View full article
ASL2507SHN のソフトウェアガイドライン こんにちは、 新しいプロジェクトでは、ASL2507SHN を使用したいと考えています。S32K146で制御する予定です。残念ながら、データシートには、どのレジスタを必ずどのような順序で書き込む必要があるかが明確に示されていません。 これに関するより詳細なドキュメントやコード例はありますか? ASL250ySHN よろしくお願いいたします。 サンドラ Re: Software Guidline for ASL2507SHN こんにちはサンドラさん 正確なレジスタプログラミング順序と動作するリファレンスコードを取得するには、製品ページのソフトウェアセクションで入手できる SSL_Reference_SW パッケージをダウンロードすることをお勧めします: https://www.nxp.com/products/ASL250ySHN ファイルは「安全 (NDA が必要)」としてマークされていることに注意してください。 BRs、トーマス
View full article
如何定义 i2s dma 段落 您好,NXP团队: #define demo_i2s_tx_instance_index (7U) #define demo_dma_instance_index (0U) #define demo_i2s_tx_channel (19) #define demo_i2s_master_clock_frequency(24576000)   上述定义使用 DMA 传输 I2S TX (I2S7)。现在我想使用 I2S6 进行 I2S DMA 接收。我应该如何配置这些值? 上面这些定义是使用 DMA 传输 I2S TX (I2S7), 我现在要使用 I2S6 做 I2S DMA RX。改如何配置这几个值呢? #define demo_i2s_rx_instance_index (????) #define demo_rx_dma_instance_index (????) #define demo_i2s_rx_channel (????)   谢谢! 哈利 Re: HOW TO DEFINE I2S DMA PARA 你好@harry3 请问您使用的是哪种芯片? BR 哈利
View full article
LX2080 能否提供 LX2080 的热模拟模型? Re: LX2080 您需要就所需信息签署保密协议。 请从https://support.nxp.com/s/?language=en_US创建内部票据
View full article
eFlexPWM波形生成の問題 6チャネルPWM相補波生成を実現したいのですが、以下の構成ではチップ上の6本のピンをすべて接続しても波形出力がありません。 PWM を有効にすると、ボード上の出力は完全にノイズフリーになります。私の問題がどこにあるのかを特定するのを手伝っていただけますか?皆様本当にありがとうございました。 画像が表示されない理由が分かりません。まず私の設定について説明させてください。 PwmChannel には 3 つのサブチャネル (0/1/2) があります。FlexPwmSubModules のクロック ソース選択はすべて FLEXPWM_IP_CLKSOURCE_PERIPHERAL_CLK に設定されています。初期化制御の選択は、それぞれ MASTER_RELOAD、MASTER_SYNC、MASTER_SYNC です。ソース選択の再ロードとソース選択の強制は両方とも MASTER に設定されています。 各サブには、PWMA (位相加重振幅) とエッジ対称モードのみがあります。 各サブには、PWMA (位相加重振幅) とエッジ対称モードのみがあります。障害、停止、デバッグ モードのチャネル出力は LOGIC_0 です。「FaultSettings」で、0 から 3 までのすべてのオプションを選択します。Fault0 から Fault3 の障害レベルはすべて LOW です。 チップ領域で波が生成されない理由を解明する手助けをお願いします。 Re: eFlexPWM waveform generation issue こんにちは、 ここに問題は見当たりません。設定あり     Re: eFlexPWM waveform generation issue ご返信ありがとうございます。電波を送信できるようになりました。しかし、現時点ではまだ問題が 1 つ残っています。デフォルトの期間は 16000、クロック CORE_CLK は 160 MHz、エッジ トリガー モードになっています。周波数 10K の PWM を取得したかったのですが、実際に得られたのは 2.4KHz でした。 Re: eFlexPWM waveform generation issue こんにちは、 利用可能な「FlexPWM_Pwm_Ip_Example_S32K396」RTD デモ例から始めることをお勧めします。単一のサブモジュール上の FlexPWM の独立した構成を示していますが、複数のサブモジュール上の補完的な機能に簡単に変更できます。これは、サブモジュール 0 と 1 を追加して、PWMA/PWMB 出力に補完信号を生成するために使用した設定です。 以下はFlexPwm_Ip_Initが呼び出された後のそれぞれの出力信号です。 別のピンとサブモジュールを追加し、それに応じてサブモジュール1に設定することができます。 お役に立てれば幸いです。 BR、ペトル
View full article
How to develop TSN network card devices using ls1028ardb? Hello, currently I want to use the ls1028ardb development board to develop a terminal network card device for the TSN network. All the ls1028ardb images have been successfully built automatically on Ubuntu using flexbuild by running the command "bld -m ls1028ardb". Additionally, the "UG10143 User Guide" has been reviewed. I would like to ask: To develop a TSN network card device, the QBV and IEEE 802.1AS protocols need to be used. Where can I download the corresponding development routines? Where can I find the documentation introducing the corresponding APIs? How should the project be set up? Re: How to develop TSN network card devices using ls1028ardb? The attached is LSDK 21.08, please install and build it on Ubuntu 20.04 Linux PC. Please refer to "4.3 How to build LSDK with Flexbuild" to build images. Please refer to "4.1.2 Download and deploy LSDK images with flex-installer in Linux environment" to deploy images on the target board. Re: How to develop TSN network card devices using ls1028ardb? Hello, I have already read this. This part involves configuring and using the TSN function on the board for testing. And I would like to know the specific source code for implementing the QBV and IEEE 802.1AS protocols within the TSN system, as well as the download paths for the corresponding routines. Or where can I find the drivers and application routines for the QBV and IEEE 802.1AS protocols? Could you please point out the relevant links for me to access? Because I wanted to set up the development environment and organize my own data, and apply these two protocols to implement some of the functions of the TSN network card. Re: How to develop TSN network card devices using ls1028ardb? Please download "LSDKUG_Rev21.08.pdf" then refer to section "8.8 Time Sensitive Networking (TSN)".
View full article
For S32G274A multi-core & BSP42 , How can I feed BL31/33 to BL2? For S32G274A & BSP42, How can I feed BL31/33 to BL2?   I built FIP for QSPI case, and flash fip.s32 to QSPI flash offset 0, U-Boot may startup normally.   But we want multi-core scenario, so I flash fip.bin to QSPI flash offset 0x400000,and the bootloader (created as AN13185 - Flashing Binaries to S32G-VNP-RDB2 Board described) to QSPI flash offset 0x400000. The bootloader may start A53 core and console display this:     NOTICE:  Reset status: Power-On Reset     NOTICE:  BL2: v2.10.0   (release):     NOTICE:  BL2: Built : 16:02:49, Feb 26 2026 NOTICE:  BL2: Booting BL31 and then the procedure stalled. It seems that BL2 can't find BL31 and/or BL33.   I also tried to use FIP_QSPI_OFFSET parameter:     make CROSS_COMPILE=... ARCH=aarch64 PLAT=s32g274ardb2 BL33=../u-boot/u-boot-nodtb.bin FIP_QSPI_OFFSET=0x400000 this leads to less information displayed:     NOTICE:  Reset status: Power-On Reset     NOTICE:  BL2: v2.10.0   (release):     NOTICE:  BL2: Built : 16:02:49, Feb 26 2026   What's may be wrong? How can I feed BL31/33 to BL2? Can I make BL2 to fetch BL31/33 in the same fip.bin image?  Re: For S32G274A multi-core & BSP42 , How can I feed BL31/33 to BL2? Hello, @wansp  Thanks for the post. For the multicore case mentioned in AN13750, the fip.bin that flashed to the QSPI is not built with QSPI boot, it is actually from the SD boot building configuration. I suggest rebuilding the fip.bin/s32 with the steps mentioned in AN13750(P5-P6), and then have another trial. BR Chenyin Re: For S32G274A multi-core & BSP42 , How can I feed BL31/33 to BL2? fix : bootloader is flashed to offset 0 Re: For S32G274A multi-core & BSP42 , How can I feed BL31/33 to BL2? Hello, @wansp  Yes, it could be found from https://www.nxp.com/webapp/Download?colCode=AN13750 BR Chenyin Re: For S32G274A multi-core & BSP42 , How can I feed BL31/33 to BL2? When flashing QSPI fip.bin, it seems BL2 can't access QSPI FLASH to load fip header, bl31, bl33. Can we do some configure and make the QSPI flash accessible to BL2? I want BL2., BL31, BL33 all to be in QSPI. Does newer versions like BSP44/46 support this options? AN13750 seems not publicly available. Re: For S32G274A multi-core & BSP42 , How can I feed BL31/33 to BL2? found it. AN3750 : Enabling Multicore Application on S32G2 using S32G2 Platform Software Integration
View full article
CAN-FD Protocol Exception on S32K396 not working We are running a S32K396 FlexCAN module in Legacy RXFIFO mode. The channel does not support the Enhanced RXFIFO (channel 4). We need this controller to exist on a network where some nodes are going to be sending CAN-FD frames. We have set the PREXCEN bit in CTRL2 that should trigger the protocol exception logic for non supported bits, however the controller still triggers CAN error frames on the bus when CAN-FD frames are seen. It seems like the protocol exception logic is not active in this case. The controller CAN support CAN-FD, but not in the legacy fifo mode. From my understanding the Protocol Exception logic should be activated for the FDF bit in the  CAN frame if the controller does not support it. Which is the case in this configuration. Is this a known issue? Re: CAN-FD Protocol Exception on S32K396 not working This is a custom driver built for our RTOS (rt-kernel https://rt-labs.com/product/rtos/) used in automotive domain. So it's based around the specifications of FlexCAN instead of your provided MCAL's. We have two variants. One based around legacy rx fifo and one based on extended rx fifo (for can-fd). But since the 4th can controller on S32K396 does not supported extended fifo, we are using the older driver.  Given it's using legacy rx fifo, can-fd can not be enabled, but it should still be able to passively/silently participate in can-fd networks based on the protocol exception logic.  Re: CAN-FD Protocol Exception on S32K396 not working Hi @rtljopl, I am not aware of any open issue regarding protocol exception.  Are you able to share which RTD version you are using? Is this EB Tresos, S32DS or another configuration tool? I can ask the internal team for confirmation regarding this issue. If possible, also please share the FlexCAN module configuration, to test this on my side. Best regards, Julián Re: CAN-FD Protocol Exception on S32K396 not working Hi @rtljopl, Actually, looking a bit more into the Protocol Exception definition as per-ISO 11898-1:2015, I do not think this configuration is relevant to your setup.  According to the international CAN conference (iCC):  When CAN FD was specified in ISO 11898-1:2015, one bit was reserved for the future expansion of the protocol. This is the reserved bit after the FDF bit, which is expected to be dominant in CAN FD frames. When it is seen recessive, a CAN FD node will detect a protocol exception. Software configuration decides whether the node treats this as a form error or whether it enters the Protocol Exception State, where it will remain until the bus is idle again. Protocol Exception State (PES) is a mechanism for FD‑capable nodes only. Its purpose is not to prevent Classical CAN nodes from reacting to FD frames, rather so that CAN‑FD nodes do not disturb CAN‑XL frames. A classic controller receiving an FD frame will trigger an error frame, since the bit sequence on the bus does not make sense to it. Unless you use gateways for older classic CAN nodes in your bus, Classical nodes will throw errors and go bus‑off. Best regards, Julián Re: CAN-FD Protocol Exception on S32K396 not working Hi @rtljopl, I think being a CANFD-tolerant node is more dependent on the PHY. For example, TJA1145 will see CAN FD frames as errors, while TJA1145FD offers CAN FD passive functionality, judging the CAN FD frames as 'valid', regardless of what comes after the FDF bit: Best regards, Julián Re: CAN-FD Protocol Exception on S32K396 not working But is this node really a classical CAN node? I suppose it could be considered that when CAN-FD feature is disabled, however i also assumed it could be run as a CAN-FD tolerant controller when not wanting to receive the CAN-FD frames. But okey. This won't be solvable by some hardware feature in our case anyway, so we have to figure out a workaround for CAN4 channel without any fifo support. Thanks for the investigation. Re: CAN-FD Protocol Exception on S32K396 not working Yes we are using the FD variant of that TRCV. However, the concept of `tolerate` there only applies to wakeup (we had missed that). So once the ECU/TRCV is up and running. CAN-FD frames are passed through to the controller independent on the TRCV setting. So the controller starts sending error frames even though in theory it's CAN-FD capable (thou disabled). Only way to handle it is to enable CAN-FD on the controller and in software (or probably hardware filters) filter out the CAN-FD frames. But then we are back to the problem of limited CAN-FD support in the 4th channel requiring rewritten drivers.
View full article
Force eFlexPwm output change on input pin edge detection Hi, Once an eFlexPWM is configured to generate a PWM signal in an output pin (PWM_A) with a defined period and duty, is it possible to force a change in the output when an edge is detected in an input pin (PWM_X for example) by hardware (i mean, without changing the output in an interrupt generated by the input pin)? Thanks in advance MCXA MCXN Re: Force eFlexPwm output change on input pin edge detection Hi @zorrotz  Yes. The eFlexPWM module can change the PWM_A output in hardware when an edge is detected on an input pin (such as PWM_X), without using an interrupt. Method: Route the input pin to one of the eFlexPWM FAULTx inputs. A fault is generated when any FAULTx pin is at logic 1. The polarity can be changed using FCTRL[FLVL]. Each FAULTx pin can be mapped to any PWM output. When a fault signal is triggered (by the edge detected on the input pin), the PWM output pins are forced to logic 0, logic 1, or high‑impedance, depending on the settings in OCTRL[PWMxFS]. Thank you. BR Alice Re: Force eFlexPwm output change on input pin edge detection Hi @Alice_Yang  Yes, a FAULTx input could be used, but I am using a FAULTx input to force a logic 0 when a over-voltage is detected in the circuit. So I cannot use another FAULTx to force another pin state. Maybe I can use the DMA. Thank you Re: Force eFlexPwm output change on input pin edge detection Hello @zorrotz  You can consider using the eFlexPWM EXT_FORCE feature to change the PWM output immediately in hardware. You can route your input edge to EXT_FORCE, then set the PWM submodule’s FORCE_SEL to EXT_FORCE . Using  DTSRCSEL, the PWM output can be forced to the desired level instantly — without interrupts and without consuming any additional FAULT channel. Thank you.  BR Alice
View full article
NXP S32R294 QSPI Flash Memory swap. Hello Guys, I use NXP S32R294 microcontroller with External Flash over Qspi interface. I want to use Flash memory from another supplier. Actually I use: Winbond (W25Q32JW) and i want to swap this chip to: ISSI (IS25WP032). after memory swap to the ISSI(IS25WP032) i have problem with bootup procedure.  Debugger - T32 seems works and program flash was flashed properly, but every in-target reset i got warning like:  "Warning: Timeout while waiting for boot ROM execution finished (SOCDATA1=0x00000000)" I only changed "Flash memory command sequence" in "QuadSPI reconfiguration data" block, to enable Quad-mode (QE=1). in winbound to set QE=1 following command sequence shall be used: "0x06;  0x31 0x2" and in ISSI for QE=1 following command sequence shall be used:  "0x06 ; 0x01 0x40". Thats only change i made in SW. Orginal SW with windbound chip works well after in-target reset in T32 i can see  Program-Pointer (PC) set on Ram Start Pointer and it works. With ISSI chip after in-target-reset in T32 i only see this warning (SOCDATA1=0x00000000) and it not works. Could somebody help me? Why memory chip swap is so problematic here? Re: NXP S32R294 QSPI Flash Memory swap. Hello, If the BootROM doesn’t recognize the JEDEC ID or the device density bits, it will not configure QSPI and will stall, causing your exact timeout. Your manual QuadSPI configuration block never gets executed because the BootROM already hangs before reaching it. On S32R devices: Boot sequence is: BootROM tries to auto-configure QSPI using JEDEC ID + default assumptions Only after that it loads your QuadSPI Reconfiguration Block Then your application runs If step (1) fails → nothing else happens → T32 shows: Warning: Timeout while waiting for boot ROM execution finished SOCDATA1=0x00000000 Best regards, Peter Re: NXP S32R294 QSPI Flash Memory swap. Swapping QSPI flash chips can be tricky because even if both are 32 Mb devices, their command sets, timing, and status register layouts differ slightly. In your case, the ISSI device may require additional initialization beyond just setting QE (e.g., different dummy cycles, read command codes, or status register bits). The boot ROM on the S32R294 expects exact sequences to match the flash’s JEDEC ID and timing; if these don’t align, it won’t complete the boot process, hence the timeout. You’ll likely need to adjust the QuadSPI reconfiguration data not only for QE but also for read commands, dummy cycles, and possibly the reset/enable sequence to fully match ISSI’s datasheet.
View full article
電力レベルADC mcxa153   おはよう、 MCXA153 ボード上に ADC をセットアップしていますが、ペリフェラルで設定可能なさまざまな電力レベル モードの意味を知りたいです。どこで見つけられますか?それらはどういう意味ですか? よろしくお願いいたします。   よろしくお願いいたします。 Re: Power level adc mcxa153 こんにちは@Transidico 、 このウィンドウでは、説明に記載されているように、ADC が動作する電力レベルを構成します。MCXA153 の場合、ADC は低電力モードと高電力モードの 2 つの電力モードをサポートします。それぞれに特定の構成 (クロック ソースの選択、レジスタ ビットの設定など) が必要です。詳細については、RM のセクション 40.3.1「電力制御モード」を参照してください。 さらに、ADC ペリフェラルの詳細な説明が記載されており、その動作を理解するのに非常に役立つAN14390 を確認することを強くお勧めします。 BR ハビブ
View full article
ドキュメントの不一致: i.MX RT700 ベクターテーブルマッピング (RM テーブル 47 と SRM テーブル 79) こんにちは、NXPチーム Cortex-M33 ベクター テーブルのイメージ ヘッダー オーバーレイに関して、i.MX RT700 リファレンス マニュアル (RM) とセキュリティ リファレンス マニュアル (SRM) の間に重大な矛盾があることを報告します。 矛盾点: リファレンス マニュアル (表 47): オフセット 0x34 を imageExecutionAddress として正しく識別します。これは、ブート ROM によって XIP と Load-to-RAM の実行を決定するために使用されます。 セキュリティ リファレンス マニュアル (表 79): オフセット 0x34 を DebugMon ハンドラーとして誤ってラベル付けしています。 裏付けとなる調査結果: ARM 標準: Cortex-M33 汎用ユーザー ガイドによると、DebugMonitor 例外はアーキテクチャ上オフセット 0x30 に固定されていますが、オフセット 0x34 は予約済みです。 内部矛盾: SRM 自体では、図 19 はオフセット 0x34 の「Load Addr」を正しく示していますが、次のページの表 79 ではそのスロットに DebugMon がリストされているため、これと矛盾しています。 SDK 実装: NXP SDK スタートアップ コードは RM (表 47) および SRM 図 19 に従い、ロード アドレスを 0x34 に配置して、ブート ROM が正しく機能することを保証します。 Re: Documentation Discrepancy: i.MX RT700 Vector Table Mapping (RM Table 47 vs SRM Table 79) @mayliu1 SRM の文脈で、表 79 が伝える情報と目的は何なのかを説明していただけますか。オフセットエントリが間違っているように見えます。提供されている例の起動コードは、表 47 に従ってベクター テーブルを提供します。また、Coretx-M33 の汎用ユーザー ガイドによれば、オフセットはオフになっています。比較ドキュメントで共有した画像を見てもらえますか。可能であれば、私が何かを見逃している場合に備えて、これをよりよく理解するための他のリソースとドキュメントを教えていただけますか。 Re: Documentation Discrepancy: i.MX RT700 Vector Table Mapping (RM Table 47 vs SRM Table 79) こんにちは@prathamvoraさん、 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 RT700RMとRT700SRMを確認しましたが、RT700RMとRT700SRMの間に矛盾はないと思います。 比較している 2 つのテーブルは、2 つの異なるデータ構造を記述しています。 RT700RM 表 47 および RT700SRM 図 19 の場合: これらは、ブート ROM によって挿入されるイメージ ヘッダー オーバーレイについて説明します。 これは標準の NVIC ベクター テーブルではありません。   RT700SRM 表79の場合: この表はCortex-M33 NVICベクターテーブルについて説明しています。   それらは異なる目的で使用されます: 1: イメージヘッダー: ブートROMの解析構造です 2: NVICベクターテーブル: Cortex-M33の例外処理構造 お役に立てれば幸いです よろしくお願いいたします。 メイリュー Re: Documentation Discrepancy: i.MX RT700 Vector Table Mapping (RM Table 47 vs SRM Table 79) こんにちは@prathamvoraさん、 あなたの混乱は十分に理解しており、この件を私たちに伝えていただきありがとうございます。 RT700 RM の表 47 は、RT700 チップを参照するのに正しい表ですので、ご安心ください。 RT700SRM に示されている表 (表 79) は、標準の Cortex-M33 NVIC ベクター テーブルを示しています。これは、RT700 に固有のものではなく、一般的な ARM 定義です。 この違いにより、ユーザーは混乱しやすくなります。 さらなる誤解を避けるため、関連チームに内部チケットを送信し、ドキュメントの明確化と整合性の向上を要求します。   他にご質問がございましたら、お気軽にお問い合わせください。 よろしくお願いいたします。 メイリュー
View full article
MCUXpresso IDE の Github Copilot プラグイン こんにちは、皆さん 私はマイクロコントローラ プロジェクトでしばらく MCUXpresso IDE を使用しており、ターゲットでのデバッグにも使用しています。 少し前に、私たちは Github Copilot を使い始めました。ただし、公式プラグインはインストールできません。これは、おそらく、最新の MCUXpresso IDE 2025-06 が Eclipse の 2023 コア ランタイムで実行されており、Eclipse バージョン 2024-03 以降の Copilot 要件を満たしていないためです。 回避策を提供したり、アップデートが計画されているかどうかを教えていただけますか? 他の人がプラグインのサポートに興味を持っている場合は、いいねや何かしてもらえると嬉しいです 😊 ありがとうございます ジュリアン Re: Github Copilot Plugin on MCUXpresso IDE こんにちは、Luisさん。ありがとうございます。私はWindows 11 Pro 25H2でMIMXRT1176DVMAA (FreeRtos)を使用しています。ベスト、ジュリアン Re: Github Copilot Plugin on MCUXpresso IDE こんにちは、ジュリアン どのようなマイクロコントローラを使用しているのか教えていただけますか?使用しているOSは何ですか? 敬具、ルイス Re: Github Copilot Plugin on MCUXpresso IDE こんにちは@ksdbo52さん、 Copilot、Gemini などの AI 拡張機能をサポートする VS Code 用の MCUXpresso の使用を検討することもできます。 Visual Studio Code 向け MCUXpresso | NXP セミコンダクターズ BR セレステ Re: Github Copilot Plugin on MCUXpresso IDE こんにちは、セレステ。 推薦ありがとうございます。私はすでに nxp プラグインを使用して VSCode を試しました。しかし、実行できませんでした。 事前に構築した.axfをロードしますMCUXpresso IDE の imxrt1176 用の SDK サンプル デバッグ構成を使用します。VSCode への移行パスは何ですか? ありがとうございます ジュリアン Re: Github Copilot Plugin on MCUXpresso IDE 他のコメントで述べたように、回避策としては、AI 拡張機能を備えた VScode 用の MCUXpresso を使用することです。 このツールのインストール、フラッシュ、デバッグに関する追加情報については、 MCUXpresso for VS Code のドキュメントを参照してください。 敬具、ルイス Re: Github Copilot Plugin on MCUXpresso IDE こんにちは、ジュリアン MCUXpresso IDE から Visual Studio コードにプロジェクトをインポートするための移行パスについては、次のドキュメントで説明します。 MCUXpresso IDE プロジェクトコンバーター — MCUXpresso for VS Code ドキュメント プロジェクトをVisual Studioにインポートした後、右クリックしてバイナリユーティリティオプションを使用して.binを作成できます。選択したターゲットをフラッシュする手順については、こちらにドキュメントへのリンクがあります。Flash — MCUXpresso for VS Code ドキュメント それがあなたにとってうまくいくかどうか、また他に何か必要なことがあればお知らせください。 敬具、ルイス
View full article