Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32K358 HSE API がリセットを引き起こし、HSE_ERR_GENERAL を報告します。 こんにちは、 私たちのプロジェクトでは、ABブロックを備えたHSE Bファームウェアを搭載したS32K358を使用しています。 属性原因リセットを取得するためにHSE APIを実行した際に問題が発生しました。 デバッグ中、APIを実行する前はFSRは正常です image.pngimage.png Mu_Ip_SetTxRegisterを実行してMU0 TR[1]レジスタを設定した後、2つのレジスタがエラーを報告しました。 FSRステータスが0F600002であれば、チャネル#1の実行が進行中であることを意味します image (6).png画像(6).png GSRステータスは67030001で、HSE_ERR_GENERALを意味します。 image 8.png画像8.png HSE APIが正常に動作する他のプログラムを確認したところ、MU0 TR[1]レジスタを設定するためにMu_Ip_SetTxRegisterを実行した後、2つのレジスタは正常でした。 FSRステータスは0F600000です GSRステータスは00000000です この問題を解決するにはどうすればよいでしょうか? Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL こんにちは。既に確認済みですが、問題は割り込みに起因するものではありません。それはウォッチドッグからの情報です。ウォッチドッグを無効にしたところ、リセットは発生しなくなりました。ありがとう。 Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL こんにちは、 その件について何か進展はありますか? 私も同じ問題に直面しています。MCU S32K324はHSEファームウェアでライフサイクルを進めてから1秒でリセットされたOEM_PROD? 前もって感謝します アユーブ。 Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL 新しいケースは地域のFAEチームに割り当てられているので、重複を避けるために次のステップや調査は彼らに任せることをお勧めします。 Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL HSE LCの開発を進める頃には、私はTrace32を使用していた。測定時間が正確でない可能性があります。申し訳ありませんでした。 デバッグポートのロック解除を何度か試みた後、Trace32はECUが継続的にリセットされていると報告する。基板の電源をオン/オフしても、ECUはリセット状態のままです。 HaiHoangSoftware_0-1752114844597.pngHaiHoangSoftware_0-1752114844597.png どのような種類のリセット(破壊的リセット/機能的リセット)が発生しているかを把握し、根本原因を特定するにはどうすればよいですか? デバッグポートはLC IN_FIELDで保護されています。この問題のせいでデバッグスクリプトでデバッグポートをアンロックできません。 Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL もし1秒遅れて起きたら、何でもあり得ます。そして、ライフサイクルの進行とは無関係の場合もあります。問題についてもっと詳しい情報が必要です。 Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL リセット直後、HSEのライフサイクルがIN_FIELDに変更されたため、HSEはデバッグポートを保護しました。 リセット直後にRGMのFESおよびDESレジスタは読み取れません。 Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL リセットの原因は何だったかご存知ですか?リセット後にRGM、FES、DESレジスタを確認しましたか? HSEファームウェアがインストールされている場合、LCコンフィギュレーションワードを使用してライフサイクルを進めることはできません。どんな数値でも構いませんが、HSEファームウェアをインストールすると無視されます。この場合、ライフサイクルはHSEサービスを通じてのみ進めることができます。 よろしくお願いいたします。 ルーカス Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL こんにちは、 私はこれらのコマンドを同期モードで実行しました。 奇妙なことに、プログラム ADPK に属性を設定してデバッグ認証モードを設定すると、ECU は正常に実行されます。 HSE LifeCycleを変更するために属性設定を呼び出したときだけ、APIはエラーを返さないが、1秒後にプログラムが突然リセットされる。 HSEライフサイクルを進める前に、アドレスLC構成ワードを設定する必要がありますか? HaiHoangSoftware_0-1751869464437.pngHaiHoangSoftware_0-1751869464437.png LC構成ワードの値が0x00000000だった場合、どうなりますか? Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL こんにちは、 私はこれらのコマンドを同期モードで実行しました。 奇妙なことに、プログラム ADPK に属性を設定してデバッグ認証モードを設定すると、ECU は正常に実行されます。 HSE LifeCycleを変更するために属性設定を呼び出したときだけ、APIはエラーを返さないが、1秒後にプログラムが突然リセットされる。 HSEライフサイクルを進める前に、アドレスLC構成ワードを設定する必要がありますか? HaiHoangSoftware_0-1751595287949.pngHaiHoangSoftware_0-1751595287949.png LC構成ワードの値が0x00000000の場合はどうなりますか? Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL 割り込みによる問題を回避するため、コマンドは同期的に実行することをお勧めします。 コマンドは関数 Hse_Ip_ServiceRequest によってトリガーされます。非同期方法には以下のシーケンスがあります: lukaszadrapa_0-1751363963705.pnglukaszadrapa_0-1751363963705.png Mu_Ip...機能はインライン化されているので問題ありません。しかし、BaseNXPモジュールのOsIf関数はインラインではないので、それらも移動する必要があります。 よろしくお願いいたします。 ルーカス Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL こんにちは、 これらのAPIは、ブロック1の0x0060FB3Eから配置されています。 それは処刑を行うのに十分安全な状態でしょうか? ECUリセットを引き起こす理由は何かありますか? HaiHoangSoftware_0-1751350485291.pngHaiHoangSoftware_0-1751350485291.png Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL さて、一つ抜けている文があります。UTESTフラッシュは、ライフサイクルが進む際にHSEによってプログラムされます。 Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL このデバイスは自動的にリセットされることはありません。これはおそらく、書き込み中の読み取りエラーが原因です。フラッシュブロック間での読み取り同時書き込みがサポートされています。ただし、フラッシュブロック0とUTESTは同じパーティション内にあることに注意してください。 それは「表102」に示されています。「フラッシュブロック構成」とS32K3リファレンスマニュアルの「21.3 UTest NVMセクター」に記載されています。 また、「14.6.5」の項もHSE-Bファームウェアリファレンスマニュアルにある「HSEとアプリケーションコア間のフラッシュ読み書きアクセスの同期」は、さらなる開発に重要となる場合があります。 解決策は、RAMまたは別のフラッシュメモリからコードを実行することです。 よろしくお願いいたします。 ルーカス Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL こんにちは、 この問題を解決するために、属性設定APIの入力パラメータをグローバルな揮発性変数として配置しました。 しかし、ライフサイクルを変更するAPIを正常に実行した後、ECUは自動的にリセットされます。 変更ライフサイクルをUDSサービスとして実装する予定ですが、HSEファームウェアがECUを自動リセットすると実現できないようです。 交換サイクル後、ECUを正常に動作させるために何か特別な操作が必要ですか? Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL こんにちは、 NXPのデモアプリに倣って、Set_Attrサービスを使用してLCを進める機能を実装しました。これには3つのステップが含まれます。 プログラムADKP デバッグ認証モードをパスワードに変更します Advance HSE LC ステップ1,2は通常 Mu0 インスタンスと 1 つのフリーチャネルで実行されました。 ステップ3では常にFSR=0x0f600002とGSR=67030001が報告されます。 以下の手順は必要ですか? バックアップIVT アドレスLC構成ワード LCを進めるために何か見落としていることはありますか? HaiHoangSoftware_0-1751280488672.pngHaiHoangSoftware_0-1751280488672.png Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL こんにちは、 @HaiHoangSoftware さん HSE_ERR_GENERALが発生する最も一般的な原因は、HSEサービスへのパラメータとして指定されたアドレスが無効であることです。それは、未実装メモリ空間を指す完全に無効なアドレスか、XRDC設定のためにHSEがそのメモリにアクセスできないか、あるいはメモリにマルチビットECCエラーがあるかのどちらかです。 データキャッシュが原因である可能性もあります。データキャッシュを無効にするか、HSEとの通信に使用されるすべてのメモリリソースをキャッシュ不可能なメモリに強制的に割り当てるようにしてください。 HSE_SRV_ID_GET_ATTR サービスの使用中にこのようなエラーが発生した場合は、pAttr アドレスを確認し、テスト目的でデータキャッシュを無効にしてください。 lukaszadrapa_0-1751023995011.pnglukaszadrapa_0-1751023995011.png よろしくお願いいたします。 ルーカス
記事全体を表示
WiFi (SDIO) disconnects on i.MXRT1176 correlated with Qt/QML UI complexity Hi Team, We are currently working on an instrument cluster that features screen mirroring. In our architecture, a companion mobile app streams frames over Wi-Fi to our host MCU. The data is received via an SDIO-connected Wi-Fi module, decoded using FFmpeg, and rendered on the display. We are utilizing lwIP for our network stack and Qt for MCUs for the cluster HMI. System Specifications: Host MCU: NXP i.MX RT1176 Wi-Fi Module: u-blox MAYA-W161 (SDIO interface) Display: LCDIFV2 (Parallel RGB Interface) OS: FreeRTOS The Issue: We are experiencing intermittent Wi-Fi disconnections that appear to be directly tied to graphical load. The Wi-Fi drops only occur when the display is running a resource-heavy GUI(featuring numerous elements and animations). When we switch to a lightweight UI, the Wi-Fi connection remains perfectly stable. Kindly guide us to sort out this issue. Regards, Vignesh Re: WiFi (SDIO) disconnects on i.MXRT1176 correlated with Qt/QML UI complexity Hi @Vignesh_VInayak, hope you are doing well. Since image processing requires high CPU usage and large memory footprint, it is intended that for GUI-related applications, one of the two cores is dedicated to managing the interface. Would you please clarify if your implementation approach uses the two cores? Is there enough stack dedicated to each thread? Additionally, would you please share logs with debug logging enabled for the Wi-Fi stack, in order to further analyze the state of the Wi-Fi thread? To enable the debug logs, could you please enable the "CONFIG_WLCMGR_DEBUG" & "CONFIG_WIFI_SDIO_DEBUG" macros in the wifi_config.h header file? Re: WiFi (SDIO) disconnects on i.MXRT1176 correlated with Qt/QML UI complexity Hi @RomanVR , Thanks for getting back to me so promptly. Please find the requested details and logs below: At present, our project only uses the Cortex-M7 core; the M4 core is not being utilized. Yes, all threads have sufficient stack allocated. We also confirmed this using the FreeRTOS stack overflow hook function, and no overflow is occurring. I've attached the log file with the suggested macros enabled. In the log, everything appearing after the final wlcm log consists of our application logs, which simply print the some random frame size whenever a Wi-Fi packet is received. As you can see, the logs stop at a certain point — that's where the Wi-Fi disconnect occurs. At the moment of disconnection, we don't see any logs from either wlcm or SDIO. Best regards, Vignesh. Re: WiFi (SDIO) disconnects on i.MXRT1176 correlated with Qt/QML UI complexity Hi @Vignesh_VInayak, Would you please clarify if after the disconnect occurs, does the rest of the application, including the display, continue to function normally? If it's the case, would you please share your thread priority configurations? Related to the previous questions, could you please share the FreeRTOS runtime stats of the running threads? For this you will need to enable "configGENERATE_RUN_TIME_STATS" in FreeRTOSConfig.h file and define a task to call periodically the FreeRTOS API "vTaskGetRunTimeStats" and print the result to the terminal. This will provide useful information on the CPU usage of each thread and narrow down the root cause of the Wi-Fi disconnections. Related to this, as display applications cause high CPU load, it is highly recommended that a dual-core architecture is implemented to ensure proper execution of high-load applications.
記事全体を表示
S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Hi, Our project using S32K358 with HSE B firmware with AB blocks. An issue happened when executing HSE API to get attribute cause reset. As I debug, before execute API, FSR is normal image.pngimage.png After executing Mu_Ip_SetTxRegister to set MU0 TR[1] register, 2 registers reports errors FSR status is 0F600002 means channel #1 execution is inprogress image (6).pngimage (6).png GSR status is 67030001 means HSE_ERR_GENERAL image 8.pngimage 8.png I checked other program that HSE APIs work normally, after executing Mu_Ip_SetTxRegister to set MU0 TR[1] register, 2 registers are normal FSR status is 0F600000 GSR status is 00000000 How to solve this issue? Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Hi, We are already check and the problem does not come from interrupt. It comes from the Watchdog. We disabled the watchdog and no reset happen. Thanks. Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Hello, is there any update on that case ? i'm facing the same issue. the MCU S32K324 got reset after 1 sec of advancing the life cycle to OEM_PROD using the HSE firmware ?  Thanks in advance Ayoub. Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Your new case has been assigned to the regional FAE team, so I would suggest leaving the next steps and investigation to them in order to avoid duplicating efforts. Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL By the time advancing HSE LC, I was using Trace32. May be the measurement time is not correct. Sorry for that. After a few tries unlocking debug port, Trace32 reports ECU continuously reset. Even if I do power off/on the board, the ECU still in reset. HaiHoangSoftware_0-1752114844597.pngHaiHoangSoftware_0-1752114844597.png How do I know which type of reset is happening (destructive/functional) and check the root cause? The debug port is secured in LC IN_FIELD. I can not unlock debug port with debug script because of this issue. Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL If it happens 1s later, it can be anything. And it can be unrelated to life cycle advancing.  I would need more details about the problem.  Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Right after reset, the HSE secured the debug port because HSE lifecycle changed to IN_FIELD. RGM FES and DES registers can not be read right after reset. Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Do you know what was source of the reset? Did you check RGM FES and DES registers after the reset? If HSE firmware is installed, it is not possible to advance the life cycle using LC configuration word. There can be any value, it will be ignored when HSE firmware is installed. The life cycle can be advanced only via HSE service in this case. Regards, Lukas Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Hi, I did execute these command in synchronous mode. The strange thing when I call set attribute to program ADPK and config debug authorization mode, the ecu execute normally. Only when I call set attribute to change HSE LifeCycle, the API return no error, but 1 second later, the program suddenly reset. Do I need to set the Address LC configuration word before advancing HSE LifeCycle? HaiHoangSoftware_0-1751869464437.pngHaiHoangSoftware_0-1751869464437.png What will happen if the value in LC configuration word is 0x00000000? Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Hi, I did execute these command in synchronous mode. The strange thing when I call set attribute to program ADPK and config debug authorization mode, the ecu execute normally. Only when I call set attribute to change HSE LifeCycle, the API return no error, but 1 second later, the program suddenly reset. Do I need to set the Address LC configuration word before advancing HSE LifeCycle? HaiHoangSoftware_0-1751595287949.pngHaiHoangSoftware_0-1751595287949.png What if the value in LC configuration word is 0x00000000? Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL My recommendation is to run the command as synchronous to avoid issues with interrupts.  A command is triggered by function Hse_Ip_ServiceRequest. And there's following sequence for asynchronous method: lukaszadrapa_0-1751363963705.pnglukaszadrapa_0-1751363963705.png The Mu_Ip… functions are inlined, so there’s no problem. But OsIf functions from BaseNXP module are not inlined, so you need to move them too. Regards, Lukas Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Hi, These APIs is places in Block 1, from 0x0060FB3E. Is that safe enough for the execution? Is there any reason to cause ECU reset? HaiHoangSoftware_0-1751350485291.pngHaiHoangSoftware_0-1751350485291.png Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Well, there's one missing sentence: UTEST flash is programmed by HSE when life cycle is advanced.  Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL The device is not supposed to automatically reset. Most likely, this is caused by read-while-write error. Read-while-write is supported between flash blocks. However, be aware that flash block 0 and UTEST are in the same partition. It’s shown in “Table 102. Flash block configuration” and in “21.3 UTest NVM sector” in S32K3 reference manual. And also section “14.6.5  Synchronizing flash read/write access between HSE and application core” in HSE-B Firmware reference manual can be important for further development. The solution is to execute the code from RAM or from another flash block. Regards, Lukas Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Hi, I resolve this issue by placing input params for set attribute API as global volatile variable. But after execute API to change life cycle successfully, the ECU automatically reset. We plan to implement change lifecycle as a UDS service but it seems to be not possible if HSE firmware auto reset ECU. Do I need to do anything to run ECU normal after change lifecycle? Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Hi, Follow NXP demo App, I implement a function to advance LC using Set_Attr service include 3 steps: Program ADKP Change Debug authorization mode to Password Advance HSE LC Steps 1,2 was executed normally with Mu0 instance and 1 free channel. Steps 3 always reports FSR= 0x0f600002 and GSR=67030001 Are there any step below needed: Back up IVT Address LC configuration word Do I miss anything to advance LC? HaiHoangSoftware_0-1751280488672.pngHaiHoangSoftware_0-1751280488672.png Re: S32K358 HSE API causes reset and reports HSE_ERR_GENERAL Hi @HaiHoangSoftware  The most common reason for HSE_ERR_GENERAL is invalid address provided as a parameter for HSE service. It’s either completely invalid address pointing to unimplemented memory space or HSE has no access to that memory due to XRDC configuration or there’s multibit ECC error in that memory. It may be also caused by data cache – make sure that data cache is either disabled or that all memory resources used for communication with HSE are forced to non-cacheable memory. If you got such error when using HSE_SRV_ID_GET_ATTR service, check the pAttr address  and disable data cache for test purposes: lukaszadrapa_0-1751023995011.pnglukaszadrapa_0-1751023995011.png Regards, Lukas
記事全体を表示
S32G274A 上 PFE HIF DMA 到 DDR 通信对 QuadSPI MCR 配置的意外依赖性 你好,专家 我们正在调查运行 QNX 7.1 的 S32G274A 上 QuadSPI 和 PFE HIF 数据路径之间意想不到的依赖关系。如果 QuadSPI 未初始化,PFE0 和 PFE2 将成功完成 PHY、EMAC、固件和 HIF 初始化。EMAC 可以接收有效帧,但 HIF DMA 不消耗 TX 或 RX 描述符,因此数据包无法在 PFE 和 DDR 之间传输,ARP/ping 失败。通过逐步简化 QuadSPI 初始化序列,我们发现只需一次写入即可恢复 PFE 通信:将 0x020F000C 写入 QuadSPI 模块配置寄存器 QuadSPI_MCR,其偏移量为 0x0000,距离 QuadSPI 基地址 0x40134000(即物理地址 0x40134000)不等。如果删除此写入操作,PFE 通信将持续失败。Flash 识别、JEDEC 事务、QNX F3S 框架、/dev/fs0 和启动延迟均已被排除在必要条件之外。我们目前的解释是,相关的效果可能是将 QuadSPI_MCR[MDIS] 清除为 0,从而启用 QuadSPI 时钟。 请问清除 QuadSPI_MCR[MDIS] 是否可以激活 S32G274A 上与 PFE HIF DMA-to-DDR/XBAR/NoC 路径共享的任何时钟请求、桥接或互连状态?PFE HIF DDR 访问与 QuadSPI 时钟或互连状态之间是否存在任何未记录或间接的依赖关系?或者这是否表明平台启动期间缺少共享时钟/NoC 初始化步骤?应该配置哪个 MC_CGM、RDC、MC_ME、NoC 或 PFE 平台寄存器来独立建立所需的状态,而不是让 PFE 驱动程序访问 QuadSPI MCR? 我们目前正在进行补充测试,以确认单独清除 MDIS 是否既必要又充分;目前,已确认的触发条件是完整的 MCR 写入值 0x020F000C。 Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 嗨,维特旺 感谢您与我们联系。 1. 您是否在使用客户板? 2.您的PFE版本是什么? BR 乔伊 Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 嗨 Joey,是的,我们使用的是基于 S32G274A 的定制电路板。PFE0 和 PFE2 通过 RGMII 连接到 KSZ9031 PHY。操作系统为QNX 7.1。PFE软件版本如下: - NXP PFE QNX驱动程序版本:PFE-DRV_S32G_QNX_1.9.0 - PFE固件版本:PFE-FW_S32G_1.12.0 - 驱动程序报告的PFE硬件版本:0x00050300 如果您需要完整的启动日志、时钟配置、原理图部分或寄存器转储以进行比较,请告知。此致敬礼,Waitewang Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 您好, 感谢您的回复。 1.你们的S32G启动方法是什么?早期阶段是否没有对QSPI进行初始化? 2.尝试只操作 MDIS 位,看看是否会影响结果。 BR 乔伊 Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 嗨,乔伊, 1.我们在 U-Boot 中通过 TFTP 加载 QNX IFS 和 DTB,并使用 bootm 启动 QNX。QNX 不是从 QSPI Flash 加载的。在启动 PFE 驱动程序之前,QNX 不会启动 devf-qspi-s32g 或显式初始化 QuadSPI 控制器。 2. 我们使用对 QuadSPI 模块配置寄存器(QuadSPI_MCR,基地址 0x40134000,偏移量 0x0000)进行读-修改-写操作来测试 MDIS 位。 测试 A — 无 QuadSPI MCR 操作 QSPI驱动程序未启动,QuadSPI_MCR未写入。PFE通信失败。 测试 B — 仅设置 MDIS MCR 之前 = 0x030F00CC MCR 写入 = 0x030F40CC MCR 后 = 0x030F40CC MDIS = 1 PFE沟通成功 只有 MDIS 的第 14 位从 0 变为 1。QSPI Flash 文件系统未启动,/dev/fs0 未创建,且未执行 JEDEC 访问。测试程序在寄存器操作后正常退出。 测试 C — 仅通过 MDIS 初始 MDIS 值已经是 0,因此未更改的 MCR 值 0x030F00CC 被写回。PFE通信失败。 我们之前也测试过将完整值 0x020F000C 写入 QuadSPI_MCR。在这种情况下,PFE通信成功了。 请问为什么仅将 QuadSPI MCR MDIS 位从 0 设置为 1 会影响 S32G274A 上的 PFE0/PFE2 通信?QuadSPI MCR 操作与 PFE HIF/DMA 到 DDR 路径之间是否存在任何必需的初始化顺序、已知的错误或已记录的依赖关系? BR, 怀特旺 Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 嗨,维特旺 感谢您的回复。 我目前正在就此事对您进行内部调查。我会尽快向您汇报进展情况! BR 乔伊 Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 嗨,维特旺 抱歉回复晚了。 根据内部信息和与专家的讨论,QSPI 和 PFE 之间没有特殊依赖关系。建议通过以下方法检查问题。 1.在 ATF/U-boot 启动 初始阶段和 QNX 阶段,禁用 QSPI。 2. 在 U-boot 启动 阶段测试 PFE 的功能。 3.如果您需要进一步的帮助,或者能否分享一些资源,那就太好了。例如,您可以提供一张能够重现您问题的图片。请使用以下链接发布您的资源: https://support.nxp.com BR 乔伊
記事全体を表示
S32K3xx-WB LPUART RTD needed. S32K3x-WB LPUART Real-Time Driver example for LPUART required. Any support on this will be helpful? mex file to configure or any sample example. Re: S32K3xx-WB LPUART RTD needed. Hi The "S32K344 Whiteboard Example Project" includes examples for the S32K344-WB, including LPUART examples. However, the RTD versions used in these examples are outdated. For new projects, we recommend using the latest S32K3 RTD 7.0.1; however, the S32K344 examples included therein are designed for the S32K3X4EVB-Q257 or S32K3X4EVB-T172. This means you will need to check the schematics for differences regarding LPUART instances and pin assignments, and modify the RTD examples accordingly. Best Regards, Robin
記事全体を表示
S32G274AにおけるPFE HIF DMA-DDR通信のQuadSPI MCR構成への予期せぬ依存性 こんにちは、エキスパートさん QNX 7.1を実行しているS32G274Aにおいて、QuadSPIとPFE HIFデータパスの間に予期せぬ依存関係が発生していることを調査中です。QuadSPIが初期化されていない場合、PFE0とPFE2はPHY、EMAC、ファームウェア、およびHIFの初期化を正常に完了します。EMACは有効なフレームを受け取ることができますが、HIF DMAはTXやRXディスクリプタを消費しないため、PFEとDDR間でパケットが転送されず、ARP/pingが失敗します。QuadSPIの初期化シーケンスを段階的に簡略化した結果、PFE通信を復元するには1回の書き込みで十分であることがわかりました。具体的には、QuadSPIベースアドレス0x40134000(つまり物理アドレス0x40134000)からオフセット0x0000にあるQuadSPIモジュール構成レジスタQuadSPI_MCRに0x020F000Cを書き込むことです。この書き込みを削除すると、PFE通信が常に失敗する。フラッシュ識別、JEDECトランザクション、QNX F3Sフレームワーク、/dev/fs0、起動遅延はすべて必要条件として除外されています。現在のところ、関連する効果はQuadSPI_MCR[MDIS]を0にクリアすることであり、これによりQuadSPIクロックが有効になると考えられます。 QuadSPI_MCR[MDIS]をクリアすることで、PFE HIF(データからDDR/XBAR/NoC S32G274A)パスと共有されるクロックリクエスト、ブリッジ、またはインターコネクト状態が有効になるか確認していただけますか?PFE HIFのDDRアクセスとQuadSPIのクロックやインターコネクト状態の間に、未公開または間接的な依存関係はありますか?それとも、プラットフォーム起動時に共有クロックやNoCの初期化ステップが欠けていることを示しているのでしょうか?どのMC_CGM、RDC、MC_ME、NoC、またはPFEプラットフォームレジスタを、PFEドライバがQuadSPI MCRにアクセスするのではなく、必要な状態を独立して確立できるように設定すべきでしょうか? 現在、MDISをクリアするだけで十分かつ必要であるかどうかを確認するための補足的なテストを実施しています。現段階では、確認済みのトリガーはMCR書き込み値0x020F000Cです。 Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 こんにちは、ウェイトワン お問い合わせいただきありがとうございます。 1. お客様用ボードを使っていますか? 2.お使いのPFEのバージョンは何ですか? BR ジョーイ Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 こんにちは、ジョーイさん。はい、弊社ではS32G274Aをベースにしたカスタムボードを使用しています。PFE0とPFE2はRGMIIを介してKSZ9031 PHYに接続されています。オペレーティングシステムはQNX 7.1です。PFEソフトウェアのバージョンは以下の通りです:- NXP PFE QNXドライババージョン:PFE-DRV_S32G_QNX_1.9.0 - PFEファームウェアバージョン:PFE-FW_S32G_1.12.0 - ドライバーが報告するPFEハードウェアバージョン:0x00050300 起動ログ、クロック設定、回路図セクション、またはレジスタダンプの完全な比較が必要な場合はお知らせください。よろしくお願いいたします、Waitewang Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 こんにちは、 ご返信よろしくお願いします。 1. S32Gの起動方法は何ですか?初期段階ではQSPIの初期化は行われなかったのでしょうか? 2.MDISビットのみを操作して、結果に影響があるかどうかを確認してください。 BR ジョーイ Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 こんにちは、ジョーイ。 1.U-BootでTFTP経由でQNX IFSとDTBをロードし、bootmでQNXを起動します。QNXはQSPIフラッシュからロードされません。PFEドライバを起動する前に、QNXはdevf-qspi-s32gを起動せず、QuadSPIコントローラを明示的に初期化しません。 2. QuadSPIモジュール設定レジスタ(QuadSPI_MCR、ベースアドレス0x40134000、オフセット0x0000)上で、MDISビットを読み取り・修正・書き込み操作でテストしました。 テストA — QuadSPI MCR動作なし QSPIドライバは起動されておらず、QuadSPI_MCRも書き込まれていませんでした。PFE通信に失敗しました。 テストB — MDISのみを設定 MCR(前)= 0x030F00CC MCR書き込み = 0x030F40CC MCR後 = 0x030F40CC MDIS = 1 PFE通信が成功しました MDISの14ビット目のみが0から1に変更された。QSPI Flashファイルシステムは起動されず、/dev/fs0も作成されず、JEDECアクセスも行われませんでした。テストプログラムはレジスタ操作後、正常に終了した。 テストC — MDISのみクリア 初期のMDIS値はすでに0だったため、変更されていないMCR値0x030F00CC書き戻されました。PFE通信に失敗しました。 また、以前にはQuadSPI_MCRに完全な値0x020F000Cを書き込むテストも行いました。PFEのコミュニケーションはその件で成功しました。 QuadSPI MCR MDISビットを0から1に設定すると、S32G274AのPFE0/PFE2通信に影響が出る理由について教えていただけますか?QuadSPI MCR操作とPFE HIF/DMA-to-DDRパスの間には、必須の初期化シーケンス、既知のエラー、または文書化された依存関係はありますか? BR、 ワイテワン Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 こんにちは、ウェイトワン ご返信よろしくお願いします。 現在、このマターについて内部調査を進めています。進捗状況については後ほどご連絡いたします! BR ジョーイ Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27 こんにちは、ウェイトワン 返信が遅くなり申し訳ありません。 内部情報および専門家との協議に基づくと、QSPIとPFEの間には特別な依存関係はない。以下の方法で問題を確認することをお勧めします。  1.ATF/ubootの初期段階とQNX段階で、QSPIを無効にします。 2. U-boot段階でPFEの機能をテストする。 3.もしさらに助けが必要なら、あなたのリソースをいくつか共有していただけると助かります。例えば、問題を再現できる画像を提供することもできます。リソースを投稿する際は、以下のリンクをご利用ください: https://support.nxp.com BR ジョーイ
記事全体を表示
S32K Examples S32K1xx S32K144 Example S32K144 CMP Round-robin S32DS2.0  Example S32K144 Verify Backdoor Access Key S32DS1.3  Example S32K144 FlexCAN0 RXFIFO DMA nonSDK S32DS13  Example S32K144 PDB ADC trigger DMA ISR S32DS  Example S32K144 Flash RW simple S32DS  Example S32K144 DMA memory copy test S32DS  Example S32K144 EEEPROM usage Example S32K144 EEEPROM usage - No SDK  Example S32K144 RTC VLPS  Example S32K144 WDOG RCM interrupt  Example S32K144 SRAM ECC Injection  Example S32K144 RAM Retention S32DS.R1 Example S32K144 I2C Master MPL3115A2 S32DSR1_v3  Example S32K144 FlexCAN RXFIFO DMA S32DS.ARM.2018.R1  Example S32K144_printf_implementation - S32DS_1.0  Example S32k144 UART printf/scanf under FreeRTOS - S32DS Example S32K144 SDK Function call on configurable period using LPIT timer.  Example S32K144 .noinit section usage Example S32K144 PDB ADC DMA S32DS.ARM.2018.R1   Example S32K144 RAM selftest simple S32DS 2018.R1  Example S32K144 Position Independent Code  Example S32K144 FlexCAN Pretended Networking STOP mode test S32DS.ARM.2.2  Example S32K144 LPIT DMA LPSPI  Example S32K144 FlexCAN TX/RX/Error ISR test S32DS2.2  Example S32K144 FlexIO Idle Detection S32DS2.2 S32K142 Example_S32K142_LMEN_Cache_v1_0_S32DS3.6_RTD300  Lauterbach_Script_For_MDM_AP_Mass_erase_S32K142  S32K146 Example S32K146 Set_whole_FlexRAM-as_RAM S32DS.ARM.2.2 S32K148 Example S32K148 PDB0-PDB1 ring S32DS3.4 RTM4.0.3  Example S32K148 PDB0-PDB1 ring DMA S32DS3.4 RTM4.0.3  Example S32K148 GPIO Interrupt   S32K116 Example S32K116 WDOG Fast Test  Example S32K116 LPUART LIN Slave TXRX ISR S32DS.ARM.2.2  Example S32K116 FlexCAN PN STOP S32DS.ARM.2.2 Example S32K116 FlexCAN VLPR test S32DS.ARM.2.2 S32K118 Example S32K118-SRAM-keep_data_over_SW_reset v0_1 S32DS.ARM.2.2 S32K3xx S32K312 Example S32K312 ADC_IP Continuous Scan DMA S32DS36 RTD600    S32K344 Example S32K344 PIT BTCU ADC DMA DS3.4 RTD100   Example S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFO test S32DS3.4 RTD200     Example Siul2_Port_Ip_Example_S32K344_ITCM_DTCM S32DS3.4 RTD300   Example S32K344 LPUART RX/TX ISR FreeRTOS S32DS36 RTD600    Example_S32K344_MCAL_MCU_ClockMonitor_v1_0_S32DS36_RTD600    Example_S32K314_DTCM1_Backdoor_RTD201_DS34_v3    Example_Reg_Prot_Flash_Controller_S32K344   Example S32K344 PIT SWtrig ADC ANAMUX S32DS 3.6.0 RTD 6.0.0   Example S32K344 EMAC lwIP FreeRTOS miniEVB S32DS 3.6.1 RTD 6.0.0   Example S32K344 EMAC lwIP FreeRTOS MRCANHUB S32DS 3.6.1 RTD600   Example_S32K344_BIST_eMCEM_SPD106_v2_0_S32DS365_RTD700  Example S32K344EVB_T172 UART_ETH_Gateway HLD S32DS368 RTD701   Example_S32K344_CMU_FM_POR_WDG_v1_0_S32DS369_RTD701    S32K358 Example S32K358 FlexCAN TXRX ISR S32DS35 RTD400/500   Example S32K358 GMAC 100M lwIP FreeRTOS S32DS 3.6.1 RTD600   Example S32K358 GMAC 1G lwIP FreeRTOS S32DS 3.6.1 RTD600   Example S32K358 GMAC lwIP FreeRTOS RDBESS S32DS 3.6.1 RTD600   Example_S32K358_XRDC_SEMA42_Multicore_v1_0_S32DS369_RTD701    S32K388 Example S32K388 GMAC0 lwIP FreeRTOS S32DS 3.6.1 RTD600   S32K389 Example S32K389 GMAC0 lwIP FreeRTOS S32DS 3.6.1 RTD 6.0.0   Example S32K389 GMAC1 SABRE lwIP FreeRTOS S32DS 3.6.1 RTD600  
記事全体を表示
S32K 示例 S32K1xx S32K144 示例 S32K144 CMP 轮询 S32DS2.0 示例 S32K144 验证后门访问密钥 S32DS1.3 示例 S32K144 FlexCAN0 RXFIFO DMA nonSDK S32DS13 示例 S32K144 PDB ADC 触发 DMA ISR S32DS 示例 S32K144 Flash RW simple S32DS 示例 S32K144 DMA 内存复制测试 S32DS S32K144 EEEPROM 使用示例 示例 S32K144 EEEPROM 使用 - 无 SDK 示例 S32K144 RTC VLPS 示例 S32K144 WDOG RCM 中断 示例 S32K144 SRAM ECC 注入  S32K144 RAM 保留示例 S32DS.R1 示例 S32K144 I2C主设备 MPL3115A2 S32DSR1_v3 示例S32K144 FlexCAN RXFIFO DMA S32DS.ARM.2018.R1  示例 S32K144_printf_implementation - S32DS_1.0 示例 S32K144 在 FreeRTOS 下使用 UART printf/scanf - S32DS 示例 使用 LPIT 定时器实现可配置周期函数调用的 S32K144 SDK 示例 S32K144 .noinit章节用法 示例 S32K144 PDB ADC DMA S32DS.ARM.2018.R1 示例 S32K144 RAM 自检简单 S32DS 2018.R1 示例 S32K144 位置无关代码  示例 S32K144 FlexCAN 虚拟网络停止模式测试 S32DS.ARM.2.2 示例 S32K144 LPIT DMA LPSPI 示例 S32K144 FlexCAN TX/RX/Error ISR 测试 S32DS2.2 示例 S32K144 FlexIO 空闲检测 S32DS2.2 S32K146 示例 S32K146 Set_whole_FlexRAM-as_RAM S32DS.ARM.2.2 S32K148 示例 S32K148 PDB0-PDB1 环 S32DS3.4 RTM4.0.3 示例 S32K148 PDB0-PDB1 环 DMA S32DS3.4 RTM4.0.3 示例 S32K148 GPIO 中断 S32K116 示例 S32K116 WDOG 快速测试 示例 S32K116 LPUART LIN 从机 TXRX ISR S32DS.ARM.2.2 示例 S32K116 FlexCAN PN 停止 S32DS.ARM.2.2 示例 S32K116 FlexCAN VLPR 测试 S32DS.ARM.2.2 S32K118 示例 S32K118-SRAM-keep_data_over_SW_reset v0_1 S32DS.ARM.2.2 S32K3xx S32K344 示例 S32K344 PIT BTCU ADC DMA DS3.4 RTD100   示例 S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFO 测试 S32DS3.4 RTD200   示例 Siul2_Port_Ip_Example_S32K344_ITCM_DTCM S32DS3.4RTD300   示例 S32K358 FlexCAN TXRX ISR S32DS35 RTD400/500    
記事全体を表示
S32Kの例 S32K1xx S32K144 例:S32K144 CMPラウンド・ロビンS32DS2.0  例:S32K144バックドア・アクセス・キー検証S32DS1.3  例:S32K144 FlexCAN0 RXFIFO DMA非SDK S32DS13  例:S32K144 PDB ADCトリガDMA ISR S32DS  例:S32K144 Flash RWシンプルS32DS  例:S32K144 DMAメモリ・コピー・テストS32DS  例:S32K144 EEEPROMの使用方法 例:S32K144 EEEPROMの使用方法 - 非SDK  例:S32K144 RTC VLPS  例:S32K144 WDOG RCM割り込み  例:S32K144 SRAM ECC注入  例 S32K144 RAM 保持 S32DS.R1 例:S32K144 I2CマスタMPL3115A2 S32DSR1_v3  例:S32K144 FlexCAN RXFIFO DMA S32DS.ARM.2018.R1  例:S32K144_printf_implementation - S32DS_1.0  例:FreeRTOS環境でのS32k144 UART printf/scanf - S32DS 例:S32K144 LPITタイマを使用した構成可能期間に対するSDK関数の呼び出し  例:S32K144 .noinitセクションの使用方法 例:S32K144 PDB ADC DMA S32DS.ARM.2018.R1   例:S32K144 RAMセルフテスト・シンプルS32DS 2018.R1  例:S32K144ポジショニング独立コード 例:S32K144 FlexCAN疑似ネットワーキングSTOPモードのテストS32DS.ARM.2.2  例:S32K144 LPIT DMA LPSPI  例:S32K144 FlexCAN TX/RX/エラーISRテストS32DS2.2  例:S32K144 FlexIOアイドル検出S32DS2.2 S32K146 S32K146 Set_whole_FlexRAM-as_RAM S32DS.ARM.2.2の例 S32K148 例:S32K148 PDB0-PDB1リングS32DS3.4 RTM4.0.3  例:S32K148 PDB0-PDB1 ring DMA S32DS3.4 RTM4.0.3  例:S32K148 GPIO割り込み  S32K116 例:S32K116 WDOG高速テスト  例:S32K116 LPUART LINスレーブTXRX ISR S32DS.ARM.2.2  例 S32K116 FlexCAN PN STOP S32DS.ARM.2.2 例:S32K116 FlexCAN VLPRテストS32DS.ARM.2.2 S32K118 例 S32K118-SRAM-keep_data_over_SW_reset v0_1 S32DS.ARM.2.2 S32K3XXシリーズ S32K344 例:S32K344 PIT BTCU ADC DMA DS3.4 RTD100   例:S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFOテストS32DS3.4 RTD200     例Siul2_Port_Ip_Example_S32K344_ITCM_DTCM S32DS3.4RTD300   例:S32K358 FlexCAN TXRX ISR S32DS35 RTD400/500     
記事全体を表示
我想在 EVBMA7518S48V 上运行一个示例。 请帮忙,需要关于将初始程序烧录到该板上的整个工具链流程的详细信息。我已将我们遇到的错误附在下面。我还需要用户指南和手册的链接,另外,入门指南中有一个开放的图形用户界面工具,但我找不到BMA7518的这个工具。 另外,是否有直接的 .hex 文件?或者通过文件之类的东西,我们可以直接运行电路板吗? 用户指南中列出了所需的软件。 我拿到了 s32DS(如果版本重要请说明),但我不知道从哪里下载 unionGUI,我下载了 EVALGUI,但它不支持 7318 或 7518。哪里可以找到示例代码? • S32DS-ARM:S32 设计工作室 • UnionGUI • EVBMA7518S48V 示例代码 WhatsApp Image 2026-09-16 at 1.00.17 PM (1).jpegWhatsApp 图片 2026-09-16 下午 1:00:17 (1).jpeg WhatsApp Image 2026-09-16 at 1.00.17 PM.jpegWhatsApp 图片 2026-09-16 下午 1:00:17.jpeg
記事全体を表示
LEARNING I am new to NXP S32K144. What is the recommended development environment for a beginner, and what should I learn first? Re: LEARNING Hello @JASAMANG , For a beginner, I recommend using S32 Design Studio for S32 Platform together with an S32K144 evaluation board. In addition to the IDE, please install the S32K1 Real-Time Drivers (RTD) package. For the current development flow, the recommended combination is S32 Design Studio v3.6.0 with S32K1 RTD 3.0.0. The RTD package can be installed through Help > S32DS Extensions and Updates. I suggest following this learning path: Import and run an existing S32K144 RTD example, such as a blinking LED or GPIO example. Learn the basic project structure, build process, flashing, and debugging. Become familiar with the S32 Configuration Tools, particularly pin, clock, and peripheral configuration. Continue with GPIO, interrupts, timers, PWM, and ADC. Once these fundamentals are clear, proceed to motor-control examples and tools such as FreeMASTER and MCAT. Starting from an existing example is generally easier than creating the complete application from scratch. For RTD installation guidance, please refer to the S32K1 RTD offline installation guide. Although the article demonstrates an older S32DS/RTD combination, it explains the package dependencies and the general offline installation flow. Always verify the required S32DS version and dependent packages in the release notes of the RTD version you download. You may also find this discussion useful: Install SDK/RTD into S32 Design Studio. It explains the difference between the legacy SDK and RTD and provides links to both AUTOSAR and non-AUTOSAR blinking LED examples You may also find useful examples and technical articles in the S32K Knowledge Base.  If you encounter a problem, I recommend searching the S32K Community forum first. Many common questions and issues have already been discussed and answered there.  Also, please create a dedicated thread if you encounter a specific issue. This helps keep us the discussions clear and makes it easier for other users to find relevant information.   We actively monitor threads for seven days after the last reply. After that period,  we only receive subscription emails for updates and those can occasionally be missed. For any related questions after this period, please create a new thread and refer to the original one.   If a response answers your question, please click “Accept as Solution.” For any related questions please create a new thread and refer to the original one.   Best regards, Pavel Re: LEARNING Information Appreciated 🙏 Re: LEARNING I really appreciate the information 🙏 
記事全体を表示
s32k3 mbdt(バージョン1.4.2)は、wdgモジュールを使用する際にファイルが見つからないと報告します。 S32K3 で mbdt ライブラリのバージョン 1.4.2 を使用して wdg モジュールを使用していますが、コードを生成する際に「AeWdog_Ip_Irq.c:45:10:」というエラーが発生します。致命的なエラー: AeWdog_Ip_Cfg_Defines.h:そのようなファイルまたはディレクトリはありません。(このファイルは確かに存在しません。) RTDライブラリから手動で彼を追加したところ、他のすべての処理でエラーが発生しました。さらに多くのエラーが発生しました。 どうしたんだ?設定ミスでもしたのか?助けてください!
記事全体を表示
NXPNfcRdLibのモジュールphalFelicaにおける脆弱性 - CVE-2026-87726 概要 サポートソフトウェアNXPNfcRdLibでCVE-2026-87726というソフトウェア脆弱性が特定されました。NXP NXPNfcRdLibモジュールphalFelicaのファームウェアバージョン07.14.00_PubまでのAPIバウンドチェックが不十分だと、権限を持つ攻撃者や信頼できない第三者が意図しないメモリ領域にアクセスし、機密性、整合性、可用性の限定的な喪失につながる可能性があります。 影響を受けるデバイス この脆弱性は、CLRC663ファミリのPN5180、PN7462、PN5190プラットフォーム上のNFCリーダソリューション上で、FeliCaベースのアプリケーションと組み合わせてNXPNfcRdLibバージョン07.14.00以前の展開に影響を与えます。 緩和 NFCリーダーライブラリで利用可能な最新のNXPNfcRdLibをご利用 ください |NXP Semiconductors 07.18.00以降のすべてのファームウェアバージョンでこの問題が修正されています。 了承 NXPは、責任ある情報開示を行ったEzhilamuthan氏に感謝の意を表します。
記事全体を表示
HTRC110 PSK/FSK标签读取能力 我需要使用 HTRC110 读取 FSK/PSK 调制的令牌(主要是 HID MicroProx),但我发现该芯片无法处理这种调制方式,请问能否确认并解释一下原因?这种调制方式应该很容易处理才对。NXP还有其他替代方案吗? Re: HTRC110 PSK/FSK tag reading Capabilities 下午好 alasa995!我也在做这项研究。你走到哪一步了?此致敬礼,谢尔盖。 Re: HTRC110 PSK/FSK tag reading Capabilities 您好,我已经成功让芯片解码FSK调制信号,只需要调整一下芯片的配置即可。
記事全体を表示
S32K3xx-WB LPUART RTDが必要です。 S32K3x-WB LPUARTリアルタイム・ドライバの例が必要です。この件についてのサポートがあれば、何か助かりますか? 設定用のmexファイル、または任意のサンプル例。 Re: S32K3xx-WB LPUART RTD needed. ハイ 「 S32K344ホワイトボードサンプルプロジェクト」には、LPUARTのサンプルを含む、 S32K344-WBのサンプルが含まれています。 しかし、これらの例で使用されているRTDバージョンは旧式です。 新規プロジェクトには、最新版のS32K3 RTD 7.0.1の使用をお勧めします。ただし、そこに記載されているS32K344のサンプルは、 S32K3X4EVB-Q257またはS32K3X4EVB-T172向けに設計されています。つまり、LPUARTインスタンスとピン割り当てに関する違いがないか回路図を確認し、それに応じてRTDのサンプルを修正する必要があります。 よろしくお願いいたします ロビン
記事全体を表示
FRDM-IMX93 — LPSPI3/EXPI (P11) SPIピンは、外部デバイスとの間で有効なSPIトランザクションを生成しません。 件名:FRDM-IMX93 — LPSPI3/EXPI(P11)SPIピンは外部デバイスとの有効なSPIトランザクションを発生させません。オンボードトライラジオモジュール(MAYA-W27x)との競合が疑われています。 こんにちは、NXPチームの皆さん、 外部のSPIデバイス(Waveshare 2-CHのCAN HAT https://www.waveshare.com/wiki/2-CH_CAN_HAT)を起動しようとしています。FRDM-IMX93ボードのEXPI 40ピンヘッダー(P11)にデュアルMCP2515を搭載し、LPSPI3(GPIO_IO08–11、RPi互換ピン位置に一致)を使用しています。HAT自体が完全に機能することを確認しました(標準のdtoverlay=mcp2515構成の純正Raspberry Piでテストし、動作確認済みです)。 理事会 / BSP: FRDM-IMX93、モデルNXP FRDM-IMX93 NXP i.MX リリースディストリビューション 6.18-whinlatter、カーネル 6.18.2-1.0.0-gf49f45233f7b 私が設定した内容(デバイスツリーレベルで全て正しいことを確認済み): オーバーレイは &lpspi3 の下に mcp2515@0/mcp2515@1 を追加します。cs-gpios = <&gpio2 8 1>、<&gpio2 7 1>;(GPIO_IO08/GPIO_IO07)で、これは NXP 自身のアップストリームパッチで見つけた類似の FRDM-IMX93 SPI3 ペリフェラル(pixpaper display overlay)の GPIO ベースの CS パターンに対応しています。 以前は /sys/kernel/debug/pinctrl/ で (MUX UNCLAIMED) であったため、&pinctrl_lpspi3 を拡張して GPIO_IO07 (CS1) を GPIO として mux しました。 CS0と競合していた既存のspidev0ノードを無効化しました。 reg_vexp_3v3/reg_vexp_5v (レギュレータ常時オン) を有効にしました。これらはデフォルトでは無効になっており、これがないと EXPI ヘッダーに電源が供給されませんでした。 /dev/spidev2.0が作成され、pinmuxで4つのSPIピンすべてに正しい機能割り当て(lpspi3grp)が表示されていることを確認しました。 症状: MCP251Xドライバは常に失敗します:spi2.0:MCP2515を初期化できません。配線が間違っている?(err=19) および spi2.1:MCP251x はリセット後に設定モードに入りませんでした (err=110) — 上記のすべてのデバイスツリーのバリエーションでまったく変わりません。 /dev/spidev2.0 上で spidev_test (互換性のある lwn、bk4) を使用して SPI レベルの生テストを実行します。RXバッファは、MOSI/MISOが物理的に短絡(ループバック)、開放状態、またはシャントでブリッジされているかどうかに関わらず、バイト単位で同一のデータを返します。これは、P11ヘッダーピン19/21/23/24にあるSPI3信号がコントローラの実際のバス活動に反映されていないことを示唆しています。つまり、信号がヘッダーに届いていないか、他の何かが干渉している可能性があります。 疑われる根本原因: UM12181(FRDM-IMX93ボードユーザーマニュアル、セクション2.11「トライラジオモジュールインターフェース」)によると、SPI3信号(CLK、MOSI、MISO、CS0 — GPIO_IO08-11で多重化)は、オンボードのMAYA-W27xトライラジオモジュールとM.2コネクタ間で、双方向の1.8Vレベルトランスレーター(U729、抵抗選択)を介して共有されます。この文書では、SPI3代替機能がSoC側から駆動される場合に、EXPIヘッダー(P11)がこの共有パスから電気的に絶縁されるかどうか、またどのように絶縁されるかについては明確にされていません。 質問: P11のGPIO_IO08-11の露出はU729トランスレーター/トライラジオパスから電気的に独立しているのでしょうか?それともP11でSPI3を使う場合、信号を正しくヘッダーにルーティング・隔離するために、トライラジオモジュールの無効化、GPIOエキスパンダービットの無効化、抵抗の再作業などの追加設定が必要でしょうか? FRDM-IMX93ボード上でLPSPI3を外部で使用するための、検証済みのリファレンスデバイスツリー(EVK用のimx93-11x11-evk-lpspi.dtsのようなもの)はありますか? P11接続トポロジーを確認するために、SPI3/U729信号経路の回路図抜粋を共有できますか? ご協力に感謝いたします。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi はい、p11ヘッダーには3.3Vと5Vがあります。 なぜエラーが発生するのでしょうか? imx93-11x11-lpddr4x-frdm ログイン:ルート root@imx93-11x11-lpddr4x-frdm:~# dmesg |grep -iE 'mcp251|lpspi3' [ 8.989639] MCP251X:module_layoutのシンボルなしバージョン [ 10.032864 mcp251x spi2.1: リセット後、MCP251xがコンフットモードに入らなかった [ 10.033021] mcp251x spi2.1: プローブ失敗、err=110 [ 10.033034] MCP251x SPI2.1: ドライバー付きプローブ MCP251x エラー -110 で失敗 [ 10.074097] MCP251x spi2.0: 初期化できませんMCP2515。配線が間違っているのですか? [ 10.074256] mcp251x spi2.0: プローブ失敗、err=19 root@imx93-11x11-LPDDR4x-frdm:~# IP リンク 表示 1: lo: MTU 65536 qdisc noqueue state 不明モード デフォルトグループ default qlen 1000 リンク/ループバック 00:00:00:00:00:00 BRD 00:00:00:00:00:00:00 2: eth0: MTU 1500 QDISC MQ 状態 ダウンモード デフォルトグループ デフォルト QLEN 1000 リンク/エーテル 90:A9:f7:80:42:26 BRD FF:FF:FF:FF:FF:FF 3: eth1: MTU 1500 QDISC MQ STATE DOWN MODE デフォルトグループ デフォルト QLEN 1000 リンク/エーテル 90:A9:f7:80:42:27 BRD FF:FF:FF:FF:FF:FF 4: mlan0: MTU 1500 QDISC MQ STATE UP モード 休眠グループ デフォルト QLEN 1000 リンク/エーテル 80:A1:97:50:4E:0d BRD FF:FF:FF:FF:FF:FF 5: uap0: MTU 1500 qdisc noop state DOWN mode デフォルトグループ デフォルト qlen 1000 リンク/エーテル 82:A1:97:50:4f:0d brd ff:ff:ff:ff:ff 6: wfd0: MTU 1500 QDISC NOOP 状態 ダウンモード デフォルトグループ デフォルト QLEN 1000 リンク/エーテル 82:a1:97:50:4e:0d brd ff:ff:ff:ff:ff:ff:ff 7: can0: MTU 16 QDISC NOOP 状態 ダウンモード デフォルトグループ デフォルト qlen 10 リンク/CAN Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi FRDM-IMX93: LPSPI3 (P11 EXPIヘッダー) のSCKピンに信号が出力されません 問題 私はP11 EXPIヘッダー上のLPSPI3(GPIO_IO08-11、spi@42550000)を使って外部SPIデバイス(2× MCP2515 CAN)を操作しようとしています。ドライバーはアクティブで、ペリフェラルは「内部」で動作しているように見えますが、物理的なSCKピン(GPIO_IO11)には信号が出力されていません。 証拠 オーバーレイはエラーなく適用され、SPIコアにspi2.0/spi2.1が登録されました。 電源、pinctrl、pinctrl-assert-gpios、cs-gpios、およびクロックソースはすべて正しく、検証済みです。 CS0(同一バンク、GPIO代替機能、モード=0)は完璧に動作し、マルチメーターとロジックアナライザーの両方でパルスが確認できます。 SCK(モード=1、ネイティブLPSPI3_SCK)はロジックアナライナ上で完全にフラット/0Vで、HATが接続されているかどうかにかかわらず、連続トリガーループには影響しません。 それにもかかわらず、LPSPI3のIRQ(GIC 97)は実際には/proc/interrupts(220回の割り込みで生成される単一の転送試み)でトリガーされており、ペリフェラルの内部ロジック(ステータス/IERレジスタ)がアクティブです。 /dev/memでLPSPI3のベースアドレス(0x42550000)を読み取ると「バスエラー」が返されますが、同じバス上で動作しているflexcan2(0x425b0000)も同じエラーを返します。つまり、これはLPSPI3特有のものではなく、一般的な/dev/memの制限であり(コントロールグループで除外されています)。 DMA理論は検証され、無効とされました。無効なphandleでDMASを上書きすると、ドライバーは「dma setup error -19, use pio」というメッセージとともにPIOにフォールバックしましたが、SCK信号は依然として表示されませんでした。 `clk_ignore_unused` ブート引数も効果はありませんでした。 まとめ LPSPI3ペリフェラルの内部ロジックは動作しており(割り込みを発生)、SCK信号は外部ピン(GPIO_IO11)に到達しません。同じpinctrlグループのCS0(GPIOモード)は正しく出力しますが、SCK(LPSPI3のネイティブ代替機能)はそうではありません。これは、パッドドライバーやシリコンに関連する設定の詳細、あるいはNXPが認識すべき設定の詳細を示しているように見えますが、これはデバイスツリーやソフトウェアでは説明できません。 質問 FRDM-IMX93において、P11を介したLPSPI3_SCK(GPIO_IO11、ネイティブ代替機能)のために、デバイスツリーとは別にハードウェア/ファームウェアの有効化手順は追加されていますか? LPSPI3がi.MX93 EVK(community.nxp.com/t5/i-MX-Processors/iMX93AUTO-EVK-SPI-Configuration-for-QCA7006AQ)と同じピンで動作する例があります—可能かもしれませんFRDM特有の違いはあるのでしょうか? Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi こんにちは、 @irfanktm お元気でお過ごしのことと思います。 実際には、i.MX93 FRDM PADとP11 GPIO_IO08-IO11ピンの間には直接的な接続があります。 Manuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.png 私のそばで再現するための手順を教えていただけますか? よろしくお願いいたします。 サラス。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi ログを見る限り、あなたはspidev_test上でSPIデバイスにアクセスしようとしているようですが、デバイスはMCPドライバーによって処理されています。 私が知りたいのは、使用しているデバイスツリー(.dts)全体です。例えば、以下のようなものです。 imx93-11x11-frdm.dts また、もし変更を加えた場合は、変更内容をお知らせください。 また、MCP2515のCANモジュールを手に入れて統合を試してみようと思います。 よろしくお願いいたします。 サラス。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi お使いのデバイスツリー全体を共有していただけますでしょうか。 あるいは、lpspi3ノードとピンマルチプレクサに関連するものだけかもしれません。 よろしくお願いいたします。 サラス。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi こんにちは、 @irfanktm 私は自分の側でいくつかテストを行いました。 Manuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.png 私のi.MX93 FRDMではSPIは正常に動作しています。 Manuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.png 私もあなたと同じ環境にいます。 もう一つ質問があります。 i.MX93 FRDMボードの3V3ピンと5Vピンに電圧はかかっていますか? そうでない場合は、以下のリンクを参照して、委員会の規制当局に通知してください。 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Enable-3-3-V-and-5-V-Regulators-for-Expansion-Header-on-i-MX9/ta-p/2299415 よろしくお願いいたします。 サラス。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi いいえ、imx93-11x11-frdm.dtsファイルがオリジナルです。私はmcp2515-can-hat.dtboのオーバーレイファイルを編集しました、https://www.waveshare.com/wiki/2-CH_CAN_HATINT_1をデフォルトのGPIO_25からGPIO_24(物理ピン18)に変更しただけです。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi もし何か足りなければ、私が追加できます。 root@imx93-11x11-lpddr4x-frdm:/sys/firmware/devicetree/base# ls '#address-cells' クロック-OSC-24Mファームウェア mcp2515_clock PMU レギュレーター-HMISC-VDDIOレギュレーター-vEXC-3v3 soc@0 USBphynoP2 「#size-Cells」クロック-OSC-32K IMX93-LPM メモリ PSCI レギュレーター-USDHC2 レギュレーター-VEXP-5V サウンド-MQS usdhc3_pwrseq __symbols__ 互換割り込みcontroller@48000000モデル レギュレーター-ADC-VREF レギュレーター-usDHC3 リモートプロック-CM33 SW-キー 別名 CPUS 割り込み親 MQS1 レギュレーター-AVDD レギュレーター-VDD-12V リザーブドメモリ熱ゾーン 選択したディスプレイサブシステム LDB-ディスプレイ-コントローラ MQS2 レギュレーター-CAN2-STBYレギュレータ-VDD-5P0V セキュア・エンクレーブ タイマー クロック-ext1 エトス LDB-PHY名 レギュレーター-DVDD レギュレーター-VDDOシリアルナンバーUSBYyNOP1 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi MCP2515 / i.MX93 LPSPI3 — 根本原因の更新 前回の報告の続報です。新たな隔離テストでは、MCP2515モジュールから離れ、i.MX93 LPSPI3 SPIコントローラ/ドライバに向けられています。 実施されたテスト: ユーザー空間のspidevツールを使用して、MISOラインの物理状態のみを変化させながら、LPSPI3(500kHz、モード0)に対してRESET + CANSTAT読み取りサイクルを繰り返し発行します。 MISOを実際のMCP2515チップに接続した場合:不安定で、期待される0x80に到達することはまれです。 MISOが物理的に切断された状態(フローティング状態、チップが接続されていない状態):それでも、約10~11ミリ秒の周期で、構造化された繰り返しバイトパターン(0x00 / 0xFF / 0xFB)が表示されます。 MISOを10kΩの抵抗器を介してGNDに接続した場合、同じ繰り返しパターンが依然として現れ、本質的に変化はありません。 MISOをGND(約0Ω)に直接短絡すると、パターンは完全に消え、読み取り値は平坦で一定の0x00になります。 主な調査結果: まったく同じバイトシーケンスが、ミリ秒ごとに同じタイミングで、独立した実行(異なるプロセスID、異なる時間)や異なる物理的なMISO条件(切断、10kΩプルダウン、または実際のチップに接続した場合)でも再表示されます。SPI ioctl() 呼び出し自体は毎回成功(エラーなし)を返します。これは転送の失敗が隠蔽されているわけではなく、実際のデータが呼び出しごとにクロックインされています。 解釈: 真にフローティング状態または抵抗負荷状態の入力ピンは、異なるプロセス呼び出し間で、ミリ秒単位まで同一のホスト非依存のビットパターンを再現してはならない。この決定性のレベルから、読み戻されるバイト値は実際のMCP2515 SO/MISOラインを代表するものではなく、LPSPI3周辺機器やそのLinuxドライバの固定的で再現可能な内部状態(例:古いRXのFIFOコンテンツや、入力ピンの実際の論理レベルに関係なく固定パターンの読み取り)から来ていることを示唆しています。これを上書きするのはGNDへのハードショートだけです。 NXPへの質問です:LPSPI3(またはそのLinuxドライバーであるspi-fsl-lpspi)は、ピンの実際のサンプリング値の代わりに固定または古びたRX FIFOコンテンツを返すことはあり得ますか?このようなデターミニスティックで配線に依存しないリードバックパターンを説明する既知のエラタムやドライバの挙動はありますか? Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 技術サポートの要請 MCP2515 (Microchip) と i.MX93 (NXP) の SPI2/LPSPI3 との SPI 通信障害 1. 要約 2つのMCP2515 CANコントローラ(Waveshare 2-CHAN HAN、MCP2515-I/SO、16 MHzクリスタル)は、LPSPI3を介してi.MX93-11X11-LPDDR4X-FRDMボードにコネクテッドされています(SPI2、CS0/CS1)は、電源アップやSPIやハードウェアリセット後に構成モードに入ることはありません。すべてのレジスタ読み取りで、期待されるCANSTAT = 0x80ではなく、固定された不変の値が返されます。カーネルmcp251xドライバは常にプローブの失敗を報告します(err=-110「リセット後にconfモードに入らなかった」またはerr=-19「配線が間違っている?」)。 2. 環境 SoM/ボード: i.MX93-11X11-LPDDR4X-FRDM カーネル: 6.18.2-1.0.0-gf49f45233f7b (NXP ダウンストリーム)、CONFIG_SPI_FSL_LPSPI=y (組み込み)、ERR051608 プリスケール修正が既に適用済み SPIバス:LPSPI3(spi@42550000)、チップセレクト2系統、カスタムデバイスツリーオーバーレイ(16MHz固定クロック、IRQ GPIO3-23 / GPIO3-24) CANモジュール:Waveshare 2CHキャンハット、MCP2515-I/SO、「E3 2335BK5」(正規のマイクロチップマーキングフォーマット) ドライバ:mcp251x(メインライン)、カーネルドライバーおよびカスタムspidevベースのテストユーティリティでテスト済み 3. トラブルシューティングを実施 デバイスツリーのオーバーレイターゲット(&spi1/&lpspi3 対 誤り & spi2 ラベル)を修正しました — オーバーレイが正しく適用され、MCP2515の子ノードがライブDTに存在します LPSPI3のpinctrl、cs-gpios、割り込み親/GPIOマッピングを、実行中のデバイスツリーに対して検証しました。すべて正しいです。 ロジックアナライザを使用してマスター側のSPI信号の完全性を検証しました。複数のキャプチャにおいて、i.MX93によってMOSI、SCK、およびCSが正しく一貫して生成されていることが確認されました。 両CANモジュールでVDD = 3.3V、アイドルMISO = 3.3Vが確認(GNDへのショートなし) 両方のモジュールで、リセットピン(SOIC-18の17番ピン)が3.3V(非アクティブ)であることを確認しました。 SPIモード0,0とモード1,1(CPOL/CPHA)、100kHz~8MHzクロックでテストしましたが、動作に変化はありませんでした。 2つの並列MCP2515デバイス間のMISOバス競合を解消するため、CS0/CS1に10kΩのプルアップ抵抗を追加しました。これにより、読み出しデータは安定しましたが、修正はされませんでした。 カスタムspidevテストツール:リセット命令+リセット後の即時/連続CANSTATポーリング(1ms間隔、300msウィンドウ)—CANSTATは瞬時に固定値に落ち着き、0x80に達することはありません。 WRITEをCANCTRL(0x80)に強制し、その後READに続けます — 読み戻しは書き込みの影響を受けず、SPIトランザクションがCANコントローラロジックで処理されていないことを示します 4. 重要な観察事項 CS0 デバイス: CANSTAT/CANCTRL/すべてのレジスタは一貫して 0x00 を読み出します (数十回のリセット + 読み取りサイクルにわたって 100% 再現可能、レジスタ アドレス、SPI モード、または書き込み値に関係なく)。 CS1デバイス:CANSTAT/CANCTRL/すべてのレジスタは常に0xFFを読み出す(100%再現可能、トランザクション中にMISOが切り替わることはない)。 両デバイスともマスターからはクリーンで正しくタイミングされたMOSI/SCK/CSを表示しますが、命令、アドレス、CSプルの設定に関係なく固定値を返します。このパターンはホスト側のSPIモード/タイミング/配線では説明できず、MCP2515 CANコアがリセット後/発振器不安定な状態から決して離れないことと一致しています。 5. リクエスト ホスト側のSPIシグナリングがロジックアナライザーで正確であることが確認され、デバイスツリーやカーネルドライバの設定も正しいことが確認されたため、以下の点についてのガイダンスを望みます。 この障害シグネチャ(レジスタの読み取りが固定され、CANSTATが0x80にならない)が、既知のMCP2515水晶発振器の起動問題と一致するかどうか、およびOSC1/OSC2に対する推奨オシロスコープ/検証手順 MCP2515とi.MX93 LPSPIの間には、既知の互換性の問題が存在するか(既に解決済みのERR051608以外)? MCP2515モジュールにハードウェアの欠陥が疑われる場合の推奨される次の診断手順またはRMAプロセス 追加のロジックアナライザキャプチャ、デバイスツリーファイル、またはカーネルログが必要な場合はお知らせください。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 技術サポートリクエスト — i.MX93 LPSPI3 MCP2515 複数のMCP2515 CANコントローラ(テスト済み3台、2つの異なるメーカー/ボード、8/16 MHzのクリスタル)がLPSPI3(SPI2)経由でi.MX93-11X11-LPDDR4X-FRDMボードに接続されていると、リセット後に断続的に構成モードに到達できません(CANSTATは0x80を認識すべきです)。 環境: カーネル 6.18.2 (NXP ダウンストリーム)、CONFIG_SPI_FSL_LPSPI 組み込み、ERR051608 プリスケール修正あり。デバイスツリー/pinctrlが正しいことを確認しました(LPSPI3のSIN/SOUT/SCKは適切に多重化され、CSはcs-gpios経由)。ロジックアナライザによるキャプチャ結果から、MOSI/SCK/CSがホストによって正しく一貫して生成されていることが確認されました。 重要な観察事項: 新しく開いたspidevハンドルでは、最初のRESET + CANSTAT読み取りが約50~60%の確率で成功し(~0x80)、タイミングは常に約2~6msです。 同じ、まだ開いているSPIファイルディスクリプタに対して追加のRESET+読み取りサイクルを発行すると、その後は一貫して失敗し、0x80に再び到達することのない、約10~11ミリ秒周期の固定値(0x00 / 0xFF / 0xFB)の繰り返しパターンに落ち着きます。 この同じ故障シグネチャは3つの物理MCP2515ユニットと2つの異なる基板デザインすべてで再現されており、単一の欠陥チップやモジュールを除外しています。 転送間隔遅延(delay_usecs)の追加、ダミーの「フラッシュ」SPI転送、およびサイクル間のギャップを100msに増やしても、結果は変わりませんでした(パターンが開始されると、10回中0回成功)。 VDD、GND、RESETピン、およびアイドル時のMISOレベルはすべて正常(3.3V)であることが確認されています。 メインラインのmcp251xカーネルドライバーのプローブ()も同じ不安定さを示しています。5回連続のバインド試行(アンバインド/クリアdriver_override/バインド)すべて失敗し、err=-19(「配線が間違っている??」)とerr=-110(リセット後にコンフィングモードに入らなかった)を交互に繰り返すパターンです。 このパターン(開いた後の最初の転送で良好、その後同じセッション内のその後の転送で固定された再現可能な失敗署名が現れる)は、MCP2515ユニット自体の欠陥というよりも、連続するLPSPI3転送やCSサイクル間で完全にクリアされていない状態を示唆しています。 NXP への質問: これは、既知の LPSPI3 (i.MX93) の動作と一致していますか?同じSPIファイルディスクリプタ上で連続転送間でFIFO/CSの状態がきれいにリセットされないことについて — そして推奨されるドライバーレベルの回避策はありますか(例:ERR051608を超える遅延、FIFOフラッシュ、またはCS処理が必要ですか?
記事全体を表示
キーフォブ/スマートカードでのみログインできます 私は製造会社で働いており、従業員が部品図面を見たり、タスク完了のサインをしたりできるように、工場の現場にPCを設置しようと考えています。できるだけ手間を軽くしつつ、誰がタスクにサインしたかの記録も残したいため、従業員がすでに持っているアクセスコントロールバッジを使ってドアへのアクセスや出退勤をする最適な方法を検討しています。もしそれが現実的でなければ、従業員が物理的なトークンでログインし、キーボードやマウスに触れることなく、ユーザー名やパスワードを覚える必要もない、他の選択肢も検討しています。スマートカードについて調べてみましたが、PINコードが必要なようで、できれば避けたいと思っています。私たちは固有のセキュリティリスクを理解しており、これらのデバイスは特定のタスクしか実行できず、ネットワークの他の部分にアクセスできないようにロックダウンされます。 モバイルのスマートカード Re: Login with keyfob/smartcard only MIFARE DESFire EV3をおすすめします。 こちらのウェブページはこちらです:MIFARE DESFire EV3 |セキュア非接触IC |NXP Semiconductors
記事全体を表示
FRDM-IMX93 — LPSPI3/EXPI (P11) SPI 引脚无法与任何外部设备产生有效的 SPI 通信; 主题:FRDM-IMX93 — LPSPI3/EXPI (P11) SPI 引脚无法与任何外部设备产生有效的 SPI 通信;怀疑与板载三频模块 (MAYA-W27x) 冲突 NXP团队您好, 我正在尝试启动一个外部SPI设备(Waveshare 2通道CAN HAT( https://www.waveshare.com/wiki/2-CH_CAN_HAT )),在 FRDM-IMX93 板的 EXPI 40 针接头 (P11) 上使用 LPSPI3 (GPIO_IO08–11,与 RPi 兼容的引脚位置匹配) 连接双 MCP2515)。我已经确认 HAT 本身功能齐全(在具有标准 dtoverlay=mcp2515 配置的真正 Raspberry Pi 上进行了测试并运行正常)。 板/电路板支持包。 FRDM-IMX93,型号 NXP FRDM-IMX93 NXP i.MX 发布发行版 6.18-whinlatter,内核版本 6.18.2-1.0.0-gf49f45233f7b 我已配置好(所有配置均已在设备树级别验证正确): Overlay 在 &lpspi3 下添加了 mcp2515@0/mcp2515@1,其中 cs-gpios = <&gpio2 8 1>, <&gpio2 7 1>; (GPIO_IO08/GPIO_IO07),与我在 NXP 自己的上游补丁中找到的基于 GPIO 的 CS 模式相匹配,该补丁用于类似的 FRDM-IMX93 SPI3 外设(pixpaper 显示覆盖层)。 将 &pinctrl_lpspi3 扩展为将 GPIO_IO07 (CS1) 复用为 GPIO,因为它之前在 /sys/kernel/debug/pinctrl/ 中是 (MUX UNCLAIMED)。 禁用了与 CS0 冲突的已存在的 spidev0 节点。 启用 reg_vexp_3v3/reg_vexp_5v(稳压器始终开启)——这些默认是禁用的,如果没有这些,EXPI 标头将无法供电。 已确认 /dev/spidev2.0 已创建,引脚复用显示所有 4 个 SPI 引脚上的功能分配 (lpspi3grp) 正确。 症状: mcp251x 驱动程序始终失败:spi2.0:无法初始化MCP2515。接线错误?(错误代码=19)和 spi2.1:RESET后 MCP251x 未进入配置模式(错误代码=110)——以上所有设备树变体均完全不变。 使用 spidev_test(兼容 lwn、bk4)对 /dev/spidev2.0 进行原始 SPI 级测试:无论 MOSI/MISO 是物理短路(环回)、开路还是用分流器桥接,RX 缓冲区都会返回逐字节相同的数据。这表明 P11 接头引脚 19/21/23/24 处的 SPI3 信号没有反映在控制器的实际总线活动中——也就是说,这些信号可能根本没有到达接头,或者有其他东西在干扰。 疑似根本原因: 根据 UM12181(FRDM-IMX93 板用户手册,第 2.11 节“三射频模块接口”),SPI3 信号(CLK、MOSI、MISO、CS0 — 在 GPIO_IO08-11 上复用)通过双向 1.8V 电平转换器 (U729)(电阻选择)在板载 MAYA-W27x 三射频模块和 M.2 连接器之间共享。该文档没有说明当 SPI3 备用功能由 SoC 端驱动时,EXPI 接头 (P11) 是否/如何与此共享路径电气隔离。 问题: P11 的 GPIO_IO08-11 引脚在电气上是否独立于 U729 转换器/三路无线电路径?或者,在 P11 上使用 SPI3 是否需要任何额外的配置(例如,禁用三路无线电模块、GPIO 扩展位或电阻器改造)才能正确地将信号路由/隔离到接头? 是否有经过验证的参考设备树(类似于 EVK 的 imx93-11x11-evk-lpspi.dts),专门用于在 FRDM-IMX93 板上外部使用 LPSPI3? 能否提供 SPI3/U729 信号路径的原理图片段,以确认 P11 连接拓扑结构? 提前感谢您的帮助。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 如果有什么遗漏,我可以补充。 root@imx93-11x11-lpddr4x-frdm:/sys/firmware/devicetree/base# ls '#address-cells' clock-osc-24m 固件 mcp2515_clock pmu regulator-hmisc-vddio regulator-vexp-3v3 soc@0 usbphynop2 '#size-cells' clock-osc-32k imx93-lpm memory psci regulator-usdhc2 regulator-vexp-5v sound-mqs usdhc3_pwrseq __symbols__兼容中断控制器@48000000 型号 regulator-adc-vref regulator-usdhc3 remoteproc-cm33 sw-keys 别名 cpus 中断父级 mqs1 稳压器-avdd 稳压器-vdd-12v 保留内存 热区 选定的显示子系统 ldb-display-controller mqs2 regulator-can2-stby regulator-vdd-5p0v secure-enclave timer clock-ext1 ethosu ldb-phy 名称 regulator-dvdd regulator-vddo 序列号 usbphynop1 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 是的,我在p11接头上测得3.3V和5V电压。 为什么我的电脑会出现错误? imx93-11x11-lpddr4x-frdm 登录:root root@imx93-11x11-lpddr4x-frdm:~# dmesg | grep -iE 'mcp251|lpspi3' [ 8.989639] mcp251x:模块布局没有符号版本 [ 10.032864] mcp251x spi2.1:MCP251x RESET 后未进入配置模式 [ 10.033021] mcp251x spi2.1:探测失败,错误代码=110 [ 10.033034] mcp251x spi2.1:使用驱动程序 mcp251x 进行探测失败,错误代码为 -110 [ 10.074097] mcp251x spi2.0:无法初始化 MCP2515。接线错误? [ 10.074256] mcp251x spi2.0:探测失败,错误代码=19 root@imx93-11x11-lpddr4x-frdm:~# ip link show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 链接/回环 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc mq 状态 DOWN 模式 DEFAULT 组 default qlen 1000 链接/以太 90:a9:f7:80:42:26 brd ff:ff:ff:ff:ff:ff 3: eth1: mtu 1500 qdisc mq 状态 DOWN 模式 DEFAULT 组 default qlen 1000 链接/以太 90:a9:f7:80:42:27 brd ff:ff:ff:ff:ff:ff 4: mlan0: mtu 1500 qdisc mq 状态 UP 模式 DORMANT 组 default qlen 1000 链接/以太 80:a1:97:50:4e:0d brd ff:ff:ff:ff:ff:ff 5: uap0: <广播,组播> mtu 1500 qdisc noop 状态 DOWN 模式 DEFAULT 组 default qlen 1000 链路/以太网 82:a1:97:50:4f:0d brd ff:ff:ff:ff:ff:ff 6: wfd0: <广播,组播> mtu 1500 qdisc noop 状态 DOWN 模式 DEFAULT 组 default qlen 1000 链接/以太 82:a1:97:50:4e:0d brd ff:ff:ff:ff:ff:ff 7: can0: mtu 16 qdisc noop 状态 DOWN 模式 DEFAULT 组 default qlen 10 链接/罐 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi FRDM-IMX93:LPSPI3(P11 EXPI 接头)SCK 引脚无信号输出 问题 我正在尝试使用 P11 EXPI 接头上的 LPSPI3 (GPIO_IO08-11, spi@42550000) 操作外部 SPI 设备 (2× MCP2515 CAN)。驱动程序处于活动状态,外设似乎正在“内部”运行,但没有信号输出到物理 SCK 引脚 (GPIO_IO11)。 证据 覆盖层应用无误;spi2.0/spi2.1 已在 SPI 内核中注册。 电源、引脚控制、引脚控制断言-GPIOS、CS-GPIOS 和时钟源——全部正确,并且已经过验证。 CS0(同一组,GPIO 交替功能,模式=0)工作完美——用万用表和逻辑分析仪都能看到脉冲。 在逻辑分析仪上,SCK(模式=1,原生 LPSPI3_SCK)完全平坦/0V——无论 HAT 是否连接,对连续触发回路都没有影响。 然而,LPSPI3 的 IRQ(GIC 97)实际上是在 /proc/interrupts 中触发的(一次传输尝试产生了 220 次中断)——外设的内部逻辑(状态/IER 寄存器)处于活动状态。 使用 /dev/mem 读取 LPSPI3 基地址 (0x42550000) 时返回“总线错误”——但是运行在同一总线上的 flexcan2 (0x425b0000) 也返回相同的错误,这意味着这是 /dev/mem 的一般限制,而不是 LPSPI3 特有的限制(已通过控制组排除)。 DMA 理论经过测试并被排除:当使用无效句柄覆盖 dmas 时,驱动程序回退到 PIO 并显示消息“dma 设置错误 -19,请使用 pio”,但 SCK 信号仍然没有出现。 `clk_ignore_unused` 启动参数也没有任何作用。 结束语 LPSPI3 外设的内部逻辑正在工作(产生中断),但 SCK 信号始终无法到达外部引脚 (GPIO_IO11)——尽管同一引脚控制组中的 CS0(GPIO 模式)输出正确,但 SCK(LPSPI3 原生替代功能)却无法输出。这似乎指向与焊盘驱动器/硅相关的配置细节,或者指向 NXP 应该了解的配置细节,而这些细节无法通过设备树或软件来解释。 问题 在 FRDM-IMX93 上,是否需要在设备树之外通过 P11 为 LPSPI3_SCK(GPIO_IO11,本机替代功能)添加额外的硬件/固件使能步骤? 已知有一个例子表明,LPSPI3 可以使用 i.MX93 EVK 上的相同引脚(community.nxp.com/t5/i-MX-Processors/iMX93AUTO-EVK-SPI-Configuration-for-QCA7006AQ)——可能FRDM是否存在特殊差异? Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 根据日志,我怀疑您尝试通过 spidev_test 访问 SPI 设备,但该设备由 MCP 驱动程序处理。 我需要知道的是您使用的完整设备树(.dts)文件,例如: imx93-11x11-frdm.dts 另外,如果您对它进行了修改,请告诉我您的修改之处。 另外,我也会尝试弄一个 mcp2515 CAN 模块,以便我这边进行集成测试。 顺祝商祺! 萨拉斯。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 你好@irfanktm 希望你一切都好。 实际上,i.MX93 FRDM PAD 与 P11 GPIO_IO08-IO11 引脚之间存在直接连接: Manuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.pngManuel_Salas_0-1789421014211.png曼努埃尔_萨拉斯_0-1789421014211.png 能否请您提供一下重现问题的步骤? 顺祝商祺! 萨拉斯。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 你好@irfanktm 我刚才做了一些测试: Manuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.pngManuel_Salas_0-1789495251012.png曼努埃尔_萨拉斯_0-1789495251012.png 我的 i.MX93 FRDM 上的 SPI 工作正常。 Manuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.pngManuel_Salas_1-1789495295645.png曼努埃尔_萨拉斯_1-1789495295645.png 我的环境和你一样。 最后一个问题。 你的i.MX93 FRDM板的3V3和5V引脚有电压吗? 如果不行,请点击以下链接启用董事会监管功能: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Enable-3-3-V-and-5-V-Regulators-for-Expansion-Header-on-i-MX9/ta-p/2299415 顺祝商祺! 萨拉斯。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 请您提供完整的设备树。 或者只是与 lpspi3 节点和引脚复用相关的。 顺祝商祺! 萨拉斯。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 不,imx93-11x11-frdm.dts 文件是原始文件;我编辑了 mcp2515-can-hat.dtbo 覆盖文件, https://www.waveshare.com/wiki/2-CH_CAN_HAT我只将 INT_1 从默认的 GPIO_25 改为 GPIO_24(物理引脚 18)。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 技术支持请求 MCP2515(Microchip)SPI 通信故障,i.MX93(NXP)SPI2/LPSPI3 1. 总结 两个 MCP2515 CAN 控制器(Waveshare 2-CH CAN HAT、MCP2515-I/SO、16 MHz 晶振)通过 LPSPI3(SPI2、CS0/CS1)连接到 i.MX93-11X11-LPDDR4X-FRDM 板,上电或 SPI/硬件 RESET 后始终无法进入配置模式。所有寄存器读取都返回固定不变的值,而不是预期的 CANSTAT = 0x80。内核 mcp251x 驱动程序持续报告探测失败(err=-110“RESET 后未进入配置模式”,或 err=-19“接线错误?”)。 2. 环境 SoM/板:i.MX93-11X11-LPDDR4X-FRDM 内核:6.18.2-1.0.0-gf49f45233f7b(NXP 下游),CONFIG_SPI_FSL_LPSPI=y(内置),ERR051608 预分频修复程序已存在 SPI 总线:LPSPI3 (spi@42550000),2 个片选信号,自定义设备树覆盖(16 MHz 固定时钟,IRQ GPIO3-23 / GPIO3-24) CAN 模块:Waveshare 2 通道 CAN HAT,MCP2515-I/SO,标记“E3 2335BK5”(Microchip 原装标记格式) 驱动程序:mcp251x(主线),已使用内核驱动程序和基于 spidev 的自定义测试工具进行测试。 3. 已执行的故障排除 已更正设备树覆盖目标(&spi1/&lpspi3 与错误的 &spi2 标签相比)——覆盖现在已正确应用,mcp2515 子节点已存在于实时设备树中 已根据运行中的设备树验证 LPSPI3 pinctrl、cs-gpios 和 interrupt-parent/GPIO 映射——全部正确 使用逻辑分析仪验证了主端SPI信号的完整性:在多次捕获中,i.MX93均能正确且一致地生成MOSI、SCK和CS信号。 已确认两个 CAN 模块的 VDD = 3.3V 和空闲 MISO = 3.3V(无对地短路) 已确认两个模块的 RESET 引脚(引脚 17,SOIC-18)均为 3.3V(未激活) 测试了 SPI 模式 0,0 和模式 1,1 (CPOL/CPHA),时钟频率为 100 kHz 至 8 MHz — 行为未发生变化 在 CS0/CS1 上添加了 10k 上拉电阻,以解决两个并联 MCP2515 器件之间的 MISO 总线争用问题——这稳定了(但并未纠正)回读数据。 自定义 spidev 测试工具:RESET 指令 + 复位后立即/连续轮询 CANSTAT(1 毫秒间隔,300 毫秒窗口)— CANSTAT 立即稳定到一个固定值,且永远不会达到 0x80。 强制写入 CANCTRL (0x80) 后执行读取操作——读取操作不受写入操作的影响,表明 SPI 事务未被 CAN 控制器逻辑处理。 4. 关键观察 CS0 设备:CANSTAT/CANCTRL/所有寄存器始终读取回 0x00(在数十次复位+读取周期中 100% 可重复,与寄存器地址、SPI 模式或写入值无关)。 CS1 设备:CANSTAT/CANCTRL/所有寄存器始终读取回 0xFF(100% 可重复,MISO 在事务处理期间从不翻转)。 两个设备均显示来自主控端的干净、时序正确的 MOSI/SCK/CS,但无论指令、地址或 CS 拉取配置如何,都返回一个固定值——这种模式无法用主机端的 SPI 模式/时序/接线来解释,并且与 MCP2515 CAN 内核永远不会离开其复位后/振荡器不稳定状态一致。 5. 请求 鉴于逻辑分析仪已验证主机端 SPI 信号传输正确,且设备树/内核驱动程序配置也已确认正确,我们希望获得以下方面的指导: 此故障特征(固定寄存器回读,CANSTAT 始终不等于 0x80)是否与已知的 MCP2515 晶振(晶体振荡器)启动问题一致,以及 OSC1/OSC2 的推荐示波器/验证程序。 MCP2515 和 i.MX93 LPSPI 之间是否存在已知的兼容性问题(除已解决的 ERR051608 之外) 如果怀疑MCP2515模块存在硬件缺陷,建议采取以下后续诊断步骤或RMA流程。 如果您需要提供额外的逻辑分析仪捕获文件、设备树文件或内核日志,请告知我们。 Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi MCP2515 / i.MX93 LPSPI3 — 根本原因更新 这是我们之前报告的后续报道。一项新的隔离测试现在完全指向了 i.MX93 LPSPI3 SPI 控制器/驱动程序,而不是 MCP2515 模块。 已执行测试: 使用用户空间 spidev 工具,我们反复对 LPSPI3(500 kHz,模式 0)发出 RESET + CANSTAT 读取周期,同时仅改变 MISO 线的物理状态: MISO 连接到真正的 MCP2515 芯片:不稳定,很少达到预期的 0x80。 MISO 物理断开(浮空,未连接芯片):仍会出现结构化的重复字节模式(0x00 / 0xFF / 0xFB),周期约为 10-11 毫秒。 MISO 通过 10kΩ 电阻连接到 GND:仍然出现相同的重复模式,基本没有改变。 MISO 直接短接到 GND (~0Ω):图案完全消失——读取结果变为平坦的恒定值 0x00。 主要发现: 完全相同的字节序列,毫秒级的时序完全相同,在不同的运行(不同的进程 ID、不同的时间)和不同的物理 MISO 条件(断开连接、10kΩ 下拉电阻、连接到真实芯片)中反复出现。SPI ioctl() 调用本身每次都会返回成功(无错误)——这不是被掩盖的传输失败;每次调用都会将真实数据记录到时钟中。 解释: 真正浮空或电阻负载的输入引脚不应该在不同的进程调用中精确到毫秒地重现与主机无关的相同位模式。这种确定性表明,读取回来的字节值并不代表实际的 MCP2515 SO/MISO 线,而是来自 LPSPI3 外设或其 Linux 驱动程序的固定、可重复的内部状态(例如,过时的 RX FIFO 内容,或者无论输入引脚的实际逻辑电平如何,读取的固定模式)——只有硬短路到 GND 才能覆盖它。 向 NXP 提出问题:在某些情况下,LPSPI3(或其 Linux 驱动程序 spi-fsl-lpspi)是否会返回固定/过时的 RX FIFO 内容,而不是引脚的实际采样值?是否存在已知的错误或驱动程序行为可以解释这种确定性的、与线路无关的读取模式? Re: FRDM-IMX93 — LPSPI3/EXPI (P11) SPI pins produce no valid SPI transactions with any external devi 技术支持请求 — i.MX93 LPSPI3 上的 MCP2515 多个 MCP2515 CAN 控制器(测试了 3 个单元,2 个不同的制造商/板,8/16 MHz 晶振)通过 LPSPI3 (SPI2) 连接到 i.MX93-11X11-LPDDR4X-FRDM 板,RESET后间歇性地无法进入配置模式(CANSTAT 应读取 0x80)。 环境:内核 6.18.2(NXP 下游),CONFIG_SPI_FSL_LPSPI 内置,ERR051608 预分频修复已存在。设备树/引脚控制已验证正确(LPSPI3 SIN/SOUT/SCK 已正确复用,CS 通过 cs-gpios)。逻辑分析仪捕获结果证实主机能够正确且一致地生成 MOSI/SCK/CS。 关键观察结果: 对于新打开的 spidev 句柄,第一次 RESET + CANSTAT 读取操作大约有 50-60% 的概率成功(~0x80),且计时稳定在 2-6 毫秒左右。 如果对同一个仍然打开的 SPI 文件描述符发出额外的 RESET+读取周期,则之后会持续失败,并稳定为可重复的 ~10-11 毫秒周期性固定值 (0x00 / 0xFF / 0xFB) 模式,永远不会再次达到 0x80。 所有 3 个物理 MCP2515 单元和 2 种不同的电路板设计都出现了相同的故障特征,排除了单个芯片/模块存在缺陷的可能性。 添加传输间延迟(delay_usecs)、虚拟“刷新”SPI 传输,并将周期之间的间隔增加到 100 毫秒,结果都没有改变(一旦模式开始,成功率就为 0/10)。 VDD、GND、RESET 引脚和空闲 MISO 电平均已确认正常(3.3 V)。 主线 mcp251x 内核驱动程序自身的 probe() 也显示出同样的不稳定性:连续 5 次绑定尝试(取消绑定/清除 driver_override/绑定)全部失败,错误信息在 err=-19(“接线错误?”)和 err=-110(“重置后未进入配置模式”)之间交替出现,且模式具有规律性,并非随机性。 这种模式(打开后第一次传输正常,然后在同一会话中的后续传输中出现固定的可重复故障特征——内核驱动程序自己的探测也重现了该故障)表明,连续的 LPSPI3 传输/CS 周期之间没有完全清除状态,而不是 MCP2515 单元本身存在缺陷。 向 NXP 提出的问题:这是否与已知的 LPSPI3 (i.MX93) 行为一致——例如:在同一 SPI 文件描述符上连续进行数据传输时,FIFO/CS 状态无法干净地重置——是否有推荐的驱动程序级解决方法(例如,使用 FIFO/CS 进行数据交换)?除了 ERR051608 之外,还需要延迟、FIFO 刷新或 CS 处理吗?
記事全体を表示
デバイスとの結合を解除することに関して こんにちは、 MCUXpresso SDKバージョン26.03を使ってBLE通信を実装しようとしています。 API関数Gap_RemoveBondについて質問があります。 その注記には、「このAPIは、呼び出し時にアクティブな接続が存在しないことを前提としています」と記載されている。 1.つまり、コネクテッドデバイスがない時だけ使えるということですか? 2. Gap_RemoveBondがアクティブな接続が存在する間に結合を除去できない場合、アクティブな接続が有効な状態で結合情報を除去する方法はありますか? 質問に関する追加情報 3つのデバイスがあると仮定します。 ・周辺機器 ・中央装置A ・中央装置B takuya08_0-1788256233203.pngtakuya08_0-1788256233203.pngtakuya08_0-1788256233203.pngtakuya08_0-1788256233203.pngtakuya08_0-1788256233203.png ペリフェラルはすでにセントラルAとセントラルBの両方と結合されています。 ペリフェラルがセントラルAとセントラルBの両方に積極的にコネクテッドされている場合: takuya08_1-1788256275044.pngtakuya08_1-1788256275044.pngtakuya08_1-1788256275044.pngtakuya08_1-1788256275044.pngtakuya08_1-1788256275044.png その指摘から、ペリフェラルはセントラルAとBがコネクテッドされている間は結合情報を削除できないと理解しています。 アクティブな接続中に、ボンディング情報を削除する方法はありますか? ペリフェラルがセントラルAにのみ積極的に接続されている場合: takuya08_2-1788256364083.pngtakuya08_2-1788256364083.pngtakuya08_2-1788256364083.pngtakuya08_2-1788256364083.pngtakuya08_2-1788256364083.png 周辺機器がセントラルAとセントラルBの両方の結合情報を削除することは不可能でしょうか? それともセントラルBのボンディング情報だけを削除することは可能でしょうか? ペリフェラルがいかなるデバイスにも接続されていない場合: takuya08_3-1788256474725.pngtakuya08_3-1788256474725.pngtakuya08_3-1788256474725.pngtakuya08_3-1788256474725.pngtakuya08_3-1788256474725.png このコメントから、この場合、周辺機器はセントラルAとセントラルBの両方の結合情報を削除できると理解しています。 ご協力ありがとうございます。 Re: Regarding Removes the bond with a device @sofiaurueta ご返信ありがとうございます。 あなたの回答から、たとえ1台でも接続されていればボンディング情報は削除できないと理解しました。 ただ、念のためもう一度確認したいです。  2-1788256364083.png2-1788256364083.png2-1788256364083.png2-1788256364083.png ペリフェラルにセントラルAとセントラルBの2つのデバイスの結合情報が保存されており、現在セントラルAにコネクテッドされている場合、以下の挙動のうちどれが起こるのでしょうか? 1.接続されていないセントラルBのボンド情報は削除可能です。 2. 2つの債券情報記録はいずれも削除できません。 Re: Regarding Removes the bond with a device こんにちは、お元気でお過ごしでしょうか。 Gap_RemoveBond() は、アクティブなBLE接続がない場合のみ呼び出せます。APIのドキュメントには、ボンド情報が削除される前にすべての接続を切断することを明記しています。同じ制限はGap_RemoveAllBonds()にも適用されます。 現在、MCUXpresso SDKのBLEホストスタックには、接続がアクティブな間にNVMボンドデータを削除することをサポートするAPIはありません。 アクティブなユースCASEでボンドを除去するための推奨フローは以下の通りです: 関連するコネクテッドピアの連絡先としてGap_Disconnect(deviceId)を呼び出し、切断を確認させるgConnEvtDisconnected_c接続イベント情報を待ってからGap_RemoveBond(nvmIndex)を呼び出します。 よろしくお願いします、 ソフィア。 Re: Regarding Removes the bond with a device こんにちは、 @sofiaurueta 現在、結合情報の削除を検討中です。 答えをいただけますか? ご協力ありがとうございます。
記事全体を表示
Using S32K3X8EVB-Q289 On-Board Debugger to Program a Custom S32K358 Target I am currently using the S32K3X8EVB-Q289 evaluation board and have developed a custom hardware design based on the S32K358 MCU. Could you please clarify: Is programming/debugging an external S32K358 target using the EVB's on-board debugger officially supported? If supported, what jumper settings or hardware modifications are required on the EVB? Which debug connector should be used for this purpose? Are there any limitations compared to using an S32 Debug Probe ? Is there any documentation or application note describing this configuration? Thank you for your support. Regards, Yash Gupta Re: Using S32K3X8EVB-Q289 On-Board Debugger to Program a Custom S32K358 Target Hello @Yash2530 , 1. Yes, using the S32K3X8EVB-Q289 on-board debugger to program/debug an external S32K358 target is supported. Actually, the EVB’s on-board OpenSDA debugger uses a P&E Micro-developed bootloader/debug application - https://community.nxp.com/t5/S32-Design-Studio/Which-debugging-interface-is-better/m-p/1715877 2. No soldering rework or jumper setting is required on the EVB for this use case. 3. J55 USB host connector. 4. In practice, for standard flashing and source-level debug of an external S32K358 target, the EVB’s on-board debugger should be sufficient. Since I don't know what feature is important to you, please compare features by yourself: https://www.nxp.com/design/design-center/software/automotive-software-and-tools/s32-design-studio-ide/s32-debugger-for-s32-platform:S32DBG-S32PLATFORM https://www.pemicro.com/products/product_viewDetails.cfm?product_id=15320180&productTab=5045 5. Yes, https://www.nxp.com/webapp/Download?colCode=S32K3X8EVB-Q289HWUM Best regards, Pavel Re: Using S32K3X8EVB-Q289 On-Board Debugger to Program a Custom S32K358 Target @PavelL , Got this error while trying to program my external controller. CMD>VC Verifying object file CRC-16 to device ranges ... block 00400000-0042F4B7 ... Calculated CRC-16 does not match block. (File = $A9EE, Device = $EDEF) Error verifying flash of device Error occured during Flash programming. INFO: DAP IDCODE = 0x6BA02477 INFO: DAP successfully powered up. DP CTRL/STAT = 0xF0000000 Starting reset script (C:\NXP\S32DS.3.6.7\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_6.1.8.202603121731\supportFiles_ARM\NXP\S32K3xx\S32K358.mac) ... REM Enable clocks for selected cores in MC_ME module Delaying for 200mS ... Done. REM Initialize RAM and DMA: REM Initialize DMA TCD: REM Copy valid executable code to RAM for each core to be used. REM Enable required cores in MC_ME: Delaying for 20mS ... Done. Delaying for 20mS ... Done. Reset script (C:\NXP\S32DS.3.6.7\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_6.1.8.202603121731\supportFiles_ARM\NXP\S32K3xx\S32K358.mac) completed. PEmicro GDB Launch Failure : Error during flash programming. Terminating debug session. PE-ERROR: Error downloading to the device. Terminating debug session. Disconnected from "127.0.0.1" via 127.0.0.1. Disconnection by port "53100" from 6224 PE-ERROR: Error : Attempted to send response but connection already closed. Disconnected from "127.0.0.1" via 127.0.0.1. Disconnection by port "53104" from 7224 INFO: DAP IDCODE = 0x6BA02477 Target Disconnected. Yash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpeg Please help me resolve these. Regards, Yash Gupta Re: Using S32K3X8EVB-Q289 On-Board Debugger to Program a Custom S32K358 Target Hello @Yash2530 , I performed a reference test using an S32K3X8EVB-Q289 and the on-board PEmicro debugger connected through J55. In my test, the first CRC verification also reported a mismatch because the existing flash content was different from the application being downloaded. However, the programming sequence then continued with flash erase and programming. Therefore, the initial CRC mismatch is not necessarily the root cause and does not, by itself, confirm that Secure Debug is enabled. The important difference is that, in the log you provided, the debug session terminates immediately after the first VC command. I do not see the subsequent EM and PM commands for erasing and programming the flash. Please check the PEmicro debug launch configuration, particularly whether downloading the executable and flash programming are enabled. Please also provide the complete PEmicro log from the beginning of the session. The beginning of the log should show the CM command and the selected .arp flash algorithm. For reference, my successful test used the following algorithm for an HSE-disabled device: PavelL_0-1789370094591.pngPavelL_0-1789370094591.pngPavelL_0-1789370094591.pngPavelL_0-1789370094591.pngPavelL_0-1789370094591.pngPavelL_0-1789370094591.png Please verify that the algorithm selected in your configuration corresponds to the actual state of your S32K358 device, for example HSE-disabled or HSE-enabled.   BTW, please create a new thread next time - we actively tracked community threads only 7 days after last answer. I only receive subscription emails for updates and those can occasionally be missed. Best regards, Pavel Re: Using S32K3X8EVB-Q289 On-Board Debugger to Program a Custom S32K358 Target Hello @PavelL , I have programmed the device issue was with the Reset pin of JTAG conflicting with Onboard MCU and Target board MCU. So I isolated reset pin from JTAG RESET pin and programming works. Now only issue I have to reset the mcu manually. Have you also used a custom target along with EVK board jtag( J50 & J55(usb)) connectors. Regards, Yash Gupta Re: Using S32K3X8EVB-Q289 On-Board Debugger to Program a Custom S32K358 Target Hello @Yash2530 , Yes, I have used both an external PEmicro debugger and Lauterbach TRACE32. According to my notes, all jumpers on the EVB were kept in their default positions, except for J685 and J23, which were set to positions 2-3. For your reference, the jumper configuration was as follows: J685: 2-3 J23: 2-3 J25: 1-2 J30: 1-2 J31: 1-2 J691: 1-2 J37: 2-3 J746: 2-3 J13: 1-2 J16: 1-2 J701: 1-2 With this configuration, programming, debugging and automatic reset worked correctly in my setup. Please compare these jumper settings with your current EVB configuration. Best regards, Pavel Re: Using S32K3X8EVB-Q289 On-Board Debugger to Program a Custom S32K358 Target Hello @Yash2530 , " provide i2c and spi example code" is a new topic. To keep clarity of threads, please create a new, dedicated thread. Thank you for your understanding. Best regards, Pavel Re: Using S32K3X8EVB-Q289 On-Board Debugger to Program a Custom S32K358 Target @PavelL , Thanks for your response that really helped, can you also share i2c and spi example code as the RTD ones contains loop back examples, as I have tried to initialise my peripherals over spi and i2c by keeping them master, but I have no clock signal over sck in both not mosi and miso also responding. That would really help if you share one. Thanks, Yash Gupta 
記事全体を表示