Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
FRDM-IMX95: No Serial Output when Booting from SD Card (Pre-installed eMMC Boot Works Perfectly Hello NXP Community, I am mechanical and electrical engineering background, and this is my first time diving deep into complex System-on-Chips (SoCs) and embedded Operating Systems. For my project, I am using the FRDM-IMX95 development board. My ultimate goal is to run two operating systems in parallel using an IPC (Inter-Process Communication) framework. The board arrived with a pre-installed Linux image on the internal eMMC. This works flawlessly out of the box, and I get full serial output logs in my terminal monitor program. Now, I am trying to follow the official Getting Started Guide to flash the standard Linux BSP image onto a microSD card using UUU (Universal Update Utility) on a Windows host machine. According to the Windows command prompt, the UUU flashing process completes with a "SUCCESS" status. I used the following standard command layout: ".\uuu.exe -b sd_all imx-boot-imx95-15x15-lpddr4x-frdm-sd.bin-flash_all imx-image-full-imx95evk.wic" The Problem: After successful flashing, I turn off the board and configure the physical boot switches for SD Boot Mode by setting SW1 [1:2] to 11 (ON / ON). When I power the board back on, the serial monitor remains completely blank. There is absolutely no text output or hardware initialization visible. 1. Do I have a fundamental misunderstanding of how the boot chain works here? According to the i.MX Linux User's Guide, the .wic image contains all four essential pieces, including the bootloader image (U-Boot). Shouldn't I at least see the initial U-Boot SPL sequence appearing on my serial monitor, since the basic hardware configuration blocks should be read from the card? Any insights, common pitfalls for beginners on this specific FRDM variant, or hidden switch requirements would be highly appreciated! Best regards FRDM-Training Re: FRDM-IMX95: No Serial Output when Booting from SD Card (Pre-installed eMMC Boot Works Perfectly Hello,  I'm testing on my side to share the exact steps for you, I will update soon.  Re: FRDM-IMX95: No Serial Output when Booting from SD Card (Pre-installed eMMC Boot Works Perfectly Thank you for looking into this and testing it on your end! I appreciate the help and look forward to your update.
查看全文
S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes Hello, Following up on the CRS domain Secure Debug authentication issue discussed in the earlier post ("S32N55 HSE2 CRS domain authentication does not complete"), I'd like to report a new, more specific finding that I believe points to the root cause. Posting this separately as suggested. Setup: - S32N55, HSE2, CRS domain (APP_CHALLENGE), Lauterbach TRACE32 / SDC-600 - Auth flow: COMM_START -> AUTH_MODE_REQ -> APP_CHALLENGE (StartCmd) -> receive challenge -> send ProofProvCmd (debugSignalMap(4B) + appChallengeAuth(16B) via AES-CMAC) Finding: After sending debugSignalMap(4B) + appChallengeAuth(16B) = 20 bytes total via the ProofProvCmd packet, the host's SDC-600 TX FIFO status register (bit[7:0] at MU base+0xD2C) never reports free space again. In other words, HSE2 appears to stop draining the SDC-600 channel at exactly this 20-byte boundary. The host's low-level Send() routine polls this status register in a busy-wait loop with no timeout, so it blocks indefinitely at this point. This behavior is consistent regardless of what follows the 16-byte appChallengeAuth: - Whether we append additional padding bytes (to fill out the debugAuthProof union to 32 bytes) or send nothing further and go straight to FLAG_END, the FIFO stops draining at the same 20-byte point. This suggests the issue is not a packet-length/framing mismatch, but that HSE2 stops servicing the channel right after receiving the 16-byte appChallengeAuth. Question: Is this expected behavior for the APP_CHALLENGE flow (e.g., does HSE2 pause here awaiting some other action from the host before it will continue draining the channel), or does this indicate that the packet content received up to this point (debugSignalMap or appChallengeAuth) was rejected/malformed on the HSE2 side? For reference: - FSS domain (FSS_CHALLENGE) authentication with the equivalent flow completes successfully (AUTHSTATUS=0xBBB) using the same Send() routine and SDC-600 base, sending 4B signal map + 32B response with no issue. - CRS domain (APP_CHALLENGE) target = HSE_DEBUG_DOMAIN_APP (0x1B), confirmed against hse_srv_debug_auth_protocol.h. Any guidance on what HSE2 expects at this point in the APP_CHALLENGE flow would be greatly appreciated. Thanks, Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes Hi Chenyin, Thank you for the guidance and for reviewing the script. We'll wait for your detailed feedback on the script issues and will apply the fixes as soon as it's ready. To clarify where we currently stand relative to the two-phase approach you suggested: the hang we reported (SDC-600 TX FIFO no longer draining after debugSignalMap + appChallengeAuth) occurs right at the end of Phase 1 — specifically right after sending hseDebugAuthorizeProofProvCmd_t, before we are able to proceed to hseDebugCardCmd_t at all. So we have not yet confirmed that Phase 1 completes successfully end-to-end; the sequence currently stalls at this exact point, before Phase 2 (CardCmd) is even reached. Once we receive your feedback, we will: 1. Apply the corrections to the script. 2. Re-test following your phased approach — logging the response of each command from hseDebugCommStartCmd_t through hseDebugAuthorizeProofProvCmd_t individually, and confirming expected values at each step before proceeding further. 3. Only move on to validating hseDebugCardCmd_t once Phase 1 is confirmed to complete successfully. 4. Report back with the updated logs. Thanks again for your continued support. Best regards, Eddie Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes Hello, @EddiePark  Thanks for your post. 1. We have reviewed the original script shared, and found that there are some issues, I will send you the feedback soon.  During the review, we identified some issues that do not seem to align with the documented procedure. Therefore, I would recommend carefully comparing the actual packet exchange with the requirements described in the comments of HSE FW Interface. 2. Once fixed the issues found in the script, test and check the log. 3. If still issues,  I would recommend breaking the debugging procedure into two phases to help isolate the issue. As a first step, verify that the authorization sequence from hseDebugCommStartCmd_t through hseDebugAuthorizeProofProvCmd_t completes successfully. And log the response of each command and confirm that the returned values are as expected before proceeding to the next stage. In the second stage, focus on hseDebugCardCmd_t. Based on the comments provided in the HSE FW Interface documentation, I would suggest strictly validating all packets involved in this step and confirming that their contents and sequence match the documented requirements. BR Chenyin Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes Hello, @EddiePark  I've also sent it last week via the messages since the previous script you shared is via the private message. You may check it there in your message box. Sorry for any inconvenience. BR Chenyin Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes Hello Chenyin, Thank you for your previous response regarding the CRS APP domain script review. We sincerely appreciate your guidance on the two-phase debugging approach. Since we have not yet received the detailed script feedback you mentioned ("I will send you the feedback soon"), we wanted to follow up and check on the status. To prepare for your feedback, we have already: 1. Enhanced logging in our crs_auth.cmm script to support the two-phase approach you recommended: - Phase 1 (CommStart → ProofProv): Added step-by-step response logging with PASS/FAIL validation for each command (AUTH_MODE_REQ, APP_CHALLENGE, ProofProv) - Phase 2 (CardCmd): Ready to validate packet contents and sequence per HSE FW Interface documentation 2. Prepared detailed execution logs capturing: - Each command's response bytes - Lifecycle state decoding (OEM_OPEN vs OEM_CLOSED) - Authentication mode confirmation - Challenge reception validation - ProofProv response status (currently observing HSE2 remains silent after ProofProv, unlike FSS domain which returns 0x4A4A4A4A) Given that our customer (42dot) delivery schedule is approaching, could you please advise on: 1. Approximate timing for the detailed script feedback? 2. Are there any specific aspects of the packet structure or command sequence we should focus on while awaiting your feedback? We remain committed to resolving this and would greatly appreciate any additional guidance. Thank you for your continued support. Best regards, Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes Hi, Platform: S32N55 (HSE2), Secure Debug via SDC600 / TRACE32 CMM Domain: APP (CRS) Auth mode: Challenge (AuthMode = 0) I am implementing the debug card authentication flow. The challenge -> ProofProv phase works: after APP_CHALLENGE I receive a 32-byte challenge and compute appChallengeAuth = AES256-CMAC(key, challenge) // 16 bytes and send it in hseDebugAuthorizeProofProvCmd_t. My question is about the CARD_REQUEST phase (hseDebugCardCmd_t / hseDebugCardInfo_t). In my current script the AuthTag field is filled with the SAME value as appChallengeAuth above (i.e. the CMAC computed over the received challenge). The card authentication is rejected. I would like to confirm what the AuthTag in the card request must actually be signed over: 1. Is the card AuthTag simply the same value as appChallengeAuth (CMAC over the received challenge)? OR 2. Must the AuthTag be a separate CMAC computed over the hseDebugCardInfo_t structure (the card info being sent in the same request)? If it is (2), could you please confirm: - the exact byte range that goes into the CMAC (whole struct incl. authKeyRef/reserved, or a specific subset), - whether uidList is included when numOfAllowedUids = 0, - the authScheme value to use for AES-CMAC and whether it is part of the signed data, - packing / endianness assumptions for the serialized struct. For reference, the structure I am populating: typedef struct { uint8_t authKeyRef; uint8_t reserved0[3U]; hseOid_t ownerId; // 16 bytes hseDebugCardAuthScheme_t authScheme; uint64_t enabledDebugDomainMap; // CRS = bits 22..26 -> 0x0000000007C00000 union { hseDebugSignal_t debugDomainSignalList[HSE_MAX_NUM_OF_DEBUG_DOMAINS]; uint8_t reserved1[64U]; } debugDomainSignalList; uint8_t numOfAllowedUids; uint8_t reserved2[3U]; uint8_t uidList[HSE_MAX_UID_LIST_SIZE][HSE_UID_SIZE]; } hseDebugCardInfo_t; The HSE FW API RM does not seem to state explicitly which data the debug card AuthTag is computed over, so I would appreciate a definitive answer. Thank you. Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes Hello, @EddiePark  Thanks for your reply. Regarding to your previous questions: 1. Confirm whether ProofProv should be transmitted for APP domain? - Do NOT send ProofProv at all for APP (skip the tx_response call entirely)? - or Send ProofProv but don't wait for response (currently attempted)? [Comments]: The ProofProv in phase 1 must be sent for APP domain. 2. What may be causing the script stall after ProofProv? (If it is still needed) [Comments]:  After sending the ProofProv in phase 1, you should read the response from HSE FW to check if debug process  worked fine(hseDebugAuthorizeProofProvResponse_t). Please check if the response is expected.  BR Chenyin Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes Hi, Platform: S32N55 (HSE2), Secure Debug over SDC600 (APBCOM @ DP:0x5BFF8000), driven from TRACE32 CMM. I have Secure Debug authentication working for the FSS domain (AUTHSTATUS = 0xBBB). I am now bringing up the APP (CRS) domain using the exact same SDC600 base address and the same host-side SEND routine, but I hit a transmit problem. Observation: - FSS domain: I can transmit a 32-byte payload through SDC600 without any stall. - APP (CRS) domain: transmission stalls after exactly 16 bytes. My SEND routine writes each byte to the TX data register (base+0xD20) and, before each write, waits on the TX status register (base+0xD2C, lower byte) for FIFO free space: WHILE (Data.Long(&base+0xD2C) & 0x000000FF) == 0x00000000 ( ) ; wait for TX FIFO space On the APP domain, after 16 bytes this status stays 0 (no free space) indefinitely, i.e. the HSE2 side does not appear to consume the TX FIFO beyond 16 bytes. On the FSS domain the same code streams 32 bytes without stalling. Because the base address and SEND code are identical for both domains, this looks like a difference in when/whether HSE2 drains the SDC600 RX (host TX) FIFO depending on the target debug domain. Questions: 1. What determines when HSE2 begins consuming the SDC600 TX FIFO for the APP(CRS) domain? Is there a required condition/handshake (e.g. reading back the ProofProv response, a status bit, or an RX-enable) that must be satisfied before HSE2 will drain more than 16 bytes on APP? 2. Is there a per-domain difference in the SDC600 flow-control / FIFO consumption behavior between FSS and APP? 3. What is the actual SDC600 TX FIFO depth on this device, and is 0xD2C[7:0] the correct field to poll for "TX FIFO free space"? Which exact bit should be used? 4. For a payload larger than the FIFO depth on the APP domain, what is the intended host transmit sequence? Additional context that may be relevant: - After sending ProofProv (hseDebugAuthorizeProofProvCmd_t) in NOBLOCK mode, HSE2 does return a response and I can now read it back (hseDebugAuthorizeProofProvResponse_t). The 4-byte result I read is 0x7A 0xB3 0x08 0x00 - I would also appreciate confirmation of whether this indicates ProofProv success for the APP domain. Thank you.
查看全文
MIMXRT1052CVL5B和MIMXRT1062CVL5B BGA196封装的是PIN TO PIN的吗? MIMXRT1052CVL5B和MIMXRT1062CVL5B BGA196封装的是PIN TO PIN的吗? 我现在用的是MIMXRT1052CVL5B,BGA196. 我可以直接不改PCB,直接把芯片换成MIMXRT1062CVL5B BGA196封装的吗? MIMXRT1052CVL5B SRAM不够用。 i.MXRT 105x i.MXRT 106x Re: MIMXRT1052CVL5B和MIMXRT1062CVL5B BGA196封装的是PIN TO PIN的吗? 你好@SDFDSFSF , 根据AN12240增强功能中的 i.MX RT1060,i.MX RT1060 将片上 SRAM 容量翻倍至 1 MB,同时保持与 i.MX RT1050 的引脚兼容性。 我建议您检查固件以及应用程序中使用的任何外围设备映射,以确保兼容性。 此致, 巴勃罗
查看全文
Are the MIMXRT1052CVL5B and MIMXRT1062CVL5B BGA196 packages pin-to-pin? Are the MIMXRT1052CVL5B and MIMXRT1062CVL5B BGA196 packages pin-to-pin? I'm currently using a MIMXRT1052CVL5B with a BGA196. Can I replace the chip with a MIMXRT1062CVL5B BGA196 package without modifying the PCB? The MIMXRT1052CVL5B SRAM is insufficient. i.MXRT 105x i.MXRT 106x Re: MIMXRT1052CVL5B和MIMXRT1062CVL5B BGA196封装的是PIN TO PIN的吗? Hi @SDFDSFSF, According to AN12240 Enhanced Features in the i.MX RT1060, the i.MX RT1060 doubles the on-chip SRAM to 1 MB while maintaining pin-to-pin compatibility with the i.MX RT1050. I would recommend reviewing the firmware and any peripheral mappings used in your application to ensure compatibility. Best Regards, Pablo
查看全文
S32N55 HSE2 CRS セキュアデバッグ: SDC-600 TX FIFO が 20 バイト後に停止する こんにちは、 CRSドメインのSecure Debug認証の問題についてのフォローアップ 前回の投稿(「S32N55 HSE2 CRSドメイン認証」で議論されています 「未完了」)、より具体的な新発見を報告したい 私はそれが根本原因を示していると信じています。これを別々に投稿します 提案した。 セットアップ: - S32N55、HSE2、CRSドメイン(APP_CHALLENGE)、ラウターバッハTRACE32 / SDC-600 - 認証フロー:COMM_START -> AUTH_MODE_REQ -> APP_CHALLENGE(StartCmd) -> チャレンジを受信 -> ProofProvCmd (debugSignalMap(4B) + を送信 appChallengeAuth(16B) via AES-CMAC) 調査結果: debugSignalMap(4B) + appChallengeAuth(16B) = 20バイトを送信後 ProofProvCmdパケットを介した合計、ホストのSDC-600 TX FIFOステータス レジスタ(MU ベース +0xD2C のビット [7:0])は、二度と空き領域を報告しません。 言い換えれば、HSE2はSDC-600チャネルの排水を停止しているように見えます。 まさにこの20バイトの境界線です。ホストの低レベルのSend()ルーチン このステータスレジスタはタイムアウトなしでビジーウェイトループでポーリングしますので、 この時点で無期限にブロックされています。 この動作は、16バイトの後に何が続くかに関わらず一貫しています。 appChallengeAuth: - 追加のパディングバイトを追加するかどうか( debugAuthProof を 32 バイトに結合して、またはそれ以上何も送信せずに FLAG_ENDに直接到達すると、FIFOは同じ20バイトでドレインを停止します。 ポイント。これは問題がパケット長やフレーミングではないことを示唆しています 不一致ですが、そのHSE2はすぐにチャネルのサービスを停止します 16バイトのappChallengeAuthを受け取りました。 質問: これはAPP_CHALLENGEフローに対して期待される挙動でしょうか(例:HSE2は ホストの他の動きを待つためにここで一旦一旦止めてください チャネルの排水を続けているのか、それとも この時点で受信したパケット内容(debugSignalMapまたは appChallengeAuth)がHSE2側で却下・誤った形で通知されたのでしょうか? 参考までに: - FSSドメイン(FSS_CHALLENGE)認証と同等のフロー 同じSend()を用いて(AUTHSTATUS=0xBBB)正常に完了します。 ルーチンおよびSDC-600ベースで、4B信号マップ+32B応答を送信します。 子供はない。 - CRSドメイン(APP_CHALLENGE)ターゲット = HSE_DEBUG_DOMAIN_APP(0x1B)、 hse_srv_debug_auth_protocol.h に対して確認済み。 APP_CHALLENGEのこの段階でHSE2が何を期待しているかについてのガイダンスはありますか? フローを教えていただけると大変ありがたいです。 ありがとう、 Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes こんにちは、チェンインさん ご指導と脚本の校閲、ありがとうございました。 スクリプトの問題に関する詳細なフィードバックをお待ちしています。 修正プログラムの準備が整い次第、適用してください。 二段階アプローチに関して、我々が現在どのような立場にあるのかを明確にするために あなたが提案した: 我々が報告したハング (SDC-600 TX FIFO がもはや debugSignalMap + appChallengeAuth の後にドレインが発生すると、 フェーズ1の終了時、具体的には送信直後 hseDebugAuthorizeProofProvCmd_t に進む前に hseDebugCardCmd_t は全くありません。ですので、フェーズ1はまだ確認されていません エンドツーエンドで成功裏に完了します。現在、この数列は で停止しています。 このまさにフェーズ2(CardCmd)に到達する前の段階です。 お客様からのフィードバックを受け取り次第、以下の対応をいたします。 1. スクリプトに修正を適用する。 2. 段階的アプローチに従って再テストし、応答を記録します。 hseDebugCommStartCmd_t から各コマンドまで hseDebugAuthorizeProofProvCmd_t を個別に確認し、 次のステップに進む前に、各ステップにおける期待値を算出する。 3.フェーズ 1 が完了したら、hseDebugCardCmd_t の検証に進んでください。 正常に完了したことが確認されました。 4. 更新されたログを報告してください。 改めて、皆様のサポートに感謝します。 よろしくお願いします、 エディ Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes こんにちは、 @EddiePark 投稿ありがとうございます。 1. ご提供いただいた元のスクリプトを確認したところ、いくつか問題点が見つかりました。近日中にフィードバックをお送りいたします。 レビューの過程で、文書化された手順と一致しないと思われるいくつかの問題点が判明しました。したがって、実際のパケット交換とHSE FW インターフェースのコメントで説明されている要件を慎重に比較することをお勧めします。 2. スクリプトで見つかった問題を修正したら、テストを行い、ログを確認します。 3. それでも問題が解決しない場合は、デバッグ手順を2つのフェーズに分けて、問題を特定することをお勧めします。 まず最初に、hseDebugCommStartCmd_t から hseDebugAuthorizeProofProvCmd_t までの認証シーケンスが正常に完了することを確認してください。そして、各コマンドの応答をログに記録し、次の段階に進む前に、返された値が期待どおりであることを確認します。 第2段階では、hseDebugCardCmd_tに注目してください。HSE FW Interfaceドキュメントに記載されたコメントに基づき、このステップに関わるすべてのパケットを厳格に検証し、その内容と順序が文書化された要件に合致しているかを確認することをお勧めします。 BR チェイン Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes こんにちは、 @EddiePark 先週、メッセージ機能を使って送信しました。以前あなたが共有してくれたスクリプトはプライベートメッセージ経由だったので。メッセージボックスで確認できます。 ご迷惑をおかけして申し訳ございません。 BR チェイン Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes こんにちは、陳音さん、 CRS APPドメインスクリプトのレビューに関する以前のご回答、ありがとうございました。2段階デバッグ手法に関するご指導に心より感謝申し上げます。 ご指摘いただいた詳細なスクリプトに関するフィードバック(「近日中にフィードバックをお送りします」とのことでした)をまだ受け取っていないため、状況を確認するためにご連絡いたしました。 皆様からのフィードバックに備えるため、すでに以下の準備を進めております。 1. ご提案の2段階アプローチをサポートするためのcrs_auth.cmmスクリプトでの強化ログ機能: - フェーズ1(CommStart → ProofProv):各コマンド(AUTH_MODE_REQ、APP_CHALLENGE、ProofProv)に対してPASS/FAIL検証付きの段階的な応答ログを追加 - フェーズ2(CardCmd):HSE FW Interfaceドキュメントに基づくパケット内容および順序の検証準備完了 2. 詳細な実行ログの作成: - 各コマンドの応答バイト - ライフサイクル状態復号(OEM_OPEN vs OEM_CLOSED) - 認証モード確認 - チャレンジ受容の検証 - ProofProv応答状態(現在、HSE2はProofProv後に沈黙のままであり、FSSドメインは0x4A4A4A4Aを返すのとは対照的です) お客様(42dot)の配送スケジュールが近づいている中で、以下の点についてアドバイスいただけますか: 1. 詳細な脚本フィードバックのおおよその所要時間は? 2. フィードバックをお待ちいただく間、パケット構造やコマンドシーケンスに関して、特に注意すべき点はありますか? 私たちはこの問題の解決に引き続き尽力しており、さらなるご助言をいただければ大変ありがたく存じます。 引き続きご支援いただきありがとうございます。 よろしくお願いします、 Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes こんにちは、 プラットフォーム:S32N55(HSE2)、SDC600 / TRACE32 CMMによるセキュアデバッグ ドメイン:APP(CRS) 認証モード:チャレンジ(認証モード=0) 私はデバッグカード認証フローを実装しています。チャレンジ -> ProofProv フェーズは正常に動作します: APP_CHALLENGE の後、32 バイトのチャレンジを受け取り、計算します appChallengeAuth = AES256-CMAC(key, challenge) // 16バイト そしてそれをhseDebugAuthorizeProofProvCmd_tで送信します。 私の質問は、CARD_REQUESTフェーズ(hseDebugCardCmd_t / hseDebugCardInfo_t)についてです。現在のスクリプトでは、AuthTagフィールドには上記のappChallengeAuthと同じ値(つまり、受信したチャレンジに基づいて計算されたCMAC)が入力されます。カード認証は拒否されました。 カードリクエスト内のAuthTagに実際に署名する必要があるのはどのようなものなのか確認したいです。 1. カードのAuthTagは、appChallengeAuth(受信したチャレンジに対するCMAC)と同じ値ですか? または 2. AuthTagは、hseDebugCardInfo_t構造体(同じリクエストで送信されるカード情報)に基づいて計算された、別のCMACである必要がありますか? もし(2)なら、確認していただけますか: - CMACに入力される正確なバイト範囲(全体の構造体を含む)authKeyRef/reserved、または特定のサブセット)、 - numOfAllowedUids = 0の場合にuidListが含まれているかどうか - AES-CMACで使用するauthSchemeの値と、それが署名データの一部であるかどうか、 - 直列化された構造体のパッキング/エンディアンの仮定。 参考までに、私がデータを書き込んでいる構造体は以下のとおりです。 typedef struct ヤージュ uint8_t authKeyRef; uint8_t reserved0[3U]; hseOid_t ownerId; // 16バイト hseDebugCardAuthScheme_t authScheme; uint64_t enabledDebugDomainMap; // CRS = ビット 22~26 -> 0x0000000007C00000 組合 { hseDebugSignal_t debugDomainSignalList[HSE_MAX_NUM_OF_DEBUG_DOMAINS]; uint8_t reserved1[64U]; } debugDomainSignalList; uint8_t numOfAllowedUids; uint8_t reserved2[3U]; uint8_t uidList[HSE_MAX_UID_LIST_SIZE][HSE_UID_SIZE]; } hseDebugCardInfo_t; HSE FW API RMには、デバッグカードのAuthTagがどのデータから計算されるか明示されていないようなので、明確な回答をいただけると助かります。 よろしくお願いします。 Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes こんにちは、 プラットフォーム:S32N55(HSE2)、SDC600(APBCOM @ DP:0x5BFF8000)によるSecure Debug、TRACE32 CMMから駆動。 FSSドメインではSecure Debug認証(AUTHSTATUS = 0xBBB)が動作しています。現在、まったく同じSDC600ベースアドレスとホスト側のSENDルーチンを使用してAPP(CRS)ドメインを起動していますが、送信時に問題が発生しました。 観察: - FSSドメイン:32バイトのペイロードをSDC600経由でストールなく送信できます。 - APP (CRS) ドメイン: 送信がちょうど 16 バイト後に停止します。 私のSENDルーチンは、各バイトをTXデータレジスタ(ベース+0xD20)に書き込み、書き込みの前に、TXステータスレジスタ(ベース+0xD2C、下位バイト)でFIFOの空き領域を待機します。 WHILE (Data.Long(&base+0xD2C) & 0x000000FF) == 0x00000000 ( ) ; TX FIFO スペースが空くのを待つ APPドメインでは、16バイトを超えるとこのステータスは0(空き領域なし)のまま無期限に維持されます。つまり、HSE2側はTX FIFOを16バイトを超えて消費しないようです。FSSドメインでは、同じコードが停止することなく32バイトをストリーミングします。 ベースアドレスとSENDコードは両方のドメインで同じであるため、これはターゲットのデバッグドメインに応じて、HSE2がSDC600 RX(ホストTX)FIFOをドレインするタイミングやそのかどうかが異なることを示しているようです。 質問: 1.HSE2がAPP(CRS)ドメインのためにSDC600 TX FIFOの使用を開始するタイミングは何によって決まるのでしょうか?必須条件/握手はありますか(例:HSE2がAPP上で16バイト以上を消費する前に満たされなければならない条件(ProofProv応答の読み取り、ステータスビット、またはRX有効化)は何ですか? 2. SDC600のフロー制御/FIFO消費動作において、FSSとAPP間でドメインごとの違いはありますか? 3. このデバイスにおける実際のSDC600 TX FIFOの深さはどれくらいですか?また、0xD2C[7:0]は「TX FIFOの空き容量」をポーリングするための正しいフィールドですか?具体的にどの部分を使用すべきですか? 4. APPドメイン上のFIFO深度よりも大きいペイロードの場合、ホストの送信シーケンスはどのようになりますか? 関連するかもしれない追加の背景情報: - NOBLOCKモードでProofProv(hseDebugAuthorizeProofProvCmd_t)を送信した後、HSE2は応答を返し、それを読み返すことができる(hseDebugAuthorizeProofProvResponse_t)。私が読み取った4バイトの結果は0x7A 0xB3 0x08 0x00です。これがAPPドメインのProofProvの成功を示しているかどうかについても確認していただけると幸いです。 よろしくお願いします。 Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes こんにちは、 @EddiePark ご返信ありがとうございます。 以前のご質問について: 1. ProofProvをAPPドメインに送信する必要があるかどうかを確認してください。 - APPに対してProofProvを一切送信しない(tx_response呼び出しを完全にスキップする)? - または、ProofProvを送信するが、応答を待たない(現在試行中)? [コメント]: フェーズ 1 のProofProvは APP ドメインに対して送信する必要があります。 2. ProofProv の後にスクリプトが停止する原因は何でしょうか?(もし必要であれば) [コメント]: フェーズ 1 で ProofProv を送信した後、HSE FW からの応答を読み取って、デバッグ プロセスが正常に動作したかどうかを確認する必要があります (hseDebugAuthorizeProofProvResponse_t)。その応答が想定どおりのものかどうか確認してください。 BR チェイン
查看全文
MIMXRT1052CVL5BとMIMXRT1062CVL5BのBGA196パッケージは、ピン接続が一致していますか? MIMXRT1052CVL5BとMIMXRT1062CVL5BのBGA196パッケージは、ピン接続が一致していますか? 現在、BGA196パッケージのMIMXRT1052CVL5Bを使用しています。 基板を改造せずに、チップをMIMXRT1062CVL5B BGA196パッケージのものに交換することはできますか? MIMXRT1052CVL5B SRAMは容量不足です。 i.MXRT 105x i.MXRT 106x Re: MIMXRT1052CVL5B和MIMXRT1062CVL5B BGA196封装的是PIN TO PIN的吗? こんにちは@SDFDSFSF。 i.MX RT1060の AN12240 Enhanced Features によると、i.MX RT1060はオンチップSRAMを1 MBに倍増させつつ、i.MX RT1050とのピン間互換性を維持しています。 互換性を確認するために、ファームウェアやアプリケーションで使われているペリフェラルのマッピングを確認することをお勧めします。 よろしくお願いします、 パブロ
查看全文
FRDM-IMX95:从 SD 卡启动时无串口输出(预装 eMMC 启动完全正常) NXP社区的各位朋友,大家好! 我拥有机械和电气工程背景,这是我第一次深入研究复杂的片上系统 (SoC) 和嵌入式操作系统。 我的项目使用的是 FRDM-IMX95 开发板。我的最终目标是使用 IPC(进程间通信)框架并行运行两个操作系统。 主板到货时,其内部 eMMC 上预装了 Linux 镜像。它开箱即用,完美运行,我的终端监测程序中可以获取完整的串行输出日志。 现在,我正在尝试按照官方入门指南,使用 Windows 主机上的 UUU(通用更新实用程序)将标准 Linux 电路板支持包映像刷写到 microSD 卡上。 根据 Windows 命令提示符显示,UUU 刷新过程以“成功”状态完成。我使用了以下标准命令布局: “.\uuu.exe -b sd_all imx-boot-imx95-15x15-lpddr4x-frdm-sd.bin-flash_all imx-image-full-imx95evk.wic” 问题:成功刷写固件后,我关闭电路板,并将物理启动开关配置为 SD 启动模式,方法是将 SW1 [1:2] 设置为 11(ON / ON)。当我重新启动电路板时,串口监视器完全空白。完全没有任何文本输出或硬件初始化信息可见。 1. 我是否对这里的启动链的工作原理存在根本性的误解?根据i.MX Linux 用户指南,.wic镜像包含所有四个基本部分,包括引导加载程序镜像(U-Boot)。既然基本的硬件配置块应该从卡上读取,那么我的串口监视器上至少应该能看到初始的 U-Boot SPL 序列吧? 任何关于此特定 FRDM 变体的见解、初学者常犯的错误或隐藏的开关要求都将不胜感激! 顺祝商祺! FRDM 培训 Re: FRDM-IMX95: No Serial Output when Booting from SD Card (Pre-installed eMMC Boot Works Perfectly 你好, 我这边正在进行测试,稍后会把具体步骤分享给你,稍后会更新。 Re: FRDM-IMX95: No Serial Output when Booting from SD Card (Pre-installed eMMC Boot Works Perfectly 感谢您调查并进行了测试!感谢您的帮助,期待您的最新消息。
查看全文
S32K312:WKUP中断未触发 我已将PTB2配置为WKUP输入引脚,并将WKUP 通道 8映射到 PTB2。WKUP 模块配置看起来正确;但是,WKUP 中断没有被触发。 之前,我将同一引脚配置为EIRQ输入,并且中断已成功触发,证实该引脚和外部信号功能正常。 问题: PTB2 配置为 WKUP 输入。 WKUP 8频道映射到PTB2。 未收到 WKUP 中断。 同样的硬件配置在 EIRQ 配置下可以正常工作。 请帮忙确定是否存在任何额外的 WKUP 配置要求、依赖项或已知限制,这些都可能导致无法生成中断。 Wkpu_Ip_Init(0U, &Wkpu_Ip_Config_PB); /* INT2:唤醒触发器。*/ Wkpu_Ip_EnableInterrupt(0, Wkpu_Ip_ChannelConfig_PB[2U].hwChannel); Wkpu_Ip_EnableNotification(Wkpu_Ip_ChannelConfig_PB[2U].hwChannel); Re: S32K312: WKUP Interrupt Not Triggering 嗨@DiaDev , S32K3 除了提供约 60 个外部唤醒源外,还提供了 4 个内部唤醒源,在配置通道时必须考虑这些内部唤醒源;这意味着,偏移量需增加 4: PTB2 是唤醒垫 [8],加上四个内部源,它将是通道 12。请更改此配置并测试 WKPU 是否被触发。 此致, 朱利安
查看全文
S32N55 HSE2 CRS 安全调试:SDC-600 TX FIFO 在传输 20 字节后停止 你好, 关于 CRS 功能域安全调试身份验证问题的后续讨论 之前的帖子中讨论过(“S32N55 HSE2 CRS 功能域身份验证”) “尚未完成”,我想报告一项新的、更具体的发现。 我认为这指出了问题的根源。单独发布此内容 建议。 设置: - S32N55、HSE2、CRS 功能域 (APP_CHALLENGE)、劳特巴赫 TRACE32 / SDC-600 - 认证流程:COMM_START -> AUTH_MODE_REQ -> APP_CHALLENGE (StartCmd) -> 接收挑战 -> 发送 ProofProvCmd (debugSignalMap(4B) + appChallengeAuth(16B) 通过 AES-CMAC) 发现: 发送 debugSignalMap(4B) + appChallengeAuth(16B) = 20 字节后 通过 ProofProvCmd 数据包获取主机 SDC-600 TX FIFO 状态的总数 寄存器(MU 基址 + 0xD2C 处的 bit[7:0])不再报告可用空间。 换句话说,HSE2 似乎停止消耗 SDC-600 通道的电量。 正好是这 20 字节的边界。主机的底层 Send() 例程 它在一个没有超时的忙等待循环中轮询此状态寄存器,因此 此处无限期封锁。 无论 16 字节之后是什么,这种行为都保持一致。 appChallengeAuth: - 是否添加额外的填充字节(以填充) debugAuthProof 联合体(转换为 32 字节)或者不再发送任何内容并继续 直接跳转到 FLAG_END,FIFO 停止在相同的 20 字节处进行数据清空。 观点。这表明问题不在于数据包长度/帧结构。 不匹配,但 HSE2 在以下情况下立即停止为该通道提供服务: 收到 16 字节的 appChallengeAuth。 问题: 这是 APP_CHALLENGE 流程的预期行为吗(例如,HSE2 是否如此) 在此处暂停,等待主机执行其他操作,然后才会继续。 继续排干河道),还是说这表明 到目前为止接收到的数据包内容(debugSignalMap 或 appChallengeAuth)在 HSE2 端被拒绝/格式错误? 供参考: - FSS 功能域 (FSS_CHALLENGE) 身份验证具有等效流程 使用相同的 Send() 函数成功完成(AUTHSTATUS=0xBBB)。 例行程序和 SDC-600 基座,发送 4B 信号映射 + 32B 响应 没问题。 - CRS 功能域 (APP_CHALLENGE) 目标 = HSE_DEBUG_DOMAIN_APP (0x1B), 已根据 hse_srv_debug_auth_protocol.h 进行确认。 能否提供一些关于 HSE2 在 APP_CHALLENGE 阶段的期望方面的指导? 非常感谢您的反馈。 谢谢, Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes 陈银你好, 感谢您的指导和对剧本的审阅。 我们将等待您就剧本问题提供的详细反馈,并会 一旦修复程序准备就绪,请立即应用。 为了阐明我们目前相对于两阶段方法的立场。 您建议:我们报告的挂起问题(SDC-600 TX FIFO 不再存在) debugSignalMap + appChallengeAuth) 之后的排水操作恰好发生在 第一阶段结束——具体来说,就是在发送之后。 在能够继续之前,我们需要 hseDebugAuthorizeProofProvCmd_t hseDebugCardCmd_t 完全不存在。因此,我们尚未确认第一阶段。 端到端执行成功;序列目前停滞在 正是这一点,甚至在达到第二阶段(CardCmd)之前。 收到您的反馈后,我们将: 1. 将修改后的剧本应用到剧本中。 2. 按照分阶段的方法进行重新测试——记录响应 从 hseDebugCommStartCmd_t 到每个命令 单独检查 hseDebugAuthorizeProofProvCmd_t,并确认 在继续进行下一步之前,需要计算每一步的预期值。 3.只有在第一阶段完成后才能继续验证 hseDebugCardCmd_t。 已确认完成。 4. 请汇报更新后的日志。 再次感谢您一直以来的支持。 此致, 埃迪 Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes 你好, @EddiePark 感谢你的帖子。 1. 我们已经审阅了您分享的原始剧本,发现存在一些问题,我会尽快将反馈意见发送给您。 在审查过程中,我们发现了一些问题,这些问题似乎与已记录的程序不符。因此,我建议仔细比较实际数据包交换与 HSE FW 接口注释中描述的要求。 2. 修复脚本中发现的问题后,进行测试并检查日志。 3. 如果问题仍然存在,我建议将调试过程分为两个阶段,以帮助隔离问题。 首先,验证从 hseDebugCommStartCmd_t 到 hseDebugAuthorizeProofProvCmd_t 的授权序列是否成功完成。记录每个命令的响应,并在进行下一阶段之前确认返回值是否符合预期。 第二阶段,重点关注 hseDebugCardCmd_t。根据 HSE FW 接口文档中提供的评论,我建议严格验证此步骤中涉及的所有数据包,并确认其内容和顺序与文档中规定的要求相符。 BR 陈银 Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes 你好, @EddiePark 上周我也通过消息发送了它,因为你之前分享的剧本是通过私信发送的。您可以在消息框中查看。 给您带来的不便,敬请谅解。 BR 陈银 Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes 陈音你好 感谢您之前对 CRS APP 功能域脚本审查的回复。我们衷心感谢您对两阶段调试方法的指导。 由于我们尚未收到您提到的详细剧本反馈(“我会尽快把反馈发给您”),因此我们想跟进并确认一下进度。 为了准备接收您的反馈,我们已经: 1. 我们增强了 crs_auth.cmm 脚本中的日志记录功能,以支持您建议的两阶段方法: - 第一阶段(CommStart → ProofProv):添加了逐步响应日志记录,并对每个命令(AUTH_MODE_REQ、APP_CHALLENGE、ProofProv)进行 PASS/FAIL 验证。 - 第二阶段(CardCmd):准备根据 HSE FW 接口文档验证数据包内容和顺序 2. 准备详细的执行日志,捕获以下内容: - 每个命令的响应字节 - 生命周期状态解码(OEM_OPEN 与 OEM_CLOSED) - 身份验证模式确认 - 挑战接收验证 - ProofProv 响应状态(目前观察到 HSE2 在 ProofProv 后保持静默,这与返回 0x4A4A4A4A 的 FSS 功能域不同) 鉴于我方客户(42dot)的交货日期临近,请问您能否就以下方面提供建议: 1. 详细剧本反馈的大概时间是什么时候? 2. 在等待您的反馈期间,我们应该重点关注数据包结构或命令序列的哪些具体方面? 我们仍致力于解决此事,并非常感谢任何进一步的指导。 感谢您一直以来的支持。 此致, Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes 你好, @EddiePark 感谢您的回复。 关于您之前的问题: 1. 确认是否需要为APP功能域传输ProofProv? - 完全不要为 APP 发送 ProofProv(完全跳过 tx_response 调用)? - 或者发送证明文件但不等待回复(目前尝试过)? [备注]:第一阶段的ProofProv必须针对 APP 功能域发送。 2. ProofProv 之后脚本卡住的原因可能是什么?(如果仍然需要的话) [注释]: 在第 1 阶段发送 ProofProv 后,您应该读取 HSE FW 的响应,以检查调试过程是否正常工作(hseDebugAuthorizeProofProvResponse_t)。请确认该回复是否在预期之内。 BR 陈银 Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes 您好, 平台:S32N55 (HSE2),通过 SDC600 / TRACE32 CMM 进行安全调试 功能域:APP(CRS) 认证模式:质询(AuthMode = 0) 我正在实现调试卡认证流程。挑战 -> 证明阶段正常工作:在 APP_CHALLENGE 之后,我收到一个 32 字节的挑战并进行计算。 appChallengeAuth = AES256-CMAC(key, challenge) // 16 字节 并将其发送到 hseDebugAuthorizeProofProvCmd_t。 我的问题与 CARD_REQUEST 阶段(hseDebugCardCmd_t / hseDebugCardInfo_t)有关。在我当前的脚本中,AuthTag 字段填充了与上面的 appChallengeAuth 相同的值(即根据接收到的挑战计算出的 CMAC)。信用卡验证失败。 我想确认一下信用卡请求中的 AuthTag 究竟需要签署的是什么: 1. 卡片 AuthTag 是否与 appChallengeAuth(对接收到的质询进行 CMAC 验证)的值相同? 或者 2. AuthTag 是否必须是基于 hseDebugCardInfo_t 结构(在同一请求中发送的卡信息)计算的单独 CMAC? 如果是(2),请您确认一下: - 进入 CMAC 的确切字节范围(包括整个结构体)。authKeyRef/保留密钥,或特定子集), - 当 numOfAllowedUids = 0 时,是否包含 uidList, - 用于 AES-CMAC 的 authScheme 值,以及它是否是签名数据的一部分, - 序列化结构的打包/字节序假设。 作为参考,我正在填充的结构如下: typedef struct { uint8_t authKeyRef; uint8_t reserved0[3U]; hseOid_t ownerId; // 16 字节 hseDebugCardAuthScheme_t authScheme; uint64_t enabledDebugDomainMap; // CRS = 位 22..26 -> 0x0000000007C00000 联盟 { hseDebugSignal_t debugDomainSignalList[HSE_MAX_NUM_OF_DEBUG_DOMAINS]; uint8_t reserved1[64U]; } debugDomainSignalList; uint8_t numOfAllowedUids; uint8_t reserved2[3U]; uint8_t uidList[HSE_MAX_UID_LIST_SIZE][HSE_UID_SIZE]; } hseDebugCardInfo_t; HSE FW API RM 似乎没有明确说明调试卡 AuthTag 是基于哪些数据计算的,所以我希望得到一个明确的答案。 谢谢! Re: S32N55 HSE2 CRS Secure Debug: SDC-600 TX FIFO stalls after 20 bytes 您好, 平台:S32N55 (HSE2),通过 SDC600 进行安全调试 (APBCOM @ DP:0x5BFF8000),由 TRACE32 CMM 驱动。 我已经为 FSS 功能域启用了安全调试身份验证(AUTHSTATUS = 0xBBB)。我现在使用完全相同的 SDC600 基本地址和相同的主机端 SEND 例程来启动 APP (CRS) 功能域,但我遇到了传输问题。 观察: - FSS 功能域:我可以通过 SDC600 传输 32 字节的有效载荷而不会出现任何停顿。 - APP(CRS)功能域:传输在正好 16 个字节后停止。 我的 SEND 例程将每个字节写入 TX 数据寄存器(基址+0xD20),并且在每次写入之前,都会等待 TX 状态寄存器(基址+0xD2C,低字节)的 FIFO 空闲空间: WHILE (Data.Long(&base+0xD2C) & 0x000000FF) == 0x00000000 ();等待 TX FIFO 空间 在 APP 功能域中,16 字节后,此状态将无限期地保持为 0(没有可用空间),即 HSE2 端似乎不会在 16 字节之后继续使用 TX FIFO。在 FSS 域上,相同的代码可以无停顿地传输 32 字节。 由于两个功能域的基本地址和 SEND 代码相同,因此这看起来像是 HSE2 何时/是否根据目标调试功能域清空 SDC600 RX(主机 TX)FIFO 存在差异。 问题: 1.什么因素决定了 HSE2 何时开始使用 APP(CRS) 功能域 的 SDC600 TX FIFO?是否存在必要的条件/握手(例如)读取 ProofProv 响应、状态位或 RX 使能)必须满足哪些条件,HSE2 才能在 APP 上消耗超过 16 字节? 2. FSS 和 APP 之间 SDC600 流控制/FIFO 消耗行为是否存在功能域差异? 3. 此设备上的 SDC600 TX FIFO 实际深度是多少?0xD2C[7:0] 是否是轮询“TX FIFO 空闲空间”的正确字段?应该使用哪一位? 4. 对于大于 APP 功能域 FIFO 深度的有效载荷,预期的主机发送序列是什么? 其他可能相关的背景信息: - 在 NOBLOCK 模式下发送 ProofProv (hseDebugAuthorizeProofProvCmd_t) 后,HSE2 确实返回了一个响应,我现在可以将其读取回来 (hseDebugAuthorizeProofProvResponse_t)。我读取到的 4 字节结果是 0x7A 0xB3 0x08 0x00 - 我也希望确认这是否表示 APP 功能域的 ProofProv 成功。 谢谢!
查看全文
FRDM-IMX95: SDカードから起動するとシリアル出力がない (プリインストールされたeMMCブートは正常に動作します) こんにちは、NXPコミュニティの皆さん、 私は機械工学と電気工学のバックグラウンドを持っていますが、複雑なシステムオンチップ(SoC)や組み込みオペレーティングシステムに深く取り組むのは今回が初めてです。 私のプロジェクトではFRDM-IMX95の開発ボードを使用しています。私の最終目標は、IPC(プロセス間通信)フレームワークを使用して、2つのオペレーティングシステムを並行して実行することです。 ボードは内部eMMCにプリインストールされたLinuxイメージを同梱していました。これは箱から出してすぐに完璧に動作し、ターミナルモニタープログラムでシリアル出力ログを完全に取得できます。 現在、公式の Starting Guide に従って、Windowsホストマシン上でUUU(Universal Update Utility)を使って標準のLinux BSPイメージをmicroSDカードにフラッシュしようとしています。 Windowsのコマンドプロンプトによると、UUUのフラッシュ処理は「SUCCESS」ステータスで完了します。私は以下の標準コマンドレイアウトを使用しました: ".\uuu.exe -b sd_all imx-boot-imx95-15x15-lpddr4x-frdm-sd.bin-flash_all imx-image-full-imx95evk.wic" 問題点:フラッシュに成功した後、ボードを電源を切り、物理的なブートスイッチをSDブートモードに設定し、SW1 [1:2]を11(オン/オン)に設定します。ボードの電源を入れ直しても、シリアルモニターは完全に空白のままです。テキスト出力やハードウェアの初期化は一切表示されません。 1. ブートチェーンの仕組みについて、私は根本的な誤解をしているのでしょうか?i.MX Linux ユーザーガイドによると、.wicはこのイメージには、ブートローダーイメージ(U-Boot)を含む、4つの必須要素すべてが含まれています。基本的なハードウェア構成ブロックはカードから読み込まれるはずなので、少なくとも最初のU-Boot SPLシーケンスがシリアルモニターに表示されるべきではないでしょうか? この特定のFRDMバリアントで初心者がよく注意する落とし穴、あるいは隠れたスイッチの要件について、何かアドバイスがあればぜひ教えてください! よろしくお願いいたします。 FRDMトレーニング Re: FRDM-IMX95: No Serial Output when Booting from SD Card (Pre-installed eMMC Boot Works Perfectly こんにちは、 現在、こちらでテストを行い、正確な手順をお伝えします。近日中に更新いたします。 Re: FRDM-IMX95: No Serial Output when Booting from SD Card (Pre-installed eMMC Boot Works Perfectly 調査していただき、またそちらでテストしていただき、ありがとうございます!ご協力ありがとうございます。今後のご報告をお待ちしております。
查看全文
CLI/ヘッドレス こんにちは!GUI Guider 2.0.0には、プロジェクトのCIビルドを自動化するためのCLI/ヘッドレスビルド機能はありますか?生成されたCファイルを自分のリポジトリで追跡したくはありません。 Re: CLI/Headless 私も知りたいです。 Re: CLI/Headless こんにちは、@nbarrett さん、 @znickerson さん、 GUI Guiderは、CIパイプラインから呼び出せるCLIやヘッドレスコード生成をネイティブにサポートしていません。 とはいえ、GUI Guider 2.0.0はCMakeとNinjaを利用して、GUI Guiderプロジェクトから生成されたコードをビルドおよびコンパイルし、フラッシュ可能な.binファイルを作成します。または.elfイメージを使えば、これらのツールを使ったスクリプトを作成すれば、このプロセスを自動化できるはずです。現時点では、これがどのように行われるのかのガイドやスクリプトの例はありませんが、GUI Guiderツールのビルド&コンパイルログを参照すると、GUI Guider 2.0.0がARMGCCベースのプロジェクトでどのように処理しているかを詳しく確認できます。 BR、 エドウィン。
查看全文
S32K312: WKUP割り込みがトリガーされない I have configured PTB2 as the WKUP input pin, and WKUP チャネル 8 はPTB2にマッピングされます。WKUPのモジュール構成は正しいようです。しかし、WKUPの割り込みはトリガーされていません。 以前、同じピンをEIRQ入力として設定したところ、割り込みが正常にトリガーされたため、ピンと外部信号が正しく機能していることが確認できました。 問題: PTB2はWKUPの入力として設定されています。 WKUPチャネル8はPTB2に割り当てられていました。 WKUP割り込みは受信されませんでした。 同じハードウェア構成で、EIRQ構成でも正しく動作します。 割り込みが生成されないようにする追加のWKUP設定要件、依存関係、または既知の制限があるかどうか、ご協力ください。 Wkpu_Ip_Init(0U, &Wkpu_Ip_Config_PB); /* INT2: ウェイクアップトリガー。*/ Wkpu_Ip_EnableInterrupt(0, Wkpu_Ip_ChannelConfig_PB[2U].hwChannel); Wkpu_Ip_EnableNotification(Wkpu_Ip_ChannelConfig_PB[2U].hwChannel); Re: S32K312: WKUP Interrupt Not Triggering こんにちは、 @DiaDev さん。 S32K3は~60の外部ウェイクアップに加え、4つの内部ウェイクアップソースも提供しており、チャネル設定時にこれらを考慮しなければなりません。これは、+4をオフセットとして加えることを意味します: PTB2はウェイクアップパッド[8]で、4つの内部ソースがチャネル 12となります。 この設定を変更して、WKPUがトリガーされるかどうかテストしてください。 よろしくお願いします、 ジュリアン
查看全文
CLI/Headless Hello! Does GUI Guider 2.0.0 have any CLI / Headless build features for automating some CI builds of my project? I'd rather not track generated c files in my repo. Re: CLI/Headless I would also like to know this please. Re: CLI/Headless Hi @nbarrett , @znickerson , GUI Guider does not natively support CLI or headless code generation that you could invoke from a CI pipeline. That said, GUI Guider 2.0.0 leverages CMake and Ninja to build and compile the code generated from the GUI Guider project into a flashable .bin or .elf image, so automating this process should be achievable by creating a script that uses these tools. We don't currently have any documented guide or script example of how this would be done, but you can reference the build and compile log from the GUI Guider tool to see in detail the process that GUI Guider 2.0.0 does on an ARMGCC based project. BR, Edwin.
查看全文
CLI/无头模式 您好!GUI Guider 2.0.0 是否有任何 CLI / 无头构建功能,可以用于自动化我项目中的一些 CI 版本?我不想在我的代码仓库中跟踪生成的 C 文件。 Re: CLI/Headless 我也想知道这一点。 Re: CLI/Headless 嗨@nbarrett , @znickerson , GUI Guider 本身并不支持 CLI 或无头代码生成,因此无法从 CI 管道中调用这些代码。 也就是说,GUI Guider 2.0.0 利用 CMake 和 Ninja 将 GUI Guider 项目生成的代码构建并编译成可刷写的 .bin 文件。或 .elf因此,通过创建使用这些工具的脚本,应该可以实现此过程的自动化。我们目前没有任何关于如何完成此操作的文档指南或脚本示例,但您可以参考 GUI Guider 工具的构建和编译日志,详细了解 GUI Guider 2.0.0 在基于 ARMGCC 的项目上执行的过程。 BR, 埃德温。
查看全文
IMX6Q U-BooT Hi, I have a custom camera with an IMX6q processor. I have working firmware on an old bootloader and an old kernel. I need to update the bootloader and kernel. But I can't get past the kernel loading stage. The UART log is always empty. Please help. Re: IMX6Q U-BooT Hello @CAT5000  Hope you are doing very well. Please specify the current BSP version and the new one. Also, your Software changes related to the UART where is defined for Console. Best regards, Salas. Re: IMX6Q U-BooT Working bootloader version U-Boot 2018.03 (Apr 22 2021 - 04:17:10 -0400) CPU: Freescale i.MX6Q rev1.3 996 MHz (running at 792 MHz) CPU: Automotive temperature grade (-40C to 125C) at 30C Reset cause: POR Model: Freescale i.MX6 Quad SABER Smart Device Board Board: MX6-SabreSD Watchdog enabled DRAM: 2 GiB PMIC: PFUZE100! DEV_ID=0x10 REV_ID=0x21 MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 Loading Environment from MMC... Card did not respond to voltage My board is a reference board with SabreSD I have all the schematics and data I'm not good at this kind of task, but I'd like to update the firmware to try out the new features. Re: IMX6Q U-BooT Hello! Actually, we have a guide for porting our processors to the last BSP version. Please take a look to the UG10165 (i.MX Porting Guide). There are described the changes that you need to do in U-boot. Also, if you have the Sabre board, you can simply download the last version Pre-compiled image from Embedded Linux for i.MX Applications Processors and flash to your board. Best regards,  Salas.
查看全文
EB tresos activation code failed i'm trying to use EBtresos for AUTOSAR, but i failed to activated. activation Code : 7416-E905-5CC2-F20A ERROR: flxActAppActivationSend (50040,41147,10248) The quantity specified exceeds maximum quantity allowed (0). Connection to FlexNet Operations Server failed. so i need the the other activate code to use the EBtresos. thank you. Re: EB tresos activation code failed Thank you for your patience. The internal team has updated the activation code on the webpage. Please click the link below to find the latest activation code: S32K3 Standard Software -> Automotive SW - EB tresos Studio / AUTOSAR Configuration Tool -> EB tresos Studio 29.0.0  Re: EB tresos activation code failed Hi Sorry for the inconvenience we bring you! I have already reported this issue to the internal team, and I will let you know as soon as I receive their reply.   Best Regards, Robin Re: EB tresos activation code failed Hello, the activation code updated on the NXP website is still this: 7416-E905-5CC2-F20A. I tried to activate it today, but it still failed ERROR: flxActAppActivationSend (50040,41147,10248) The quantity specified exceeds maximum quantity allowed (0). Connection to FlexNet Operations Server failed. Re: EB tresos activation code failed Please see my previous reply; the activation code has been updated. Please tell me which version of EBTresos page has not yet had its activation code modified so I can report it to the internal team for an update.
查看全文
Failed to send the pmic_set command in the DDR Tool. Hi, Currently, I am trying to adjust the BUCK6 output voltage of the PCA9450C in the DDR Tool, but I have run into an issue. I flashed the following commands onto the i.MX8M Plus board and confirmed that the PCA9450C is indeed connected to I2C1: memory set 0x30330200 32 0x00000010 # I2C1_SCL MUX (SION=1) memory set 0x30330204 32 0x00000010 # I2C1_SDA MUX (SION=1) memory set 0x30330460 32 0x000001C6 # I2C1_SCL PAD memory set 0x30330464 32 0x000001C6 # I2C1_SDA PAD sysparam set pmic_cfg 0x004A sysparam set pmic_set 0x1E11 After downloading the .ds file, the UART console responded with the following logs: PMIC is initialized in DDR script I2C_I2SR(0x30a2000c):0x81 bus is not ready Error: PMIC reg[0x1e] initilaization failed with value[0x11] When checking the I2C1 SCL and SDA lines with an oscilloscope, I observed that both lines are pulled low and latched. They only return to their default pulled-high state after a power cycle. Furthermore, I have verified that if I comment out the #sysparam commands, I can successfully observe the default PMIC initialization waveforms on the I2C bus, and the UART log correctly indicates that the PCA9450 has been detected. Re: Failed to send the pmic_set command in the DDR Tool. I have found the root cause. The IOMUXC_I2C1_SDA_IN_SELECT_INPUT (0x303305A4) and IOMUXC_I2C1_SCL_IN_SELECT_INPUT (0x303305A8) registers were not configured. I suggest adding this details to the application note for future reference. Thanks!" Re: Failed to send the pmic_set command in the DDR Tool. After commenting out #sysparam I used an oscilloscope to capture the default configurations that the i.MX8M Plus writes to the PCA9450C. The captured sequence is as follows: 0x25W, 0x00 0x25R, 0x31 0x25W, 0x0C, 0x29 0x25W, 0x11, 0x1C 0x25W, 0x12, 0x14 0x25W, 0x10, 0x59 0x25W, 0x1E, 0x14 Based on these findings, I appended these commands to the .ds file: # 2. IOMUX config. (SION=1, ODE=1, internal pull up) memory set 0x30330200 32 0x00000010 # I2C1_SCL MUX (SION=1) memory set 0x30330204 32 0x00000010 # I2C1_SDA MUX (SION=1) memory set 0x30330460 32 0x00000176 # I2C1_SCL PAD memory set 0x30330464 32 0x00000176 # I2C1_SDA PAD sysparam set pmic_cfg 0x0025 # PMIC address sysparam set pmic_set 0x0C29 # BUCK1&3 set to 0.85V, BUCK2 set to 0.9V sysparam set pmic_set 0x111C # BUCK1 DVS0 = 0.95V sysparam set pmic_set 0x1214 # BUCK1 DVS1 = 0.85V sysparam set pmic_set 0x1059 # BUCK1CTRL = 0x59 (DVS control through PMIC_STBY_REQ) sysparam set pmic_set 0x1E11 # BUCK6 set to 1.025V However, the UART console still gets stuck at this stage. Slightly different from before, it no longer throws any error messages, and just stops here: Download is complete Waiting for the target board boot... When checking the I2C1 SCL and SDA lines with an oscilloscope, the behavior remains the same as before: both lines are pulled low and latched, and they only return to their default pulled-high state after a power cycle. Re: Failed to send the pmic_set command in the DDR Tool. If you disable the pre-configured PMIC initialisation, you need to do everything by hand. On the i.MX 93 EVK board, the default PMIC I2C Bus is I2C2. To change it to I2C1, you need to set the right pinmux: Then you need to send the right commands: (example) Explanation of the commands: # Command Value Description 0 pmic_cfg 0x0025 I2C bus 1 (0 for I2C1, 1 for I2C2, 2 for I2C3, 3 for I2c4 …) PMIC address 0x25 1 pmic_set 0x0C29 register=0x0C BUCKxOUT_DVS0/1 preset_buck1=0.8V, preset_buck2=0.7V, preset_buck3=0.8V PCA9451_BUCK123_DVS value=0x29 2 pmic_set 0x1118 register=0x11 BUCK1OUT_DVS0=0.9V PCA9451_BUCK1OUT_DVS0 value=0x18 3 pmic_set 0x1718 register=0x17 BUCK3OUT_DVS0=0.9V PCA9451_BUCK3OUT_DVS0 value=0x18 4 pmic_set 0x1428 register=0x14 Set VDDQ to 1.1V PCA9451_BUCK2OUT_DVS0 value=0x28 BUCK6 settings would be in registers 0x1D and 0x1E. Hope it helps, Bernhard. Re: Failed to send the pmic_set command in the DDR Tool. Oh yes, the famous DAISY register. Good catch!  When a custom configuration is selected, EVERYTHING needs to be set by hand. And you're right, the DAISY registers are not really in the focus when it comes to pin configurations. For the UART pin mux settings it appears in the ds for the RX signal, besides the  standard pin mux and pad settings. But for I2C the firmware is doing it as a default configuration in the background, you don't see the settings in the ds file. As a side note, for the i.MX 93, the DAISY chain register does not exist for I2C1 and I2C2, but it does for I2C3-8. I feed you input back into our tool group, this detail should be part of the User's Manual for the Config Tool. Alternatively, or in addition, the I2C interface settings should appear in the ds file. Regards, Bernhard.
查看全文
DDR 工具发送 pmic_set 命令失败。 您好, 目前,我正在尝试在 DDR Tool 中调整 PCA9450C 的 BUCK6 输出电压,但我遇到了一个问题。 我将以下命令烧录到 i.MX8M Plus 开发板上,并确认 PCA9450C 确实已连接到 I2C1: 内存集 0x30330200 32 0x00000010 # I2C1_SCL 多路复用器 (SION=1) 内存集 0x30330204 32 0x00000010 # I2C1_SDA 多路复用器 (SION=1) 内存集 0x30330460 32 0x000001C6 # I2C1_SCL 焊盘 内存集 0x30330464 32 0x000001C6 # I2C1_SDA 焊盘 sysparam set pmic_cfg 0x004A sysparam set pmic_set 0x1E11 下载完 .ds 文件后文件执行后,UART 控制台返回了以下日志: PMIC 在 DDR 脚本中初始化 I2C_I2SR(0x30a2000c):0x81 总线还没准备好 错误:PMIC 寄存器[0x1e]初始化失败,值为[0x11] 用示波器检查 I2C1 SCL 和 SDA 线时,我发现两条线都被拉低并锁存。只有在断电重启后,它们才会恢复到默认的高电平状态。 此外,我已经验证,如果我注释掉 #sysparam 命令,就可以在 I2C 总线上成功观察到默认的 PMIC 初始化波形,并且 UART 日志正确地表明 PCA9450 已被检测到。 Re: Failed to send the pmic_set command in the DDR Tool. 我找到了根本原因。IOMUXC_I2C1_SDA_IN_SELECT_INPUT (0x303305A4) 和 IOMUXC_I2C1_SCL_IN_SELECT_INPUT (0x303305A8) 寄存器未配置。我建议将这些细节添加到应用笔记中,以供将来参考。谢谢!” Re: Failed to send the pmic_set command in the DDR Tool. 注释掉#sysparam后,我使用示波器捕获了 i.MX8M Plus 写入 PCA9450C 的默认配置。捕获到的序列如下: 0x25W,0x00 0x25R,0x31 0x25W、0x0C、0x29 0x25W、0x11、0x1C 0x25W、0x12、0x14 0x25W、0x10、0x59 0x25W、0x1E、0x14 基于这些发现,我将这些命令添加到了 .ds 文件中。文件: # 2. IOMUX 配置。(SION=1,ODE=1,内部上拉) 内存集 0x30330200 32 0x00000010 # I2C1_SCL 多路复用器 (SION=1) 内存集 0x30330204 32 0x00000010 # I2C1_SDA 多路复用器 (SION=1) 内存集 0x30330460 32 0x00000176 # I2C1_SCL 焊盘 内存集 0x30330464 32 0x00000176 # I2C1_SDA PAD sysparam set pmic_cfg 0x0025 # PMIC 地址 sysparam set pmic_set 0x0C29 # 将 BUCK1 和 BUCK3 设置为 0.85V,将 BUCK2 设置为 0.9V sysparam set pmic_set 0x111C # BUCK1 DVS0 = 0.95V 系统参数设置 pmic_set 0x1214 # BUCK1 DVS1 = 0.85V sysparam set pmic_set 0x1059 # BUCK1CTRL = 0x59(通过 PMIC_STBY_REQ 进行 DVS 控制) sysparam set pmic_set 0x1E11 # BUCK6 设置为 1.025V 然而,UART 控制台仍然卡在这个阶段。与之前略有不同,它不再抛出任何错误信息,而是直接停止运行: 下载完成 等待目标板启动…… 使用示波器检查 I2C1 SCL 和 SDA 线时,其行为与之前相同:两条线都被拉低并锁定,只有在断电重启后才会恢复到默认的高电平状态。 Re: Failed to send the pmic_set command in the DDR Tool. 如果禁用预配置的 PMIC 初始化,则需要手动完成所有操作。 在i.MX 93 EVK板上,默认的 PMIC I2C 总线是 I2C 2。 要将其更改为 I2C 1,您需要设置正确的引脚复用: 然后你需要发送正确的命令:(例如) 命令说明: 数量 Command Value 说明 0 pmic_cfg 0x0025 I2C总线1 (0 代表 I2C1,1 代表 I2C2,2 代表 I2C3,3 代表 I2C4……) PMIC 地址 0x25 1 pmic_set 0x0C29 寄存器=0x0C BUCKxOUT_DVS0/1 预设降压电压1=0.8V,preset_buck2=0.7V,预设降压3=0.8VPCA9451_BUCK123_DVS 值=0x29 2 pmic_set 0x1118 寄存器=0x11 BUCK1OUT_DVS0=0.9V PCA9451_BUCK1OUT_DVS0 值=0x18 3 pmic_set 0x1718 寄存器=0x17 BUCK3OUT_DVS0=0.9V PCA9451_BUCK3OUT_DVS0 值=0x18 4 pmic_set 0x1428 寄存器=0x14 将 VDDQ 设置为 1.1V PCA9451_BUCK2OUT_DVS0 值=0x28 BUCK6 设置将位于寄存器 0x1D 和 0x1E 中。 希望对您有所帮助。 伯恩哈德。 Re: Failed to send the pmic_set command in the DDR Tool. 哦,对了,就是著名的DAISY收银机。抓得好! 选择自定义配置时,所有设置都需要手动完成。你说得对,在引脚配置方面,DAISY 寄存器并不是重点。对于 UART 引脚复用设置,除了标准的引脚复用和焊盘设置外,它还出现在 RX 信号的 ds 中。但对于 I2C,固件会在后台进行默认配置,您在 ds 文件中看不到这些设置。 顺便提一下,对于 i.MX 93,I2C1 和 I2C2 没有 DAISY 链寄存器,但 I2C3-8 有。 我会将您的反馈意见反馈给我们的工具组,这个细节应该包含在配置工具的用户手册中。或者,或者此外,I2C 接口设置应该出现在 ds 文件中。 问候, 伯恩哈德。
查看全文
eb tresos 许可证不能被允许(最大允许数量) 您好,我的 eb tresos 许可证有问题。 状态:4,正在创建请求 状态:5,请求已创建 状态:6,上下文已创建 状态:7,已连接到远程服务器 状态:8,请求已发送 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:11,已完成 错误:flxActAppActivationSend (50040,41147,10248) 指定的数量超过了允许的最大数量(0)。 连接 FlexNet Operations Server 失败。 请更新许可证代码
查看全文
LS1046A DDR问题 LS1046A和BCM88270(交换芯片)通过pcie.3 x1 gen2连接(SD2_T/RX2_P/N),LS1046A使用4片K4AAG165WC-BCWE(无ecc), 目前的碰到的现象: 1.在bcm88270不向ls1046a通过pcie发送以太网数据包的情况下,使用stress ng和memtester程序测试内存都没有问题 2.在bcm88270向ls1046a通过pcie发送以太网数据包时,stress ng和memtester会出错 3.LS1046A通过pcie反复读写bcm88270寄存器或者表项(通过dma),没有问题。而且同时测试的stress ng也没问题。 Board Design Communication & Control(I3C | I2C | SPI | FlexCAN | Ethernet | FlexIO) Re: LS1046A DDR问题 由于单独测试stress ng和memtester正常, 证明DDR基本功能正常,  只有BCM88270发包时出错,说明错误是被PCIe流量触发的。 结合你给出的现象,可能原因概率排序: 40%  BCM88270 RX DMA地址越界/描述符错误 25%  PCIe RX方向SI问题(收包时暴露) 15%  PCIe Cache Coherent配置错误 10%  DDR SI问题(高带宽触发) 10%  电源完整性问题     第一种可能:PCIe DMA写坏了DDR(最高概率) 现象最符合:BCM88270发包  > PCIe DMA写入LS1046A内存 >  DMA地址错误或描述符错误 -> 覆盖了Memtester或Stress-ng使用的内存 -> 检测到内存错误 检查方法:查看DMA Buffer地址, 确认RX Descriptor, RX Buffer, SKB, DMA Pool 是否有越界。Linux下查看dma_alloc_coherent()返回地址,检查start,size,end是否有重叠。   memtester避开DMA区域,例如memtester 2M,观察DMA是否位于低端内存,如果避开DMA区域后不再报错,基本锁定DMA覆盖。   第二种可能:PCIe Cache Coherent配置错误 LS1046A是DPAA架构, PCIe DMA涉及CPU Cache, CCI-400, PCIe Controller, DDR, 如果BCM88270使用DMA写入DDR: 但驱动:dma_sync_single_for_cpu(), dma_sync_single_for_device() 处理错误,会造成:CPU看到旧数据, DMA写入新数据, 然后memcmp失败, memory test失败。 检查设备树,查看PCIe节点pcie@340000是否带dma-coherent; 如果配置错误,会导致随机内存错误。     第三种可能:PCIe接收方向SI问题 这里值得特别关注。你提到:PCIe.3 x1 Gen2,SD2_TX/RX2_P/N, 只有BCM88270 -> LS1046A发包时出错。而LS1046A -> BCM88270时DMA访问表项正常。 说明 PCIe RX方向更可疑。 PCIe寄存器访问:流量很小,即使BER较高也不容易暴露。  以太网收包:持续PCIe DMA TLP, 流量大几个数量级。此时:CRC重传, Replay,NAK,明显增加。 虽然PCIe理论有LCRC保护。但如果链路边缘化:可能导致:DMA timeout,描述符损坏,驱动异常,最终表现为:内存测试失败。   查看PCIe错误计数器: lspci -vv, 重点: CESta: Correctable Error; UESta: Uncorrectable Error; 查看:BadTLP, BadDLLP, ReplayNumRollover, ReceiverError是否增长。     第四种可能:DDR SI/PI边缘问题 虽然单独Stress正常,但仍不能完全排除。 原因:BCM88270发包时会增加: 1) PCIe SerDes功耗    增加:1V, 1.8V, AVDD_SERDES噪声。 2) DDR访问量剧增    正常测试: CPU<->DDR    现在变成: CPU,PCIe DMA, DDR Controller 同时工作,带宽显著提高。如果DDR裕量不足:开始出错。    验证方法:降低DDR频率,例如: 1600MT/s → 1333MT/s, 如果问题消失,基本锁定DDR SI/PI问题。    查看DDR ECC统计: 虽然无ECC,但可以uboot下用 md.l 读取DDR控制器状态寄存器,查看DDR_ERR_DETECT是否出现异常。     第五种可能:电源完整性问题 4片K4AAG165WC-BCWE容量较大。当 PCIe高速收包 + CPU Stress + DDR高带宽 同时发生,板上可能出现:VDD_DDR, VDD_SOC, VDD_CORE跌落。 重点测量: 示波器看VDD_DDR,VDD_SOC在故障时的纹波和瞬时跌落是否超标。特别是在BCM88270开始大流量发包瞬间。     第六种可能:PCIe与DDR走线串扰 LS1046A上:PCIe3和DDR4都属于高速接口,如果布局比较紧:PCIe RX, DDR DQ, DDR DQS存在平行长距离走线。 大流量PCIe时可能激发问题。这种现象非常符合:不发包 => 正常, 大发包 => DDR出错.     建议排查顺序: Step1: 抓PCIe错误: lspci -vv,看Receiver Error,Bad TLP,Replay,CRC Error是否持续增长。 Step2: 关闭网络驱动DMA收包。只保留PCIe读写寄存器,验证Stress是否仍正常。若正常,说明问题在RX DMA路径。 Step3: 在RX DMA Buffer前后加保护区,例如:0x5A5A5A5A,持续检查是否被覆盖。确认是否DMA越界。 Step4: 降PCIe速率,强制 Gen2 -> Gen1,如果故障消失,优先检查PCIe SI。 Step5: 降DDR频率,1600MT/s -> 1333MT/s,如果消失,优先检查DDR SI/PI。 Re: LS1046A DDR问题 问题已经解决,是BCM驱动问题,谢谢支持!
查看全文