Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
如何调整功放MD8LC925NR1的偏置电压? 你好, 我们目前正在设计一个使用MD8LC925NR1功率放大器的系统。我们恳请您推荐合适的偏置电路或专用电源管理元器件,以便为该功率放大器提供正确的偏置。 请问您能否提供一些推荐的参考设计、应用笔记或具体零件编号? 谢谢你的帮助。 Re: How to bias the amp MD8LC925NR1? 你好, 感谢您对恩智浦半导体产品的关注,也感谢您给我们提供支持的机会。 提供的零件编号似乎有误。MDL8LC925NR1不是 NXP 可订购的有效零件编号。最接近的匹配设备是MD8IC925N。请注意,该设备目前已停产,这意味着它不再受支持,也不再接受新的购买。 以下NXP文档提供了详细的设计信息,包括电路原理图、元器件清单和特性数据: MD8IC925N 数据手册 AN1977 –射频集成电路系列中的静态电流热跟踪电路 AN1987 – 射频集成电路设备系列的静态电流控制(包括两种偏置电路拓扑结构及完整的元器件清单) AN1955 – 射频功率放大器的热测量方法 遗憾的是,MD8IC925N 没有直接的替代品。此外,许多涵盖100 MHz 至 1000 MHz频率范围的射频产品即将停产,目前还没有宣布推出新的替代设备。 如果您需要我们根据您的具体频率、功率和供电电压要求,协助您寻找替代解决方案,请与我们联系。 顺祝商祺!
View full article
S32N55: 高速ウェイクアップ ブート用の BLOB イメージを構築する方法。 こんにちは、チームの皆さん ご存知のとおり、S32N55 は Fast Wake-up Boot をサポートしています。 Full Wake-up Boot と同じ形式を使用して BLOB イメージをビルディングしようとしましたが、ブート プロセスが失敗しました。 Fast Wake-up Boot 用の BLOB イメージを正しく構築する方法を教えてください。 ご回答をお待ちしています。 よろしくお願いいたします。 唐生。 FSS_FW 優先度: 中 Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは@Tangsheng_Zhouさん チームがこのCASEを引き受け、できるだけ早く回答を提供します。 よろしくお願いします、 ラドゥ Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは、 @RaduBragaさん このチケットがクローズされていることに気づきました。進捗状況について何か最新情報はありますか?   よろしくお願いいたします。 唐生。 Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは@Tangsheng_Zhouさん 私はこのCASEを引き継ぎ、できるだけ早く返答をいたします。   よろしくお願いいたします。 ポール Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは@Tangsheng_Zhouさん 直接お客様を支援される場合は、以下の書類をご提供ください: BSSM契約:あり/なし 顧客会社*: プロジェクト名*: カスタマーコンタクトポイント*(氏名およびメールアドレス): ソフトウェアおよびハードウェア情報: SWパッケージ情報*: ハードウェア*(ボード/チップセット/プラットフォーム) ソフトウェアバージョン*: *必須 このケースの開発チームとはまだ協力しています よろしくお願いいたします。 ポール Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは、 @PaulB0besさん。 このケースは特定の顧客やプロジェクトに縛られていません。しかし、FUTURE的に同様の質問に直面する可能性があると考えており、このリクエストを出したのです。   よろしくお願いいたします。 唐生。 Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは@Tangsheng_Zhouさん 詳しい情報をありがとうございます。私はこの事件に取り組んでおり、できるだけ早く答えを提供いたします! よろしくお願いいたします。 ポール Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは@Tangsheng_Zhouさん ブロブ画像を作ろうとした際に実際に踏んだ手順を教えていただけると助かります。そうすれば問題点を特定しやすくなると思います。   よろしくお願いいたします。 ポール Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは、 @PaulB0besさん。 以下に、テストの詳細な手順を示します。   1. AOSRAMメモリ領域内に小さなFSSイメージを構築しました(IVTヘッダーは予約済み)。このイメージにはmain.cのwhileループのみが含まれています。 2. FSSファームウェアイメージを作成する際、FRBしきい値レジスタを入力する必要がありますか?もしそうなら、どうやって埋めるか、あるいは特別なものを考える必要があります。 3. IVTツールでIVTブロブイメージを構築し、開始アドレスを0x24800000とする。 4. IVTブロブイメージをフラッシュメモリの0xD00000に書き込みます。 5. システムがスリープ状態に入る前に、IVTブロブイメージをAOSRAMにコピーし、FSS_WKUP0のWKPUモードを高速ウェイクアップモードとして構成します。 5. FSS_WAKUP0 を介してシステムイメージを起動します。 FSSは while(1) ループに到達できませんでした。ウェイクアップの際に高速ウェイクアップではなく、リセットイベントがトリガーされたようです。   サポートありがとうございます!   よろしくお願いいたします。 唐生。 Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは@Tangsheng_Zhouさん FRBはTCMメモリ(ITCM + DTCM)用です。 理論的には2つのケースがあります 1: 高速起動ブート イメージはAON SRAMメモリから起動するため、高速起動にはFRBは必要ありません。 2: フルウェイクアップブート ITCMに起動したいかどうか教えてもらえますか?もしはい、FRBの閾値0はFSSイメージヘッダーで提供されるべきです。アドレスは12ビットマスクされ、FRBの場合は8kbの倍数として計算されます。 少しでもお役に立てれば幸いです。また、IVTの塊も教えてもらえますか? よろしくお願いいたします。 ポール Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは、 @PaulB0besさん。 いいえ、私は単にF-CoreをAO-SRAMで動作させたいだけです。 main_app1.binはFSSファームウェアイメージです。 これら2つのフィールドをどのように埋めるべきでしょうか?AO_SRAMアドレス0x24800000から始めるべきでしょうか?私のイメージの開始ポインタとエントリポインタは0x24800240です。 main_blob1.binは、IVTヘッダーを含むブロブイメージです。 よろしくお願いします! よろしくお願いいたします。 唐生。 Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは、 @PaulB0besさん。 FSSファームウェアではなく、完全なIVTイメージをスリープモードに入る前にAO_SRAMにコピーし、高速ウェイクアップ機能をテストしました。   よろしくお願いします! よろしくお願いいたします。 唐勝 Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは、 @PaulB0besさん。 IVTヘッダー、FSS FWヘッダー、およびFSS FWバイナリを含む、IVTブロブイメージ全体がAO_SRAMの先頭にコピーされました。 よろしくお願いします! よろしくお願いいたします。 唐生。 Re: S32N55: How to build a blob image for fast wake-up boot. こんにちは@Tangsheng_Zhouさん 流れを正しく理解しているか確認させてください。スリープ前に完全なIVTブロブイメージをAO_SRAMの先頭にコピーしているのですか、それとも高速ウェイクアップブート用のFSSファームウェアイメージのみをコピーしているのですか? よろしくお願いいたします。 ポール
View full article
NXP iMX8MP:基于WFI的CPU在U-Boot中处于空闲状态时不会唤醒 尊敬的恩智浦技术支持团队: 我们正在研究基于 i.MX8M Plus 的产品的 U-Boot 中的低功耗等待机制,现在我们希望得到 NXP 的指导。 软件版本 SoC:NXP i.MX8M Plus BSP: ATF:lf_v2.10_android-15.0.0_1.2.0 U-Boot:lf_v2024.04_android-15.0.0_1.2.0 基于公开的 NXP 电路板支持包(Variscite 分支对 ATF/GIC 代码路径没有相关的修改) 目标 在 Android 系统启动之前,应用程序需要在 U-Boot 模式下停留几分钟,以便为深度放电的电池充电。 基于 mdelay() 的忙循环会消耗不必要的功率并产生额外的热量,因此我们正在尝试定期进入低功耗空闲状态,并使用 ARM 通用定时器 (CNTP, PPI 30) 唤醒。 初始实施 配置 CNTP 定时器 启用 PPI 30 从 EL2 执行原始 wfi() 处理器永远不会从 wfi() 中唤醒。UART 输出突然停止,没有任何异常或崩溃。 PSCI 实现 PSCI_VERSION 返回 1.1 PSCI_FEATURES(CPU_SUSPEND) 返回 0(支持) 调用 CPU_SUSPEND 请求进入待机电源状态 程序会执行 ATF 备用程序实现 imx_cpu_standby(),但系统会以完全相同的方式挂起:没有异常,没有 UART 输出,执行永远不会恢复。 因此,两者: 在 EL2 级别执行原始 wfi() 函数 wfi() 通过 ATF 经由 PSCI 执行 产生相同的行为。 已经核实的内容 CPU 和定时器 U-Boot 在 EL2 层执行。 CNTP定时器已正确编程。 CNTP_TVAL_EL0 倒计时正常。 CNTP_CTL_EL0 显示: 启用 = 1 IMASK = 0 布防后,ISTATUS = 0。 CPU接口 ICC_PMR_EL1 配置正确。 ICC_IGRPEN1_EL1 已启用。 虚拟化 HCR_EL2 具有: IMO = 0 FMO = 0 因此,中断路由不会通过 EL2 虚拟化进行。 中断网络安全分类 我们从美国烟酒枪炮及爆炸物管理局(ATF)的消息来源证实: 所有PPI最初都由通用GICv3辅助代码配置为第1组非安全设备。 只有 SGI8(以及可选的 SDEI SGI)被重新配置为安全模式。 PPI 30 不在安全中断属性表中。 因此,通用定时器中断似乎仍如预期那样保持为第 1 组非安全状态。 SCR_EL3.TWE 我们最初怀疑不安全的 wfi() 可能会通过 SCR_EL3.TWE 被困到 EL3,但现在看来不太可能,因为当 wfi() 通过 PSCI 在 ATF 内部执行时,也会发生同样的行为。 进一步调查 在跟踪 ATF GIC 初始化时,我们注意到 gicv3_distif_init() 会清除 Distributor EnableGrp 位,并且只会重新启用安全中断属性表请求的那些位。 由于该辅助程序只生成 Group0 和 Group1 Secure 属性,因此 EnableGrp1NS 似乎永远不会被显式地重新启用。 为了验证这一点,我们: 读取 GICD_CTLR 观察到 EnableGrp1NS = 0 尝试从 EL2 自行设置 EnableGrp1NS。 不料: 写入操作顺利完成,没有出现任何错误。 RWP运行正常 但读取后 EnableGrp1NS 仍然为 0。 我们还核实了: GICD_CTLR.DS == 0 GIC 内存区域的 RDC 保护已禁用(ENA = 0) RDC违规登记数量仍为零。 因此,RDC 似乎并没有阻止写入操作。 剩余问题 至此,我们已经排除了: 定时器编程 CPU接口配置, 中断优先级掩码 中断组分类, SCR_EL3.TWE 捕获, PSCI 与原始 WFI 执行方式对比, RDC保护。 剩下的未解释的行为是,架构上不安全的可写分发器控制位(EnableGrp1NS)似乎不接受此平台上的写入,因此原始 wfi() 和 PSCI CPU_SUSPEND 都无法使用通用定时器中断唤醒。 i.MX8M Plus Android 15 电路板支持包。 出现这种现象是否正常? 在公共 ATF 源代码之外,是否存在任何平台特定的初始化缺失,导致通用定时器 PPI 无法通过 wfi() 唤醒 CPU? EnableGrp1NS 是否被有意阻止在此平台上被不安全的软件修改? 有没有人成功地使用以下两种方法之一实现了从 U-Boot 定期唤醒: 原始 wfi(),或 PSCI CPU_SUSPEND 由 ARM 通用定时器驱动? 非常感谢您能提供任何关于预期初始化顺序或平台特定行为的见解。 谢谢! 顺祝商祺! 码头
View full article
S32K358 eMIOS ISRが85℃で停止 親愛なるNXPサポートチームへ、 S32K358において、約85℃の温度試験中に問題が発生しています。   私たちのアプリケーションでは6つのeMIOSチャネルを使用し、それぞれが200Hzの周波数で両方のPWMエッジで割り込みを生成するように設定されています。   85°Cでは、MCUが時々1つのeMIOS ISR内に閉じ込められることがあります。ISRは終了しません。コードがeMIOSレジスタを読み取り割り込みフラグを確認するためですが、フラグは0(ファイルEmios_Mcl_Ip_Irq.c)です 😞   もし (0U != ((Emios_Ip_paxBase[インスタンス]->CH.UC[チャネル]。S) & (uint32)eMIOS_S_FLAG_MASK))   デバッグの結果、問題が発生するとeMIOSのベースアドレスを含む変数がNULL(Emios_Ip_paxBase)であることに気づきました。アプリケーションが正しく動作すれば、同じポインタが有効で、eMIOSレジスタも正しく読み込まれます。 ある条件下では、ISR実行中にeMIOSペリフェラルへの参照が破損またはクリアされているようです。   スタックオーバーフロー、メモリ破損、同時アクセス、ISR処理、温度関連の挙動など、既知の問題や根本原因について何か兆候はありますか?   よろしくお願いいたします。 サイモン Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、ベインさん。 現在、RTD 7.0.0を使用しています。 Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @simon98さん どのRTDバージョンを使用していますか?追加情報があれば助かります。 また、RTD バージョン 6.0.0 より前のバージョンでは、関数スコープ内の静的変数のメモリ マッピングが正しくないことに関連する既知の問題がありました (ARTD-159985)。 この問題は、Emios_Mcl_Ip.c で定義されている変数 Emios_Ip_paxBase に関する問題です。また、Emios_Mcl_Ip_Irq.c には、一貫性のない初期化特性が割り当てられています。詳細はソフトウェアリリースノートに記載されています。 BR、VaneB Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @simon98さん 観察された挙動を再現できる簡単なアプリケーションを教えていただけますか?また、カスタムボードを使っているのか評価ボードなのか確認してもらえますか? さらに、問題が85°Cで発生していることを確認するための検査方法について教えていただけますか? Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @simon98さん この情報を提供していただき、誠にありがとうございます。 コードがEMIOS1_1_IRQで詰まっているようで、あなたの設定からeMIOS 1チャンネル19に対応しているため、この特定の部分に分析を絞り込んでみます。 デバッグを簡素化し、他のモジュールからの干渉を排除するために、このeMIOS構成のみを含む最小限のテストプロジェクトを作成してください。これにより、問題の動作を特定し、根本原因をより深く理解するのに役立ちます。参考までに、スレッド S32M27x/S32K3 – eMIOSの利用法で示されている例を確認できます。 同じ現象は依然として発生しますか?また、評価ボードがあるなら、同じコードをそこで試せたら素晴らしいです。 Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @VaneB さん。 現在、カスタムボードでS32K358を使ってこれらのeMIOS_1チャンネルを使って200HzのPWMを生成しています:ch3、ch9、ch11、ch12、ch13、ch19。コードはSIMulinkを使用して生成されます 自作の基板を85℃の恒温恒湿槽に入れたところ、しばらくすると動作が停止する現象が見られました。 S32DS (3.6.7) でデバッグしていたときISR(EMIOS1_1_IRQ)に組み込まれていることが分かり、エントリ/エグジット近くのカスタムカウンターやEmios_Pwm_IrqHandler・Emios_Pwm_Ip_IrqHandler関数にも組み込み、どのコード部分が実行されているかを検出しました。 いくつかのテストの結果、内部で詰まったときに static void Emios_Pwm_IrqHandler(const uint8 Instance, const uint8 Channel) { /* エミオスチャネルでイベントが発生しているか確認してください */ もし(0U != ((Emios_Ip_paxBase[インスタンス]->CH.UC[チャネル]。S) & (uint32)eMIOS_S_FLAG_MASK)) { /* EMIOSチャネルでイベントが発生しているか確認してください */ もし(0U != ((Emios_Ip_paxBase[インスタンス]->CH.UC[チャネル]。C) & ((uint32)(eMIOS_C_DMA_MASK | eMIOS_C_FEN_MASK))) { Emios_Pwm_Ip_IrqHandler(インスタンス、チャネル); } そうでなければ { /* 何もしない - 偽の中断があった場合は直ちに戻ってください */ } } }   if条件: もし(0U != ((Emios_Ip_paxBase[インスタンス]->CH.UC[チャネル]。S) & (uint32)eMIOS_S_FLAG_MASK))   なぜなら、何らかの理由でEmios_Ip_paxBase[インスタンス]が0を指すため、常に0です。つまり、誰も割り込みフラグをクリアしていないため、割り込みフラグは脱出できないループに入ってしまいます。   この問題を検出するために使用したコードは以下のとおりです。 static void Emios_Pwm_IrqHandler(const uint8 Instance, const uint8 Channel) { uint32_t s; uint32_t c; uint32_t s_flag; uint32_t s_ovr; dbg_pwm_last_instance = インスタンス; dbg_pwm_last_channel = チャネル; dbg_pwm_last_base_addr = (uint32_t)Emios_Ip_paxBase[インスタンス]; dbg_pwm_last_c_addr = (uint32_t)&Emios_Ip_paxBase[インスタンス]->CH。UC[チャネル]。C; dbg_pwm_last_s_addr = (uint32_t)&Emios_Ip_paxBase[インスタンス]->CH。UC[チャネル]。S;     dbg_emiosipirq_static_state1++; /* もし (インスタンス == 1) { スイッチ(チャネル) { CASE 16: dbg_emiosipirq_static_cnt_ch16++; 休憩;             CASE 17:                 dbg_emiosipirq_static_cnt_ch17++;                 休憩; ケース18: dbg_emiosipirq_static_cnt_ch18++; 休憩;             case 19:                 dbg_emiosipirq_static_cnt_ch19++;                 休憩; デフォルト: dbg_emiosipirq_static_cnt_oth1++; 壊す; } } それ以外 ヤージュ dbg_emiosipirq_static_cnt_oth2++; } */ /* Lettura reale dei registri vista dal codice */ /* s = Emios_Ip_paxBase[インスタンス]->CH。UC[チャネル]。S; c = Emios_Ip_paxBase[インスタンス]->CH。UC[チャネル]。C; s_flag = s & (uint32)eMIOS_S_FLAG_MASK; s_ovr = s & (uint32)eMIOS_S_OVR_MASK; dbg_pwm_last_s = s; dbg_pwm_last_c = c; dbg_pwm_flag_mask = (uint32)eMIOS_S_FLAG_MASK; dbg_pwm_ovr_mask = (uint32)eMIOS_S_OVR_MASK; dbg_pwm_last_s_and_flag = s_flag; dbg_pwm_last_s_and_ovr = s_ovr; if (s_flag != 0U) ヤージュ dbg_pwm_s_flag_yes++; } それ以外 ヤージュ dbg_pwm_s_flag_no++; } if (s_ovr != 0U) ヤージュ dbg_pwm_s_ovr_yes++; } それ以外 ヤージュ dbg_pwm_s_ovr_no++; } if ((s_flag == 0U) && (s_ovr != 0U)) ヤージュ dbg_pwm_flag0_ovr1_count++; } そうでなければ、((s_flag != 0U) && (s_ovr != 0U)) ヤージュ dbg_pwm_flag1_ovr1_count++; } else if ((s_flag != 0U) && (s_ovr == 0U)) ヤージュ dbg_pwm_flag1_ovr0_count++; } それ以外 ヤージュ dbg_pwm_flag0_ovr0_count++; } */ /* EMIOSチャネルでイベントが発生しているか確認してください */ もし(0U != ((Emios_Ip_paxBase[インスタンス]->CH.UC[チャネル]。S) & (uint32)eMIOS_S_FLAG_MASK)) { dbg_emiosipirq_static_state2++; /* EMIOSチャネルでイベントが発生しているか確認してください */ もし(0U != ((Emios_Ip_paxBase[インスタンス]->CH.UC[チャネル]。C) & ((uint32)(eMIOS_C_DMA_MASK | eMIOS_C_FEN_MASK))) { dbg_emiosipirq_static_state3++; Emios_Pwm_Ip_IrqHandler(インスタンス、チャネル); } そうでなければ { dbg_emiosipirq_static_state4++; /* 何もしない - 偽の中断があった場合は直ちに戻ってください */ } } そうでなければ { dbg_emiosipirq_static_state5++; Emios_Pwm_Ip_IrqHandler(インスタンス、チャネル); Emios_Pwm_Ip_IrqHandler(1, 19); } } Emios_Ip_paxBaseが指すべきアドレスを格納したグローバル変数は以下のとおりです。 dbg_pwm_last_base_addr = (uint32_t)Emios_Ip_paxBase[インスタンス]; dbg_pwm_last_c_addr = (uint32_t)&Emios_Ip_paxBase[インスタンス]->CH。UC[チャネル]。C; dbg_pwm_last_s_addr = (uint32_t)&Emios_Ip_paxBase[インスタンス]->CH。UC[チャネル]。S; また、NVICレジスタの実行時を読み取るカスタムコードも入れました。添付すると、Thread、ジェネラルレジスタ、NVICレジスタと変数式、EMIOSレジスタ、6つのテスト用レジスタが入ったファイルがあります。 また、この動作をテストするために使用したS32DSプロジェクトをプライベートメッセージでお送りします。 これらの情報が役に立てば幸いです。何かご不明な点がございましたら、いつでもお気軽にお問い合わせください。 BR、 サイモン Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、ベインさん。 今週中に、その動作を再現する簡単なプロジェクトを用意してみます。 Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @VaneB さん。 カスタムボードで、eMIOS1チャネル6チャネルのみを含む簡易設定で問題をテストしました。残念ながら、この設定ではエラーを再現できません。アプリケーションは正しく動作し、EMIOS_1_IRQで詰まることはありません。 現在、カスタムボード用に開発したプロジェクト全体をEVBにロードすることが可能かどうかを検討しています。進める前に、カスタムボードとEVBのハードウェアの違いが、予期せぬ挙動やEVBの損傷を引き起こす可能性があるかどうかも知りたいです。 BR、 サイモン Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @simon98さん 当社の評価ボードは主に室温での使用を想定しており、非常に低温または非常に高温での試験や認証はされていません。 評価ボードは室温範囲外でも使用できますが、その条件下での性能を保証することはできません。 Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @VaneB さん。 何度か試みた結果、カスタムボード上で動作するアプリケーションをできるだけ忠実に再現するEVBプロジェクトを作成することができました。特に、すべてのピンを自分のカスタムプロジェクトと同じように設定しました。 このプロジェクトをカスタムボードで85°Cの条件下でテストしましたが、eMIOS ISRの問題は依然として発生し、アプリケーションが固着し続けました。 その後、全く同じプロジェクトをEVB上で同じ温度条件(90℃以上)でテストしましたが、問題は再現できませんでした。EVBはフリーズすることなく正常に動作し続けました。 この時点で、問題の根本原因を特定し、解決策を見つけるために、次にどのような手順を踏むことをお勧めしますか? 追加の情報、測定値、またはデバッグデータが必要な場合は、お知らせください。 完全なEVBプロジェクトと、カスタムボードおよびEVB上のK358の写真を含むZIPファイルを添付しました。 再開まで今しばらくお待ちください。 BR シモーネ Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @simon98さん この問題はカスタムボードで観察されていますがEVBでは見られません。根本原因がハードウェアに関連している可能性を調べる価値があります。 ハードウェア設計をEVBの回路図と比較し、S32K3ハードウェア設計ガイドラインを確認して、関連する推奨事項が適切に実装されているか確認することをお勧めします。 Re: S32K358 eMIOS ISR stuck at 85°C こんにちは、 @VaneB さん。   ハードウェア設計は我々側でレビュー済みで、明らかなハードウェア問題は見つかりませんでした。また、ハードウェア設計や動作条件が異なるため、NXP EVBとは直接比較できません。   お客様がカスタムボードで温度に関する問題を観察した場合、NXPから一対一のサポートをどう受けることができるのでしょうか?   BR、 サイモン
View full article
PN7221 无法检测到 ISO 14443-3B 我们按照文档AN14880 PN7160/PN7220 - Android 16 移植指南移植了 PN7221。测试过程中,无法检测到 ISO 14443-3B (NfcB) 卡。此外,轻触此类卡片后,NFC 功能出现故障,无法识别任何卡片。需要将 NFC 关闭再重新打开才能恢复正常运行。相关日志附在下方,供您分析。 ❯ 07-16 09:24:28.515 530 6384 D NxpTml : PN72xx - I2C 读取成功..... 07-16 09:24:28.515 530 6384 D NxpNciR : len = 26 > 61051701010001FF010C0B00000000D103860500808001000000 07-16 09:24:28.515 530 6384 D NxpTml : PN72xx - 正在发布已读消息..... 07-16 09:24:28.516 530 6387 D NxpHal : 读取成功 状态 = 0x0 07-16 09:24:28.516 530 6387 D NxpHal : NxpNci: RF接口 = 帧 RF 07-16 09:24:28.516 530 6387 D NxpHal : NxpNci: 协议 = 未知 07-16 09:24:28.516 530 6387 D NxpHal : NxpNci: 模式 = B 被动轮询 07-16 09:24:28.516 530 6387 D NxpHal : NCI NTF: RF_DEACTIVATED len=26 type=1 07-16 09:24:28.517 530 6384 D NxpTml : PN72xx - 读取请求..... 07-16 09:24:28.517 530 6384 D NxpTml : PN72xx - 调用 I2C 读取..... 07-16 09:24:28.517 1599 6381 D libnfc_nci: rw_t4t_send_to_lower: conn_id 已发送至 lower =0 07-16 09:24:28.517 530 542 I android.hardware.nfc2-service.nxp:写 07-16 09:24:28.517 530 6385 D NxpTml : PN72xx - 写入请求..... 07-16 09:24:28.517 530 6385 D NxpTml : PN72xx - 调用 I2C 写入..... 07-16 09:24:28.519 530 6385 D NxpNciX : 长度 = 12 > 0000091D0000000000080100 07-16 09:24:28.519 530 6385 D NxpTml : PN72xx - I2C 写入成功..... 07-16 09:24:28.519 530 6385 D NxpTml : PN72xx - 发布新消息..... 07-16 09:24:28.519 530 6385 D NxpTml : PN72xx - Tml 写入线程正在运行................ 07-16 09:24:28.519 530 6387 D NxpHal : 写入成功 状态 = 0x0 07-16 09:24:28.520 530 6384 D NxpTml : PN72xx - I2C 读取成功..... 07-16 09:24:28.520 530 6384 D NxpNciR:长度 = 6 > 600603010001 07-16 09:24:28.520 530 6384 D NxpTml : PN72xx - 正在发布已读消息..... 07-16 09:24:28.521 530 6387 D NxpHal : 读取成功 状态 = 0x0 07-16 09:24:28.521 530 6387 D NxpHal : NCI NTF: CORE_GENERIC_ERROR len=6 07-16 09:24:28.521 530 6384 D NxpTml : PN72xx - 读取请求..... 07-16 09:24:28.521 530 6384 D NxpTml : PN72xx - 调用 I2C 读取..... 07-16 09:24:28.523 530 6384 D NxpTml : PN72xx - I2C 读取成功..... 07-16 09:24:28.523 530 6384 D NxpNciR:长度 = 5 > 0000020000 07-16 09:24:28.523 530 6384 D NxpTml : PN72xx - 正在发布已读消息..... 07-16 09:24:28.523 530 6387 D NxpHal : 读取成功 状态 = 0x0 07-16 09:24:28.524 1599 6381 I libnfc_nci: rw_t3Bt_sm_get_id (): sub_state:WAIT_ENDEF_FILE_CTRL_TLV (17) 07-16 09:24:28.524 1599 6381 D libnfc_nci: rw_t4t_send_to_lower: conn_id 已发送至 lower =0 07-16 09:24:28.524 530 542 I android.hardware.nfc2-service.nxp:写 07-16 09:24:28.524 530 6385 D NxpTml : PN72xx - 写入请求..... 07-16 09:24:28.524 530 6385 D NxpTml : PN72xx - 调用 I2C 写入..... 07-16 09:24:28.524 530 6384 D NxpTml : PN72xx - 读取请求..... 07-16 09:24:28.524 530 6384 D NxpTml : PN72xx - 调用 I2C 读取..... 07-16 09:24:28.525 530 6385 D NxpNciX : 长度 = 8 > 0000050036000008 07-16 09:24:28.525 530 6385 D NxpTml : PN72xx - I2C 写入成功..... 07-16 09:24:28.525 530 6385 D NxpTml : PN72xx - 发布新消息..... 07-16 09:24:28.525 530 6385 D NxpTml : PN72xx - Tml 写入线程正在运行................ 07-16 09:24:28.525 530 6387 D NxpHal : 写入成功 状态 = 0x0 07-16 09:24:28.527 530 6384 D NxpTml : PN72xx - I2C 读取成功..... 07-16 09:24:28.527 530 6384 D NxpNciR:长度 = 6 > 600603010001 07-16 09:24:28.528 530 6384 D NxpTml : PN72xx - 正在发布已读消息..... 07-16 09:24:28.528 530 6387 D NxpHal : 读取成功 状态 = 0x0 07-16 09:24:28.528 530 6387 D NxpHal : NCI NTF: CORE_GENERIC_ERROR len=6 07-16 09:24:28.530 530 6384 D NxpTml : PN72xx - 读取请求..... 07-16 09:24:28.530 530 6384 D NxpTml : PN72xx - 调用 I2C 读取..... 07-16 09:24:28.531 530 6384 D NxpTml : PN72xx - I2C 读取成功..... 07-16 09:24:28.532 530 6384 D NxpNciR : len = 14 > 00000B21CBA4729CB97166900000 07-16 09:24:28.532 530 6384 D NxpTml : PN72xx - 正在发布已读消息..... 07-16 09:24:28.532 530 6387 D NxpHal : 读取成功 状态 = 0x0 07-16 09:24:28.533 1599 6381 I libnfc_nci: rw_t3Bt_sm_get_id (): sub_state:???? 未知子状态 (18) 07-16 09:24:28.533 1599 6381 我 libnfc_nci: nfa_rw_update_pupi_id: 07-16 09:24:28.534 530 6384 D NxpTml : PN72xx - 读取请求..... 07-16 09:24:28.534 530 6384 D NxpTml : PN72xx - 调用 I2C 读取..... Re: PN7221 fails to detect ISO 14443-3B 我们已经升级到 3.2.5 版本,但测试结果仍然没有改变。 07-17 01:13:52.157 533 542 D NxpHal : 设备上检测到的固件版本 = 0x30205 Re: PN7221 fails to detect ISO 14443-3B 你好@zhangkai 请更新至 3.2.5 版本,您可以通过以下路径获取固件文件: nfc-NXPNFCC_FW/InfraFW/pn7220 at master · NXP/nfc-NXPNFCC_FW Re: PN7221 fails to detect ISO 14443-3B 06-24 10:20:33.259 390 401 D NxpHal : 设备上检测到的固件版本 = 0x302c4 Re: PN7221 fails to detect ISO 14443-3B 你好@zhangkai 固件版本是多少?如果版本低于 3.2.5,请更新到最新版本并再次测试。 如果还有疑问,请向我们提供完整日志。 Re: PN7221 fails to detect ISO 14443-3B 你好@zhangkai 能否提供 libnfc-nci.conf 和 libnfc-nxp.conf 文件? Re: PN7221 fails to detect ISO 14443-3B Hello @zhangkai  此问题可能与A16的变更有关。具体而言:在A15之前,NXP的MW依赖NFA_PROTOCOL_T3BT(80)来支持身份证,但A16通过Google已将中国身份证直接纳入其支持范围。然而,PN7xxx的MW仍保留了该代码。因此,客户尝试将T3BT逻辑从PN7xxx MW中完全移除,并直接使用Google的原生逻辑。 Re: PN7221 fails to detect ISO 14443-3B 配置文件已上传。
View full article
How to bias the amp MD8LC925NR1? Hello, We are currently designing a system using the MD8LC925NR1 Power Amplifier. We would appreciate your recommendation for a suitable bias circuit or a dedicated power management component to properly bias this PA. Could you please provide any reference designs, application notes, or specific part numbers that you recommend for this purpose? Thank you for your assistance. Re: How to bias the amp MD8LC925NR1? Hello, Thank you for your interest in NXP Semiconductors products and for the opportunity to support you. There appears to be a typo in the part number provided. MDL8LC925NR1 is not a valid NXP orderable part number. The closest matching device is MD8IC925N. Please note that this device is currently End of Life, meaning it is no longer supported and is no longer available for new purchases. The following NXP documents provide detailed design information, including circuit schematics, component lists, and characterization data: MD8IC925N Datasheet AN1977 – Quiescent Current Thermal Tracking Circuit in the RF Integrated Circuit Family AN1987 – Quiescent Current Control for the RF Integrated Circuit Device Family (includes both bias circuit topologies with complete component lists) AN1955 – Thermal Measurement Methodology of RF Power Amplifiers Unfortunately, there is no direct replacement available for the MD8IC925N. In addition, many RF products covering the 100 MHz to 1000 MHz frequency range are approaching EOL status, and no new replacement devices have been announced at this time. Please let us know if you would like assistance identifying alternative solutions based on your specific frequency, power, and supply voltage requirements. Best regards
View full article
S32K358 eMIOS ISR stuck at 85°C Dear NXP Support Team, we are facing an issue on S32K358 during temperature tests at around 85°C.   In our application we use 6 eMIOS channels, each one configured to generate interrupts on both PWM edges with a frequency of 200Hz.   At 85°C, the MCU sometimes gets stuck inside one eMIOS ISR. The ISR does not exit because the code checks the interrupt flag by reading the eMIOS registers, but the flag is 0 (file Emios_Mcl_Ip_Irq.c 😞   if (0U != ((Emios_Ip_paxBase[Instance]->CH.UC[Channel].S) & (uint32)eMIOS_S_FLAG_MASK))    After debugging, we noticed that when the issue occurs, the variable containing the eMIOS base address is NULL (Emios_Ip_paxBase). When the application works correctly, the same pointer is valid and the eMIOS registers are read properly. It seems that, in some conditions, the reference to the eMIOS peripheral is corrupted or cleared during ISR execution.   Do you have any indication about possible known issues or root causes, such as stack overflow, memory corruption, concurrent accesses, ISR handling, or temperature-related behavior?   Best regards, Simon Re: S32K358 eMIOS ISR stuck at 85°C Hi vane, I'm currently using RTD 7.0.0 Re: S32K358 eMIOS ISR stuck at 85°C Hi @simon98  Which RTD version are you working with? Any additional information would be helpful. Also, in RTD versions prior to 6.0.0, there was a known issue related to the incorrect memory mapping of static variables within function scope (ARTD-159985). This issue describes a problem where the variable Emios_Ip_paxBase, defined in both Emios_Mcl_Ip.c and Emios_Mcl_Ip_Irq.c, is assigned inconsistent initialization characteristics. Further details are provided in the Software Release Notes. BR, VaneB Re: S32K358 eMIOS ISR stuck at 85°C Hi @simon98  Could you please provide a simple application that reproduces the observed behavior? Also, could you confirm whether you are working with a custom board or an evaluation board? Additionally, could you share how the testing is being performed to confirm that the issue occurs at 85 °C? Re: S32K358 eMIOS ISR stuck at 85°C Hi @VaneB , Currently i'm working with a custom board with S32K358 where i use these eMIOS_1 channels to generate PWM of 200 Hz: ch3, ch9,  ch11, ch12, ch13, ch19. Code is generated using SImulink  Putting my custom board into a climatic cell at 85°C i've observed the stucking behaviour after some time. While i was debugging with S32DS (3.6.7) I've found out that it stuck into the ISR(EMIOS1_1_IRQ) so i've put into it some custom counter near entry/exit function, and also into Emios_Pwm_IrqHandler and Emios_Pwm_Ip_IrqHandler functions, in order to detect what parts of the code are executed.  After some tests i've found out that, when it stucks, inside static void Emios_Pwm_IrqHandler(const uint8 Instance, const uint8 Channel) {     /* Check that an event occurred on Emios channel */     if (0U != ((Emios_Ip_paxBase[Instance]->CH.UC[Channel].S) & (uint32)eMIOS_S_FLAG_MASK))     {         /* Check that an event occurred on EMIOS channel */         if (0U != ((Emios_Ip_paxBase[Instance]->CH.UC[Channel].C) & ((uint32)(eMIOS_C_DMA_MASK | eMIOS_C_FEN_MASK))))         {             Emios_Pwm_Ip_IrqHandler(Instance, Channel);         }         else         {             /* Do nothing - in case of spurious interrupts, return immediately */         }     } }   the if condition: if (0U != ((Emios_Ip_paxBase[Instance]->CH.UC[Channel].S) & (uint32)eMIOS_S_FLAG_MASK))   is always 0 because, for some reason, Emios_Ip_paxBase[Instance] points to 0. This means that nobody is clearing the interrupt flag so it enters in a loop where it cannot escape.   here's the code i've used to detect this probelm: static void Emios_Pwm_IrqHandler(const uint8 Instance, const uint8 Channel) {     // uint32_t s;     // uint32_t c;     // uint32_t s_flag;     // uint32_t s_ovr;     dbg_pwm_last_instance = Instance;     dbg_pwm_last_channel = Channel;     dbg_pwm_last_base_addr = (uint32_t)Emios_Ip_paxBase[Instance];     dbg_pwm_last_c_addr = (uint32_t)&Emios_Ip_paxBase[Instance]->CH.UC[Channel].C;     dbg_pwm_last_s_addr = (uint32_t)&Emios_Ip_paxBase[Instance]->CH.UC[Channel].S;         dbg_emiosipirq_static_state1++;     /* if (Instance == 1)     {         switch (Channel)         {             case 16:                 dbg_emiosipirq_static_cnt_ch16++;                 break;             case 17:                 dbg_emiosipirq_static_cnt_ch17++;                 break;             case 18:                 dbg_emiosipirq_static_cnt_ch18++;                 break;             case 19:                 dbg_emiosipirq_static_cnt_ch19++;                 break;             default:                 dbg_emiosipirq_static_cnt_oth1++;                 break;         }     }     else     {         dbg_emiosipirq_static_cnt_oth2++;     } */     /* Lettura reale dei registri vista dal codice */    /*  s = Emios_Ip_paxBase[Instance]->CH.UC[Channel].S;     c = Emios_Ip_paxBase[Instance]->CH.UC[Channel].C;     s_flag = s & (uint32)eMIOS_S_FLAG_MASK;     s_ovr  = s & (uint32)eMIOS_S_OVR_MASK;     dbg_pwm_last_s = s;     dbg_pwm_last_c = c;     dbg_pwm_flag_mask = (uint32)eMIOS_S_FLAG_MASK;     dbg_pwm_ovr_mask = (uint32)eMIOS_S_OVR_MASK;     dbg_pwm_last_s_and_flag = s_flag;     dbg_pwm_last_s_and_ovr = s_ovr;     if (s_flag != 0U)     {         dbg_pwm_s_flag_yes++;     }     else     {         dbg_pwm_s_flag_no++;     }     if (s_ovr != 0U)     {         dbg_pwm_s_ovr_yes++;     }     else     {         dbg_pwm_s_ovr_no++;     }     if ((s_flag == 0U) && (s_ovr != 0U))     {         dbg_pwm_flag0_ovr1_count++;     }     else if ((s_flag != 0U) && (s_ovr != 0U))     {         dbg_pwm_flag1_ovr1_count++;     }     else if ((s_flag != 0U) && (s_ovr == 0U))     {         dbg_pwm_flag1_ovr0_count++;     }     else     {         dbg_pwm_flag0_ovr0_count++;     } */     /* Check that an event occurred on EMIOS channel */     if (0U != ((Emios_Ip_paxBase[Instance]->CH.UC[Channel].S) & (uint32)eMIOS_S_FLAG_MASK))     {         dbg_emiosipirq_static_state2++;         /* Check that an event occurred on EMIOS channel */         if (0U != ((Emios_Ip_paxBase[Instance]->CH.UC[Channel].C) & ((uint32)(eMIOS_C_DMA_MASK | eMIOS_C_FEN_MASK))))         {             dbg_emiosipirq_static_state3++;             Emios_Pwm_Ip_IrqHandler(Instance, Channel);         }         else         {             dbg_emiosipirq_static_state4++;             /* Do nothing - in case of spurious interrupts, return immediately */         }     }     else     {         dbg_emiosipirq_static_state5++;         //Emios_Pwm_Ip_IrqHandler(Instance, Channel);         //Emios_Pwm_Ip_IrqHandler(1, 19);     } } These are the global vars in which i've stored the addresses which Emios_Ip_paxBase should point to: dbg_pwm_last_base_addr = (uint32_t)Emios_Ip_paxBase[Instance]; dbg_pwm_last_c_addr = (uint32_t)&Emios_Ip_paxBase[Instance]->CH.UC[Channel].C; dbg_pwm_last_s_addr = (uint32_t)&Emios_Ip_paxBase[Instance]->CH.UC[Channel].S; I've put also some custom code to read NVIC registers run time: attached you can find the file with Thread, general registers, NVIC registers and variables expressions, EMIOS registers, for 6 tests i made. Also i will provide you the S32DS project i used to test this behaviour in a private message. I hope all these information could be usefull. I remain at your disposal for any further information. BR, SImon Re: S32K358 eMIOS ISR stuck at 85°C Hi @simon98  Thank you very much for providing this information. Since the code appears to be getting stuck in EMIOS1_1_IRQ, which corresponds to eMIOS 1 Channel 19 based on your configuration, let’s try to narrow the analysis to this specific part. To simplify the debugging and rule out any interference from other modules, please create a minimal test project that only includes this eMIOS configuration. This will help us isolate the behavior and better understand the root cause. For guidance, you can review the examples provided in the thread S32M27x/S32K3 – eMIOS Usage. Does the same behavior still occur? Also, if you have an evaluation board, it would be great if you could try the same code there. Re: S32K358 eMIOS ISR stuck at 85°C Hi vane, I'll try this week to give you a simple project that replicate the behaviour Re: S32K358 eMIOS ISR stuck at 85°C Hi @VaneB , I tested the issue on my custom board using a simplified configuration that only includes the six eMIOS1 channels. Unfortunately, in this setup I am not able to reproduce the error. The application runs correctly and does not get stuck in EMIOS_1_IRQ. At the moment, I am looking into whether it is feasible to load the complete project developed for our custom board onto the EVB. Before proceeding, I would also like to understand if the hardware differences between the custom board and the EVB could potentially lead to any unexpected behavior or even damage to the EVB. BR, Simon Re: S32K358 eMIOS ISR stuck at 85°C Hi @simon98  Our evaluation boards are designed mainly for use at room temperature and have not been tested or qualified for very low or very high temperatures. You may still use the evaluation boards outside the room-temperature range, but we cannot guarantee their performance under those conditions. Re: S32K358 eMIOS ISR stuck at 85°C Hi @VaneB , After several attempts, I managed to create an EVB project that reproduces the application running on my custom board as closely as possible. In particular, I configured all the pins in the same way as in my custom project. I then tested this project on my custom board under 85°C conditions, and the eMIOS ISR issue still occurred: the application continued to get stuck. After that, I tested exactly the same project on the EVB under the same temperature conditions and over (90°C), but I was not able to reproduce the issue—the EVB continued to operate correctly without getting stuck. At this point, what would you recommend as the next steps to identify the root cause of the problem and find a possible solution? Please let me know if you need any additional information, measurements, or debugging data from my side. I have attached a ZIP file containing the complete EVB project and the pictures of the K358 on my custom board and on the EVB. Thank you for your support. BR Simone Re: S32K358 eMIOS ISR stuck at 85°C Hi @simon98  As the issue is observed on your custom board but not on the EVB, it would be worthwhile to investigate whether the root cause could be hardware-related. I recommend comparing your hardware design against the EVB schematic and reviewing the S32K3 Hardware Design Guideline to verify that all relevant recommendations have been properly implemented. Re: S32K358 eMIOS ISR stuck at 85°C Hi @VaneB,   the HW design has been reviewed on our side and no evident hardware issue has been found. Also, the board is not directly comparable with the NXP EVB due to different hardware design and operating conditions.   If a customer observes temperature-related issues on a custom board, how could it be possible to obtain one-to-one support from NXP?   BR, Simon
View full article
XIP FLASHリマップを有効にした状態でイメージスワップ後にMCUBootイメージをデバッグ/フラッシュする 皆さん、 なぜ特定の状況でフラッシュドライバーが故障するのか、何か理由があるのか教えてほしいです。 私たちはカスタムボードをIMXRT1176に使っています。このMCUのボードはEmbedded Artistsのキャリアボードをベースにしています。私たちのプロジェクトでは、フラッシュメモリに0x30100000と0x30200000の2つのパーティションがあります。私たちはMCU-LinkとLinkserverを使ってバイナリをフラッシュしています。バイナリは-この場合確認された署名です。FLASHのリマップ機能を有効にしているので、スワップは行われません。 我々は2つの状況を観察する。 1.フラッシュメモリにブートローダーがあり、パーティション1にイメージファイルがあれば、すべて正常に動作します。 2. OTAアップグレードを完了し、MCUbootが2つ目のパーティションから新しいイメージを起動すると、linkserverからエラーが出るため、FLASHパート1への書き込みができません。 ================================================= NC:フラッシュドライバーの起動 MIMXRT1170_SFDP_QSPI.cfx(すでに常駐中) NC:フラッシュドライバーを実行するためにVECTRESETを送信中 Nc: フラッシュバリアント「iMXRT1170_SFDP_FlexSPI1_A_QSPI 2026年5月15日 18:32:39」検出(16MB = 256*64K 0x30000000) Pb: 1/1(0) 0x30100000でセクター16-31を1048576バイトで書き込み 追伸:(0) 30100000 で:0バイト - 0/1048576 Ec: op ProgramPage (0x30100000, 0x20002830, 0x4000) ステータス 0x1 - ドライバーがドライバーエラーを報告 - EXTSPIJドライバー rc 1 - 操作失敗 Ec: op ProgramPage (0x30100000, 0x20002830, 0x4000) ステータス 0x1 - ドライバーがドライバーエラーを報告 - EXTSPIJドライバー rc 1 - 操作失敗 最初のパーティションは erase-range コマンドで消去済みであることに注意してください。また、私たちのファームウェアがフラッシュドライバーで処理すると期待通りに動作することも確認できます。リンクサーバーを手動で操作しようとした場合にのみ失敗します。 =================================================== Q1。何か明確な理由はありますか?パーティション2を消すべきなのか、それとも両方の区画を消すべきなのでしょうか? Q2。もしスロット1のためにバイナリをビルドした場合、パーティション2のイメージで動作するコアに接続したとき、このバイナリは動作しますか?Flashのリマップは動作しますか? ご協力ありがとうございます。 よろしくお願いします! ヤクブ Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled ギャビンさん、こんにちは。ご返信ありがとうございます!あなたはこれらの概念を理解する上で本当に役立ちました。 もし可能なら、もう一つだけ一緒に考えていただけませんか? これはOTAアップデート後に取得したパーティション情報です。 =========== 画像 0; 名前 APP; 状態 永続的: スロット 0 APP_PRIMARY; オフセット 0x100000; サイズ 0x100000 (1048576): <画像: サイズ 821444; バージョン 1.1.1+0> 画像ペイロードのSHA256: C825709456C098E38090... log_addr 0x30100000 は 0x30200000 にリマップされます スロット 1 APP_SECONDARY; オフセット 0x200000; サイズ 0x100000 (1048576): <画像: サイズ 821444; バージョン 2.1.1+0> 画像ペイロードのSHA256: EBFCCC0D3E970230E404... log_addr 0x30200000 は 0x30200000 に再マッピングされます *アクティブ* =============== 次に、このスクリプトを実行してスロット0をクリアします。 LinkServer.exe flash MIMXRT1176xxxxx:MIMXRT1170-EVKB erase-range 0x30100000 0x100000 あなたの説明によると、リマップオーバーレイが有効になっているため、スロット1が消去されると予想していました。しかし、そうではありません。電源リセット後に得られた結果は以下のとおりです。 ========= フラッシュREMAP_OVERLAYが有効です。 画像 0; 名前 APP; 状態 なし: スロット 0 APP_PRIMARY; オフセット 0x100000; サイズ 0x100000 (1048576): 画像が見つかりませんでした スロット 1 APP_SECONDARY; オフセット 0x200000; サイズ 0x100000 (1048576): <画像: サイズ 821444; バージョン 2.1.1+0> 画像ペイロードのSHA256:EBFCCC0D3E970230E404... log_addr 0x30200000 0x30200000への再マップ *アクティブ*========= まだslot0に何も書き込めないのは予想外です。eraseコマンドはremapコマンドの論理マッピングをバイパスするが、loadコマンドはバイパスしないということはあり得るのでしょうか? Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled こんにちは、 @jslota13245 さん。 NXP MIMXRTシリーズにご関心をお寄せいただきありがとうございます! ご提供いただいた情報に基づき、以下の理由を考慮すべきだと考えます。故障の原因は FlexSPIリマップは引き続き有効です OTAアップデート後。MCUbootがリマップでslot1(partition2)を起動すると、アプリケーションにremapを残します。LinkServerのフラッシュ  .cfx  ドライバはAHB論理アドレスを通じて処理されるため、リマップは書き込みTo  0x30100000  (partition1)を物理  0x30200000  (partition2)に静かにリダイレクトします。物理はすでに確認済み画像を保持しており、空白ではありません。NORフラッシュは上書きできません。 以前の  erase-range 0x30100000  実際、同じ理由でパーティション2も消去しました。独自のファームウェアは、プログラムによって動作します。 FlexSPI IPコマンドモードでは、明示的な物理オフセットを使用することで、リマップをバイパスします。注: VECTRESET / デバッガーアタッチ 再マッピングは明確ではない。PORまたは明示的なレジスタ書き込みのみがそれを可能にする。 Q1: どのパーティションを消去すべきですか? 重要なのは、パーティションを消去するだけでなく、まずリマップを無効にすることです。推奨: LinkServerでプログラミングを行う前に、リマップレジスタをクリアしてください。 次に、両方のパーティション(slot0とslot1)を消去します。direct-XIPは最高バージョンを選択するため、slot1に古くなった画像が残るとMCUbootが再度選び、再マッピングを有効化するため、問題が再発します。 Q2: Partition2イメージを実行するコアに接続した場合、slot1バイナリは動作しますか? 画像にはリンクが必要です プライマリスロット ( 0x30100000 ) 用に一度だけ実行します。同じバイナリはリマップによりどちらのスロットからでも実行されます。スロット1 用に別途ビルドする必要はありません。デバッグ用にアタッチすると、リマップは論理アドレスの整合性を保つため、コードの読み取りやブレークポイントは問題なく動作します。しかし、同じリマップはフラッシュを書く際に物理ターゲットを変えるため、LinkServerでslot0をプログラムする前にリマップを無効にする必要があります 。 よろしくお願いします、 ギャビン
View full article
启用 XIP FLASH 重映射后,在镜像交换后对 MCUBoot 镜像进行调试/刷写。 各位亲爱的朋友们, 我想请教一下,为什么我们的U盘会在某种特定情况下出现故障? 我们使用定制的电路板,搭载 IMXRT1176,我们的电路板基于 Embedded Artists 的该 MCU 载板。我们的项目中,闪存中有两个分区,分别为 0x30100000 和 0x30200000。我们使用 MCU-Link 和 Linkserver 来烧录二进制文件。在这种情况下,二进制文件会使用 --confirmed 进行签名。我们启用了 FLASH 重映射功能,因此不会执行交换操作。 我们观察到两种情况: 1.如果闪存中有引导加载程序,并且分区 1 中有镜像,则一切都按预期工作。 2. OTA 升级完成后,MCUboot 从第二个分区启动新镜像,此时我们将无法再写入 FLASH 分区 1,因为链路服务器会报错: ================================================= Nc:正在打开闪存驱动程序 MIMXRT1170_SFDP_QSPI.cfx(已驻留) Nc:发送 VECTRESET 以运行闪存驱动程序 Nc:检测到 Flash 变体“iMXRT1170_SFDP_FlexSPI1_A_QSPI 2026 年 5 月 15 日 18:32:39”(16MB = 256*64K,地址为 0x30000000) Pb:1/1 (0) 正在写入地址 0x30100000 的扇区 16-31,共 1048576 字节 PS:(0)位于 30100000:0 字节 - 0/1048576 Ec: op ProgramPage (0x30100000, 0x20002830, 0x4000) 状态 0x1 - 驱动程序报告驱动程序错误 - EXTSPIJ 驱动程序返回码 1 - 操作失败 Ec: op ProgramPage (0x30100000, 0x20002830, 0x4000) 状态 0x1 - 驱动程序报告驱动程序错误 - EXTSPIJ 驱动程序返回码 1 - 操作失败 请注意,我已经使用 erase-range 命令擦除了第一个分区。我还可以确认,当我们的固件通过闪存驱动程序执行此操作时,它能按预期工作。只有当我尝试手动使用链接服务器时才会失败。 =================================================== 问题一:这样做有什么明显的原因吗?我们应该总是擦除分区 2 还是两个分区都擦除? Q2. 如果我们为 slot1 构建了一个二进制文件,那么当我们将其连接到运行在分区 2 中的镜像的核心时,该二进制文件是否能正常工作?Flash 重映射能否使其正常工作? 提前感谢您的帮助! 此致! 雅库布 Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled 你好 Gavin,非常感谢你的回复!你真的帮我理解了这些概念。 如果可以的话,能否请您再帮我解决一件事? 这是我通过OTA更新获取到的分区信息: =========== 图片 0;名称 APP;状态 永久: 插槽 0 APP_PRIMARY;偏移量 0x100000;大小 0x100000 (1048576): < size="" 821444=""> 图像有效载荷的 SHA256 值:C825709456C098E38090... log_addr 0x30100000 重映射为 0x30200000 插槽 1 APP_SECONDARY;偏移量 0x200000;大小 0x100000 (1048576): < size="" 821444=""> 图像有效载荷的 SHA256 值:EBFCCC0D3E970230E404... log_addr 0x30200000 重映射为 0x30200000 *积极的* =============== 然后我运行这个脚本来清除 slot0。 LinkServer.exe flash MIMXRT1176xxxxx:MIMXRT1170-EVKB erase-range 0x30100000 0x100000 根据你所说,我原本以为会删除 slot1,因为重新映射叠加层已启用。然而,事实并非如此。断电重启后出现的情况是: ========= Flash REMAP_OVERLAY 已激活。 图片 0;名称 APP;状态 无: 插槽 0 APP_PRIMARY;偏移量 0x100000;大小 0x100000 (1048576): 插槽 1 APP_SECONDARY;偏移量 0x200000;大小 0x100000 (1048576): < size="" 821444=""> 图像有效载荷的 SHA256 值:EBFCCC0D3E970230E404... log_addr 0x30200000 重映射为 0x30200000 *活跃*========= 我仍然无法向 slot0 写入任何内容,这出乎我的意料。是否有可能擦除操作绕过了重映射的逻辑映射,而加载操作则没有? Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled 你好@jslota13245 , 感谢您对 NXP MIMXRT 系列产品的关注! 根据您提供的信息,我认为应该考虑以下原因。故障是由以下原因造成的: FlexSPI 重映射仍然启用 OTA 之后。当 MCUboot 通过重映射启动 slot1(分区 2)时,它会将重映射保留到应用程序中。LinkServer 的  .cfx  闪存驱动程序通过 AHB 逻辑地址进行编程,因此重映射会静默地将您的写入操作重定向到  0x30100000  (分区1)到物理  0x30200000  (分区 2)——其中已包含已确认的图像,并且不为空。NOR闪存无法覆盖它。 你之前的  erase-range 0x30100000  实际上,出于同样的原因,我也删除了分区2。你自己的固件之所以能工作,是因为它通过以下方式进行编程: FlexSPI IP 命令模式,具有明确的物理偏移量,绕过重映射。注意:VECTRESET / 调试器附加 重映射并不明确——只有 POR 或显式寄存器写入才能实现。 问题1:要删除哪个分区? 关键在于先禁用分区重映射,而不仅仅是删除分区。受到推崇的: 使用 LinkServer 进行编程之前,请清除重映射寄存器; 然后擦除两个分区(slot0 和 slot1)。由于 direct-XIP 会选择最高版本,因此插槽 1 中遗留的过时映像会导致 MCUboot 再次选择它并重新启用重映射,从而导致问题再次出现; Q2:当把 slot1 二进制文件附加到运行 partition2 镜像的核心上时,它能正常工作吗? 图片应该链接 一次用于主槽( 0x30100000 );同一个二进制文件通过重映射从任一槽运行——无需单独构建槽1的**版本**。当您附加到调试位置时,重映射会保持逻辑地址一致,因此代码读取/断点可以正常工作。然而,同样的重映射操作在写入闪存时会改变物理目标,所以你 在用 LinkServer 对 slot0 进行编程之前,必须先禁用重映射。 此致, 加文
View full article
Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled Dear Everyone, I would like to ask for any possible reason why does our flash driver fail in one specific situation. We use custom board with IMXRT1176, our board is based on Embedded Artists carrier board for that MCU. In our project there are two partitions in flash, 0x30100000 and 0x30200000. We use MCU-Link and Linkserver to flash binaries. Binaries are signed with --confirmed in this case. We have a FLASH remap functionality enabled so no swap is performed. We observe two situations: 1. If there is a bootloader in flash and an image in partition 1, everything works as expected. 2. Once we complete the OTA upgrade and MCUboot boots new image from a second partition, we can no longer write to FLASH partiton 1 as we get an error from linkserver: ================================================= Nc: Opening flash driver MIMXRT1170_SFDP_QSPI.cfx (already resident) Nc: Sending VECTRESET to run flash driver Nc: Flash variant 'iMXRT1170_SFDP_FlexSPI1_A_QSPI May 15 2026 18:32:39' detected (16MB = 256*64K at 0x30000000) Pb: 1 of 1 ( 0) Writing sectors 16-31 at 0x30100000 with 1048576 bytes Ps: ( 0) at 30100000: 0 bytes - 0/1048576 Ec: op ProgramPage (0x30100000, 0x20002830, 0x4000) status 0x1 - driver reported driver error - EXTSPIJ driver rc 1 - Operation failed Ec: op ProgramPage (0x30100000, 0x20002830, 0x4000) status 0x1 - driver reported driver error - EXTSPIJ driver rc 1 - Operation failed Note that I have erased the first partition with erase-range. I also can confirm that when our firmware does it with flash driver it works as expected. It fails only when i try to do it with the linkserver manually =================================================== Q1. Is there any obvious reason for it? Should we always erase partition 2 or both paritions? Q2. If we have binary built for slot1, does this binary work when we attach to the core which runs with image in partition 2? Does Flash remap make it work? Thanks in advance for any help, Best Regards! Jakub Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled Hello Gavin, thank you very much for your response! You really helped me to understand these concepts. If it's possible, could you please help me figure out one more thing? This is partition info i get after OTA: =========== Image 0; name APP; state Permanent: Slot 0 APP_PRIMARY; offset 0x100000; size 0x100000 (1048576): < size="" 821444=""> SHA256 of image payload: C825709456C098E38090... log_addr 0x30100000 remaps to 0x30200000 Slot 1 APP_SECONDARY; offset 0x200000; size 0x100000 (1048576): < size="" 821444=""> SHA256 of image payload: EBFCCC0D3E970230E404... log_addr 0x30200000 remaps to 0x30200000 *ACTIVE* =============== Then I run this script to clear slot0 LinkServer.exe flash MIMXRT1176xxxxx:MIMXRT1170-EVKB erase-range 0x30100000 0x100000 According to what you said, i expected to erase slot1 because remap overlay is active. However that's not the case. What i got after power reset is: ========= Flash REMAP_OVERLAY active. Image 0; name APP; state None: Slot 0 APP_PRIMARY; offset 0x100000; size 0x100000 (1048576): Slot 1 APP_SECONDARY; offset 0x200000; size 0x100000 (1048576): < size="" 821444=""> SHA256 of image payload: EBFCCC0D3E970230E404... log_addr 0x30200000 remaps to 0x30200000 *ACTIVE*========= I still can't write anything to slot0 which is unexpected. Is it possible that erase bypasses the logical mapping of remap but load doesn't? Re: Debug/Flash MCUBoot image after after image swap with XIP FLASH remap enabled Hi @jslota13245 , Thanks for your interest in NXP MIMXRT series! Based on the information you provided, I believe the following reasons should be considered. The failure is caused by the FlexSPI remap still being enabled after OTA. When MCUboot boots slot1 (partition2) via remap, it leaves remap on into the application. LinkServer's  .cfx  flash driver programs through the AHB logical address, so the remap silently redirects your write to  0x30100000  (partition1) to physical  0x30200000  (partition2) — which already holds the confirmed image and is not blank. NOR flash cannot overwrite it. Your earlier  erase-range 0x30100000  actually erased partition2 for the same reason. Your own firmware works because it programs via FlexSPI IP command mode with explicit physical offsets, bypassing the remap. Note: VECTRESET / debugger attach do not clear the remap — only a POR or an explicit register write does. Q1: Which partition to erase? The key is to disable remap first, not just erasing partitions. Recommended: Before programming with LinkServer, clear the remap registers; Then erase both partitions (slot0 and slot1). Because direct-XIP selects the highest version, a stale image left in slot1 will make MCUboot pick it again and re-enable remap, so the problem returns; Q2: Will a slot1 binary work when attached to a core running the partition2 image? The image should be linked once for the primary slot ( 0x30100000 ); the same binary runs from either slot via remap — no separate slot1 build is needed. When you attach for debug, remap keeps logical addresses consistent, so code reads/breakpoints work fine. However, the same remap changes the physical target when writing flash, so you must disable remap before programming slot0 with LinkServer. Best regards, Gavin
View full article
PN7221はISO 14443-3Bを検出できません PN7221は PN7160/PN7220 - Android 16移植ガイドAN14880文書に従って移植しました。テスト中、ISO 14443-3B(NfcB)カードは検出できません。さらに、そのようなカードをタップすると、NFC機能が誤作動を起こし、どのカードも認識しなくなります。正常な動作に戻すには、NFC機能を一度オフにしてから再度オンにする必要があります。分析に必要な関連ログを以下に添付いたします。 ❯ 07-16 09:24:28.515 530 6384 D NxpTml : PN72xx - I2C読み込み成功..... 07-16 09:24:28.515 530 6384 D NxpNciR : len = 26 > 61051701010001FF010C0B00000000D103860500808001000000 07-16 09:24:28.515 530 6384 D NxpTml : PN72xx - 既読メッセージを投稿中..... 07-16 09:24:28.516 530 6387 D NxpHal : read 成功状態 = 0x0 07-16 09:24:28.516 530 6387 D NxpHal : NxpNci: RF インターフェース = フレームRF 07-16 09:24:28.516 530 6387 D NxpHal : NxpNci: プロトコル = 不明 07-16 09:24:28.516 530 6387 D NxpHal : NxpNci: Mode = B パッシブ投票 07-16 09:24:28.516 530 6387 D NxpHal : NCI NTF: RF_DEACTIVATED len=26 タイプ=1 07-16 09:24:28.517 530 6384 D NxpTml : PN72xx - 読書リクエスト..... 07-16 09:24:28.517 530 6384 D NxpTml : PN72xx - I2Cリードの呼び出し..... 07-16 09:24:28.517 1599 6381 D libnfc_nci: rw_t4t_send_to_lower: conn_id 下層へ送信 =0 07-16 09:24:28.517 530 542 I android.hardware.nfc2-service.nxp:書く 07-16 09:24:28.517 530 6385 D NxpTml : PN72xx - 書き込みリクエスト..... 07-16 09:24:28.517 530 6385 D NxpTml : PN72xx - I2C Writeの呼び出し..... 07-16 09:24:28.519 530 6385 D NxpNciX : len = 12 > 00000091D000000000000080100 07-16 09:24:28.519 530 6385 D NxpTml : PN72xx - I2C 書き込み成功..... 07-16 09:24:28.519 530 6385 D NxpTml : PN72xx - 新しい書き込みメッセージの投稿中..... 07-16 09:24:28.519 530 6385 D NxpTml : PN72xx - Tml Writer Thread実行中................ 07-16 09:24:28.519 530 6387 D NxpHal : write true status = 0x0 07-16 09:24:28.520 530 6384 D NxpTml : PN72xx - I2C読み取り成功..... 07-16 09:24:28.520 530 6384 D NxpNciR : len = 6 > 600603010001 07-16 09:24:28.520 530 6384 D NxpTml : PN72xx - 既読メッセージを投稿中..... 07-16 09:24:28.521 530 6387 D NxpHal : read, 成功した状態 = 0x0 07-16 09:24:28.521 530 6387 D NxpHal : NCI NTF: CORE_GENERIC_ERROR len=6 07-16 09:24:28.521 530 6384 D NxpTml : PN72xx - 読書リクエスト中..... 07-16 09:24:28.521 530 6384 D NxpTml : PN72xx - I2Cリードの呼び出し..... 07-16 09:24:28.523 530 6384 D NxpTml : PN72xx - I2C読み取り成功..... 07-16 09:24:28.523 530 6384 D NxpNciR : len = 5 > 0000020000 07-16 09:24:28.523 530 6384 D NxpTml : PN72xx - 既読メッセージの投稿..... 07-16 09:24:28.523 530 6387 D NxpHal : read 成功状態 = 0x0 07-16 09:24:28.524 1599 6381 I libnfc_nci: rw_t3Bt_sm_get_id (): sub_state:WAIT_ENDEF_FILE_CTRL_TLV (17) 07-16 09:24:28.524 1599 6381 D libnfc_nci: rw_t4t_send_to_lower: conn_id 下層へ送信 =0 07-16 09:24:28.524 530 542 I android.hardware.nfc2-service.nxp:書く 07-16 09:24:28.524 530 6385 D NxpTml : PN72xx - 書き込みリクエスト..... 07-16 09:24:28.524 530 6385 D NxpTml : PN72xx - I2C Write..... 07-16 09:24:28.524 530 6384 D NxpTml : PN72xx - 読書リクエスト中..... 07-16 09:24:28.524 530 6384 D NxpTml : PN72xx - I2Cリードの呼び出し..... 07-16 09:24:28.525 530 6385 D NxpNciX : len = 8 > 0000050036000008 07-16 09:24:28.525 530 6385 D NxpTml : PN72xx - I2C 書き込み成功..... 07-16 09:24:28.525 530 6385 D NxpTml : PN72xx - 新しい書き込みメッセージの投稿中..... 07-16 09:24:28.525 530 6385 D NxpTml : PN72xx - TMLライターThread実行中................ 07-16 09:24:28.525 530 6387 D NxpHal : write failed status = 0x0 07-16 09:24:28.527 530 6384 D NxpTml : PN72xx - I2C読み込み成功..... 07-16 09:24:28.527 530 6384 D NxpNciR : len = 6 > 600603010001 07-16 09:24:28.528 530 6384 D NxpTml : PN72xx - 既読メッセージを投稿中..... 07-16 09:24:28.528 530 6387 D NxpHal : read 成功状態 = 0x0 07-16 09:24:28.528 530 6387 D NxpHal : NCI NTF: CORE_GENERIC_ERROR len=6 07-16 09:24:28.530 530 6384 D NxpTml : PN72xx - 読書リクエスト..... 07-16 09:24:28.530 530 6384 D NxpTml : PN72xx - I2Cリードの呼び出し..... 07-16 09:24:28.531 530 6384 D NxpTml : PN72xx - I2C読み取り成功..... 07-16 09:24:28.532 530 6384 D NxpNciR : len = 14 > 00000B21CBA4729CB971669000000 07-16 09:24:28.532 530 6384 D NxpTml : PN72xx - 既読メッセージを投稿中..... 07-16 09:24:28.532 530 6387 D NxpHal : read 成功状態 = 0x0 07-16 09:24:28.533 1599 6381 I libnfc_nci: rw_t3Bt_sm_get_id (): sub_state:????不明のサブステート(18歳) 07-16 09:24:28.533 1599 6381 I libnfc_nci: nfa_rw_update_pupi_id: 07-16 09:24:28.534 530 6384 D NxpTml : PN72xx - 読書リクエスト..... 07-16 09:24:28.534 530 6384 D NxpTml : PN72xx - I2Cリードの呼び出し..... Re: PN7221 fails to detect ISO 14443-3B バージョン3.2.5にアップグレードしましたが、テスト結果は変わりません。 07-17 01:13:52.157 533 542 D NxpHal : デバイスで見つかったファームウェアバージョン = 0x30205 Re: PN7221 fails to detect ISO 14443-3B こんにちは、 @zhangkai さん。 3.2.5にアップデートしてください。fwファイルは以下のサイトから入手できます:nfc-NXPNFCC_FW/InfraFW/pn7220 at master ·NXP/NFC-NXPNFCC_FW Re: PN7221 fails to detect ISO 14443-3B 06-24 10:20:33.259 390 401 D NxpHal : デバイスで見つかったファームウェアバージョン = 0x302c4 Re: PN7221 fails to detect ISO 14443-3B こんにちは、 @zhangkai さん。 ファームウェアのバージョンは何ですか?もし3.2.5のような低いバージョンであれば、最新バージョンにアップデートして再度テストしてください。 それでもご不明な点がある場合は、ログ全体をご提供ください。 Re: PN7221 fails to detect ISO 14443-3B こんにちは、 @zhangkai さん。 libnfc-nci.confとlibnfc-nxp.confのファイルを提供してもらえますか? Re: PN7221 fails to detect ISO 14443-3B こんにちは、 @zhangkai さん。 この問題は、A16の変更に関連している可能性があります。具体的には、A15以前のNXP製モバイルMWは、IDカードのサポートにNFA_PROTOCOL_T3BT(80)を使用していましたが、A16ではGoogleを通じて中国のIDカードがサポート対象に直接含まれるようになりました。しかし、PN7xxx MWには依然としてこのコードが残っています。そのため、顧客はPN7xxx MWからT3BTロジックを完全に削除し、Googleのネイティブロジックを直接使用しようとしています。 Re: PN7221 fails to detect ISO 14443-3B 設定ファイルがアップロードされました。
View full article
HID(W):LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 早安 ! 我正在试用 FRDM i.MX 93 入门指南:指南 我下载了FRDM-IMX93 演示镜像(尝试了 REV.1.0 和 REV4.0),但一直收到相同的错误信息。 尝试了指南中的命令:.\uuu.exe -b sd_all imx-image-full-imx93frdm.rootfs.wic.zst 用于 nxp imx 芯片的 uuu(通用更新实用程序) -- libuuu_1.5.243-0-g230f1b1 版本 in config: Pctl Chip Vid Pid BcdVersion Serial_No ================================================== SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS: MX8DXL 0x1fc9 0x0147 SDPS: MX28 0x15a2 0x004f SDPS: MX815 0x1fc9 0x013e SDPS: MX865 0x1fc9 0x0146 SDPS: MX8ULP 0x1fc9 0x014a SDPS: MX8ULP 0x1fc9 0x014b SDPS: MX93 0x1fc9 0x014e SDPS: MX91 0x1fc9 0x0159 SDPS: MX95 0x1fc9 0x015d SDPS: MX95 0x1fc9 0x015c SDPS: MX943 0x1fc9 0x0027 SDPS: MX952 0x1fc9 0x0028 SDP: MX7D 0x15a2 0x0076 SDP: MX6Q 0x15a2 0x0054 SDP: MX6D 0x15a2 0x0061 SDP: MX6SL 0x15a2 0x0063 SDP: MX6SX 0x15a2 0x0071 SDP: MX6UL 0x15a2 0x007d SDP: MX6ULL 0x15a2 0x0080 SDP: MX6SLL 0x1fc9 0x0128 SDP: MX7ULP 0x1fc9 0x0126 SDP: MXRT106X 0x1fc9 0x0135 SDP: MX8MM 0x1fc9 0x0134 SDP: MX8MQ 0x1fc9 0x012b SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV: SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998] FBK: 0x066f 0x9afe FBK: 0x066f 0x9bff FBK: 0x1fc9 0x0153 FB: 0x0525 0xa4a5 FB: 0x18d1 0x0d02 FB: 0x3016 0x0001 FB: 0x1fc9 0x0152 FB: 0x0483 0x0afb 运行内置脚本: uuu_version 1.4.149 # @_flash.bin | 引导加载程序,可从 wic 映像中提取 # @_image [_flash.bin] | wic 映像刻录到 emmc。 # 此命令将在 i.mx6/7 i.mx8MM、i.mx8MQ SDP: 启动-f imx-image-full-imx-image-full-imx93frdm.rootfs.wic.zst/*-scanlimited 0x 800000 时运行 # 此命令将在 ROM 支持直播模式时运行 # i.MX8QXP, i.MX8QM SDPS: 启动 -scanterm -f imx-image-full-imx93frdm.rootfs.wic.zst/* -scanlimited 0x800000 # 这些命令将在使用 SPL 时运行,如果不使用 SPL,则跳过这些命令。 # SDPU 将被弃用,请使用 SDPV 代替 SDPU # { SDPU: delay 1000 SDPU: write -f imx-image-full-imx93frdm.rootfs.wic.zst/* -offset 0x57c00 -scanlimited 0x800000 SDPU: jump -scanlimited 0x800000 # } # 使用 SPL 时将运行这些命令,如果不支持,则跳过这些命令。 # 如果(SPL 支持 SDPV) # { SDPV:延迟 1000 SDPV: write -f imx-image-full-imx93frdm.rootfs.wic.zst/* -skipspl -scanterm -scanlimited 0x800000 SDPV: 跳转 -scanlimited 0x800000 # } FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev${sd_dev} FB: ucmd mmc dev${sd_dev} FB: flash -raw2sparse all imx-image-full-imx93frdm.rootfs.wic.zst/* FB: flash -scanterm -scanlimited 0x800000 引导加载程序 imx-image-full-imx93frdm.rootfs.wic.zst/* FB: 已完成 等待已知的 USB 设备出现... 4:2-23 连接新的 USB 设备 F11C6A09B54230 4 :2-23 F11C6A09B54230 > 启动 cmd: SDPS:boot-scanterm-f imx-image-full-imx93frdm.rootfs.wic.zst/*-scanlimited 0x800000 解压缩文件:> imx-image-full-imx9 3frdm.rootfs.wic.zst 14%4:2-23F11C6A09B54230>Fail HID(W):LIBUSB_ERROR_TIMEOUT (-7)(20.15s) 然后我试了一下。\ uuu.exe-v-b emmc_all。\ imx-boot-imx93frdm-sd.bin-flash_singleboot。\ imx-image-full-imx93frdm.rootfs.wic.zst,但也得到了同样的错误信息: 用于 nxp imx 芯片的 uuu(通用更新实用程序) -- libuuu_1.5.243-0-g230f1b1 版本 in config: Pctl Chip Vid Pid BcdVersion Serial_No ================================================== SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS: MX8DXL 0x1fc9 0x0147 SDPS: MX28 0x15a2 0x004f SDPS: MX815 0x1fc9 0x013e SDPS: MX865 0x1fc9 0x0146 SDPS: MX8ULP 0x1fc9 0x014a SDPS: MX8ULP 0x1fc9 0x014b SDPS: MX93 0x1fc9 0x014e SDPS: MX91 0x1fc9 0x0159 SDPS: MX95 0x1fc9 0x015d SDPS: MX95 0x1fc9 0x015c SDPS: MX943 0x1fc9 0x0027 SDPS: MX952 0x1fc9 0x0028 SDP: MX7D 0x15a2 0x0076 SDP: MX6Q 0x15a2 0x0054 SDP: MX6D 0x15a2 0x0061 SDP: MX6SL 0x15a2 0x0063 SDP: MX6SX 0x15a2 0x0071 SDP: MX6UL 0x15a2 0x007d SDP: MX6ULL 0x15a2 0x0080 SDP: MX6SLL 0x1fc9 0x0128 SDP: MX7ULP 0x1fc9 0x0126 SDP: MXRT106X 0x1fc9 0x0135 SDP: MX8MM 0x1fc9 0x0134 SDP: MX8MQ 0x1fc9 0x012b SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV: SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998] FBK: 0x066f 0x9afe FBK: 0x066f 0x9bff FBK: 0x1fc9 0x0153 FB: 0x0525 0xa4a5 FB: 0x18d1 0x0d02 FB: 0x3016 0x0001 FB: 0x1fc9 0x0152 FB: 0x0483 0x0afb 运行内置脚本: uuu_version 1.4.149 # @_flash.bin | 引导加载程序,可从 wic 映像中提取 # @_image [_flash.bin] | wic 映像刻录到 emmc。 # 此命令将在 i.mx6/7 i.mx8MM、i.mx8MQ SDP: 启动-f 时运行 。 \ imx-boot-imx93frdm-sd.bin-flash_singleboot-Scanlimited 0x800000 # 此命令将在 ROM 支持直播模式时运行 # i.mx8QXP,i.mx8QM SDPS:启动-scanterm- f。\ imx-boot-imx93frdm-sd.bin-flash_singleboot-Scanlimited 0x800000 # 这些命令将在使用 SPL 时运行,如果不弃用 spl # SDPU,则将跳过 这些命令。请使用 SDPV 代替 SDPU # { SDPU: delay 1000 SDPU: write-f。 \ imx-boot-imx93frdm-sd.bin-flash_singleboot-offset 0x57c00 SDPU:jump-scanlimited 0x800000 #} # 这些命令将在使用 SPL 时运行,如果没有 spl 则会跳过 # if(SPL 支持 SDPV) # { SDPV: delay 1000 SDP V: write-f。 \ imx-boot-imx93frdm-sd.bin-flash_singleboot-skipspl-scanterm-scanlimited 0x800000 SDPV:跳跃-scanlimited 0x800000 #} FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev${emmc_dev} FB: ucmd mmc dev${emmc_dev} FB: flash -raw2sparse all .\imx-image-full-imx93frdm.rootfs.wic.zst/* FB:flash-scanterm-scanlimited 0x800000 引导加载程序。 \ imx-boot-imx93frdm-sd.bin-flash_singleboot FB: 如果环境存在 ucmd emmc_ack;那么;否则 setenv emmc_ack 0;fi; FB:ucmd mmc partc onf${emmc_dev}${emmc_ack} 1 0 FB:完成 等待已知的 USB 设备出现... 在 4:2-4:2 连接新的 USB 设备- > 启动 Cmd:SDPS: 启动-scanterm-f。 \ imx-boot-imx93frdm-sd.bin-flash_singleboot-scanlimited 0x800000 4:2-> 失败 HID (W):LIBUSB_ERROR_TIMEOUT (-7) (20.02s) 我使用的是最新的 uuu.exe 版本。 Windows上还有新的驱动程序。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 我也一样。我尝试使用 Ubuntu 20.04,也出现了同样的错误。 sudo ~/uuu-ubuntu20.04 -lsusb uuu(通用更新实用程序),用于 nxp imx 芯片 -- libuu_1.5.243-0-g230f1b1 已连接的已知 USB 设备 路径芯片 Pro Vid Pid BCD 版本序列号_否 ===================================================================================== 8214D79A2FFA4708 sudo ~/uuuu-ubuntu20.04-b emmc_all imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singlebootimx-image-core-imx93-11x11-lpddr4x-frdm.rootfs-20260608162024.wic.zst 用于 nxp imx 芯片的 uuu(通用更新实用程序) -- libuuu_1.5.243-0-g230f1b1 成功 0 失败 1 1:3-8214 D79A 1/ 1 [HID (W):LIBUSB_ERROR_TIMEOUT (-7)] SDPS:启动-scanterm-f imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash... 我尝试了 MACHINE=imx93frdm 和 MACHINE=imx93-11x11-lpddr4x-frdm,结果相同。我刚刚在 UART 上看到了这个日志 DEBUG: U-Boot SPL 2024.04+gde16f4f1722+p0(Sep 02 2024 - 10:44:35 +0000) SOC: 0xa1009300 LC: 0x2040010 PMIC: PCA9451A PMIC: Over Drive Voltage Mode DDR: 3733MTS DDR: 3733MTS M33 prepare ok 没有任何解决方案,也没有人提供帮助。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 你好, 请从这里尝试使用标准电路板支持包版本: https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX 另外,我建议不要使用压缩的 rootfs,请解压缩(un-zst)后再试一次。 致以最崇高的敬意/问候, Aldo。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 嗨, ,我也遇到了同样的问题。 板从 emmc 启动正常,但是当我尝试以任何方式刷新 SD 卡时它都不起作用。 我试过刷新 imx93 FRDM 主页上的一张预建图像(压缩和未压缩) 使用uuu 我也用过dd: zstd -d imx-image-full-imx93frdm.rootfs.wic.zst -c | sudo dd of=/dev/mmcblk0 bs=4M status=progress conv=fsync 然后当我从 SD 卡启动主板时它无法完全启动并停在那里 U-Boot SPL 2024.04+gde16f4f1722+p0 (Sep 02 2024 - 10:44:35 +0000) SOC: 0xa1009300 LC: 0x2040010 PMIC: PCA9451A PMIC: Over Drive Voltage Mode DDR: 3733MTS DDR: 3733MTS M33 prepare ok 当我尝试使用 flex-installer 用基于 Debian 的镜像刷新 SD 卡时,启动后我遇到了同样的输出。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 另外,请更新我在第一篇帖子中链接的指南,以便帮助其他人 :)。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 你好!! 关于第一个问题,请注意,您不仅需要 rootfs,还需要引导加载程序,因此您需要运行类似以下的命令: ./uuu-b emmc_all flash.bin imx-image-full-imx93frdm.rootfs.wic 关于它使用 dd 这一问题,情况相同,请不要使用压缩的 rootfs(un-zst) 此致, 阿尔多。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 嗯,我觉得用你提供的最新软件和以下命令应该能行:.\uuu.exe -v uuu.auto-imx93-11x11-lpddr4x-frdm 但我不知道这是否是最好的解决方案,因为现在我的主板自称是 " imx93evk " 不是 imx93frdm。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 你好, 很高兴它现在可以运行了,我会仔细检查脚本,也许它使用了不同的引导加载程序,是的,我们正在改进 FRDM 板的文档,感谢你的评论。 致以最崇高的敬意/问候, Aldo。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 正如我之前所说,这行不通,请查看我上面的评论。 要让它正常运行的唯一方法是:.\uuu.exe -v uuu.auto-imx93-11x11-lpddr4x-frdm Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 你好, 我在试用 i.MX 93 FRDM 开发板时也遇到了这个问题。我找到的培训指南是错误的,具有误导性;演示固件包包含大量文件,但没有任何信息说明每个文件是什么;即使阅读了手册,‘uuu’实用程序的用法也几乎无法理解(至少对我来说是这样!)。 以下是我弄明白的情况。如果我理解有误,请指正。 我下载了演示固件包“ LF_v6.18.20-2.0.0_images_IMX93EVK.zip ”。我想测试将固件映像写入 uSD 卡和/或内置 eMMC 的过程。 以下方法奏效了: 我认为名称类似“ imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot ”的文件是特定板卡和不同配置的引导加载程序镜像。我选择这个是为了向我板上的uSD卡写入数据。 我认为“ imx-image-full-imx93evk.wic ”是Linux镜像(rootfs等)。只有一个,所以我猜所有支持的开发板都一样? * 根据以上评论,请勿尝试使用压缩版本“imx-image-full-imx93evk.tar.zst”? 写入uSD卡: * 关闭板电源 * 插入uSD卡 * 通过 USB-C 线缆将板的“USB1_C”端口连接到笔记本电脑。 * 将启动开关设置为[3:0] 0001以进入串行下载模式 * 使用固件文件夹中的uuu命令: # 仅将引导加载程序复制到 SD 卡: uuu -b sd imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot 或者:复制引导加载程序和 Linux 镜像: uuu -b sd_all imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singlebootimx-image-full-imx93evk.wic * 板上电源。UUU 应该会自动检测主板并开始下载。 要将文件写入 eMMC,您可以使用以下命令: # 仅限引导加载程序: uuu -b emcc imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot # 或者:引导加载程序和镜像: uuu -b emmc_all imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singlebootimx-image-full-imx93evk.wic 我不知道各种启动加载程序文件之间有什么区别。 @Kapixxx你的方法可能确实奏效了。我认为所有板都使用相同的 Linux 根文件系统,所以它们的主机名都是“imx93evk”。然而,我还没有弄明白如何使用 uuu 脚本(例如)。" uuu.auto-imx93-11x11-lpddr4x-frdm ")写入到uSD卡而不是eMMC。提供的命令行参数、内置脚本和提供的脚本文件之间的关系尚不明确。
View full article
HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 おはよう ! FRDM i.MX 93 の入門ガイドを使って準備を進めています。 FRDM-IMX93のデモイメージをダウンロードしましたが(REV.1.0とREV4.0を試しました)、同じエラーメッセージが表示され続けます。 ガイドに記載されているコマンドを試しました: .\uuu.exe -b sd_all imx-image-full-imx93frdm.rootfs.wic.zst NXP IMXチップ用uuu(Universal Update Utility)-- libuuu_1.5.243-0-g230f1b1 設定ファイルに含める: PctlチップビデオPID Bcdバージョンシリアル番号 ================================================== SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS: MX8DXL 0x1fc9 0x0147 SDPS: MX28 0x15a2 0x004f SDPS: MX815 0x1fc9 0x013e SDPS: MX865 0x1fc9 0x0146 SDPS: MX8ULP 0x1fc9 0x014a SDPS: MX8ULP 0x1fc9 0x014b SDPS: MX93 0x1fc9 0x014e SDPS: MX91 0x1fc9 0x0159 SDPS: MX95 0x1fc9 0x015d SDPS: MX95 0x1fc9 0x015c SDPS: MX943 0x1fc9 0x0027 SDPS: MX952 0x1fc9 0x0028 SDP: MX7D 0x15a2 0x0076 SDP: MX6Q 0x15a2 0x0054 SDP: MX6D 0x15a2 0x0061 SDP: MX6SL 0x15a2 0x0063 SDP: MX6SX 0x15a2 0x0071 SDP: MX6UL 0x15a2 0x007d SDP: MX6ULL 0x15a2 0x0080 SDP: MX6SLL 0x1fc9 0x0128 SDP: MX7ULP 0x1fc9 0x0126 SDP: MXRT106X 0x1fc9 0x0135 SDP: MX8MM 0x1fc9 0x0134 SDP: MX8MQ 0x1fc9 0x012b SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV: SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998] FBK: 0x066f 0x9afe FBK: 0x066f 0x9bff FBK: 0x1fc9 0x0153 FB: 0x0525 0xa4a5 FB: 0x18d1 0x0d02 FB: 0x3016 0x0001 FB: 0x1fc9 0x0152 FB: 0x0483 0x0afb 組み込みスクリプトを実行します: uuu_version 1.4.149 # @_flash.bin | wicイメージから抽出できるブートローダー # @_image [_flash.bin] | wic イメージを emmc に書き込みます。 # このコマンドは、i.MX6/7、i.MX8MM、i.MX8MQ の場合に実行されます SDP: boot -f imx-image-full-imx93frdm.rootfs.wic.zst/* -scanlimited 0x800000 # このコマンドは、ROMがストリームモードをサポートしている場合に実行されます # i.MX8QXP、i.MX8QM SDPS: boot -scanterm -f imx-image-full-imx93frdm.rootfs.wic.zst/* -scanlimited 0x800000 # これらのコマンドはSPLを使用する場合に実行され、SPLを使用しない場合はスキップされます # SDPU は非推奨になります。SDPU の代わりに SDPV を使用してください。 # ヤミン・アメックス SDPU: 遅延 1000 SDPU: write -f imx-image-full-imx93frdm.rootfs.wic.zst/* -offset 0x57c00 -scanlimited 0x800000 SDPU: ジャンプ -scanlimited 0x800000 # } # これらのコマンドはSPLを使用する場合に実行され、SPLを使用しない場合はスキップされます # if (SPLがSDPVをサポートしている場合) # ヤミン・アメックス SDPV: 遅延 1000 SDPV: write -f imx-image-full-imx93frdm.rootfs.wic.zst/* -skipspl -scanterm -scanlimited 0x800000 SDPV: ジャンプ -scanlimited 0x800000 # } FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev ${sd_dev} FB: ucmd mmc dev ${sd_dev} FB: flash -raw2sparse all imx-image-full-imx93frdm.rootfs.wic.zst/* FB: flash -scanterm -scanlimited 0x800000 bootloader imx-image-full-imx93frdm.rootfs.wic.zst/* FB: 完了 既知のUSBデバイスが表示されるまでお待ちください... 新しいUSBデバイスが4:2-23F11C6A09B54230に接続されました 4:2-23F11C6A09B54230>開始コマンド:SDPS: boot -scanterm -f imx-image-full-imx93frdm.rootfs.wic.zst/* -scanlimited 0x800000 ファイルの解凍:>imx-image-full-imx93frdm.rootfs.wic.zst 14%4:2-23F11C6A09B54230>HID(W)エラー: LIBUSB_ERROR_TIMEOUT (-7)(20.15秒) 次に、.\uuu.exe -v -b emmc_all .\imx-boot-imx93frdm-sd.bin-flash_singleboot .\imx-image-full-imx93frdm.rootfs.wic.zst を試しました。しかし、同じエラーメッセージも表示されました。 NXP IMXチップ用uuu(Universal Update Utility)-- libuuu_1.5.243-0-g230f1b1 設定ファイルに含める: PctlチップビデオPID Bcdバージョンシリアル番号 ================================================== SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS: MX8DXL 0x1fc9 0x0147 SDPS: MX28 0x15a2 0x004f SDPS: MX815 0x1fc9 0x013e SDPS: MX865 0x1fc9 0x0146 SDPS: MX8ULP 0x1fc9 0x014a SDPS: MX8ULP 0x1fc9 0x014b SDPS: MX93 0x1fc9 0x014e SDPS: MX91 0x1fc9 0x0159 SDPS: MX95 0x1fc9 0x015d SDPS: MX95 0x1fc9 0x015c SDPS: MX943 0x1fc9 0x0027 SDPS: MX952 0x1fc9 0x0028 SDP: MX7D 0x15a2 0x0076 SDP: MX6Q 0x15a2 0x0054 SDP: MX6D 0x15a2 0x0061 SDP: MX6SL 0x15a2 0x0063 SDP: MX6SX 0x15a2 0x0071 SDP: MX6UL 0x15a2 0x007d SDP: MX6ULL 0x15a2 0x0080 SDP: MX6SLL 0x1fc9 0x0128 SDP: MX7ULP 0x1fc9 0x0126 SDP: MXRT106X 0x1fc9 0x0135 SDP: MX8MM 0x1fc9 0x0134 SDP: MX8MQ 0x1fc9 0x012b SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV: SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998] FBK: 0x066f 0x9afe FBK: 0x066f 0x9bff FBK: 0x1fc9 0x0153 FB: 0x0525 0xa4a5 FB: 0x18d1 0x0d02 FB: 0x3016 0x0001 FB: 0x1fc9 0x0152 FB: 0x0483 0x0afb 組み込みスクリプトを実行します: uuu_version 1.4.149 # @_flash.bin | wicイメージから抽出できるブートローダー # @_image [_flash.bin] | wic イメージを emmc に書き込みます。 # このコマンドは、i.MX6/7、i.MX8MM、i.MX8MQ の場合に実行されます SDP: boot -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -scanlimited 0x800000 # このコマンドは、ROMがストリームモードをサポートしている場合に実行されます # i.MX8QXP、i.MX8QM SDPS: boot -scanterm -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -scanlimited 0x800000 # これらのコマンドはSPLを使用する場合に実行され、SPLを使用しない場合はスキップされます # SDPU は非推奨になります。SDPU の代わりに SDPV を使用してください。 # ヤミン・アメックス SDPU: 遅延 1000 SDPU: write -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -offset 0x57c00 SDPU: ジャンプ -scanlimited 0x800000 # } # これらのコマンドはSPLを使用する場合に実行され、SPLを使用しない場合はスキップされます # if (SPLがSDPVをサポートしている場合) # ヤミン・アメックス SDPV: 遅延 1000 SDPV: write -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -skipspl -scanterm -scanlimited 0x800000 SDPV: ジャンプ -scanlimited 0x800000 # } FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev ${emmc_dev} FB: ucmd mmc dev ${emmc_dev} FB: flash -raw2sparse all .\imx-image-full-imx93frdm.rootfs.wic.zst/* FB: flash -scanterm -scanlimited 0x800000 bootloader .\imx-boot-imx93frdm-sd.bin-flash_singleboot FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 FB: 完了 既知のUSBデバイスが表示されるまでお待ちください... 新しいUSBデバイスが4:2に接続されました。 4:2->開始コマンド:SDPS: boot -scanterm -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -scanlimited 0x800000 4:2->HID(W)エラー: LIBUSB_ERROR_TIMEOUT (-7)(20.02秒) 最新バージョンのuuu.exeを使用しています。また、Windowsには新しいドライバもインストールされています。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 こっちも一緒。Ubuntu 20.04で試してみましたが、同じエラーが発生しました。 sudo ~/uuu-ubuntu20.04 -lsusb NXP IMXチップ用uuu(Universal Update Utility)-- libuuu_1.5.243-0-g230f1b1 コネクテッド Known USB Devices パス チップ プロ ビデオ Pid BcdVersion シリアル番号 ==================================================================== 1:3 MX93 SDPS: 0x1FC9 0x014E 0x0001 8214D79A2FFA4708 sudo ~/uuu-ubuntu20.04 -b emmc_all imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singlebootimx-image-core-imx93-11x11-lpddr4x-frdm.rootfs-20260608162024.wic.zst NXP IMXチップ用uuu(Universal Update Utility)-- libuuu_1.5.243-0-g230f1b1 成功 0 失敗 1 1:3-8214D79A 1/1 [HID(W): LIBUSB_ERROR_TIMEOUT (-7) ] SDPS: boot -scanterm -f imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash... MACHINE=imx93frdmとMACHINE=imx93-11x11-lpddr4x-frdmの両方を試しましたが、結果は同じでした。UART DEBUGに以下のログが表示されました。 U-Boot SPL 2024.04+gde16f4f1722+p0(2024年9月2日 10:44:35 +0000) SOC: 0xa1009300 LC: 0x2040010 PMIC: PCA9451A PMIC: オーバードライブ電圧モード DDR: 3733MTS DDR: 3733MTS M33準備OK どこにも解決策はなく、誰も助けてくれない。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 こんにちは、 こちらの標準BSPリリースをお試しください。 https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX また、圧縮されたルートファイルシステムは使用せず、解凍(un-zst)してから再度試すことをお勧めします。 よろしくお願いいたします。 アルド。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 こんにちは、 私も同じ問題に直面しています。 ボードはeMMCから正常に起動するのですが、SDカードに何らかの方法で書き込もうとしても動作しません。 imx93 FRDMのメインページにある、あらかじめビルドされたイメージ(圧縮版と非圧縮版)のいずれかをフラッシュしてみました。 uuuを使用しています 私もddを使いました: zstd -d imx-image-full-imx93frdm.rootfs.wic.zst -c | sudo dd of=/dev/mmcblk0 bs=4M status=progress conv=fsync SDカードからボードを起動しても、完全に起動せず、そこで停止します。 U-Boot SPL 2024.04+gde16f4f1722+p0 (Sep 02 2024 - 10:44:35 +0000) SOC: 0xa1009300 LC: 0x2040010 PMIC: PCA9451A PMIC: Over Drive Voltage Mode DDR: 3733MTS DDR: 3733MTS M33 prepare ok そして、flex-installerを使ってDebianベースのイメージをSDカードに書き込もうとしたところ、起動後に同じ出力が表示されました。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 こんにちは、 動作するようになってよかったです。スクリプトをもう一度確認してみます。もしかしたら別のブートローダーを使っているかもしれません。FRDMボードのドキュメントの改善に取り組んでいますので、ご意見ありがとうございます。 よろしくお願いいたします。 アルド。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 ええと、あなたがリンクした最新のソフトウェアとコマンド「.\uuu.exe -v uuu.auto-imx93-11x11-lpddr4x-frdm」でうまくいったと思います。 しかし、これが最善の解決策かどうかはわかりません。なぜなら、私のボードは現在、imx93frdmではなく「imx93evk」として認識されるからです。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 こんにちは!! 最初の問題については、rootfsだけでなくブートローダーも必要となるため、次のようなコマンドを実行する必要があることにご注意ください。 ./uuu-b emmc_all flash.bin imx-image-full-imx93frdm.rootfs.wic ddを使用するという問題については、圧縮されたrootfs(un-zst)を使用しないでください。 よろしくお願いいたします。 アルド。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 また、他の人の役に立つよう、最初の投稿でリンクしたガイドを更新してください。 Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 先ほど申し上げた通り、うまくいっていません。上記の私のコメントをご確認ください。 これを機能させる唯一の方法は、次のコマンドを実行することです。.\uuu.exe -v uuu.auto-imx93-11x11-lpddr4x-frdm Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 こんにちは、 私も同じ問題に直面しました。i.MX 93年の開発ボードを試しているときに。見つけたトレーニングガイドは誤っていて誤解を招くものでしたし、デモのファームウェアパッケージには何が何であるかの情報がほとんどないファイルが山のように入っていて、「uuu」というユーティリティの使い方は(少なくとも私には)ほとんど理解できません。マニュアルを読んでもそうです。 私が分かったことは以下のとおりです。もし私の理解が間違っていたら、どなたか訂正してください。 デモ版のファームウェアパッケージ「LF_v6.18.20-2.0.0_images_IMX93EVK.zip」をダウンロードしました。uSDカードや内蔵eMMCにファームウェアイメージを書き込むプロセスをテストしたいと思いました。 効果があったのは以下のとおりです。 * 「 imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot 」のような名前のファイルは、特定のボードや異なる構成用のブートローダーイメージだと思います。このモデルはボードのuSDカードに書き込みするために選びました。 * 「imx-image-full-imx93evk.wic」はLinuxのイメージ(rootfsなど)だと思います。一つしかないので、サポートされている開発ボードは全て同じだと思います。 * 上記のコメントにあるように、圧縮版の「imx-image-full-imx93evk.tar.zst」を使用しないでください。 uSDカードに書き込むには: * ボードの電源がオフになっています * uSDカードを挿入してください * ボードの「USB1_C」ポートをUSB-CケーブルでノートPCに接続 * シリアルダウンロードモード用にブートスイッチを [3:0] 0001 に設定 * ファームウェアフォルダから以下のuuuコマンドを使用してください。 # ブートローダーのみをSDカードにコピーします。 uuu -b sd imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot # または:ブートローダーとLinuxイメージをコピーしてください: uuu -b sd_all imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singlebootimx-image-full-imx93evk.wic * ボード上の電源。UUUは自動的にボードを検出し、ダウンロードを開始するはずです。 eMMCにファイルを書き込むには、以下のコマンドを使用します。 # ブートローダーのみ: uuu -b emcc imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot # または: ブートローダーとイメージ: uuu -b emmc_all imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singlebootimx-image-full-imx93evk.wic 様々なブートローダーファイルの違いが分かりません。 @Kapixxx  あなたの方法はおそらく効果があったでしょう。すべてのボードは同じLinuxのrootfsを使っているので、ホスト名はすべて「imx93evk」になっていると思います。しかし、uuuスクリプトの使い方がわかりません(例:"uuu.auto-imx93-11x11-lpddr4x-frdm")eMMCではなくuSDカードに書き込みをする。指定されたコマンドラインパラメータ、組み込みスクリプト、および指定されたスクリプトファイル間の関係は不明瞭である。
View full article
HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 Good Morning ! I am trying to get ready with FRDM i.MX 93 with getting started guide: Guide I downloaded FRDM-IMX93 Demo Images (tried REV.1.0 and REV4.0), but keep getting same error message.  Tried command from guide: .\uuu.exe -b sd_all imx-image-full-imx93frdm.rootfs.wic.zst uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Build in config: Pctl Chip Vid Pid BcdVersion Serial_No ================================================== SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS: MX8DXL 0x1fc9 0x0147 SDPS: MX28 0x15a2 0x004f SDPS: MX815 0x1fc9 0x013e SDPS: MX865 0x1fc9 0x0146 SDPS: MX8ULP 0x1fc9 0x014a SDPS: MX8ULP 0x1fc9 0x014b SDPS: MX93 0x1fc9 0x014e SDPS: MX91 0x1fc9 0x0159 SDPS: MX95 0x1fc9 0x015d SDPS: MX95 0x1fc9 0x015c SDPS: MX943 0x1fc9 0x0027 SDPS: MX952 0x1fc9 0x0028 SDP: MX7D 0x15a2 0x0076 SDP: MX6Q 0x15a2 0x0054 SDP: MX6D 0x15a2 0x0061 SDP: MX6SL 0x15a2 0x0063 SDP: MX6SX 0x15a2 0x0071 SDP: MX6UL 0x15a2 0x007d SDP: MX6ULL 0x15a2 0x0080 SDP: MX6SLL 0x1fc9 0x0128 SDP: MX7ULP 0x1fc9 0x0126 SDP: MXRT106X 0x1fc9 0x0135 SDP: MX8MM 0x1fc9 0x0134 SDP: MX8MQ 0x1fc9 0x012b SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV: SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998] FBK: 0x066f 0x9afe FBK: 0x066f 0x9bff FBK: 0x1fc9 0x0153 FB: 0x0525 0xa4a5 FB: 0x18d1 0x0d02 FB: 0x3016 0x0001 FB: 0x1fc9 0x0152 FB: 0x0483 0x0afb Run built-in script: uuu_version 1.4.149 # @_flash.bin | bootloader, which can extract from wic image # @_image [_flash.bin] | wic image burn to emmc. # This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ SDP: boot -f imx-image-full-imx93frdm.rootfs.wic.zst/* -scanlimited 0x800000 # This command will be run when ROM support stream mode # i.MX8QXP, i.MX8QM SDPS: boot -scanterm -f imx-image-full-imx93frdm.rootfs.wic.zst/* -scanlimited 0x800000 # These commands will be run when use SPL and will be skipped if no spl # SDPU will be deprecated. please use SDPV instead of SDPU # { SDPU: delay 1000 SDPU: write -f imx-image-full-imx93frdm.rootfs.wic.zst/* -offset 0x57c00 -scanlimited 0x800000 SDPU: jump -scanlimited 0x800000 # } # These commands will be run when use SPL and will be skipped if no spl # if (SPL support SDPV) # { SDPV: delay 1000 SDPV: write -f imx-image-full-imx93frdm.rootfs.wic.zst/* -skipspl -scanterm -scanlimited 0x800000 SDPV: jump -scanlimited 0x800000 # } FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev ${sd_dev} FB: ucmd mmc dev ${sd_dev} FB: flash -raw2sparse all imx-image-full-imx93frdm.rootfs.wic.zst/* FB: flash -scanterm -scanlimited 0x800000 bootloader imx-image-full-imx93frdm.rootfs.wic.zst/* FB: done Wait for Known USB Device Appear... New USB Device Attached at 4:2-23F11C6A09B54230 4:2-23F11C6A09B54230>Start Cmd:SDPS: boot -scanterm -f imx-image-full-imx93frdm.rootfs.wic.zst/* -scanlimited 0x800000 Decompress file:>imx-image-full-imx93frdm.rootfs.wic.zst 14%4:2-23F11C6A09B54230>Fail HID(W): LIBUSB_ERROR_TIMEOUT (-7)(20.15s) Then I tried .\uuu.exe -v -b emmc_all .\imx-boot-imx93frdm-sd.bin-flash_singleboot .\imx-image-full-imx93frdm.rootfs.wic.zst, but also got same error meassage: uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Build in config: Pctl Chip Vid Pid BcdVersion Serial_No ================================================== SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS: MX8DXL 0x1fc9 0x0147 SDPS: MX28 0x15a2 0x004f SDPS: MX815 0x1fc9 0x013e SDPS: MX865 0x1fc9 0x0146 SDPS: MX8ULP 0x1fc9 0x014a SDPS: MX8ULP 0x1fc9 0x014b SDPS: MX93 0x1fc9 0x014e SDPS: MX91 0x1fc9 0x0159 SDPS: MX95 0x1fc9 0x015d SDPS: MX95 0x1fc9 0x015c SDPS: MX943 0x1fc9 0x0027 SDPS: MX952 0x1fc9 0x0028 SDP: MX7D 0x15a2 0x0076 SDP: MX6Q 0x15a2 0x0054 SDP: MX6D 0x15a2 0x0061 SDP: MX6SL 0x15a2 0x0063 SDP: MX6SX 0x15a2 0x0071 SDP: MX6UL 0x15a2 0x007d SDP: MX6ULL 0x15a2 0x0080 SDP: MX6SLL 0x1fc9 0x0128 SDP: MX7ULP 0x1fc9 0x0126 SDP: MXRT106X 0x1fc9 0x0135 SDP: MX8MM 0x1fc9 0x0134 SDP: MX8MQ 0x1fc9 0x012b SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV: SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998] FBK: 0x066f 0x9afe FBK: 0x066f 0x9bff FBK: 0x1fc9 0x0153 FB: 0x0525 0xa4a5 FB: 0x18d1 0x0d02 FB: 0x3016 0x0001 FB: 0x1fc9 0x0152 FB: 0x0483 0x0afb Run built-in script: uuu_version 1.4.149 # @_flash.bin | bootloader, which can extract from wic image # @_image [_flash.bin] | wic image burn to emmc. # This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ SDP: boot -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -scanlimited 0x800000 # This command will be run when ROM support stream mode # i.MX8QXP, i.MX8QM SDPS: boot -scanterm -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -scanlimited 0x800000 # These commands will be run when use SPL and will be skipped if no spl # SDPU will be deprecated. please use SDPV instead of SDPU # { SDPU: delay 1000 SDPU: write -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -offset 0x57c00 SDPU: jump -scanlimited 0x800000 # } # These commands will be run when use SPL and will be skipped if no spl # if (SPL support SDPV) # { SDPV: delay 1000 SDPV: write -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -skipspl -scanterm -scanlimited 0x800000 SDPV: jump -scanlimited 0x800000 # } FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev ${emmc_dev} FB: ucmd mmc dev ${emmc_dev} FB: flash -raw2sparse all .\imx-image-full-imx93frdm.rootfs.wic.zst/* FB: flash -scanterm -scanlimited 0x800000 bootloader .\imx-boot-imx93frdm-sd.bin-flash_singleboot FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 FB: done Wait for Known USB Device Appear... New USB Device Attached at 4:2- 4:2->Start Cmd:SDPS: boot -scanterm -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -scanlimited 0x800000 4:2->Fail HID(W): LIBUSB_ERROR_TIMEOUT (-7)(20.02s) I am using latest uuu.exe version. Also with new drivers on windows. Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 Same here. I'm trying with Ubuntu 20.04 and same error occured. sudo ~/uuu-ubuntu20.04 -lsusb uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Connected Known USB Devices Path Chip Pro Vid Pid BcdVersion Serial_no ==================================================================== 1:3 MX93 SDPS: 0x1FC9 0x014E 0x0001 8214D79A2FFA4708 sudo ~/uuu-ubuntu20.04 -b emmc_all imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot imx-image-core-imx93-11x11-lpddr4x-frdm.rootfs-20260608162024.wic.zst uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Success 0 Failure 1 1:3-8214D79A 1/ 1 [HID(W): LIBUSB_ERROR_TIMEOUT (-7) ] SDPS: boot -scanterm -f imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash... I tried both with MACHINE=imx93frdm and MACHINE=imx93-11x11-lpddr4x-frdm and same result. I just see this log on UART DEBUG: U-Boot SPL 2024.04+gde16f4f1722+p0 (Sep 02 2024 - 10:44:35 +0000) SOC: 0xa1009300 LC: 0x2040010 PMIC: PCA9451A PMIC: Over Drive Voltage Mode DDR: 3733MTS DDR: 3733MTS M33 prepare ok There's no solution anywhere and no one is helping. Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 Hello, Please try with the standard BSP release from here: https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX Also, I would rather recommend to not use the compressed rootfs, please uncompress (un-zst) and try again. Best regards/Saludos, Aldo. Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 Hi,  I am facing the same problem.  The board is booting fine from the emmc but when I try to flash the SD card in any way it does not work. I tried flashing one of the pre-built images on the imx93 FRDM main page (compressed and un-compressed) using uuu I also used dd:  zstd -d imx-image-full-imx93frdm.rootfs.wic.zst -c | sudo dd of=/dev/mmcblk0 bs=4M status=progress conv=fsync then when I boot the board from the SD card it does not fully boot and stops there U-Boot SPL 2024.04+gde16f4f1722+p0 (Sep 02 2024 - 10:44:35 +0000) SOC: 0xa1009300 LC: 0x2040010 PMIC: PCA9451A PMIC: Over Drive Voltage Mode DDR: 3733MTS DDR: 3733MTS M33 prepare ok And I faced this same output after booting up when I tried flashing the SD card with the Debian-based image using flex-installer. Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 Hello!! For the first issue, please note that you'll need the bootloader not only the rootfs, so you'll need to run a command like the following: ./uuu -b emmc_all flash.bin imx-image-full-imx93frdm.rootfs.wic For the issue that it uses dd, is the same please do not use compressed rootfs (un-zst) Best regards/Saludos, Aldo. Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 Also please update the guide I linked in first post to help others :). Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 Hello, Glad that it is now working, I will double check the script maybe it uses a different bootloader, and yes we are working on improvingthe documentation for the FRDM boards we apreciate your comments. Best regards/Saludos, Aldo. Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 Well I think it worked with the latest software You linked and command: .\uuu.exe -v uuu.auto-imx93-11x11-lpddr4x-frdm But I don't know is it the best solution, because now my board introduces itself as "imx93evk" not imx93frdm. Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 As I told it is not working, check my comment above. The only way to make it work is: .\uuu.exe -v uuu.auto-imx93-11x11-lpddr4x-frdm Re: HID(W): LIBUSB_ERROR_TIMEOUT (-7) FRDM i.MX 93 Hi, I have run into this problem as well, trying out a i.MX 93 FRDM development board. The training guide I found was wrong and misleading, the demo firmware package contains a pile of files with no info as to what each one is, and the usage of the "uuu" utility is almost incomprehensible (at least to me!), even after reading the manual for it.  Here's what I have figured out.  Someone please correct me if I got this wrong. I downloaded the demo firmware package "LF_v6.18.20-2.0.0_images_IMX93EVK.zip". I wanted to test the process of writing a firmware image to the uSD card and/or the built-in eMMC. Here is what worked: * I think files with names like "imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot" are bootloader images for specific boards and different configurations. I chose this one for writing to uSD card on my board. * I think "imx-image-full-imx93evk.wic" is the Linux image (rootfs, etc). There is only one, so I guess it's the same for all supported dev boards? * As per comments above, don't try to use the zipped version "imx-image-full-imx93evk.tar.zst"? To write to uSD card: * Power off board * Insert uSD card * Connect board "USB1_C" port to laptop via USB-C cable * Set boot switches to [3:0] 0001 for serial download mode * Use this uuu command from the firmware folder: # Copy BOOTLOADER ONLY to the SD card: uuu -b sd imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot # OR: Copy bootloader and linux image: uuu -b sd_all imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot imx-image-full-imx93evk.wic * Power on the board. UUU should automatically detect the board and start the download. For writing the files to eMMC, you use these commands: # Bootloader Only: uuu -b emcc imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot # OR: Bootloader and Image: uuu -b emmc_all imx-boot-imx93-11x11-lpddr4x-frdm-sd.bin-flash_singleboot imx-image-full-imx93evk.wic I don't know what the difference is between the various boot loader files. @Kapixxx   Your method probably did work. I think all the boards use the same Linux rootfs so they all have the host name "imx93evk". However, I have not figured out how to use a uuu script (e.g. "uuu.auto-imx93-11x11-lpddr4x-frdm") to write to uSD card rather than eMMC. The relationship between the supplied command line parameters, built-in scripts, and supplied script files is unclear.
View full article
UG10215 lists imx708 as supported — which kernel driver should be used? Hi, I'm working on integrating a Raspberry Pi Sony IMX708 camera on an i.MX 95 based board, following UG10215 (i.MX 95 Camera Porting Guide). The document's "List of camera sensors modules supported" table lists the Raspberry Pi Sony imx708 as a supported reference camera module. However, I couldn't find a corresponding driver (e.g. imx708.c) in the linux-imx repository (branch lf-6.18.y😞 https://github.com/nxp-imx/linux-imx/commits/lf-6.18.y/drivers/media/i2c Could you clarify which kernel driver is expected to be used for the imx708 sensor on the i.MX 95? Is the IMX708 driver included in the public BSP? Thanks in advance. Re: UG10215 lists imx708 as supported — which kernel driver should be used? Hello, We do not have it officially supported yet in our standard BSP, you can take the driver from raspberry sources and use it: https://github.com/raspberrypi/linux/blob/rpi-6.12.y/drivers/media/i2c/imx708.c Best regards/Saludos, Aldo. Re: UG10215 lists imx708 as supported — which kernel driver should be used? Hi Aldo, thanks for your reply. We do not have it officially supported yet in our standard BSP Will it be supported in the future? Why is the IMX708 camera listed in UG10215 if support is not included in the standard BSP? Thanks again Diego Re: UG10215 lists imx708 as supported — which kernel driver should be used? Hello, Yes it is planned to be added but, unfortunately, I do not have a due date/version when its going to be added to the standard BSP release. The reason that it appears in the guide is because is one of the cameras that was tested in early development but was not fully supported in our BSP. Best regards/Saludos, Aldo.
View full article
SPI用のDMAを設定する必要があります 私はS32DS IDEとRTD 3.0を使っています。SPIでDMAを起動する方法や、ステップバイステップの手順や、もしあれば他の例コードがあれば教えてもらえますか? Re: I need to configure DMA for SPI ご回答ありがとうございます。 この作業はs32k322 MCUで行ってください Re: I need to configure DMA for SPI こんにちは@ershi RTDにはDMAを用いたSPI通信用の2つの例コードが付属しており、1つは低レベルドライバ(Ip)を用い、もう1つは高レベルドライバ(MCAL)を使用します。例のインポート方法については、HOWTO: S32 Design Studio - Create a New S32DS Project from Example Threadを参照してください。 また、スレッドの 例であるS32K31 SPI Multiple Packet Transmit and Receive: Solution for DMA Cache Issueの例を参照することもできます。 BR、VaneB Re: I need to configure DMA for SPI こんにちは@ershi これらの例はS32K322向けに特別に設計されているわけではありませんが、リファレンス・マニュアルに特に記載されていない限り、S32K3 ファミリ全体で機能性は概ね同じです。したがって、このプロジェクトを実装の参考として活用し、必要に応じてデバイスに合わせて調整することができます。 Re: I need to configure DMA for SPI すべて設定しましたが、最初は動作せず、(Lpspi_Ip_AsyncTransmit)でLPSPI_IP_STATUS_SUCCESSとして返され、2回目は失敗と表示されますLPSPI_IP_STATUS_FAIL、DMAなしでこのAPIを使ってデータをSPI経由で送信できますLpspi_Ip_SyncTransmit()いくつかの設定スクリーンショットを添付しました。 Re: I need to configure DMA for SPI こんにちは@ershi RMやIntCtrl_Ipドライバーの設定画像も共有してもらえますか? Re: I need to configure DMA for SPI こんにちは、 @VaneBさん RMとIntCtrl_IPドライバの設定のスクリーンショットと、詳細な参考のために短い動画クリップを添付しました。 LPSPIの設定ページで1つの違いに気づきました。SPI GeneralタブのSpi_Phy_TxDmaChannelの項目で、TX設定とRX設定で名前が異なっています。 追加情報が必要な場合はお知らせください。 InterruptsInterruptsInterruptsInterruptsInterruptsInterruptsInterrupts割り込み RMRMRMRMRMRMRMRM Re: I need to configure DMA for SPI こんにちは@ershi 情報を共有していただきありがとうございます。 一つだけ気づいたことがあります。Dma_Ipドライバー構成では、DMA_SPI_CALLBACK_0を割り込みコールバックとして定義しています。しかし、LPSPI DMAのコールバックはドライバーから既に提供されており、Lpspi_Ip_Irq.cで見つけることができますファイル。 LPSPI2の場合、設定するコールバックは以下のとおりです。 TX DMAチャネルのLpspi_Ip_LPSPI_2_IrqTxDmaHandler RX DMAチャネルのLpspi_Ip_LPSPI_2_IrqRxDmaHandler Re: I need to configure DMA for SPI こんにちは、 @VaneBさん ご説明いただきありがとうございます。 Dma_Ip設定を更新し、LPSPI2ではTXとRX DMAチャネルがLpspi_Ip_Irq.cからのコールバックを使うようになりました。 TX DMAチャネルのLpspi_Ip_LPSPI_2_IrqTxDmaHandler RX DMAチャネルnxpのLpspi_Ip_LPSPI_2_IrqRxDmaHandler しかしながら、私の環境ではDMAベースのLPSPI転送が期待通りに動作していません。参考までに、現在の設定画面のスクリーンショットを添付しました。他に調整すべき設定があれば教えてください。 Re: I need to configure DMA for SPI こんにちは@ershi SPIコミュニケーションをどのように実装しているのか教えていただけますか?また、以前共有したサンプルコードをテストしてみましたか? Re: I need to configure DMA for SPI こんにちは、 @VaneBさん 以前の設定を削除し、SPIデータはDMA経由で送信されるようになりましたが、データが一致しないという問題が発生しています。 #define RX_MSG_SIZE (15U) #define TX_MSG_SIZE (15U) uint8_t txBuffer_check[TX_MSG_SIZE] = {0x48,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,0x13,0x14,0x15}; uint8_t rxBuffer_check[]={0}; if(Lpspi_Ip_AsyncTransmit(&Lpspi_Ip_DeviceAttributes_SpiExternalDevice_1_Instance_2_BOARD_InitPeripherals,txBuffer_check,rxBuffer_check,TX_MSG_SIZE,spi_DMA_Function) == LPSPI_IP_STATUS_SUCCESS) { Dma_Ip_ReturnType status = {0},status1 = {0}; Dma_Ip_LogicChannelStatusType channelStatus ={0},channelStatus1 ={0}; status = Dma_Ip_GetLogicChannelStatus(DMA_LOGIC_CH_0,&channelStatus); status1 = Dma_Ip_GetLogicChannelStatus(DMA_LOGIC_CH_1,&channelStatus1);   return SYS_SUCCESS; } Re: I need to configure DMA for SPI こんにちは@ershi LPSPI2のSOUT信号をSINに直接接続していますか、それともロジックアナライザを使用して送受信データを検証していますか? Re: I need to configure DMA for SPI こんにちは、 @VaneB さん。 コードを書き直したところ、今は完璧に動作しています。データは正しく入力されています。 ご協力ありがとうございました。
View full article
Ara240 16GB M.2 模块 Ara240 16GB M.2 模块官方支持哪些量化精度?(INT4、8、16) Re: Ara240 16GB M.2 Module 根据Ara240 离散神经处理单元数据表 精确测量 官方文件支持 INT4 未找到相关文档支持 INT8 支持 INT16 支持 INT32 虽然不在您的 INT4/8/16 列表中,但已支持。
View full article
SDAファームウェアに関する質問 FRDM-A-S32K358の開発ボードを購入し、Open SDAを担当するMK26チップのファームウェアを変更するためにJTAGポートを確認しました。もし誤ってJ13にファームウェアをインストールしてしまった場合、Open SDAのファームウェアを入手する必要があります。この場合、サポートチケットを通じてファームウェアを入手できますか? Re: Open SDA Firmware Question こんにちは、 @wj_kwak MK26 OpenSDAデバイスがJ13経由で上書きされた場合、正常に動作するOpenSDAブートローダーを前提としているため、標準のOpenSDAアップデート手順は適用できなくなる可能性があります。OpenSDAのリカバリファームウェアは、通常、単体のプログラミングイメージとしては配布されていません。 OpenSDAのファームウェアとブートローダーは、NXPが開発したソフトウェアではなくPEmicro技術です。PEmicroはOpenSDAのファームウェアアップデート、ブートローダー更新アプリケーション、関連サポートを提供しています。 したがって、MK26がJTAG/SWDで消去または再プログラムされ、OpenSDAブートローダーが機能しなくなった場合、回復案内やファームウェアの入手は主にPEmicroが担当となります。 https://www.pemicro.com/support/index.cfm よろしくお願いいたします。 ルーカス
View full article
iMX95 DRAM speed Hi, The current iMX95 can only support up to 6.4Gbps.  Will NXP release any processor that can support LPDDR5X with speed up to 8.5Gbps? Thanks. Re: iMX95 DRAM speed Hi @pengyong_zhang , Can you provide the model name? What will be the preliminary spec available? Thanks. Re: iMX95 DRAM speed Hi @simonng  Chips after version imx95 will support LPDDR5X 8533MT/s B.R Re: iMX95 DRAM speed hi @simonng  I can't provide you with specific details about the chip because the official website hasn't released any information yet. B.R
View full article
ライブラリを追加する CodeWarriorから移行したばかりで、新しいiMacにMCUXをインストールしたばかりです。私は赤外線リモコンを含む新しいプロジェクトに取り組んでおり、IRemoteライブラリ(GitHubから入手)を使用したいと考えています。ライブラリファイルはダウンロードしましたが、SDK_2.x_LPCXpresso824MAX(私が使っている開発ボード)には追加できません。「静的ライブラリの作成と使用方法」というドキュメントの手順に従ったのですが、手順とスクリーンショットは私のものよりかなり古いバージョンのもののようです。 私の問題を解決してくれるような「初心者向けガイド」を持っている人はいませんか? Re: Add a library こんにちは、 ライブラリにはどのようなファイル形式がありますか?拡張子は.aですか、それとも.hですか? 「ユーザーアプリケーションにユーザー静的ライブラリを追加する」第2章( MCUXpresso IDEで静的ライブラリの作成と使用 方法)の5ページで述べた手順は、新しいバージョンのMCUXpresso IDEにも引き続き適用されます。ガイドに示されているウィンドウは最近のMCUXpressoバージョンでも同じです。手順に問題がありますか? また、どのバージョンを使っているのか確認してもらえますか? SDKに関しては、「SDK_2.x_」と書いたのですね。どの古いバージョンを使っているか確認してもらえますか?最新のSDKバージョン26.06を使うようにアップデートすることもできます。SDK Builderからダウンロードできます 敬具、ルイス Re: Add a library これは私の問題の一部です。ファイルには拡張子がなく、単に「IRemote-4.7.1」という名前で、ダウンロードフォルダ内ではフォルダとして表示されます。古いバージョンのSDKを使っているとは思いません。バージョンは26.06.00です。もしかすると、実際のIRemoteライブラリを読み込んでいないのかもしれません。ただダウンロードボタンを押してしまっただけかもしれません Re: Add a library Hello おそらくライブラリのGithubフォルダ全体をダウンロードしていると思います。通常、Githubユーザーは.h/.c/.hpp/.cppを保存します。srcフォルダ内のなど。 必要な.h/.aファイルだけをsrcフォルダからダウンロードするか、Githubで検索するだけで、Githubプロジェクト全体をダウンロードせずに、ガイドに従ってライブラリとリンクへのパスを追加できます。 敬具、ルイス
View full article