Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
Testing HAB without burning fuses I am working on IMXRT1024 core and want to test HAB without burning fuses. And as per datasheet every fuses have their shadow register and CPU/ROM read from that shadow register. I am thinking to write those shadow register and create a scenario such that boot ROM thinks Boards is HAB enabled. But again since boot rom execution is very beginning can you suggest is there any way to leverage the shadow register and create a testing setup? Q.2 -> If suppose in a closed board HAB authentication fails how can i get the audit report? Re: Testing HAB without burning fuses Hello @Abhay2080, Please refer to Kan Li's response in this thread. It describes several approaches for testing HAB without programming the fuses. Regarding your second question, I highly recommend using the Secure Provisioning Tool, as it greatly simplifies the process of creating a HAB-enabled image. The tool automatically generates the CSF and prepares the image so that HAB can properly authenticate it during the boot sequence, which is why this is standard tool to handle applications just like this one. You can follow the Booting an Authenticated (HAB) Image flow to achieve this. Please keep in mind that burning fuses can only be done once, after that the processor can only execute authenticated images.  BR Habib Re: Testing HAB without burning fuses Hello @Abhay2080, Please follow the approach recommended by Kan Li. HAB authentication is performed even when the device is in the Open security configuration, as described in the chapter 9.3.6 "Boot Security Settings" of the RM. Therefore, it is also possible to review the HAB event logs generated by the ROM boot to verify that the HAB authentication process is executing correctly. The main purpose of the shadow registers is to provide a software-accessible representation of the OTP fuse values loaded by the device, as shown the figure 23-1 "OCOTP System Level Block Diagram" of the RM. Regarding the audit logs, I understand that you are referring to the HAB event log generated by the ROM during the boot authentication process. Is my understanding correct? If so, in this community post Gavin Jia explains two methods for observe this log. In particular, the response to question 2 directly addresses the customer's inquiry. BR Habib Re: Testing HAB without burning fuses Yeah, I already went through Kan Li's response, but it does not include anything about the shadow registers. So, my question is simply whether it is possible to use the shadow registers and test them. Regarding the audit logs, I just need them for logging purposes. I understand that using SPT properly will enable us to create HAB successfully.
記事全体を表示
RT1064 オンラインアップグレードプラン 下記は、当製品のハードウェア拡張図です。 1. PCとメインボードはTCPで接続されています 2. メインボードは4つのサブボードに4つのSPIバスを介して接続されており、サブボードの機能は同じです 3. メインボードのUART4は、シリアルポートのスイッチを介して4つのサブボードのうちUART1に切り替えることができます foreverwlh2025_0-1789970732170.png プロジェクトの要件により、 PCは4つのサブボード(RT1064)からTCPまでのファームウェアプログラムをアップグレードする必要があります。ハードウェア拡張に基づいて、上位コンピュータ開発、メインボード開発、サブボード開発の作業負荷を考慮して、サブボードファームウェアのアップグレードに最も簡単な解決策を提供できますか? i.MXRT 106x Re: RT1064 Online Upgrade Plan @foreverwlh2025様、 ご質問ありがとうございます。 推奨されるアプローチ PCはTCPを介してマザーボードと通信します。マザーボードはTCPサーバーとして機能し、UART透過ブリッジを実装しています。メインボード上のUART4はシリアルスイッチチップを経由して選択したサブボードのUART1インターフェースにルーティングされます。サブボードはRT1064 ROMブートローダーを動作させるため、サブボード側で追加のブートローダーやファームウェア開発は不要です。 単一サブボードのアップグレード手順(ステップバイステップ): サブボードNでRESET信号をアサートし、BOOT_MODE[1:0]を01(シリアルダウンローダーモード)に設定する。 シリアルスイッチチップを切り替えてUART4をサブボードNのUART1に接続します リリースRESET — サブボードNがRT1064 ROMブートローダーに入り、UARTコマンドを待つ TCP↔UART4バイト転送を有効にする RESETを切り替えてBOOT_MODEを通常に戻すと、サブボードNが新しいファームウェアで起動します。 シリアルセレクタを次のサブボードに切り替えて繰り返します ハードウェアの前提条件 実装前に、以下のハードウェア条件が満たされていることをご確認ください。 メインボードは、各サブボードのBOOT_MODE[1:0]ピンを独立してGPIO制御できます。 メインボードは、各サブボードのRESETピンを個別にGPIO制御できます。 シリアルスイッチチップはメインボードのGPIOで制御可能で、4つのサブボードすべて間のスイッチングをサポートします ご質問や、導入の詳細についてさらに話し合いたい場合は、お気軽にご連絡ください。 Re: RT1064 Online Upgrade Plan @foreverwlh2025様、 ファームウェアのアップグレードに関するお客様のシナリオに対し、弊社が推奨するソリューションの概要を以下にご説明いたします。 1. PCツール PC側では blhost というオープンソースのコマンドラインクライアントを提供しており、NXPのMCUブートローダープライベートフレーミングプロトコル(BSD/MITライセンス)を実装しています。デバイス側プロトコルはMCUオンチップROMブートローダーによって実装されます。これら2つの機能により、ファームウェアのダウンロードとデバイスの設定が可能になります。 このツールはUSBとUART1に対応していますが、TCPには対応していません。 オープンソースリポジトリ: https://github.com/nxp-mcuxpresso/spsdk blhostとROMブートローダーは独自のフレーミングパケットプロトコルで通信します。ご参照ください: MCU Bootloader v2.5.0 リファレンス・マニュアル(MCUBOOTRM) ファームウェアイメージの生成およびパッケージングについては、NXPのSPSDK(Secure Provisioning SDK)に含まれるnxpimageツールをご利用ください。 2. 推奨ソリューション:マザーボード経由のTCP透過転送 あなたのシナリオ(PC→マザーボード→サブボード)の場合、最小限の手間で済む方法は、マザーボードを透過的なTCP-UARTブリッジとして機能させ、blhostを少し変更してシリアルデータをTCPでラップすることです。 建築: PC (modified blhost) ↓ TCP packet (include original UART byte stream) Main Board (TCP Server) ↓ Unpack and forward to sub-board via UART Sub-board (ROM Bootloader) 主な変更点: blhostトランスポート層の変更:blhostソースコードに新しいTCPトランスポートモジュールを追加します。既存のUARTバイトストリーム(フレーミングパケット)は、送信経路ではそのままTCPパケットにラップされ、受信経路ではアンラップされる。 メインボードはTCPサーバーを実装しています。PCからTCPデータを受信し、ペイロードをバイト単位でUART1経由でサブボードに転送します。サブボードからの応答は、同じ透過的な方法でTCP経由でPCに転送されます。 サブボードに変更は不要です。サブボードMCUは単にISPモードでROMブートローダーが動作し、標準UARTコマンドを待つだけで済みます。 Re: RT1064 Online Upgrade Plan 4. TCP↔UART4バイト転送を有効にする すみません、このデータ伝送のステップのために、追加の上位コンピュータを開発する必要があるのでしょうか?例えば、PCは画像データをどのような形式で送信すべきか、サブボードから返された応答データをどのように解析すべきか、そしてどのように相互作用すべきか、といった点です。
記事全体を表示
Errata document for TJA1103 Is there an errata document for TJA1103? Re: Errata document for TJA1103 Hello naumova Good day! Yes, we do have an errata document, but it is classified as a secure file; therefore, you will need to sign an NDA with us to gain access. Please visit our official website, go to the "Support" section, and select "Support Tickets." There, you can open a case to request access, and you will be directed to the appropriate team. We apologize for any inconvenience this may cause. I hope this information has helped you, please let me know if you need help with anything else. Have a great day and best of luck.
記事全体を表示
RT1064 Online Upgrade Plan The following figure is the hardware expansion diagram of our product: 1.The PC and mainboard are connected via TCP 2.The mainboard is connected to four subboards through four SPI buses, and the functions of the subboards are the same 3.The uart4 of the mainboard can be switched to UART1 of 4 sub boards through a serial port swtich chip foreverwlh2025_0-1789970732170.png Due to project requirements, the PC needs to upgrade the firmware program of four sub boards RT1064 through TCP. Based on hardware expansion, can you help provide the simplest solution for upgrading the sub board firmware (considering the workload of upper computer development, mainboard development, and sub board development) i.MXRT 106x Re: RT1064 Online Upgrade Plan Dear @foreverwlh2025 , Thank you for your questions. Recommended Approach The PC communicates with the mainboard over TCP. The mainboard acts as a TCP server and implements a UART transparent bridge. UART4 on the mainboard is routed through a serial switch chip to the UART1 interface of the selected sub-board. The sub-board runs the RT1064 ROM Bootloader, so no additional bootloader or firmware development is required on the sub-board side. Step-by-step upgrade flow for a single sub-board : Assert RESET on sub-board N; set BOOT_MODE[1:0] = 01 (Serial Downloader mode) Switch the serial switch chip to connect UART4 to sub-board N's UART1 Release RESET — sub-board N enters the RT1064 ROM Bootloader and waits for UART commands Enable TCP↔UART4 byte forwarding Toggle RESET and restore BOOT_MODE to normal — sub-board N boots with the new firmware Switch the serial selector to the next sub-board and repeat Hardware Prerequisites Please confirm the following hardware conditions are in place before implementation: Mainboard has independent GPIO control over each sub-board's BOOT_MODE[1:0] pins Mainboard has independent GPIO control over each sub-board's RESET pin The serial switch chip is controllable by mainboard GPIO and supports switching among all 4 sub-boards Please feel free to reach out if you have any questions or would like to discuss implementation details further. Re: RT1064 Online Upgrade Plan 4.Enable TCP↔UART4 byte forwarding -----Excuse me, do we need to develop an additional upper computer for this step of data transmission? For example, what format should the PC transmit image data in, how should it parse the response data returned by the sub board, and how should it interact Re: RT1064 Online Upgrade Plan Dear @foreverwlh2025 , Please find below a summary of our recommended solution for your firmware upgrade scenario. 1. PC Tool  On the PC side, we provides blhost — an open-source command-line client that implements NXP's MCU Bootloader private framing protocol (BSD/MIT license). The device-side protocol is implemented by the MCU on-chip ROM Bootloader. Together, they enable firmware download and device configuration.  The tool supports USB and UART1, doesn't support TCP. Open-source repository: https://github.com/nxp-mcuxpresso/spsdk blhost and the ROM Bootloader communicate using a proprietary framing packet protocol, please refer to: MCU Bootloader v2.5.0 Reference Manual (MCUBOOTRM) For firmware image generation and packaging, please use the nxpimage tool included in NXP's SPSDK (Secure Provisioning SDK). 2. Recommended Solution: TCP Transparent Forwarding via Mainboard For your scenario (PC→ Mainboard → Sub-board), the minimum-effort approach is to have the mainboard act as a transparent TCP-to-UART bridge, with a small modification to blhost to wrap serial data in TCP: Architecture: PC (modified blhost) ↓ TCP packet (include original UART byte stream) Main Board (TCP Server) ↓ Unpack and forward to sub-board via UART Sub-board (ROM Bootloader) Key modification points: Modify blhost transport layer: Add a new TCP transport module in the blhost source code. The existing UART byte stream (Framing Packets) is wrapped into TCP packets as-is on the send path, and unwrapped on the receive path.  Main board implements a TCP Server: Receives TCP data from the PC, forwards the payload byte-for-byte to the sub-board via UART1; sub-board responses are forwarded back to the PC via TCP in the same transparent manner. Sub-board requires no changes: The sub-board MCU simply needs to be in ISP mode with the ROM Bootloader running, waiting for standard UART commands.
記事全体を表示
Seeking help regarding the rotation issue on the RT1052 display. The screen I purchased is portrait orientation, but I need it to be displayed in landscape mode. I used guiguider to generate the basic display code for the RT1052. And add software rotation disp_drv.sw_rotate= 1; disp_drv.rotated = 1;   Set as single buffer SDK_ALIGN( __attribute__ ((section("lvglDisplayBuffer"))) static uint8_t s_frameBuffer[1][DEMO_FB_SIZE], DEMO_FB_ALIGN); SDK_ALIGN( __attribute__ ((section("lvglDisplayBuffer"))) static uint8_t s_lvglBuffer[DEMO_DB_SIZE], DEMO_FB_ALIGN); The screen displays correctly, but the refresh rate is too slow and doesn't meet my needs.   Set as double buffer SDK_ALIGN( __attribute__((section("lvglDisplayBuffer"))) static uint8_t s_frameBuffer[2][DEMO_FB_SIZE], DEMO_FB_ALIGN); Only the backlight is on; the screen is black. why is that?   #if FB_USE_SRAM static void DEMO_WaitVsync(lv_disp_drv_t *disp_drv) { s_framePending = true; #if defined(SDK_OS_FREE_RTOS) if (xSemaphoreTake(s_frameSema, portMAX_DELAY) != pdTRUE) { PRINTF("Display flush failed\r\n"); assert(0); } #else while (s_framePending) { } #endif } static void copy_area(const lv_area_t *area, lv_color_t *color_p, uint8_t *fb, uint32_t fbStrideBytes) { uint32_t y; uint32_t areaWidth = lv_area_get_width(area); fb += (area->y1 * fbStrideBytes + area->x1 * sizeof(lv_color_t)); for (y = area->y1; y <= area->y2; y++) { lv_memcpy(fb, color_p, areaWidth * sizeof(lv_color_t)); fb += fbStrideBytes; color_p += areaWidth; } } static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) { /* Wait VSYNC for each small update. / DEMO_WaitVsync(disp_drv); /* Copy data from draw buffer to frame buffer./ copy_area(area, color_p, (uint8_t*) s_frameBuffer, LCD_WIDTH * LCD_FB_BYTE_PER_PIXEL); SCB_CleanInvalidateDCache(); lv_disp_flush_ready(disp_drv); } #else static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) { // DCACHE_CleanByRange((uint32_t)color_p, DEMO_FB_SIZE); DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)color_p); s_framePending = true; #if defined(SDK_OS_FREE_RTOS) if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) { /* IMPORTANT!!! * Inform the graphics library that you are ready with the flushing*/ lv_disp_flush_ready(disp_drv); } else { PRINTF("Display flush failed\r\n"); assert(0); } #else while (s_framePending) { } /* IMPORTANT!!! * Inform the graphics library that you are ready with the flushing*/ lv_disp_flush_ready(disp_drv); #endif } #endif i.MXRT 105x Re: 求助关于RT1052显示旋转问题 Hi @dsd , Thank you for your question! First, please check the following LVGL limitations: Screen rotation is not supported when full_refresh=1 is enabled. Please refer to: 1. https://github.com/lvgl/lvgl/issues/4060 2. https://forum.lvgl.io/t/why-cannot-rotate-a-full-refreshed-display/10490/3   Additionally, the RT1050 has hardware PXP support for rotation, which is the more recommended solution. Please refer to: https://docs.nxp.com/bundle/GUIGUIDERUG-1.6.1/page/topics/rotate_screen_and_widgets.html And the PXP rotation-related demo in the SDK.   Best regards, Gavin Re: 求助关于RT1052显示旋转问题 Helllo, When using NXP i.MX RT1052 with Guiguider (LVGL) for screen rotation development, the "slow single-buffer refresh and black screen with double-buffer" problem you encounter is mainly due to the mismatch between software rotation and the hardware ELCDIF controller, double-buffer switching mechanism, and memory address index. Best Regards Re: 求助关于RT1052显示旋转问题 Thank you very much, rotating the PXP drive does work and perfectly solves the problem.
記事全体を表示
Help Required Replacing Default Winbond Flash with Everspin Memory Custom Flash Driver Hello NXP Community, I am working on an i.MX RT1170 EVKB / MIMXRT1176 board and need some guidance regarding replacing the default Winbond external memory with an Everspin EM032LXQADG13IS2T memory device. Current Hardware The board originally uses a Winbond W25Q512 device. I have replaced it with: Everspin EM032LXQADG13IS2T The main issue is that the Everspin memory does not support SFDP, whereas the default Winbond memory supports SFDP. Current Status I have already been able to communicate with the Everspin memory using the i.MX RT1170 FlexSPI interface. The memory is functionally working when the application is running from RAM. In particular: FlexSPI communication with the Everspin memory is working. Memory read/write operations can be performed. The application image (XIP image) can be loaded/programmed into the Everspin memory using a memory write code. The image stored in the Everspin memory can then be accessed/executed successfully. However, I currently cannot flash/program the application directly to the Everspin memory using the normal i.MX RT1170 flash programming. Since the Everspin memory does not support SFDP, I suspect that the default FlexSPI flash driver/configuration used for the Winbond memory cannot automatically identify/configure the Everspin device. I would like to understand the recommended NXP approach for supporting a non-SFDP memory device. I would appreciate guidance on 1. How can I create a custom flash driver for the Everspin EM032LXQADG13IS2T on i.MX RT1170? 2. Is there an existing example of supporting a non-SFDP SPI/QSPI memory with the i.MX RT1170 FlexSPI controller? Boot ROM|Booting | Flash Development Board Re: Help Required Replacing Default Winbond Flash with Everspin Memory Custom Flash Driver Dear @jyothzz , Thank you for your questions. Yes, the MIMXRT1170_SFDP_QSPI.cfx flash driver is the default flash driver used by the RT1170 EVK and the MCUXpresso SDK: ShellyZhang_0-1790052100477.png Currently, there is no existing example of supporting a non-SFDP SPI/QSPI memory with the i.MX RT1170 FlexSPI controller. The flash drivers that are directly supported without customer modification are listed below: ShellyZhang_1-1790052161488.png You may refer to the information below to create a custom flash driver:  1. https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/How-to-create-a-new-Flash-driver-of-the-MCUXPresso-IDE/ta-p/1274718 2. https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/RT1170-flexSPI1-secondary-QSPI-flash-debug-flashdriver/tac-p/1938828 If you have any questions while developing the custom flash driver, please feel free to reach out. Best Regards, Shelly Re: Help Required Replacing Default Winbond Flash with Everspin Memory Custom Flash Driver Hi @ShellyZhang  Thank you For response it was of great help. We have resolved the flash driver issue with the new memory which does not support SFDP. We used the same i.MXRT117x_SFDP_QSPI Driver. We modifying the SFDP part referring to the non-SFDP Driver of i.MXRT1050_QSPI. Then generated a new driver file (.cfx) which worked fine . Once again thanking you for your guidance. Regards, JYOTHISH
記事全体を表示
NXP Config Tools 26.06 for i.MXで保存された設定が読み込まれない こんにちは、 i.MX95用のDDR構成の新しいバージョンを評価していたところ、構成ツールにバグと思われる箇所を発見しました。 私が実際にやったことを、動作を再現できるように具体的に以下の通りです: 1. ツールのLinux版をインストールしました。 2. 新しい構成を作成する。 3. 選択されたプロセッサ MIMX9596xxxxN。 4. プリセットを「LPDDR4X EVK / FRDM 15x15 4000MTs Configuration」に変更しました。 5. 設定を保存し、ツールを閉じる。 6. ツールを再度開き、保存した設定を読み込んだ。 その時点では、DDR構成は全く表示されません。 少なくとも26.03版はMCUを選択していない状態で始まっていました(手動で選択すれば問題が解決します)が、今はこの問題を解決する方法がありません。 ご協力いただき、誠にありがとうございました。 よろしくお願いします、 エマヌエーレ Re: NXP Config Tools 26.06 for i.MX not loading saved configuration また、このツールのWindows版でも同じ問題が発生します。 スクリーンショットを添付しました。 Re: NXP Config Tools 26.06 for i.MX not loading saved configuration こんにちは、 このツールにおけるバグのご報告ありがとうございます。 私の方でも問題点を確認できました。 社内チームに報告し、できるだけ早く解決するよう依頼します。 よろしくお願いいたします。 Re: NXP Config Tools 26.06 for i.MX not loading saved configuration アップデート情報や回避策はありますか?それを使うことは不可能だ Re: NXP Config Tools 26.06 for i.MX not loading saved configuration バージョン26.09をインストールしてテストしてみました。エマヌエーレが挙げた手順と同じ手順に従いましたが、対象はMIMX9529xxxxxです。 不具合の動作は同じで、以前に作成した設定ファイルを読み込むことができません。 Ubuntu 24.04でテスト済み。 よろしくお願いいたします。
記事全体を表示
需要帮助:将默认的 Winbond 闪存替换为 Everspin Memory 自定义闪存驱动程序 NXP社区的各位朋友,大家好! 我正在使用i.MX RT1170 EVKB / MIMXRT1176开发板,需要一些关于将默认的 Winbond 外部存储器替换为Everspin EM032LXQADG13IS2T存储器的指导。 当前硬件 主板原先使用的是Winbond W25Q512设备。我已经将其更换为: Everspin EM032LXQADG13IS2T 主要问题是 Everspin 内存不支持 SFDP ,而默认的 Winbond 内存支持 SFDP。 当前状态 我已经能够使用 i.MX RT1170 FlexSPI 接口与 Everspin 内存进行通信。 当应用程序从 RAM 运行时,内存功能正常。尤其: FlexSPI 与 Everspin 存储器的通信正常。 可以执行内存读/写操作。 可以使用内存写入代码将应用程序映像(XIP 映像)加载/编程到 Everspin 内存中。 然后就可以成功访问/执行存储在 Everspin 内存中的图像。 但是,我目前无法使用正常的 i.MX RT1170 闪存编程将应用程序直接烧录/编程到 Everspin 存储器中。 由于 Everspin 存储器不支持 SFDP,我怀疑 Winbond 存储器使用的默认 FlexSPI 闪存驱动程序/配置无法自动识别/配置 Everspin 设备。 我想了解恩智浦 (NXP) 推荐的对非 SFDP 存储设备的支持方法。 我希望得到一些指导。 1. 如何为 i.MX RT1170 上的 Everspin EM032LXQADG13IS2T 创建自定义闪存驱动程序? 2. 是否有使用 i.MX RT1170 FlexSPI 控制器支持非 SFDP SPI/QSPI 存储器的现有示例? 启动 ROM | 启动配置 | 闪存 开发板 Re: Help Required Replacing Default Winbond Flash with Everspin Memory Custom Flash Driver 亲爱的@jyothzz , 谢谢你的提问。 是的,MIMXRT1170_SFDP_QSPI.cfx 闪存驱动程序是 RT1170 EVK 和 MCUXpresso SDK 使用的默认闪存驱动程序: ShellyZhang_0-1790052100477.png 目前还没有使用 i.MX RT1170 FlexSPI 控制器支持非 SFDP SPI/QSPI 存储器的例子。以下列出了无需用户修改即可直接支持的闪存驱动程序: ShellyZhang_1-1790052161488.png 您可以参考以下信息来创建自定义闪存驱动器: 1. https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/How-to-create-a-new-Flash-driver-of-the-MCUXPresso-IDE/ta-p/1274718 2. https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/RT1170-flexSPI1-secondary-QSPI-flash-debug-flashdriver/tac-p/1938828 如果您在开发自定义闪存驱动程序时有任何疑问,请随时联系我们。 顺祝商祺! 雪莉 Re: Help Required Replacing Default Winbond Flash with Everspin Memory Custom Flash Driver 你好@ShellyZhang 非常感谢您的回复,这对我帮助很大。 我们已经解决了新内存不支持SFDP的闪存驱动程序问题。 我们使用了相同的 i.MXRT117x_SFDP_QSPI 驱动程序。我们正在修改 SFDP 部分,使其与 i.MXRT1050_QSPI 的非 SFDP 驱动程序相关。 然后生成了一个新的驱动程序文件(.cfx),运行正常。 再次感谢您的指导。 问候, 占星术
記事全体を表示
测试 HAB 而不烧断熔丝 我正在研究 IMXRT1024 内核,想在不烧毁熔丝的情况下测试 HAB。根据数据手册,每个熔丝都有自己的影子寄存器,CPU/ROM 会读取该影子寄存器中的信息。 我正在考虑写入这些影子寄存器,并创建一个场景,使启动 ROM 认为板已启用 HAB。但是,由于启动 ROM 执行才刚刚开始,您能否建议是否有办法利用影子寄存器来创建一个测试环境? Q.2 -> 如果在封闭的板上 HAB 认证失败,我该如何获取审计报告? Re: Testing HAB without burning fuses 你好@Abhay2080 , 请参考 Kan Li 在此帖中的回复。它描述了几种无需对熔丝进行编程即可测试 HAB 的方法。 关于你的第二个问题,我强烈建议使用安全配置工具,因为它大大简化了创建启用 HAB 的映像的过程。该工具会自动生成 CSF 并准备映像,以便 HAB 可以在启动序列期间正确对其进行身份验证,因此它是处理此类应用程序的标准工具。您可以按照“启动已验证 (HAB) 映像”流程来实现此目的。 请注意,熔丝烧录只能进行一次,之后处理器只能执行经过认证的镜像。 BR 哈比卜 Re: Testing HAB without burning fuses 是的,我已经看过 Kan Li 的回复了,但是其中没有提到影子注册表。所以,我的问题很简单,就是是否可以使用影子寄存器并对其进行测试。 至于审计日志,我只需要它们用于记录目的。我明白正确使用SPT将使我们能够成功创建HAB。 Re: Testing HAB without burning fuses 你好@Abhay2080 , 请按照 Kan Li 推荐的方法进行操作。即使设备处于开放式网络安全配置中,也会执行 HAB 身份验证,如 RM 的 9.3.6 章“启动网络安全设置”中所述。因此,也可以查看 ROM 启动生成的 HAB 事件日志,以验证 HAB 认证过程是否正确执行。 影子寄存器的主要目的是提供设备加载的 OTP 熔丝值的软件可访问表示,如图 23-1“OCOTP 系统级框图”所示。 关于审计日志,我理解您指的是 ROM 在启动认证过程中生成的 HAB 事件日志。我的理解正确吗?如果是这样,Gavin Jia 在这篇社区帖子中解释了两种查看此日志的方法。特别是,对问题 2 的回答直接回应了客户的询问。 BR 哈比卜
記事全体を表示
RT1052ディスプレイの回転問題について、ご助言をお願いいたします。 購入した画面は縦向きですが、横向きで表示する必要があります。RT1052用の基本的な表示コードを生成するためにguiguiderを使用しました。 さらにソフトウェアローテーションを追加する disp_drv.sw_rotate= 1; disp_drv.rotated = 1;   単一バッファとして設定 SDK_ALIGN( __attribute__ ((section("lvglDisplayBuffer"))) static uint8_t s_frameBuffer[1][DEMO_FB_SIZE], DEMO_FB_ALIGN); SDK_ALIGN( __attribute__ ((section("lvglDisplayBuffer"))) static uint8_t s_lvglBuffer[DEMO_DB_SIZE], DEMO_FB_ALIGN); 画面表示は正しいのですが、リフレッシュレートが遅すぎて私のニーズを満たしていません。   ダブルバッファとして設定 SDK_ALIGN( __attribute__((section("lvglDisplayBuffer"))) static uint8_t s_frameBuffer[2][DEMO_FB_SIZE], DEMO_FB_ALIGN); バックライトだけが点灯しており、画面は真っ暗です。 何故ですか?   #if FB_USE_SRAM static void DEMO_WaitVsync(lv_disp_drv_t *disp_drv) ヤージュ s_framePending = true; #if defined(SDK_OS_FREE_RTOS) if (xSemaphoreTake(s_frameSema, portMAX_DELAY) != pdTRUE) ヤージュ PRINTF("ディスプレイのフラッシュに失敗しました\r\n"); assert(0); } #それ以外 while (s_framePending) ヤージュ } #endif } static void copy_area(const lv_area_t *area, lv_color_t *color_p, uint8_t *fb, uint32_t fbStrideBytes) ヤージュ uint32_t y; uint32_t areaWidth = lv_area_get_width(area); fb += (area->y1 * fbStrideBytes + area->x1 * sizeof(lv_color_t)); for (y = area->y1; y <= area->y2; y++) ヤージュ lv_memcpy(fb, color_p, areaWidth * sizeof(lv_color_t)); fb += fbStrideBytes; color_p += areaWidth; } } static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) ヤージュ /* 各小さな更新ごとに VSYNC を待機します。/ DEMO_WaitVsync(disp_drv); /* ドローバッファからフレームバッファにデータをコピーします。/ copy_area(area, color_p, (uint8_t*) s_frameBuffer, LCD_WIDTH * LCD_FB_BYTE_PER_PIXEL); SCB_CleanInvalidateDCache(); lv_disp_flush_ready(disp_drv); } #それ以外 static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) ヤージュ // DCACHE_CleanByRange((uint32_t)color_p, DEMO_FB_SIZE); DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)color_p); s_framePending = true; #if defined(SDK_OS_FREE_RTOS) if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) ヤージュ /* 重要!!! * グラフィックライブラリに、フラッシュの準備ができたことを通知します */ lv_disp_flush_ready(disp_drv); } それ以外 ヤージュ PRINTF("ディスプレイのフラッシュに失敗しました\r\n"); assert(0); } #それ以外 while (s_framePending) ヤージュ } /* 重要!!! * グラフィックライブラリに、フラッシュの準備ができたことを通知します */ lv_disp_flush_ready(disp_drv); #endif } #endif i.MXRT 105x Re: 求助关于RT1052显示旋转问题 こんにちは、 @dsd さん。 ご質問ありがとうございます! まず、以下のLVGLの制限事項をご確認ください。full_refresh=1が有効になっている場合、画面の回転はサポートされません。詳細は以下を参照してください。 1. https://github.com/lvgl/lvgl/issues/4060 2. https://forum.lvgl.io/t/why-cannot-rotate-a-full-refreshed-display/10490/3   さらに、RT1050は回転のためのハードウェアPXPサポートを備えており、こちらの方が推奨されるソリューションです。詳細については、 https://docs.nxp.com/bundle/GUIGUIDERUG-1.6.1/page/topics/rotate_screen_and_widgets.htmlを参照してください。 SDKにはPXPの回転に関するデモも含まれています。   よろしくお願いします、 ギャビン Re: 求助关于RT1052显示旋转问题 こんにちは、 NXP i.MX RT1052をGuiguider(LVGL)と組み合わせて画面回転の開発に使用する場合、「シングルバッファのリフレッシュが遅く、ダブルバッファを使用すると画面が真っ黒になる」という問題が発生するのは、主にソフトウェアの回転とハードウェアのELCDIFコントローラ、ダブルバッファ切り替えメカニズム、およびメモリアドレスインデックスとの不一致が原因です。 よろしくお願いします Re: 求助关于RT1052显示旋转问题 どうもありがとうございました。PXPドライブを回転させることで問題が解決し、完全に解決しました。
記事全体を表示
MIMXRT1176 ADP – SEGGER J-Link のデバッグの問題 こんにちは、皆さん 現在、 MIMXRT1176 / i.MX RT1170プラットフォーム を使っています 。最初 は MIMXRT1170-EVKB を使って 開発していましたが、現在 は 並列RGBパネルのインターフェース用 に MIMXRT1176-ADP に切り替えました。 ADPボード上でSEGGER J-Linkデバッグを 行う際に問題が発生しています 。 環境: ボード: MIMXRT1176-ADP ボード改訂: 700-51950 REV A1 回路図改訂版: SCH-51950 REV B1 MCUXpresso IDE: v25.6.136 MCUXpresso SDK: v25.09.00 SEGGER J-Link:最新バージョン EVKB では 、 J-LinkとLinkServerの両方が問題なく動作しました 。しかし、ADPでは次の問題が発生しました。 ファームウェアの書き込みに成功しました。 デバッガーはmain()の最初の行に到達しました。 私が 一度 ステップオーバーする と、次の場所で停止します。 デバッグ情報がない、またはプログラムコード外のアドレス「0xdeadbeee」でブレークします。 他の場所にあるブレークポイントは正常に機能し、正しくヒットします。 しかし、 ブレークポイントからの 再開/継続では、 再び 0xDEADBEEE が発生します 。 MIMXRT1176-ADPのMCUXpresso IDEでJ-Linkが完全にサポートされている か 、また特定の J-Linkスクリプト、リセット/デバッグ設定、またはADP固有の初期化 が必要かどうか 、誰か確認していただけます か? これは メモリ構成、外部フラッシュ/SDRAM、あるいは ADPの 起動コード に関連しているのでしょうか? ADP用のJ-Link設定に関するガイダンスや動作確認済みの設定情報があれば、大変ありがたいです。 よろしくお願いします! Re: MIMXRT1176 ADP – SEGGER J-Link debugging issue こんにちは、 @HasanIqbalKhan さん。 ご質問ありがとうございます! 私の知る限り、MCUXpresso IDEでRT1170-ADPを使ってJLinkを使う場合、サポートされるのは「attach」のみで、直接デバッグはサポートされていません。これはおそらくJLinkフラッシュローダーのサポート問題でしょう。IARでは、この問題は解決済みです。ご迷惑をおかけして申し訳ございません。 よろしくお願いします、 ギャビン Re: MIMXRT1176 ADP – SEGGER J-Link debugging issue USB(J33)経由でデバッグを行うことは可能ですか? Re: MIMXRT1176 ADP – SEGGER J-Link debugging issue もう一つ試したのは、外部のMCU-Linkを接続し、MCUXpresso IDEのLinkServer経由でデバッグを試みたことです。 実行はmain関数に到達し、そこからステップ実行できますが、実行を再開しようとすると「アドレス「0x0」でブレークしました。デバッグ情報がありません。またはプログラムコード外です。」というエラーが表示され、また、実行を再開しようとすると「アドレス「0x2230c8」でブレークしました。デバッグ情報がありません。またはプログラムコード外です。」というエラーが表示される場合もあります。 参考までに、私は「MIMXRT1176_dashboard_bt_ble_multiprofile」プロジェクトを実行しようとしています。ボード上のSW1は01に設定され、ボード上のSW5は000000000000に設定されています。 EVKBボードも同じ動作なのでMCU-Linkでテストしてみました。 また、Jlinkは使えないと思います。彼らのウェブサイトにはADPボードが使っているオクタルフラッシュのサポートがないと明記されているからです。 ありがとう。 Re: MIMXRT1176 ADP – SEGGER J-Link debugging issue こんにちは、 @HasanIqbalKhan さん。 1. J33はUSB-OTG1で、デバッグには使用できません。 2. JLinkがオクタルフラッシュをサポートしていないわけではありません。ただデフォルトではEVK/EVKBのフラッシュのみを認識しているだけです。IARに関しては、対応するダウンロードアルゴリズムが提供されているため、このような対応が可能となっています。このテーマに興味があれば、RT-UFLプロジェクトを参照してください。 3. 現在のデバッガ/IDEサポートに関する情報は、AN14387: を参照してください https://docs.nxp.com/bundle/AN14378/page/topics/download_images_to_ADP_board.html よろしくお願いします、 ギャビン
記事全体を表示
VFIO_FLS_MC: reset device has failed LX2160 : I am getting below error while running my application. After reboot works fine . Next time same error again. This problem seen if i configure as below  #export DPIO_COUNT=20 set -x #export DPIO_COUNT=10 # ls-listni #to check if 40G is enabled or not #Remove 40G port if it is enabled (40G=dpmac.2) echo dpni.1 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind restool dpni destroy dpni.1 echo 0 > /proc/sys/kernel/randomize_va_space #export DPIO_COUNT=20 export DPMCP_COUNT=3 export FS_ENTRIES=12 #/usr/local/dpdk/dpaa2/dynamic_dpl.sh dpmac.3 /usr/local/dpdk/dpaa2/dynamic_dpl.sh dpni dpni -b 00:00:00:00:05:00 # dpni.1 00:00:00:00:05:01 # dpni.2 00:00:00:00:05:02 ls-addni --no-link #eth0 dpni.3 ls-addni --no-link #eth2 dpni.4 #/////OUTPUT///////// # Unbinding dprc.2 from VFIO echo dprc.2 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/unbind #dpn.2 is the output of dynamicdpl.sh #dpni.1 dpmac.4 -Dynamic- # #restool dprc disconnect dprc.2 --endpoint=dpni.1 restool dpdmux create --num-ifs=3 --method DPDMUX_METHOD_MAC --max-dmat-entries=3 --manip=DPDMUX_MANIP_NONE restool dprc connect dprc.1 --endpoint1=dpmac.3 --endpoint2=dpdmux.0.0 restool dprc connect dprc.1 --endpoint1=dpni.1 --endpoint2=dpdmux.0.1 restool dprc connect dprc.1 --endpoint1=dpni.3 --endpoint2=dpdmux.0.2 restool dpdmux create --num-ifs=3 --method DPDMUX_METHOD_MAC --max-dmat-entries=3 --manip=DPDMUX_MANIP_NONE restool dprc connect dprc.1 --endpoint1=dpmac.4 --endpoint2=dpdmux.1.0 restool dprc connect dprc.1 --endpoint1=dpni.2 --endpoint2=dpdmux.1.1 restool dprc connect dprc.1 --endpoint1=dpni.4 --endpoint2=dpdmux.1.2 #echo dprc.2 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/bind # Bind the DPRC back to VFIO echo dprc.2 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/bind # Export the DPRC export DPRC=dprc.2 [ 3103.545665] vfio-fsl-mc dprc.2: VFIO_FLS_MC: reset device has failed (-13) [ 3103.545690] ------------[ cut here ]------------ [ 3103.545701] WARNING: CPU: 2 PID: 3644 at drivers/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.545703] Modules linked in: libdes mali_dp [ 3103.545715] CPU: 2 PID: 3644 Comm: gnb_du_layer2 Not tainted 5.10.35 #5 [ 3103.545717] Hardware name: NXP Layerscape LX2160ARDB (DT) [ 3103.545721] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.545724] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.545727] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.545729] sp : ffff800012ef3c90 [ 3103.545731] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.545735] x27: 0000000000000000 x26: 0000000000000000 [ 3103.545740] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.545745] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.545749] x21: ffff0e7d1edc7800 x20: ffff0e7d3d39f040 [ 3103.545754] x19: ffff0e7d1d71db80 x18: 0000000000000001 [ 3103.545758] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.545763] x15: ffff0e7d3d39f040 x14: 00000000000007dd [ 3103.545767] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.545771] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.545776] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.545781] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.545785] x5 : 0000000000000000 x4 : ffff0e83fc27d860 [ 3103.545789] x3 : ffff0e83fc284770 x2 : 0000000000000000 [ 3103.545793] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.545798] Call trace: [ 3103.545802] vfio_fsl_mc_release+0xdc/0x190 [ 3103.545806] vfio_device_fops_release+0x24/0x48 [ 3103.545811] __fput+0x78/0x230 [ 3103.545814] ____fput+0x10/0x20 [ 3103.545818] task_work_run+0x80/0x140 [ 3103.545821] do_exit+0x324/0xa08 [ 3103.545824] do_group_exit+0x44/0xa0 [ 3103.545826] __wake_up_parent+0x0/0x30 [ 3103.545831] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.545834] do_el0_svc+0x24/0x90 [ 3103.545839] el0_svc+0x14/0x20 [ 3103.545841] el0_sync_handler+0xb0/0xb8 [ 3103.545845] el0_sync+0x178/0x180 [ 3103.545847] ---[ end trace d15991a0fbaef713 ]--- [ 3103.546381] vfio-fsl-mc dprc.2: VFIO_FLS_MC: reset device has failed (-13) [ 3103.546399] ------------[ cut here ]------------ [ 3103.546406] WARNING: CPU: 2 PID: 3644 at drivers/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.546411] Modules linked in: libdes mali_dp [ 3103.546430] CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: G W 5.10.35 #5 [ 3103.546435] Hardware name: NXP Layerscape LX2160ARDB (DT) [ 3103.546441] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.546447] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.546453] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.546458] sp : ffff800012ef3c90 [ 3103.546462] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.546466] x27: 0000000000000000 x26: 0000000000000000 [ 3103.546471] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.546475] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.546479] x21: ffff0e7d02d77000 x20: ffff0e7d3d39f040 [ 3103.546484] x19: ffff0e7d1dc13480 x18: ffffb28536ab3470 [ 3103.546488] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.546492] x15: ffff0e7d3d39f040 x14: 0000000000000805 [ 3103.546497] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.546501] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.546506] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.546510] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.546514] x5 : 0000000000000000 x4 : ffff0e83fc27d860 [ 3103.546518] x3 : ffff0e83fc284770 x2 : 0000000000000000 [ 3103.546522] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.546527] Call trace: [ 3103.546529] vfio_fsl_mc_release+0xdc/0x190 [ 3103.546532] vfio_device_fops_release+0x24/0x48 [ 3103.546536] __fput+0x78/0x230 [ 3103.546539] ____fput+0x10/0x20 [ 3103.546541] task_work_run+0x80/0x140 [ 3103.546544] do_exit+0x324/0xa08 [ 3103.546546] do_group_exit+0x44/0xa0 [ 3103.546548] __wake_up_parent+0x0/0x30 [ 3103.546552] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.546555] do_el0_svc+0x24/0x90 [ 3103.546557] el0_svc+0x14/0x20 [ 3103.546559] el0_sync_handler+0xb0/0xb8 [ 3103.546562] el0_sync+0x178/0x180 [ 3103.546564] ---[ end trace d15991a0fbaef714 ]--- [ 3103.547072] vfio-fsl-mc dprc.2: VFIO_FLS_MC: reset device has failed (-13) [ 3103.547086] ------------[ cut here ]------------ [ 3103.547090] WARNING: CPU: 2 PID: 3644 at drivers/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.547091] Modules linked in: libdes mali_dp [ 3103.547098] CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: G W 5.10.35 #5 [ 3103.547100] Hardware name: NXP Layerscape LX2160ARDB (DT) [ 3103.547103] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.547105] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.547107] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.547109] sp : ffff800012ef3c90 [ 3103.547111] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.547116] x27: 0000000000000000 x26: 0000000000000000 [ 3103.547120] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.547125] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.547129] x21: ffff0e7d02d32000 x20: ffff0e7d3d39f040 [ 3103.547133] x19: ffff0e7d1dc13d80 x18: ffffb28536ab3470 [ 3103.547138] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.547142] x15: ffff0e7d3d39f040 x14: 000000000000082d [ 3103.547146] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.547151] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.547155] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.547159] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.547164] x5 : ffff0e83fc27d860 x4 : 0000000000000000 [ 3103.547168] x3 : 0000000000000027 x2 : 0000000000000000 [ 3103.547172] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.547176] Call trace: [ 3103.547179] vfio_fsl_mc_release+0xdc/0x190 [ 3103.547182] vfio_device_fops_release+0x24/0x48 [ 3103.547185] __fput+0x78/0x230 [ 3103.547188] ____fput+0x10/0x20 [ 3103.547190] task_work_run+0x80/0x140 [ 3103.547193] do_exit+0x324/0xa08 [ 3103.547195] do_group_exit+0x44/0xa0 [ 3103.547198] __wake_up_parent+0x0/0x30 [ 3103.547201] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.547204] do_el0_svc+0x24/0x90 [ 3103.547207] el0_svc+0x14/0x20 [ 3103.547209] el0_sync_handler+0xb0/0xb8 [ 3103.547211] el0_sync+0x178/0x180 [ 3103.547213] ---[ end trace d15991a0fbaef715 ]--- [ 3103.547721] vfio-fsl-mc dprc.2: VFIO_FLS_MC: reset device has failed (-13) [ 3103.547735] ------------[ cut here ]------------ [ 3103.547739] WARNING: CPU: 2 PID: 3644 at drivers/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.547740] Modules linked in: libdes mali_dp [ 3103.547748] CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: G W 5.10.35 #5 [ 3103.547750] Hardware name: NXP Layerscape LX2160ARDB (DT) [ 3103.547752] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.547755] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.547757] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.547759] sp : ffff800012ef3c90 [ 3103.547761] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.547765] x27: 0000000000000000 x26: 0000000000000000 [ 3103.547770] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.547777] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.547781] x21: ffff0e7d1e989000 x20: ffff0e7d3d39f040 [ 3103.547785] x19: ffff0e7d1dcc6680 x18: ffffb28536ab3470 [ 3103.547790] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.547794] x15: ffff0e7d3d39f040 x14: 0000000000000855 [ 3103.547798] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.547802] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.547807] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.547812] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.547819] x5 : ffff0e83fc27d860 x4 : 0000000000000000 [ 3103.547823] x3 : 0000000000000027 x2 : 0000000000000000 [ 3103.547827] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.547831] Call trace: [ 3103.547834] vfio_fsl_mc_release+0xdc/0x190 [ 3103.547837] vfio_device_fops_release+0x24/0x48 [ 3103.547840] __fput+0x78/0x230 [ 3103.547843] ____fput+0x10/0x20 [ 3103.547845] task_work_run+0x80/0x140 [ 3103.547848] do_exit+0x324/0xa08 [ 3103.547850] do_group_exit+0x44/0xa0 [ 3103.547853] __wake_up_parent+0x0/0x30 [ 3103.547858] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.547861] do_el0_svc+0x24/0x90 [ 3103.547864] el0_svc+0x14/0x20 [ 3103.547866] el0_sync_handler+0xb0/0xb8 [ 3103.547868] el0_sync+0x178/0x180 [ 3103.547870] ---[ end trace d15991a0fbaef716 ]--- [ 3103.548378] vfio-fsl-mc dprc.2: VFIO_FLS_MC: reset device has failed (-13) [ 3103.548392] ------------[ cut here ]------------ [ 3103.548395] WARNING: CPU: 2 PID: 3644 at drivers/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.548397] Modules linked in: libdes mali_dp [ 3103.548404] CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: G W 5.10.35 #5 [ 3103.548406] Hardware name: NXP Layerscape LX2160ARDB (DT) [ 3103.548408] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.548411] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.548413] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.548415] sp : ffff800012ef3c90 [ 3103.548417] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.548421] x27: 0000000000000000 x26: 0000000000000000 [ 3103.548426] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.548430] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.548437] x21: ffff0e7d1ea4e000 x20: ffff0e7d3d39f040 [ 3103.548442] x19: ffff0e7d1dcc6f80 x18: ffffb28536ab3470 [ 3103.548446] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.548450] x15: ffff0e7d3d39f040 x14: 000000000000087d [ 3103.548455] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.548459] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.548464] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.548468] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.548472] x5 : ffff0e83fc27d860 x4 : 0000000000000000 [ 3103.548479] x3 : 0000000000000027 x2 : 0000000000000000 [ 3103.548483] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.548488] Call trace: [ 3103.548490] vfio_fsl_mc_release+0xdc/0x190 [ 3103.548493] vfio_device_fops_release+0x24/0x48 [ 3103.548497] __fput+0x78/0x230 [ 3103.548500] ____fput+0x10/0x20 [ 3103.548502] task_work_run+0x80/0x140 [ 3103.548505] do_exit+0x324/0xa08 [ 3103.548507] do_group_exit+0x44/0xa0 [ 3103.548509] __wake_up_parent+0x0/0x30 [ 3103.548513] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.548516] do_el0_svc+0x24/0x90 [ 3103.548519] el0_svc+0x14/0x20 [ 3103.548523] el0_sync_handler+0xb0/0xb8 [ 3103.548526] el0_sync+0x178/0x180 [ 3103.548528] ---[ end trace d15991a0fbaef717 ]--- [ 3103.549035] vfio-fsl-mc dprc.2: VFIO_FLS_MC: reset device has failed (-13) [ 3103.549049] ------------[ cut here ]------------ [ 3103.549052] WARNING: CPU: 2 PID: 3644 at drivers/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.549054] Modules linked in: libdes mali_dp [ 3103.549060] CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: G W 5.10.35 #5 [ 3103.549062] Hardware name: NXP Layerscape LX2160ARDB (DT) [ 3103.549065] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.549067] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.549069] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.549071] sp : ffff800012ef3c90 [ 3103.549073] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.549077] x27: 0000000000000000 x26: 0000000000000000 [ 3103.549082] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.549086] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.549090] x21: ffff0e7d1dd80000 x20: ffff0e7d3d39f040 [ 3103.549094] x19: ffff0e7d1dc09880 x18: ffffb28536ab3470 [ 3103.549098] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.549103] x15: ffff0e7d3d39f040 x14: 00000000000008a5 [ 3103.549107] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.549111] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.549116] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.549120] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.549124] x5 : ffff0e83fc27d860 x4 : 0000000000000000 [ 3103.549129] x3 : 0000000000000027 x2 : 0000000000000000 [ 3103.549133] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.549137] Call trace: [ 3103.549139] vfio_fsl_mc_release+0xdc/0x190 [ 3103.549142] vfio_device_fops_release+0x24/0x48 [ 3103.549145] __fput+0x78/0x230 [ 3103.549148] ____fput+0x10/0x20 [ 3103.549151] task_work_run+0x80/0x140 [ 3103.549153] do_exit+0x324/0xa08 [ 3103.549155] do_group_exit+0x44/0xa0 [ 3103.549158] __wake_up_parent+0x0/0x30 [ 3103.549161] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.549164] do_el0_svc+0x24/0x90 [ 3103.549166] el0_svc+0x14/0x20 [ 3103.549168] el0_sync_handler+0xb0/0xb8 [ 3103.549171] el0_sync+0x178/0x180 [ 3103.549172] ---[ end trace d15991a0fbaef718 ]--- [ 3103.549679] vfio-fsl-mc dprc.2: VFIO_FLS_MC: reset device has failed (-13) [ 3103.549693] ------------[ cut here ]------------ [ 3103.549699] WARNING: CPU: 2 PID: 3644 at drivers/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.549701] Modules linked in: libdes mali_dp [ 3103.549708] CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: G W 5.10.35 #5 [ 3103.549710] Hardware name: NXP Layerscape LX2160ARDB (DT) [ 3103.549712] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.549715] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.549717] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.549718] sp : ffff800012ef3c90 [ 3103.549720] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.549725] x27: 0000000000000000 x26: 0000000000000000 [ 3103.549729] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.549733] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.549738] x21: ffff0e7d1dd9dc00 x20: ffff0e7d3d39f040 [ 3103.549744] x19: ffff0e7d1d6adc80 x18: ffffb28536ab3470 [ 3103.549749] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.549753] x15: ffff0e7d3d39f040 x14: 00000000000008cd [ 3103.549757] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.549762] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.549766] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.549771] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.549775] x5 : ffff0e83fc27d860 x4 : 0000000000000000 [ 3103.549782] x3 : 0000000000000027 x2 : 0000000000000000 [ 3103.549786] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.549790] Call trace: [ 3103.549792] vfio_fsl_mc_release+0xdc/0x190 [ 3103.549795] vfio_device_fops_release+0x24/0x48 [ 3103.549798] __fput+0x78/0x230 [ 3103.549801] ____fput+0x10/0x20 [ 3103.549804] task_work_run+0x80/0x140 [ 3103.549806] do_exit+0x324/0xa08 [ 3103.549809] do_group_exit+0x44/0xa0 [ 3103.549811] __wake_up_parent+0x0/0x30 [ 3103.549814] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.549818] do_el0_svc+0x24/0x90 [ 3103.549822] el0_svc+0x14/0x20 [ 3103.549824] el0_sync_handler+0xb0/0xb8 [ 3103.549827] el0_sync+0x178/0x180 [ 3103.549829] ---[ end trace d15991a0fbaef719 ]--- [ 3103.550346] vfio-fsl-mc dprc.2: VFIO_FLS_MC: reset device has failed (-13) [ 3103.550360] ------------[ cut here ]------------ [ 3103.550368] WARNING: CPU: 2 PID: 3644 at drivers/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.550373] Modules linked in: libdes mali_dp [ 3103.550393] CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: G W 5.10.35 #5 [ 3103.550398] Hardware name: NXP Layerscape LX2160ARDB (DT) [ 3103.550404] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.550410] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.550416] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.550420] sp : ffff800012ef3c90 [ 3103.550426] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.550432] x27: 0000000000000000 x26: 0000000000000000 [ 3103.550437] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.550441] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.550456] x21: ffff0e7d1ee17800 x20: ffff0e7d3d39f040 [ 3103.550469] x19: ffff0e7d1dc81580 x18: ffffb28536ab3470 [ 3103.550483] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.550496] x15: ffff0e7d3d39f040 x14: 00000000000008f5 [ 3103.550510] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.550523] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.550536] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.550549] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.550564] x5 : 0000000000000000 x4 : ffff0e83fc27d860 [ 3103.550577] x3 : ffff0e83fc284770 x2 : 0000000000000000 [ 3103.550587] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.550591] Call trace: [ 3103.550594] vfio_fsl_mc_release+0xdc/0x190 [ 3103.550597] vfio_device_fops_release+0x24/0x48 [ 3103.550600] __fput+0x78/0x230 [ 3103.550603] ____fput+0x10/0x20 [ 3103.550605] task_work_run+0x80/0x140 [ 3103.550608] do_exit+0x324/0xa08 [ 3103.550610] do_group_exit+0x44/0xa0 [ 3103.550612] __wake_up_parent+0x0/0x30 [ 3103.550616] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.550618] do_el0_svc+0x24/0x90 [ 3103.550621] el0_svc+0x14/0x20 [ 3103.550623] el0_sync_handler+0xb0/0xb8 [ 3103.550626] el0_sync+0x178/0x180 [ 3103.550628] ---[ end trace d15991a0fbaef71a ]--- [ 3103.551136] vfio-fsl-mc dprc.2: VFIO_FLS_MC: reset device has failed (-13) Re: VFIO_FLS_MC: reset device has failed Thanks @Bio_TICFSL  I will execute and confirm  Re: VFIO_FLS_MC: reset device has failed Hello, The core problem is a missing restool dprc assign step in your setup script. Your script: Creates dpdmux.0 and dpdmux.1 under dprc.1 (the root container). Connects dpni.1 / dpni.2 (which reside inside dprc.2 , the VFIO container) to those DPDMUX interfaces. Binds dprc.2 to the VFIO driver. When the application exits, the VFIO driver attempts to reset all objects inside dprc.2 . However, dpni.1 / dpni.2 are still externally connected to dpdmux.0 / dpdmux.1 objects that live in dprc.1 . The MC firmware cannot cleanly reset the container because of these cross-container connections it doesn't have authority over → returns -13 (permission denied). Why it works after reboot: After a cold boot, the DPAA2 objects are in a clean initial state. The first run succeeds. But on exit, the DPDMUX connections are not properly torn down, leaving the MC in a partial state. On the next run (without reboot), the container reset fails again. Fix: Add restool dprc assign for DPDMUX Objects The DPDMUX objects must be assigned into dprc.2 before binding to VFIO. This tells the MC that these objects are owned by the VFIO container and can be reset when the container is released. Insert the following lines after creating/connecting the DPDMUX objects and before rebinding dprc.2 to VFIO: # Assign dpdmux objects into dprc.2 so VFIO can reset them cleanly restool dprc assign dprc.1 --object=dpdmux.0 --child=dprc.2 --plugged=1 restool dprc assign dprc.1 --object=dpdmux.1 --child=dprc.2 --plugged=1 # Now bind dprc.2 back to VFIO echo dprc.2 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/bind export DPRC=dprc.2   Your corrected script section should look like: # Unbind dprc.2 from VFIO echo dprc.2 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/unbind # Create and connect DPDMUX for port dpmac.3 restool dpdmux create --num-ifs=3 --method DPDMUX_METHOD_MAC --max-dmat-entries=3 --manip=DPDMUX_MANIP_NONE restool dprc connect dprc.1 --endpoint1=dpmac.3 --endpoint2=dpdmux.0.0 restool dprc connect dprc.1 --endpoint1=dpni.1 --endpoint2=dpdmux.0.1 restool dprc connect dprc.1 --endpoint1=dpni.3 --endpoint2=dpdmux.0.2 # Create and connect DPDMUX for port dpmac.4 restool dpdmux create --num-ifs=3 --method DPDMUX_METHOD_MAC --max-dmat-entries=3 --manip=DPDMUX_MANIP_NONE restool dprc connect dprc.1 --endpoint1=dpmac.4 --endpoint2=dpdmux.1.0 restool dprc connect dprc.1 --endpoint1=dpni.2 --endpoint2=dpdmux.1.1 restool dprc connect dprc.1 --endpoint1=dpni.4 --endpoint2=dpdmux.1.2 # *** KEY FIX: Assign dpdmux objects to dprc.2 so VFIO can reset them *** restool dprc assign dprc.1 --object=dpdmux.0 --child=dprc.2 --plugged=1 restool dprc assign dprc.1 --object=dpdmux.1 --child=dprc.2 --plugged=1 # Bind dprc.2 back to VFIO echo dprc.2 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/bind export DPRC=dprc.2   Additional Recommendations Update MC firmware to the latest version for your BSP  Proper teardown between runs (without reboot): Before re-running your setup script, destroy the previously created DPDMUX objects to ensure a clean state: restool dpdmux destroy dpdmux.0 restool dpdmux destroy dpdmux.1     Check MC console log at /dev/dpaa2_mc_console for additional firmware-level error details that may accompany the -13 error. Regards
記事全体を表示
デフォルトのWinbond FlashをEverspin Memory Custom Flash Driverに置き換えるための助けが必要です こんにちは、NXPコミュニティの皆さん、 私は i.MX RT1170 EVKB / MIMXRT1176 ボード を扱っており 、デフォルトのWinbond外部メモリを Everspin EM032LXQADG13IS2T メモリデバイス に交換する方法についてアドバイスが必要です 。 現在のハードウェア この基板は元々 Winbond W25Q512というデバイスを使用していましたが、私はそれを以下のデバイスに交換しました。 Everspin EM032LXQADG13IS2T 主な問題は、Everspinメモリが SFDPをサポートしていないのに対し、デフォルトのWinbondメモリはSFDPに対応していることです。 現在の状況 すでに i.MX RT1170 FlexSPIインターフェースを使ってEverspinメモリと通信できています。 アプリケーションがRAMから動作している間は、メモリは機能的に動作しています。特に: Everspin製メモリとのFlexSPI通信は正常に動作しています。 メモリの読み書き操作も可能です。 アプリケーションイメージ(XIPイメージ)はメモリ書き込みコードを使ってEverspinメモリにロード・プログラムできます。 Everspinメモリに保存されたイメージは、正常にアクセス・実行可能です。 しかし、 通常のRT1170フラッシュプログラミングでは、アプリケーションを直接Everspinメモリにフラッシュ・プログラムすることはできません i.MX。 EverspinメモリはSFDPをサポートしていないため、Winbondメモリに使われているデフォルトのFlexSPIフラッシュドライバー/設定ではEverspinデバイスを自動的に識別・設定できないのではないかと疑っています。 SFDP以外のメモリデバイスをサポートするためのNXPの推奨アプローチについて理解を深めたい。 アドバイスをいただければ幸いです。 1. RT1170のEverspin EM032LXQADG13IS2T用のカスタムフラッシュドライバー i.MX どうやって作成できますか? 2. i.MX RT1170 FlexSPIコントローラで非SFDPのSPI/QSPIメモリをサポートする既存の例はありますか? ブートROM|ブート|フラッシュ 開発ボード Re: Help Required Replacing Default Winbond Flash with Everspin Memory Custom Flash Driver @jyothzz様、 ご質問ありがとうございます。 はい、MIMXRT1170_SFDP_QSPI.cfxフラッシュドライバーはRT1170 EVKおよびMCUXpresso SDKで使われているデフォルトのフラッシュドライバーです: ShellyZhang_0-1790052100477.png 現在、i.MX RT1170 FlexSPIコントローラで非SFDP SPI/QSPIメモリをサポートする例は存在しません。顧客の修正なしで直接サポートされているフラッシュドライバーは以下の通りです: ShellyZhang_1-1790052161488.png カスタムフラッシュドライバーを作成するには、以下の情報を参照してください: 1. https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/How-to-create-a-new-Flash-driver-of-the-MCUXPresso-IDE/ta-p/1274718 2. https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/RT1170-flexSPI1-secondary-QSPI-flash-debug-flashdriver/tac-p/1938828 カスタムフラッシュドライバーの開発中にご質問があれば、どうぞお気軽にお問い合わせください。 よろしくお願いいたします。 シェリー Re: Help Required Replacing Default Winbond Flash with Everspin Memory Custom Flash Driver こんにちは、 @ShellyZhang さん。 ご回答ありがとうございました。大変参考になりました。 新しいメモリでSFDPをサポートしていないフラッシュドライバーの問題は解決しました。 同じi.MXRT117x_SFDP_QSPIドライバを使っていました。SFDPの部分はi.MXRT1050_QSPIの非SFDPドライバーを指しています。 その後、新しいドライバーファイル(.cfx)を生成し、問題なく動作しました。 改めて、ご指導いただきありがとうございました。 よろしくお願いいたします。 ジョーティッシュ
記事全体を表示
jailhouse DTS for 9x9 imx.93 Hi - Do you provide DTS files for jailhouse on the 9x9 imx.93?  I can only find ones for the 11x11. Thanks David Re: jailhouse DTS for 9x9 imx.93 Hello, This device tree will be included in the next BSP release. // SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright 2023 NXP */ /dts-v1/; #include / { model = "NXP i.MX93 9x9 QSB"; compatible = "fsl,imx93-9x9-qsb", "fsl,imx93"; interrupt-parent = <&gic>; #address-cells = <2>; #size-cells = <2>; aliases { mmc0 = &usdhc1; serial1 = &lpuart2; }; cpus { #address-cells = <1>; #size-cells = <0>; A55_0: cpu@0 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x0>; enable-method = "psci"; #cooling-cells = <2>; }; }; psci { compatible = "arm,psci-1.0"; method = "smc"; }; gic: interrupt-controller@48000000 { compatible = "arm,gic-v3"; reg = <0 0x48000000 0 0x10000>, <0 0x48040000 0 0xc0000>; #interrupt-cells = <3>; interrupt-controller; interrupts = ; interrupt-parent = <&gic>; }; timer { compatible = "arm,armv8-timer"; interrupts = , , , ; clock-frequency = <24000000>; }; clk_dummy: clock-dummy { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <0>; clock-output-names = "clk_dummy"; }; clk_400m: clock-400m { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <200000000>; clock-output-names = "200m"; }; osc_24m: clock-osc-24m { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; clock-output-names = "osc_24m"; }; pci@fd700000 { compatible = "pci-host-ecam-generic"; device_type = "pci"; bus-range = <0 0>; #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &gic GIC_SPI 227 IRQ_TYPE_EDGE_RISING>, <0 0 0 2 &gic GIC_SPI 228 IRQ_TYPE_EDGE_RISING>, <0 0 0 3 &gic GIC_SPI 229 IRQ_TYPE_EDGE_RISING>, <0 0 0 4 &gic GIC_SPI 230 IRQ_TYPE_EDGE_RISING>; reg = <0x0 0xfd700000 0x0 0x100000>; ranges = <0x02000000 0x00 0x10000000 0x0 0x10000000 0x00 0x10000>; }; soc@0 { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x0 0x0 0x80000000>, <0x28000000 0x0 0x28000000 0x10000000>; aips1: bus@44000000 { compatible = "fsl,aips-bus", "simple-bus"; reg = <0x44000000 0x800000>; #address-cells = <1>; #size-cells = <1>; ranges; lpuart2: serial@44390000 { compatible = "fsl,imx93-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; reg = <0x44390000 0x1000>; interrupts = ; status = "disabled"; }; }; aips3: bus@42800000 { compatible = "fsl,aips-bus", "simple-bus"; reg = <0x42800000 0x800000>; #address-cells = <1>; #size-cells = <1>; ranges; usdhc1: mmc@42850000 { compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc"; reg = <0x42850000 0x10000>; interrupts = ; fsl,tuning-start-tap = <20>; fsl,tuning-step= <2>; status = "disabled"; }; }; }; }; &lpuart2 { clocks = <&osc_24m>; clock-names = "ipg"; status = "okay"; }; &usdhc1 { clocks = <&clk_dummy>, <&clk_dummy>, <&clk_400m>; clock-names = "ipg", "ahb", "per"; bus-width = <8>; non-removable; status = "okay"; }; Best regards. Re: jailhouse DTS for 9x9 imx.93 do you also have the matching root cell config file for qsb jailhouse on the 9x9? thanks
記事全体を表示
MIMXRT1176 ADP – SEGGER J-Link debugging issue Hi everyone, I am currently working with the MIMXRT1176 / i.MX RT1170 platform. I initially used the MIMXRT1170-EVKB for development, but have now shifted to the MIMXRT1176-ADP for interfacing a parallel RGB panel. I am facing an issue with SEGGER J-Link debugging on the ADP board. Environment: Board: MIMXRT1176-ADP Board revision: 700-51950 REV A1 Schematic revision: SCH-51950 REV B1 MCUXpresso IDE: v25.6.136 MCUXpresso SDK: v25.09.00 SEGGER J-Link: latest version On the EVKB, both J-Link and LinkServer worked without any issues. However, on the ADP: Firmware flashes successfully. Debugger reaches the first line of main(). If I Step Over once, it stops at: Break at address "0xdeadbeee" with no debug information available, or outside of program code. Breakpoints at other locations work and are hit correctly. However, Resume/Continue from a breakpoint again results in 0xDEADBEEE. Could someone please confirm whether J-Link is fully supported with MCUXpresso IDE on the MIMXRT1176-ADP, and whether there is any specific J-Link script, reset/debug configuration, or ADP-specific initialization required? Could this be related to the memory configuration, external flash/SDRAM, or startup code on the ADP? Any guidance or working J-Link configuration for the ADP would be greatly appreciated. Thanks! Re: MIMXRT1176 ADP – SEGGER J-Link debugging issue Hi @HasanIqbalKhan , Thanks for your questions! As far as I know, when using JLink with the RT1170-ADP in MCUXpresso IDE, only "attach" is supported while direct debugging is not supported. This is likely a support issue with the JLink flashloader. In IAR, this issue has been resolved. We apologize for any inconvenience this may cause. Best regards, Gavin Re: MIMXRT1176 ADP – SEGGER J-Link debugging issue One more thing I tried, I connected an external MCU-Link and then tried debugging via the LinkServer in MCUXpresso IDE. The Execution reached main, I am able to step through from there, but when I try to resume execution it gives "Break at address "0x0" with no debug information available, or outside of program code.", and sometimes when I try to restart execution, it gives "Break at address "0x2230c8" with no debug information available, or outside of program code." For reference I am trying to run the "MIMXRT1176_dashboard_bt_ble_multiprofile" project, SW1 on the board is set to 01 and SW5 on the board is set to 000000000000. I tried to test with MCU-Link because the EVKB board uses the same and works fine. Also I do not think we can use Jlink, as it is clearly mentioned on their website that there is no support for octal flash, which the ADP board uses. Thanks. Re: MIMXRT1176 ADP – SEGGER J-Link debugging issue Is it possible to use debug via USB (J33) ? Re: MIMXRT1176 ADP – SEGGER J-Link debugging issue Hi @HasanIqbalKhan , 1. J33 is USB-OTG1 and cannot be used for debugging.  2. It’s not that JLink doesn’t support Octal Flash; it’s just that by default, it only recognizes the flash found on the EVK/EVKB. As for IAR, this is because a corresponding download algorithm is provided. If you’re interested in this topic, you can refer to the RT-UFL project. 3. For information on current debugger/IDE support, please refer to: AN14387: https://docs.nxp.com/bundle/AN14378/page/topics/download_images_to_ADP_board.html Best regards, Gavin
記事全体を表示
TJA1103 的勘误表 TJA1103 是否有勘误表? Re: Errata document for TJA1103 你好 naumova 再会! 是的,我们确实有一份勘误表,但它被列为安全文件;因此,您需要与我们签署保密协议才能访问。 请访问我们的官方网站,进入“支持”部分,然后选择“支持工单”。您可以在那里提交申请以请求访问权限,然后您将被转接到相应的团队。 对于可能由此导致的不便,我们深感抱歉。 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你今天过得愉快,一切顺利。
記事全体を表示
VFIO_FLS_MC: デバイスのリセットに失敗しました LX2160 : アプリケーションを実行しているときにエラーを下回っています。 再起動後は正常に動作します。次回も同じエラーが発生します。以下のように設定すると、この問題が発生します。 #export DPIO_COUNT=20 set -x #export DPIO_COUNT=10 # ls-listni #40Gが有効になっているかどうかを確認する #40Gポートが有効になっている場合は削除します(40G=dpmac.2) Echo DPNI.1 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind Restool DPNI destroy DPNI.1 echo 0 > /proc/sys/kernel/randomize_va_space #export DPIO_COUNT=20 export DPMCP_COUNT=3 export FS_ENTRIES=12 #/usr/local/dpdk/dpaa2/dynamic_dpl.sh dpmac.3 /usr/local/dpdk/dpaa2/dynamic_dpl.sh dpni dpni -b 00:00:00:00:05:00 # dpni.1 00:00:00:00:05:01 # dpni.2 00:00:00:00:05:02 ls-addni --no-link #eth0 dpni.3 ls-addni --no-link #eth2 dpni.4 #/////出力///////// # VFIOからdprc.2の拘束を解除 Echo DPRC.2 > /sys/bus/FSL-MC/drivers/vfio-fsl-mc/unbind #dpn.2 は dynamicdpl.sh の出力です #dpni.1 dpmac.4-動的- # #restool dprc disconnect dprc.2 --endpoint=dpni.1 restool dpdmux create --num-ifs=3 --方法 DPDMUX_METHOD_MAC --max-dmat-entries=3 --manip=DPDMUX_MANIP_NONE restool dprc connect dprc.1 --endpoint1=dpmac.3 --endpoint2=dpdmux.0.0 restool dprc connect dprc.1 --endpoint1=dpni.1 --endpoint2=dpdmux.0.1 restool dprc connect dprc.1 --endpoint1=dpni.3--endpoint2=dpdmux.0.2 restool dpdmux create --num-ifs=3 --方法 DPDMUX_METHOD_MAC --max-dmat-entries=3 --manip=DPDMUX_MANIP_NONE restool dprc connect dprc.1 --endpoint1=dpmac.4 --endpoint2=dpdmux.1.0 restool dprc connect dprc.1 --endpoint1=dpni.2--endpoint2=dpdmux.1.1 restool dprc connect dprc.1 --endpoint1=dpni.4--endpoint2=dpdmux.1.2 #echo DPRC.2 > /sys/bus/FSL-MC/drivers/vfio-fsl-mc/bind # DPRCをVFIOに縛り付けろ Echo DPRC.2 > /sys/bus/FSL-MC/drivers/vfio-FSL-MC/Bind # DPRCを輸出する エクスポートDPRC=dprc.2 [ 3103.545665] vfio-fsl-mc dprc.2:VFIO_FLS_MC: デバイスのリセットに失敗しました (-13) [ 3103.545690] ------------[ ここから切り取り ]------------ [3103.545701]警告:CPU: 2 PID: 3644 ドライバ/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.545703]リンクされているモジュール: libdes mali_dp [3103.545715]CPU: 2 PID: 3644 Comm: gnb_du_layer2 汚染なし 5.10.35 #5 [ 3103.545717]ハードウェア名:NXP Layerscape LX2160ARDB (DT) [ 3103.545721] psstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.545724] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.545727] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.545729] sp : ffff800012ef3c90 [ 3103.545731] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.545735] x27: 0000000000000000 x26: 0000000000000000 [ 3103.545740] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.545745] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.545749] x21: ffff0e7d1edc7800 x20: ffff0e7d3d39f040 [ 3103.545754] x19: ffff0e7d1d71db80 x18: 0000000000000001 [ 3103.545758] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.545763] x15: ffff0e7d3d39f040 x14: 00000000000007dd [ 3103.545767] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.545771] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.545776] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.545781] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.545785] x5 : 0000000000000000 x4 : ffff0e83fc27d860 [ 3103.545789] x3 : ffff0e83fc284770 x2 : 0000000000000000 [ 3103.545793] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.545798]通話追跡: [ 3103.545802] vfio_fsl_mc_release+0xdc/0x190 [ 3103.545806] vfio_device_fops_release+0x24/0x48 [ 3103.545811] __fput+0x78/0x230 [ 3103.545814] __ __fput+0x10/0x20 [ 3103.545818] task_work_run+0x80/0x140 [ 3103.545821] do_exit+0x324/0xa08 [ 3103.545824] do_group_exit+0x44/0xa0 [ 3103.545826] __wake_up_parent+0x0/0x30 [ 3103.545831] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.545834] do_el0_svc+0x24/0x90 [ 3103.545839] el0_svc+0x14/0x20 [ 3103.545841] el0_sync_handler+0xb0/0xb8 [ 3103.545845] el0_sync+0x178/0x180 [ 3103.545847] ---[ トレース終了 d15991a0fbaef713 ]--- [ 3103.546381] vfio-fsl-mc dprc.2:VFIO_FLS_MC: デバイスのリセットに失敗しました (-13) [ 3103.546399] ------------[ ここから切り取り ]------------ [3103.546406]警告:CPU: 2 PID: 3644 ドライバ/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.546411]リンクされているモジュール: libdes mali_dp [ 3103.546430]CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: GW 5.10.35 #5 [ 3103.546435]ハードウェア名:NXP Layerscape LX2160ARDB (DT) [ 3103.546441] psstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.546447] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.546453] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.546458] sp : ffff800012ef3c90 [ 3103.546462] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.546466] x27: 0000000000000000 x26: 0000000000000000 [ 3103.546471] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.546475] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.546479] x21: ffff0e7d02d77000 x20: ffff0e7d3d39f040 [ 3103.546484] x19: ffff0e7d1dc13480 x18: ffffb28536ab3470 [ 3103.546488] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.546492] x15: ffff0e7d3d39f040 x14: 0000000000000805 [ 3103.546497] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.546501] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.546506] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.546510] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.546514] x5 : 0000000000000000 x4 : ffff0e83fc27d860 [ 3103.546518] x3 : ffff0e83fc284770 x2 : 0000000000000000 [ 3103.546522] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.546527]通話追跡: [ 3103.546529] vfio_fsl_mc_release+0xdc/0x190 [ 3103.546532] vfio_device_fops_release+0x24/0x48 [ 3103.546536] __fput+0x78/0x230 [ 3103.546539] __ __fput+0x10/0x20 [ 3103.546541] task_work_run+0x80/0x140 [ 3103.546544] do_exit+0x324/0xa08 [ 3103.546546] do_group_exit+0x44/0xa0 [ 3103.546548] __wake_up_parent+0x0/0x30 [ 3103.546552] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.546555] do_el0_svc+0x24/0x90 [ 3103.546557] el0_svc+0x14/0x20 [ 3103.546559] el0_sync_handler+0xb0/0xb8 [ 3103.546562] el0_sync+0x178/0x180 [ 3103.546564] ---[ トレース終了 d15991a0fbaef714 ]--- [ 3103.547072] vfio-fsl-mc dprc.2:VFIO_FLS_MC: デバイスのリセットに失敗しました (-13) [ 3103.547086] ------------[ ここから切り取り ]------------ [ 3103.547090]警告:CPU: 2 PID: 3644 ドライバー/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.547091]リンクされているモジュール: libdes mali_dp [3103.547098]CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: GW 5.10.35 #5 [ 3103.547100]ハードウェア名:NXP Layerscape LX2160ARDB (DT) [ 3103.547103] psstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.547105] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.547107] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.547109] sp : ffff800012ef3c90 [ 3103.547111] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.547116] x27: 0000000000000000 x26: 0000000000000000 [ 3103.547120] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.547125] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.547129] x21: ffff0e7d02d32000 x20: ffff0e7d3d39f040 [ 3103.547133] x19: ffff0e7d1dc13d80 x18: ffffb28536ab3470 [ 3103.547138] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.547142] x15: ffff0e7d3d39f040 x14: 000000000000082d [ 3103.547146] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.547151] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.547155] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.547159] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.547164] x5 : ffff0e83fc27d860 x4 : 0000000000000000 [ 3103.547168] x3 : 0000000000000027 x2 : 0000000000000000 [ 3103.547172] x1 : 0000000000000000 x0 : 0000000000000000 [3103.547176]通話追跡: [ 3103.547179] vfio_fsl_mc_release+0xdc/0x190 [ 3103.547182] vfio_device_fops_release+0x24/0x48 [ 3103.547185] __fput+0x78/0x230 [ 3103.547188] __ __fput+0x10/0x20 [ 3103.547190] task_work_run+0x80/0x140 [ 3103.547193] do_exit+0x324/0xa08 [ 3103.547195] do_group_exit+0x44/0xa0 [ 3103.547198] __wake_up_parent+0x0/0x30 [ 3103.547201] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.547204] do_el0_svc+0x24/0x90 [ 3103.547207] el0_svc+0x14/0x20 [ 3103.547209] el0_sync_handler+0xb0/0xb8 [ 3103.547211] el0_sync+0x178/0x180 [ 3103.547213] ---[ トレース終了 d15991a0fbaef715 ]--- [ 3103.547721] vfio-fsl-mc dprc.2:VFIO_FLS_MC: デバイスのリセットに失敗しました (-13) [ 3103.547735] ------------[ ここから切り取り ]------------ [ 3103.547739]警告:CPU: 2 PID: 3644 ドライバ/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.547740]リンクされているモジュール: libdes mali_dp [ 3103.547748]CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: GW 5.10.35 #5 [ 3103.547750]ハードウェア名:NXP Layerscape LX2160ARDB (DT) [ 3103.547752] psstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.547755] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.547757] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.547759] sp : ffff800012ef3c90 [ 3103.547761] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.547765] x27: 0000000000000000 x26: 0000000000000000 [ 3103.547770] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.547777] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.547781] x21: ffff0e7d1e989000 x20: ffff0e7d3d39f040 [ 3103.547785] x19: ffff0e7d1dcc6680 x18: ffffb28536ab3470 [ 3103.547790] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.547794] x15: ffff0e7d3d39f040 x14: 0000000000000855 [ 3103.547798] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.547802] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.547807] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.547812] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.547819] x5 : ffff0e83fc27d860 x4 : 0000000000000000 [ 3103.547823] x3 : 0000000000000027 x2 : 0000000000000000 [ 3103.547827] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.547831]通話追跡: [ 3103.547834] vfio_fsl_mc_release+0xdc/0x190 [ 3103.547837] vfio_device_fops_release+0x24/0x48 [ 3103.547840] __fput+0x78/0x230 [ 3103.547843] __ __fput+0x10/0x20 [ 3103.547845] task_work_run+0x80/0x140 [ 3103.547848] do_exit+0x324/0xa08 [ 3103.547850] do_group_exit+0x44/0xa0 [ 3103.547853] __wake_up_parent+0x0/0x30 [ 3103.547858] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.547861] do_el0_svc+0x24/0x90 [ 3103.547864] el0_svc+0x14/0x20 [ 3103.547866] el0_sync_handler+0xb0/0xb8 [ 3103.547868] el0_sync+0x178/0x180 [ 3103.547870] ---[ トレース終了 d15991a0fbaef716 ]--- [ 3103.548378] vfio-fsl-mc dprc.2:VFIO_FLS_MC: リセットデバイスが失敗しました (-13) [ 3103.548392] ------------[ ここから切り取り ]------------ [3103.548395]警告:CPU: 2 PID: 3644 ドライバ/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.548397]リンクされているモジュール: libdes mali_dp [3103.548404]CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: GW 5.10.35 #5 [3103.548406]ハードウェア名:NXP Layerscape LX2160ARDB (DT) [ 3103.548408] psstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.548411] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.548413] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.548415] sp : ffff800012ef3c90 [ 3103.548417] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.548421] x27: 0000000000000000 x26: 0000000000000000 [ 3103.548426] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.548430] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.548437] x21: ffff0e7d1ea4e000 x20: ffff0e7d3d39f040 [ 3103.548442] x19: ffff0e7d1dcc6f80 x18: ffffb28536ab3470 [ 3103.548446] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.548450] x15: ffff0e7d3d39f040 x14: 000000000000087d [ 3103.548455] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.548459] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.548464] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.548468] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.548472] x5 : ffff0e83fc27d860 x4 : 0000000000000000 [ 3103.548479] x3 : 0000000000000027 x2 : 0000000000000000 [ 3103.548483] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.548488]通話追跡: [ 3103.548490] vfio_fsl_mc_release+0xdc/0x190 [ 3103.548493] vfio_device_fops_release+0x24/0x48 [ 3103.548497] __fput+0x78/0x230 [ 3103.548500] __ __fput+0x10/0x20 [ 3103.548502] task_work_run+0x80/0x140 [ 3103.548505] do_exit+0x324/0xa08 [ 3103.548507] do_group_exit+0x44/0xa0 [ 3103.548509] __wake_up_parent+0x0/0x30 [ 3103.548513] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.548516] do_el0_svc+0x24/0x90 [ 3103.548519] el0_svc+0x14/0x20 [ 3103.548523] el0_sync_handler+0xb0/0xb8 [ 3103.548526] el0_sync+0x178/0x180 [ 3103.548528] ---[ トレース終了 d15991a0fbaef717 ]--- [ 3103.549035] vfio-fsl-mc dprc.2:VFIO_FLS_MC: デバイスのリセットに失敗しました (-13) [ 3103.549049] ------------[ ここから切り取り ]------------ [3103.549052]警告:CPU: 2 PID: 3644 ドライバ/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.549054]リンクされているモジュール: libdes mali_dp [3103.549060]CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: GW 5.10.35 #5 [3103.549062]ハードウェア名:NXP Layerscape LX2160ARDB (DT) [ 3103.549065] psstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.549067] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.549069] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.549071] sp : ffff800012ef3c90 [ 3103.549073] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.549077] x27: 0000000000000000 x26: 0000000000000000 [ 3103.549082] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.549086] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.549090] x21: ffff0e7d1dd80000 x20: ffff0e7d3d39f040 [ 3103.549094] x19: ffff0e7d1dc09880 x18: ffffb28536ab3470 [ 3103.549098] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.549103] x15: ffff0e7d3d39f040 x14: 00000000000008a5 [ 3103.549107] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.549111] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.549116] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.549120] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.549124] x5 : ffff0e83fc27d860 x4 : 0000000000000000 [ 3103.549129] x3 : 0000000000000027 x2 : 0000000000000000 [ 3103.549133] x1 : 0000000000000000 x0 : 0000000000000000 [3103.549137]通話追跡: [ 3103.549139] vfio_fsl_mc_release+0xdc/0x190 [ 3103.549142] vfio_device_fops_release+0x24/0x48 [ 3103.549145] __fput+0x78/0x230 [ 3103.549148] __ __fput+0x10/0x20 [ 3103.549151] task_work_run+0x80/0x140 [ 3103.549153] do_exit+0x324/0xa08 [ 3103.549155] do_group_exit+0x44/0xa0 [ 3103.549158] __wake_up_parent+0x0/0x30 [ 3103.549161] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.549164] do_el0_svc+0x24/0x90 [ 3103.549166] el0_svc+0x14/0x20 [ 3103.549168] el0_sync_handler+0xb0/0xb8 [ 3103.549171] el0_sync+0x178/0x180 [ 3103.549172] ---[ トレース終了 d15991a0fbaef718 ]--- [ 3103.549679] vfio-fsl-mc dprc.2:VFIO_FLS_MC: リセットデバイスが失敗しました (-13) [ 3103.549693] ------------[ ここから切り取り ]------------ [ 3103.549699]警告:CPU: 2 PID: 3644 ドライバ/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.549701]リンクされているモジュール: libdes mali_dp [3103.549708]CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: GW 5.10.35 #5 [3103.549710]ハードウェア名:NXP Layerscape LX2160ARDB (DT) [ 3103.549712] psstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.549715] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.549717] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.549718] sp : ffff800012ef3c90 [ 3103.549720] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.549725] x27: 0000000000000000 x26: 0000000000000000 [ 3103.549729] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.549733] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.549738] x21: ffff0e7d1dd9dc00 x20: ffff0e7d3d39f040 [ 3103.549744] x19: ffff0e7d1d6adc80 x18: ffffb28536ab3470 [ 3103.549749] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.549753] x15: ffff0e7d3d39f040 x14: 00000000000008cd [ 3103.549757] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.549762] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.549766] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.549771] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.549775] x5 : ffff0e83fc27d860 x4 : 0000000000000000 [ 3103.549782] x3 : 0000000000000027 x2 : 0000000000000000 [ 3103.549786] x1 : 0000000000000000 x0 : 0000000000000000 [ 3103.549790]通話追跡: [ 3103.549792] vfio_fsl_mc_release+0xdc/0x190 [ 3103.549795] vfio_device_fops_release+0x24/0x48 [ 3103.549798] __fput+0x78/0x230 [ 3103.549801] __ __fput+0x10/0x20 [ 3103.549804] task_work_run+0x80/0x140 [ 3103.549806] do_exit+0x324/0xa08 [ 3103.549809] do_group_exit+0x44/0xa0 [ 3103.549811] __wake_up_parent+0x0/0x30 [ 3103.549814] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.549818] do_el0_svc+0x24/0x90 [ 3103.549822] el0_svc+0x14/0x20 [ 3103.549824] el0_sync_handler+0xb0/0xb8 [ 3103.549827] el0_sync+0x178/0x180 [ 3103.549829] ---[ トレース終了 d15991a0fbaef719 ]--- [ 3103.550346] vfio-fsl-mc dprc.2:VFIO_FLS_MC: リセットデバイスが失敗しました (-13) [ 3103.550360] ------------[ ここから切り取り ]------------ [3103.550368]警告:CPU: 2 PID: 3644 ドライバー/vfio/fsl-mc/vfio_fsl_mc.c:212 vfio_fsl_mc_release+0xdc/0x190 [ 3103.550373]リンクされているモジュール: libdes mali_dp [3103.550393]CPU: 2 PID: 3644 Comm: gnb_du_layer2 Tainted: GW 5.10.35 #5 [3103.550398]ハードウェア名:NXP Layerscape LX2160ARDB (DT) [ 3103.550404] psstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 3103.550410] pc : vfio_fsl_mc_release+0xdc/0x190 [ 3103.550416] lr : vfio_fsl_mc_release+0xdc/0x190 [ 3103.550420] sp : ffff800012ef3c90 [ 3103.550426] x29: ffff800012ef3c90 x28: ffff0e7d3d39f040 [ 3103.550432] x27: 0000000000000000 x26: 0000000000000000 [ 3103.550437] x25: 0000000000000000 x24: ffff0e7d3d39f440 [ 3103.550441] x23: ffff0e7d030cc800 x22: 00000000fffffff3 [ 3103.550456] x21: ffff0e7d1ee17800 x20: ffff0e7d3d39f040 [ 3103.550469] x19: ffff0e7d1dc81580 x18: ffffb28536ab3470 [ 3103.550483] x17: ffff0e7d00001088 x16: ffff0e7d000010a8 [ 3103.550496] x15: ffff0e7d3d39f040 x14: 00000000000008f5 [ 3103.550510] x13: ffff0e7d3d39f4a0 x12: 00000000ffffffea [ 3103.550523] x11: ffffb28536b23468 x10: ffffb28536b0b428 [ 3103.550536] x9 : ffffb28536b0b480 x8 : 0000000000017fe8 [ 3103.550549] x7 : c0000000ffffefff x6 : 0000000000000001 [ 3103.550564] x5 : 0000000000000000 x4 : ffff0e83fc27d860 [ 3103.550577] x3 : ffff0e83fc284770 x2 : 0000000000000000 [ 3103.550587] x1 : 0000000000000000 x0 : 0000000000000000 [3103.550591]通話追跡: [ 3103.550594] vfio_fsl_mc_release+0xdc/0x190 [ 3103.550597] vfio_device_fops_release+0x24/0x48 [ 3103.550600] __fput+0x78/0x230 [ 3103.550603] __ __fput+0x10/0x20 [ 3103.550605] task_work_run+0x80/0x140 [ 3103.550608] do_exit+0x324/0xa08 [ 3103.550610] do_group_exit+0x44/0xa0 [ 3103.550612] __wake_up_parent+0x0/0x30 [ 3103.550616] el0_svc_common.constprop.0+0x78/0x1a0 [ 3103.550618] do_el0_svc+0x24/0x90 [ 3103.550621] el0_svc+0x14/0x20 [ 3103.550623] el0_sync_handler+0xb0/0xb8 [ 3103.550626] el0_sync+0x178/0x180 [ 3103.550628] ---[ トレース終了 d15991a0fbaef71a ]--- [ 3103.551136] vfio-fsl-mc dprc.2:VFIO_FLS_MC: デバイスのリセットに失敗しました (-13) Re: VFIO_FLS_MC: reset device has failed @Bio_TICFSL さん、ありがとうございます。実行して確認します。 Re: VFIO_FLS_MC: reset device has failed こんにちは、 根本的な問題は、セットアップスクリプトに restool dprc assign 手順が欠落していることです。あなたのスクリプト: dprc.1 (ルートコンテナ)の下に dpdmux.0 と dpdmux.1 を作成します。 dpni.1 / dpni.2 を接続します(これらは dprc.2 、VFIOコンテナ内に存在します)これらのDPDMUXインターフェースに繋がります。 dprc.2 をVFIOドライバーに割り当てます。 アプリケーションが終了すると、VFIOドライバーは dprc.2 内のすべてのオブジェクトをリセットしようとします。しかし、 dpni.1 / dpni.2 は依然として dprc.1 に存在する dpdmux.0 / dpdmux.1 オブジェクトと外部接続されています。 MCファームウェアはこれらのクロスコンテナ接続のため、コンテナをきれいにリセットできず、→返品 -13 権限を持っていません(許可拒否)。 再起動後に機能する理由:コールドブート後、DPAA2オブジェクトはクリーンな初期状態になります。最初の試みは成功した。しかし、終了時にDPDMUX接続が適切に切断されないため、MCは部分的な状態のままになる。次回の実行時(再起動なし)にも、コンテナのリセットが再び失敗します。 修正:DPDMUXオブジェクトに restool dprc assign を追加 DPDMUXオブジェクトは dprc.2 に割り当てる必要があります。VFIOに結合する前に。これにより、これらのオブジェクトはVFIOコンテナの所有物であり、コンテナが解放されるとリセット可能であることがMCに伝えられます。 DPDMUXオブジェクトを作成/接続した 後 、 dprc.2 VFIOに再バインドする 前に 、以下の行を挿入してください。 # Assign dpdmux objects into dprc.2 so VFIO can reset them cleanly restool dprc assign dprc.1 --object=dpdmux.0 --child=dprc.2 --plugged=1 restool dprc assign dprc.1 --object=dpdmux.1 --child=dprc.2 --plugged=1 # Now bind dprc.2 back to VFIO echo dprc.2 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/bind export DPRC=dprc.2   修正後のスクリプトセクションは次のようになります。 # Unbind dprc.2 from VFIO echo dprc.2 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/unbind # Create and connect DPDMUX for port dpmac.3 restool dpdmux create --num-ifs=3 --method DPDMUX_METHOD_MAC --max-dmat-entries=3 --manip=DPDMUX_MANIP_NONE restool dprc connect dprc.1 --endpoint1=dpmac.3 --endpoint2=dpdmux.0.0 restool dprc connect dprc.1 --endpoint1=dpni.1 --endpoint2=dpdmux.0.1 restool dprc connect dprc.1 --endpoint1=dpni.3 --endpoint2=dpdmux.0.2 # Create and connect DPDMUX for port dpmac.4 restool dpdmux create --num-ifs=3 --method DPDMUX_METHOD_MAC --max-dmat-entries=3 --manip=DPDMUX_MANIP_NONE restool dprc connect dprc.1 --endpoint1=dpmac.4 --endpoint2=dpdmux.1.0 restool dprc connect dprc.1 --endpoint1=dpni.2 --endpoint2=dpdmux.1.1 restool dprc connect dprc.1 --endpoint1=dpni.4 --endpoint2=dpdmux.1.2 # *** KEY FIX: Assign dpdmux objects to dprc.2 so VFIO can reset them *** restool dprc assign dprc.1 --object=dpdmux.0 --child=dprc.2 --plugged=1 restool dprc assign dprc.1 --object=dpdmux.1 --child=dprc.2 --plugged=1 # Bind dprc.2 back to VFIO echo dprc.2 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/bind export DPRC=dprc.2   追加の推奨事項 MCファームウェアをBSPの最新バージョンにアップデートしてください。 実行間の適切なクリーンアップ(再起動なし):セットアップスクリプトを再実行する前に、以前に作成されたDPDMUXオブジェクトを破棄して、クリーンな状態を確保します。 restool dpdmux destroy dpdmux.0 restool dpdmux destroy dpdmux.1     -13 エラーに伴うファームウェアレベルのエラーの詳細については、 /dev/dpaa2_mc_console にある MC コンソールログを確認してください 。 よろしくお願いします。
記事全体を表示
[i.MX8MQ] Is MIPI-DSI SSC (Spread Spectrum Clocking) enabled or disabled by default? Hi there,  On i.MX8MQ platform, we want to confirm what MIPI-DSI SSC default setting is? ON or OFF? Re: [i.MX8MQ] Is MIPI-DSI SSC (Spread Spectrum Clocking) enabled or disabled by default? Hi, SSC is disabled (OFF) in our testing. We are not sure whether the enabled (ON) case has been tested. You may find the discussion below helpful: https://community.nxp.com/t5/i-MX-Processors/iMX8M-Mini-Spread-Spectrum/m-p/1024187. Thanks
記事全体を表示
[i.MX8MQ] MIPI-DSI SSC(扩频时钟)默认是启用还是禁用? 您好, 在 i.MX8MQ 平台上,我们想确认 MIPI-DSI SSC 的默认设置是什么?是开启还是关闭? Re: [i.MX8MQ] Is MIPI-DSI SSC (Spread Spectrum Clocking) enabled or disabled by default? 您好, 在我们的测试中,SSC 已禁用(关闭)。 我们不确定启用(ON)的情况是否已经过测试。 您或许会发现以下讨论很有帮助: https://community.nxp.com/t5/i-MX-Processors/iMX8M-Mini-Spread-Spectrum/mp/1024187 . 谢谢!
記事全体を表示
求助关于RT1052显示旋转问题 因为购买的屏幕是竖屏,而我需要横屏显示。我使用的是guiguider生成RT1052的基础显示代码 并且添加软件旋转 disp_drv.sw_rotate = 1; disp_drv.rotated = 1;   设置成单缓冲 SDK_ALIGN( __attribute__((section("lvglDisplayBuffer"))) static uint8_t s_frameBuffer[1][DEMO_FB_SIZE], DEMO_FB_ALIGN); SDK_ALIGN( __attribute__((section("lvglDisplayBuffer"))) static uint8_t s_lvglBuffer[DEMO_DB_SIZE], DEMO_FB_ALIGN); 屏幕能够正常显示,但是刷新速度太慢,不符合我的需求。   设置成双缓冲 SDK_ALIGN( __attribute__((section("lvglDisplayBuffer"))) static uint8_t s_frameBuffer[2][DEMO_FB_SIZE], DEMO_FB_ALIGN); 只有背光亮,屏幕黑屏。 这是为什么?   #if FB_USE_SRAM static void DEMO_WaitVsync(lv_disp_drv_t *disp_drv) { s_framePending = true; #if defined(SDK_OS_FREE_RTOS) if (xSemaphoreTake(s_frameSema, portMAX_DELAY) != pdTRUE) { PRINTF("Display flush failed\r\n"); assert(0); } #else while (s_framePending) { } #endif } static void copy_area(const lv_area_t *area, lv_color_t *color_p, uint8_t *fb, uint32_t fbStrideBytes) { uint32_t y; uint32_t areaWidth = lv_area_get_width(area); fb += (area->y1 * fbStrideBytes + area->x1 * sizeof(lv_color_t)); for (y = area->y1; y <= area->y2; y++) { lv_memcpy(fb, color_p, areaWidth * sizeof(lv_color_t)); fb += fbStrideBytes; color_p += areaWidth; } } static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) { /* Wait VSYNC for each small update. */ DEMO_WaitVsync(disp_drv); /* Copy data from draw buffer to frame buffer. */ copy_area(area, color_p, (uint8_t*) s_frameBuffer, LCD_WIDTH * LCD_FB_BYTE_PER_PIXEL); SCB_CleanInvalidateDCache(); lv_disp_flush_ready(disp_drv); } #else static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) { // DCACHE_CleanByRange((uint32_t)color_p, DEMO_FB_SIZE); DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)color_p); s_framePending = true; #if defined(SDK_OS_FREE_RTOS) if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) { /* IMPORTANT!!! * Inform the graphics library that you are ready with the flushing*/ lv_disp_flush_ready(disp_drv); } else { PRINTF("Display flush failed\r\n"); assert(0); } #else while (s_framePending) { } /* IMPORTANT!!! * Inform the graphics library that you are ready with the flushing*/ lv_disp_flush_ready(disp_drv); #endif } #endif i.MXRT 105x Re: 求助关于RT1052显示旋转问题 Hi @dsd , 感谢您的问题! 首先,请检查以下LVGL的限制,启用了full_refresh=1时,不支持屏幕旋转。请参考: 1. https://github.com/lvgl/lvgl/issues/4060 2. https://forum.lvgl.io/t/why-cannot-rotate-a-full-refreshed-display/10490/3   另外,RT1050有硬件pxp支持旋转,这是更推荐的方案,请参考:https://docs.nxp.com/bundle/GUIGUIDERUG-1.6.1/page/topics/rotate_screen_and_widgets.html 以及SDK中的PXP旋转相关demo。   Best regards, Gavin Re: 求助关于RT1052显示旋转问题 Helllo, 在使用 NXP i.MX RT1052 结合 Guiguider (LVGL) 进行屏幕旋转开发时,你遇到的“单缓冲刷新慢、双缓冲黑屏”问题,核心原因在于软件旋转(Software Rotate)与硬件 ELCDIF 控制器、双缓冲切换机制以及内存地址索引没有适配好。 Best Regards Re: 求助关于RT1052显示旋转问题 非常感谢,pxp旋转确实可行,完美解决问题
記事全体を表示