Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
S32K312のPWMピンマッピング方式について明確化が必要 チームの皆さん、こんにちは。 S32K312 100ピンMCUを用いたモータ制御開発において、以下の2つのPWM出力マッピング方式を検討しています。 方法1では、eMIOSチャネルとLCUベースの出力を使用します。 PTA0 - PWMU_HS - eMIOS_0_CH [17] _Y - LCU0_OUT4 PTA1 - PWMU_LS - eMIOS_0_CH [9] _H - LCU0_OUT5 PTA2 - PWMV_HS - eMIOS_1_CH [19] _Y - LCU0_OUT3 PTA3 - PWMV_LS - eMIOS_1_CH [20] _Y - LCU0_OUT2 PTD2 - PWMW_HS - eMIOS_1_CH [21] _Y - LCU0_OUT1 PTD3 - PWMW_LS - eMIOS_1_CH [22] _X - LCU0_OUT0 方法2では、別のPWMマッピングオプションを使用します。 PTB16 - PWMU_HS - eMIOS_0_CH [4] _G PTB13 - PWMU_LS - eMIOS_0_CH [1] _G - LCU0_OUT3 PTB17 - PWMV_HS - eMIOS_0_CH [5] _G PTB14 - PWMV_LS - eMIOS_0_CH [2] _G - LCU0_OUT7 PTB1 - PWMW_HS - eMIOS_0_CH [7] _G PTB0 - PWMW_LS - eMIOS_0_CH [3] _G - LCU1_OUT5 NXP側からは、どのPWMマッピング方法を選択すべきか、また各方法の実用上の効果や制約について、より明確な説明が必要です。 以下の点についてご意見をお聞かせください。 モーター制御用途には、どの方法が推奨されますか? それぞれの方法の長所と短所は何ですか? 同期、デッドタイム挿入、ADCトリガー、障害処理、またはLCU/TRGMUXの使用に関して考慮すべき事項はありますか? 設計を最終決定する前に考慮すべきソフトウェアまたはハードウェア上の制約はありますか? ご自身の経験やリファレンス・デザインに基づいて、おすすめの点をお聞かせください。 よろしくお願いいたします。 シヴァ Re: Clarification Required on PWM Pin Mapping Approach for S32K312 こんにちは、@ VaneB さん。 S32K312 100ピンMCUについては、以下のPWMピンマッピングオプションを検討しています。 ピンネット名 位相側 eMIOS チャネル LCU 出力 PTA0 PWMU_HS - U ハイサイド eMIOS_1_CH [6] _H LCU0_OUT6 PTA1 PWMU_LS - U ローサイド eMIOS_1_CH [15] _H LCU0_OUT11 PTA2 PWMV_HS - V ハイサイド eMIOS_1_CH [19] _Y LCU0_OUT3 PTA3 PWMV_LS - V ローサイド eMIOS_1_CH [20] _Y LCU0_OUT2 PTD2 PWMW_HS - W ハイサイド eMIOS_1_CH [21] _Y LCU0_OUT1 PTD3 PWMW_LS - W ローサイド eMIOS_1_CH [22] _X LCU0_OUT0 この方法では、6つのPWM出力すべてが同じeMIOS_1インスタンスを通してマッピングされます。これは同期やモーター制御におけるPWM生成に有益であると考えています。 この理解が正しいかどうか確認してください。 また、この構成におけるeMIOSチャネルタイプH、Y、Xの意味と影響について明確に説明してください。これらのチャネルタイプが、PWM生成、同期、デッドタイム制御、ADCトリガー、またはLCU TRGMUXの使用に大きな影響を与えるかどうかを理解したいと考えています。 このPWMピン配置が当社のモーター制御アプリケーションに適しているかどうか、ご確認の上、ご指導いただけますでしょうか。 よろしくお願いいたします。 シヴァ Re: Clarification Required on PWM Pin Mapping Approach for S32K312 こんにちは、 @SHIVAKUMAR55さん 方法2では、すべてのPWMチャンネルを単一のeMIOSインスタンス内に保持するため、共有タイムベースが得られ、クリーンな位相調整と全体的なタイミングの簡素化がはるかに容易になります。 一方、方法1では、チャネルを複数のeMIOSインスタンスに分散させ、LCUを通してルーティングします。これは、S32K344 3相センサレスPMSMモータ制御リファレンスデザインで使用されているeMIOS → TRGMUX → LCUアプローチと同様の構造です。この構成は、高度な出力調整、デッドタイム制御、後から障害処理機能を追加するなど、より高い柔軟性が必要な場合に非常に役立ちます。 とはいえ、方法1は複数のeMIOSインスタンスを使用するため、設定の手間がやや多く、同期の手間は少なくなります。実際には、シンプルさと安定したタイミング動作という利点から、まずは方法2から始めるのが良いでしょう。そして、デザインでより高度な制御機能やセーフティ機能が必要になった場合にのみ、方法1のようなLCUベースのソリューションに移行するのが賢明です。 詳細なガイダンスについては、S32K344搭載の3相センサレスPMSMモータ制御キットのアプリケーションノートおよび関連ソフトウェアを参照することをお勧めします。 S32K344 ブラシレス直流・永久磁石同期モータ制御開発キット (MCSPTE1AK344) BR、VaneB Re: Clarification Required on PWM Pin Mapping Approach for S32K312 こんにちは、 @SHIVAKUMAR55さん はい、あなたの理解は正しいです。 eMIOSチャネルタイプに関しては、S32K3xxリファレンスマニュアルRev.12の表403に記載されているように、サポートされる各モードは特定のチャネルタイプによって異なります。すべてのモードがすべてのチャネルタイプで利用できるわけではないため、必要な機能に基づいて適切なチャネルタイプを慎重に選択することが重要です。
查看全文
NXP Zephyr OS - 概述页面(日语博客) 最近,一款相对较新的实时操作系统引起了人们的关注。它名为“Zephyr ® OS”,发音为“Zephyr”。 Zephyr OS 是一款开源实时操作系统,其开发合作和支持得到了世界知名公司的大力支持,而 NXP 自 Zephyr 诞生以来一直是其白金会员。 本页面汇总了使用 Zephyr OS 的实用信息,请充分利用。 Zephyr ®系列(Zephyr OS 入门步骤) 步 文章 1 【Zephyr ®系列】第一部分:最近流行的 Zephyr OS 究竟是一款怎样的操作系统?(日语博客) →首先,让我们来了解一下 Zephyr OS 本身的功能特性。 2 【Zephyr ®系列】第二部分:首次构建与测试(日语博客) →接下来我们实际构建并运行 Zephyr OS。我们将以 FRDM-MCXA153 为例,但同样的步骤也适用于其他开发板。 3 【Zephyr ®系列】第三部分:LED 闪烁和软件复用的第一步(日语博客) →以 LED 闪烁程序为例,体验“传统的硬件相关编码”与“Zephyr 推荐的硬件无关(可扩展)编码”之间的区别。 4 [Zephyr ®系列] 第 4 部分:Kconfig 和设备树的概述及实际应用(日语博客) →对于传统的MCU软件工程师来说,“Kconfig”和“设备树”是Zephyr操作系统中比较陌生的概念。本文将通过实际示例进行解释。 Zephyr实用信息☕ 概述 文章 我使用 NXP 的 GUI 生成工具“GUI Guider”(支持用于微控制器的轻量级 GUI 库“LVGL”)生成了一个示例 GUI 代码,然后在 Zephyr OS 上运行了它。 试用 UI:Zephyr OS 上的 GUI Guider 示例代码(日本博客) *有关如何使用 GUI Guider 的说明,请参阅以下文章。 GUI Guider入门指南(Nexty Electronics Co., Ltd.) Zephyr 附带丰富的示例代码,其中包括一个易于运行的 HTTP 服务器示例。本指南提供了在 NXP 评估板“ FRDM-MCXN947 ”上运行该示例的分步说明。运行此示例后,您可以通过 PC 的 Web 浏览器访问 FRDM-MCXN947,并使用页面上的按钮打开/关闭板上的 LED 灯。 我尝试在 FRDM-MCXN947 上运行 Zephyr HTTP 服务器(日本博客) 截至2026年3月23日,NXP工程师发现安装最新版Zephyr环境后,调试器无法启动。本文档详细介绍了该问题及其解决方案。 使用 Zephyr OS(4.3.99 开发版)和 MCUXpresso for VSC 时,调试器是否无法启动?本文将解释如何避免调试器启动错误。(日语博客) 合作伙伴 Zephyr 相关信息 合作伙伴/概览 文章 Lineo Solutions Co., Ltd. 本文分两部分发表了使用 NXP 评估板“ MIMXRT1170-EVKB ”的说明文章:第 1 部分和第 2 部分。 在第一部分中,我们对 Zephyr 进行了基本解释,并介绍了源代码树结构以及用于验证本文运行情况的 NXP MIMXRT1170-EVKB 评估板。 在第二部分中,我们将从准备 Zephyr 环境开始,并解释构建和运行 Zephyr 应用程序的步骤。 第三部分还包括在液晶屏幕上实际显示信息的示例。   Zephyr博客,第一部分:我的第一辆Zephyr(第一部分) Zephyr博客,第二部分:我的第一辆Zephyr(第二部分) Zephyr博客,第三部分:“试用液晶显示屏” IT Access有限公司 本文档清晰地阐述了 Zephyr OS 的基本特性、与传统实时操作系统 (RTOS) 和 Linux 的区别,以及其适用的应用场景。随后,以恩智浦 (NXP) 的高性能微控制器评估板“ MIMXRT1060-EVKC ”为例,介绍了将 Zephyr 与安全引导加载程序“MCUboot”相结合的实际开发流程。通过实际硬件上的构建、烧录和固件更新等步骤,您可以了解使用 Zephyr 进行安全嵌入式系统开发的具体步骤。 什么是 Zephyr OS?本文将解释其特性、优势以及与其他实时操作系统和 Linux 的区别。 在 NXP ® MIMXRT1060-EVKC 上使用 Zephyr ®和 MCUboot 入门:安全启动 IAR Systems Co., Ltd. 我们经常收到用户关于无法配置 IAR 工具链的咨询。右侧链接提供了基于 NXP MCU 的“Zephyr x IAR 工具链”的详细日语配置步骤说明。 Zephyr 项目文档(英文版)中也包含了如何使用 IAR ARM 工具链的说明。   在 NXP 的 FRDM_MCXN947 上运行 ZephyrOS! 在 NXP 的 FRDM-MCXA153 上运行 Zephyr OS! 在 NXP 的 MIMXRT1020-EVK 上运行 Zephyr OS! 如果您对 Zephyr OS 相关内容有任何改进要求或建议,请随时使用以下信息与我们联系。 NXP日本技术博客(日语)内容请求/改进调查——请填写表格 =========================​ 我们目前无法 回复 此帖子“ 评论”部分留下的评论。 对于由此造成的不便,我们深表歉意,但 在进行咨询时, 请 参考“ NXP 技术问题 - 如何联系我们 ( 日语博客 ) ” 。 (如果您已经是 恩智浦的 分销商或 与 恩智浦 有合作关系 ,您可以直接咨询您的代表。 ) 最近,一款相对较新的实时操作系统引起了人们的关注。它名为“Zephyr ® OS”,发音为“Zephyr”。 Zephyr OS 是一款开源实时操作系统,其开发合作和支持得到了世界知名公司的大力支持,而 NXP 自 Zephyr 诞生以来一直是其白金会员。 本页面汇总了使用 Zephyr OS 的实用信息,请充分利用。 i.MX RT 处理器 i.MX 处理器 MCX SW | 下载 日本博客
查看全文
MMA9551 ファームウェアのアップグレードに失敗しました。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私のボードには、mma9551 用のファームウェアがありません。これに基づいて、コマンドインタープリターを使用して、mma9551 に新しいバージョンをダウンロードします。フラッシュ保護解除モードに入った後、フラッシュを一括消去し、新しいバージョンでフラッシュを書き込みます。ただし、アップグレード プロセスは失敗します。書き込みフラッシュ応答エラー コードは 0xD0 です。リファレンスマニュアルを読んでみると、フラッシュにアクセスする権限がないことがわかりました。しかし、起動時にフラッシュ書き込みの失敗が発生しないのは非常に奇妙に思えます。いくつかのページの書き込みは成功しましたが、特定のページにアクセスする権限がないため、アップグレード プロセスが失敗しました。誰か何かアイデアを持っていますか? さらに奇妙なのは、ファームウェアを搭載した mma9551 を搭載したボードで新しいファームウェア バージョンをアップグレードする場合です。エラーもなく成功しました。 よろしくお願いします。 加速度センサ Re: MMA9551 upgrade firmware failed. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、レスリー。 MMA9551L ボードに適切な FW がまだフラッシュされていないことに驚きました。詳細を教えていただけますか。このボードは公式デモキット KITMMA9551LEVM からのものですか、それともテープとリールからのデバイスが搭載されているものですか。デバイス パッケージ上の完全なマーキングとは何ですか? MMA955xL デバイスには、それぞれのデフォルトの FW と一部のキャリブレーション パラメータが当社の生産ラインでロードされており、さらに、対応するフラッシュ セグメントが保護されていることに注意してください。 したがって、お客様が NXP 独自の FW のロードを処理することは推奨されません。 デバイスが最初から機能していなかった場合、デバイスを交換して、デフォルトの FW が適切にロードされなかった理由を調査できます。 よろしく、ジャック。
查看全文
MC33772B 的 EPAD MC33772B 底部有一块 5.4 毫米 × 5.4 毫米的裸露金属区域。 然而,PCB 设计指南建议阻焊层的开口度仅为 3.7-3.8毫米,这表明 EPAD 的尺寸约为 3.7 毫米。 在实际检查中,集成电路底部裸露的金属面积为 5.4 毫米,大于建议的 PCB 开口。 根据数据表,从 3.7 毫米(最小)到 5.4 毫米(最大)的区域被指定为 PCB 布线保留区域。 如果 3.7 毫米是建议的 EPAD 尺寸,而 3.7-5.4 毫米是建议的 EPAD 尺寸。mm 区域被定义为 PCB 布线禁止区域,为什么将整个区域设计为封装底部的裸露金属? Re: MC33772B's EPAD 您可以从下面链接文件的第 12 页阅读更多裸露焊盘的 PCB 设计。 AN4388: 四侧扁平封装 (QFP) — 应用笔记 5.2 焊锡钢网和焊锡膏 Re: MC33772B's EPAD 我已经知道了你的答案,但我真正想知道的是,为什么 MC33772 底部的金属开口面积是 5.4 毫米。 根据应用笔记,焊接开口面积为 3.7 mm,但设备的底部金属面积为 5.4 mm。为什么会有区别? 根据数据表,3.7 毫米至 5.4 毫米区域被指定为布线禁区。 有鉴于此,我想了解为什么同样是 3.7-5.4mm 区域以开放金属的形式暴露在设备底部。
查看全文
S32R45 SptEcsIsrCb エラー! アラームの原因を検索すると、「PDMA での AXI 読み取りエラー」が表示されます。このアラームが発生する原因は何でしょうか? SPT エラー キューがオーバーフローしました。最初の 10 件のエラーのみが報告されます。最後に実行されたカーネルを確認してください! SPT完了 SptEcsIsrCb エラー!、ステータス: 0x11005、エラー情報: 0x10000 SptEcsIsrCb エラー!、ステータス: 0x11005、エラー情報: 0x10000 SptEcsIsrCb エラー!、ステータス: 0x11005、エラー情報: 0x10000 SptEcsIsrCb エラー!、ステータス: 0x11005、エラー情報: 0x10000 SptEcsIsrCb エラー!、ステータス: 0x11005、エラー情報: 0x10000 SptEcsIsrCb エラー!、ステータス: 0x11005、エラー情報: 0x10000 SptEcsIsrCb エラー!、ステータス: 0x11005、エラー情報: 0x10000 SptEcsIsrCb エラー!、ステータス: 0x11005、エラー情報: 0x10000 SptEcsIsrCb エラー!、ステータス: 0x11005、エラー情報: 0x10000 SptEcsIsrCb エラー!、ステータス: 0x11005、エラー情報: 0x10000 RsdkSptRun が完了しました。SPT プロセッシングが完了しました。次のカーネルの準備ができました。 Re: S32R45 SptEcsIsrCb error! こんにちはピーター、 ご返信ありがとうございます。   あなたが挙げた理由に従い、私は特に以下の点に重点を置いてコードを注意深くチェックしました。   WR_5、問題は見つかりませんでした。さらに、SPT カーネル コードは変更していません。   コード初期リスト:   AppMemAllocBuffer ( pHeapMem 、 & gSdadcSampleBufferBufH [インデックス]、 sizeof ( uint16_t ) * RSDK_SPT_RANGE512_4CH_IN_BUF_SIZE 、                           RSDK_SPT_DATA_ADDR_ALIGN_BYTES 、 RSDK_OALMEM_CHUNK_ID_CBRAM );   RelocSptCode ( gSptModuleCodeRelocBufH . virtAddr 、 RsdkSptRange512smp128crp4ch 、 RSDK_SPT_GET_KERNEL_SIZE ( RsdkSptRange512smp128crp4ch ));   np = 0 ; sptContext . kernelParList [ np ]. paramType= RSDK_SPT_PARAM_TYPE_ADDR ; sptContext 。 kernelParList [ np ++ ]。 paramValue = ( uintptr_t ) gSdadcSampleBufferBufH [ 0 ]。 phyAddr ;   sptContext . kernelParList [ np ]. paramType= RSDK_SPT_PARAM_TYPE_ADDR ; sptContext 。 kernelParList [ np ++ ]。 paramValue = ( uintptr_t ) gRadarCubeResultsBufH 。 phyAddr ;   sptContext . kernelParList [ np ]. paramType= RSDK_SPT_PARAM_TYPE_ADDR ; sptContext 。 kernelParList [ np ++ ]。 paramValue = ( uintptr_t ( gFft512TwiddleFactorsBufH . phyAddr );    sprintf (ファイル名、 " %s% s " 、 FILE_IN_PATH 、 "fft512_twiddle_factors.dat" ); /* RSDKデータは、PPCアーキテクチャとの互換性のため、ビッグエンディアン形式でファイルに保存されます。エンディアンの変換は、ファイルへのデータの読み書き時にのみ行われます。プロセッシングフロー内での変換は必要ありません。*/   DbgReadFileConvert ( fileName 、 0 、 ( char * ) gFft512TwiddleFactorsBufH . virtAddr 、 gFft512TwiddleFactorsBufH . numBytes 、 ENDIAN_CHANGE 、 DATA_BUFF_IS_CACHED );           sptContext . kernelParList [ np ]. paramType= RSDK_SPT_PARAM_TYPE_ADDR ; sptContext 。 kernelParList [ np ++ ]。 paramValue = ( uintptr_t ) gFft512BlackmanWindowBufH 。 phyAddr ;   sprintf (ファイル名、 " %s% s " 、 FILE_IN_PATH 、 "fft512_win_blackman.dat" ); DbgReadFileConvert ( fileName 、 0 、 ( char * ) gFft512BlackmanWindowBufH . virtAddr 、 gFft512BlackmanWindowBufH . numBytes 、 ENDIAN_CHANGE 、 DATA_BUFF_IS_CACHED );   sptContext . kernelParList [ np ]. paramType= RSDK_SPT_PARAM_TYPE_VALUE ; sptContext . kernelParList [ np ++ ]. paramValue = 3 ; /* 出力シフトなし */ sptContext . kernelParList [ np ]. paramType= RSDK_SPT_PARAM_TYPE_LAST ;   印刷リスト: gSptModuleCodeRelocBufH.phyAddr: 0x34000000 gSdadcSampleBufferBufH[0].phyAddr: 0x28000000 gSdadcSampleBufferBufH[1].phyAddr: 0x28003000 gSdadcSampleBufferBufH[2].phyAddr: 0x28006000 gSdadcSampleBufferBufH[3].phyAddr: 0x28009000 gRadarCubeResultsBufH.phyAddr: 0x34002000 gFft512TwiddleFactorsBufH.phyAddr: 0x340bd000 gFft512BlackmanWindowBufH.phyAddr: 0x340bf000 Re: S32R45 SptEcsIsrCb error! こんにちは、 考えられる原因は次のとおりです: 1. SPT入力とS32DS入力の不一致 SPT カーネル入力が予期された S32DS 構成と一致しませんでした。 PDMA は、SPT カーネルの構成によって決定されたアドレスでメモリを読み取ります。バッファ サイズ、キューブ ベース アドレス、またはチャネル カウントが揃っていない場合、PDMA は無効または予期しないメモリ位置を読み取ろうとする可能性があります → AXI 読み取りエラー。   2. 作業レジスタ(WR_x)の設定が正しくないか破損している PDMA が無効または誤って構成されたバッファを指す作業レジスタを使用する場合、AXI ファブリックは不正な読み取り要求を受信し、バス エラーをトリガーします。 https://community.nxp.com/t5/Other-NXP-Products/SPT3-1-1024-128-16range-don-t-work/mp/1621567   3. 同期PDMA実行モードと非同期PDMA実行モード .sync → .async .syncでモードでは、PDMA は誤った構成 (バッファ ポインタ、依存関係など) により満たされない可能性のある条件を待機します。 これにより、エラー フラグが蓄積され、PDMA エンジンが無効な読み取りを繰り返し試行すると AXI エラーが発生する可能性があります。   4. データ幅またはフォーマットが間違っている(例:WR_16とWR_11) PDMA が 16 ビットの複合データを期待しているが、ターゲット レジスタ/バッファが異なる幅/レイアウトに設定されている場合、AXI 読み取りバーストが不整合になる可能性があり、プロトコル エラー → AXI 読み取りエラーが発生します。   5. AXIプロトコルレベルのエラー(一般的な原因) S32R45 に固有のものではありませんが、AXI 読み取りエラー メカニズムは普遍的に適用されます。 バースト長またはサイズが無効です マップされていないアドレスまたは保護されたアドレスからの読み取りの試み スレーブタイムアウトまたは応答しないターゲット アップストリームの問題による読み取り応答エラー(SLVERR または DECERR) PDMA が不正な AXI トランザクションを生成すると、AXI インターコネクトは SLVERR を返します。これは PDMA 読み取りエラーとして表示されます。 あなたのケースで最も可能性の高い原因 両方のログに基づくと、主な容疑者は次のとおりです。 間違ったWR_xレジスタ(特にWR_5 / WR_16の選択) 非常に一般的には誤って構成され、無効な AXI 読み取りにつながります。 SPTカーネル入力とS32DS入力の不一致 以前のケースでは、見落とされ、根本原因として検証されることがよくあります。 PDMA同期モードが依存関係のデッドロックを引き起こす .syncを切り替えてみる→ .asyncデバッグ用。 よろしくお願いいたします。 ピーター     Re: S32R45 SptEcsIsrCb error! こんにちはピーター、 レーダー フロントエンドの波形サンプリング ポイントの数を 2 倍にすると、エラーは発生しなくなりましたが、チャープ バッファのサイズは変更されていません。問題をさらに分析するのにご協力ください。どうもありがとうございます。 Re: S32R45 SptEcsIsrCb error! こんにちは、 シナリオにおける最も可能性の高い根本原因: カーネルの予想されるチャープピッチと実際のバッファレイアウト間のストライド/アライメントの不一致 - サンプルを 2 倍にするとバーストサイズが揃い、バグがマスクされます。 WR_x 選択 / データ幅の不一致 (実数 vs 複素数、16 ビット vs その他)。サンプル数が変化すると偶然に修正されます。 kernelParList 内のパラメータ順序/タイプの混同 (ADDR と VALUE) が、特定のサイズの場合にのみ発生します。ミラー スレッドには同様のパラメータ シーケンスが示されており、インデックスをスリップするのは簡単です。 WR 24ビットオフセットエッジは、2倍にすると異なるパッキング/レイアウトで消えます。 よろしくお願いいたします。 ピーター
查看全文
S32N55:充当 GM 时 gPTP 桥接设备中的序列 ID 队员们好 我正在测试gpTP示例中的网桥设备行为。我使用的是 GrayVIP_1_0_22_0。 根据《用户手册》,如果网桥在 启动超时则应开始作为 GM 运行。但我观察到,在这种情况下,同步和同步跟进帧中的序列 ID 都保持在 1024,不会增加。 检查相关代码后,我发现当网桥转换到 GM 模式时,用于生成同步信息的序列 ID 取自 prSyncMachines[prDomain->u8SlaveMachineId].u16SequenceId 从端口的序列号。 如果从端口没有收到任何同步报文,则该值永不更新,这将导致主端口发送的同步报文中的序列 ID 保持不变。 这种行为表明,在这种机制下,桥梁无法正常发挥全球机制的作用。 能否请您解释一下,为什么大桥的设计会出现这种情况? BR, Bridget GPTP_STACK Re: S32N55: sequence ID in gPTP bridge device when acting as a GM 你好,@Bridget、 我们的团队已经受理了一个案件,并将尽快提供答复 ,致以最崇高的敬意, Radu Re: S32N55: sequence ID in gPTP bridge device when acting as a GM 嗨,@Bridget、 我们正在努力重现该问题,并将在团队中讨论进一步的步骤。我会再联系你的。 谢谢, Lukas Re: S32N55: sequence ID in gPTP bridge device when acting as a GM @Bridget、 事实证明,gPTP 网桥的这种行为是有意为之,符合 802.1as 标准。 网桥应转发主端口上接收到的序列 ID。如果Grand Master丢失,序列ID确实会停止更新——这是下游设备能够分辨GM何时丢失的方式之一。 对于本来就没有总经理的桥梁,序列 ID 按标准是随机的。我们对 "随机"的解释是,序列 ID 的任何内容都不能保证,也不应假设。硬编码的 1024 被认为符合这一要求(可以是任何其他数字)。 序列 ID 是否会导致应用程序出现问题?正如您所观察到的,无论序列 ID 如何,端点都完全能够与网桥同步。 抱歉花了这么长时间。如果有不清楚的地方,请告诉我。 BR, Lukas
查看全文
中子转换后的 YOLOv8n 模型无法在 i.MX95 中正常输出 您好, ,我从 ultralytics 导出了完全量化的 int8 YOLOv8n 物体检测模型。我已经使用最新的 eIQ Toolkit 版本 1.17 中的中子变流器将其转换成在 NPU 上运行,我曾尝试在 i.MX95 硬件上执行它。 我用 NPU 委托试过转换模型和非转换模型,但似乎只有转换模型上的中子图才能在 NPU 上执行。 当我比较两个模型的原始输出时,转换后的模型给出了多个假阳性,得分超过 95% 。我对已转换和未转换的模型都使用了相同的脚本,但只对已转换的模型有问题。我用多种方法进行了验证,但每次的结果都一样。 当我用 netron 应用程序检查这两个模型时,我发现转换后的模型在结构上发生了重大变化。 在此,我想问几点: 1.eIQ Toolkit 版本 1.17 的 Neutron 变流器是否支持像 YOLOv8 和 YOLOv11 这样的最新物体检测架构? 2.您在 i.MX95 上使用 NPU 测试过 YOLOv8 和 YOLOv11 吗?如果回答为 "是",请将模型和后处理步骤一并发送到 3.如果我们要在 i.MX95 中的 Neutron NPU 上执行 Neutron Graph 以外的操作,流程是什么? 4. 如果我们要在 i.MX95 中的 GPU 上执行上述模型,流程是什么? 我也翻阅了《机器学习用户指南》,但没有找到相关细节。 谢谢, Vatsal。 Re: Neutron Converted YOLOv8n model is not giving proper output in i.MX95 你好 您遇到的 Neutron 转换 YOLOv8n 模型误报问题是一个已知的难题。目前 i.MX95 NPU 对 YOLOv8 模型的支持仍在优化中,转换过程中的架构变化可能会影响性能。 关于您的具体问题: 1. eIQ 工具包 1.17 中的 YOLOv8 架构支持仍在改进中。推荐的转换工作流程是: - 在导出模型时确保正确的 int8 量化 - 使用最新的 eIQ 工具包 (v1.17) 使用变流器进行转换 - 命令:`./变流器 --input [你的模型].tflite`--target imx95 --use-python-prototype` 2.虽然支持 YOLOv8,但可能尚未完全优化。YOLOv5 与当前的 NPU 实现具有更好的兼容性。恩智浦团队正在积极改进对 YOLOv8/YOLOv11 的支持。 3. 要在 NPU 上执行 Neutron Graph 以外的操作,需要使用 eIQ 或 netron 工具分析模型,以确定哪些运算符已成功转换为在 NPU 上运行(显示为 neutronop 内容)。未转换的运算符将在 CPU 上运行。 4.在 i.MX95 上执行 GPU 运算时,应使用 TensorFlow Lite GPU 委托而不是 NPU 委托。这需要修改推理代码以使用 GPU 委托。 您可以通过在 netron 中检查转换后的模型来验证模型操作的分布情况--任何含有"neutronop" 内容的运算符都在 NPU 上执行,而其他运算符仍在 CPU 上执行。 此致 Re: Neutron Converted YOLOv8n model is not giving proper output in i.MX95 我们再次使用带有自定义数据集的YOLOv5s进行了训练,并尝试进行推断,因为您在之前的聊天中声称YOLOv5使用中子变流器取得了不错的结果。YOLOv5 也仍然存在这个问题。我也附上结果以供参考。在这里,我们尝试了已转换和未转换的 int8 tflite YOLOv5s 模型。 现在,如果你声称 YOLOv5 能够带来良好的效果,那么为什么不与我们分享经过验证的模型呢?请分享从导出、量化到转换的所有步骤,以及后期处理的步骤。这样我们就可以验证您的模型,并在我们这里复制您所遵循的步骤。 如果可以的话,也请与i.MX95共享您的基准测试和我的数据。 Re: Neutron Converted YOLOv8n model is not giving proper output in i.MX95 你好,@Bio_TICFSL! 我注意到恩智浦团队建议使用 --use-python-prototype 标志,但是我的中子变流器无法识别它。它是在 Windows 上支持的,还是只与 Linux eIQ 版本兼容? Re: Neutron Converted YOLOv8n model is not giving proper output in i.MX95 这对我来说也是一个问题。我使用过 Linux eIQ,但效果不佳。因此我跳过了它,尝试只通过目标 arg 转换模型。 Re: Neutron Converted YOLOv8n model is not giving proper output in i.MX95 您好@Bio_TICFSL, 由于时间已久,我仍在等待您的回复。我们被困在这里,我们也有一些紧迫感。请尽快回复。 谨致 Vatsal [i.MX95 NPU] YOLOv5n/v8n/v11n Neutron-converted Models Run but Return No Detections (Zero Output) 问题描述 我正在使用 Neutron 变流器在 i.MX95 NPU 上评估 YOLO 目标检测模型。 虽然 INT8 量化的 TFLite 模型在 Cortex-A55 CPU 上运行成功并能检测到物体,但编译后的 neutron.tflite 版本在卸载到 NPU 时,尽管执行推理时没有崩溃,却产生了零检测结果(空/无输出)。 环境及硬件设置   硬件: i.MX95 19x19 LPDDR5 EVK(A1 版本) 操作系统/内核: Linux 6.12.34-lts-next-gbe78e49cb433 #1 SMP PREEMPT (aarch64) NXP 工具链: MCU-SDK v25.09.00 + Linux 6.12.34_2.1.0 测试型号: YOLOv5nu、YOLOv8n、YOLOv11n(Ultralytics) 工作流程步骤和使用的命令 1. 量化(Ultralytics 导出) 模型导出为 INT8 全整数量化格式,分辨率为 320x320: yolo export model=yolov8n.pt format=tflite int8=True imgsz=320# (Repeated identically for yolov11n.pt and yolov5nu.pt)   状态:在CPU上运行完美。yolovXn_full_integer_quant.tflite 在 A55 内核上能够正确检测对象。 2. 中子汇编 TFLite 模型是使用 MCU_SDK_25.09.00+Linux_6.12.34_2.1.0 中的 Neutron 转换器为 i.MX95 NPU 编译的: ./neutron-converter --input yolov8n_full_integer_quant.tflite --target imx95 --output yolov8n_full_integer_quant_neutron.tflite   状态:无法在 NPU 上检测到对象。编译后的模型可以加载并运行推理,不会抛出语法或执行错误,但对于完全相同的测试图像,输出张量返回零检测结果。 观察到的症状和疑似根本原因   操作回退:变流器是否会针对特定的 YOLO 层(如自定义锚点、SiLU/Swin 激活或非最大值抑制)回退到 CPU? 量化缩放/不对称性:通过 Ultralytics 导出的 YOLO 模型通常使用不对称量化或具有 Neutron NPU 驱动程序可能误解的特定输出张量缩放。 输出张量格式:推理运行正常,这表明输入管道没有问题,但输出边界框/分数要么为空白,要么完全是垃圾值。 向恩智浦专家提问   中子变流器是否存在针对 Ultralytics YOLO 架构的已知限制或必需的优化标志? 在将 TFLite 模型传递给 Neutron 转换器之前,是否应该去除 NMS(非极大值抑制)层? i.MX95 Neutron SDK 是否需要对称量化(per_channel=True 或 False)才能正确解析输出层? 任何关于 i.MX95 NPU 的指导、参考脚本或 YOLO 部署说明都将不胜感激。        
查看全文
How to use a GPIO(libgpiod) with gpioget/gpioset, on i.MX8Q as an example difference between gpioget and "cat /sys/class/gpio" in GPIO control: gpioget : This is a command-line utility provided by the  libgpiod  library. It is designed to interact with GPIO lines through the modern Linux GPIO character device interface ( /dev/gpiochipN ). /sys/class/gpio : This refers to the legacy sysfs interface for GPIO control in Linux. While widely used in the past, this interface has been officially deprecated in favor of the  libgpiod  character device interface since Linux kernel version 6.0 and later. Below is an example of libgpiod tested on i.MX8Q-MEK, L6.12.3 BSP. Device tree settings: We use GPIO1-05 and GPIO1-06 in this example. can put GPIO pinctrls in a specific group like “gpio_test”, or under certain driver like “gpio-keys” gpio_test: gpio-test { pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_gpio_test_default>; pinctrl-1 = <&pinctrl_gpio_test_sleep>; status = "okay"; }; gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_gpio_example_default>; pinctrl-1 = <&pinctrl_gpio_example_sleep>; key_wakeup2{ label = "wakeup_key"; gpios = <&lsio_gpio2 1 GPIO_ACTIVE_LOW>; linux,code = ; wakeup-source; }; pinctrl_gpio_test_default: gpiotestgrp_default { fsl,pins = < IMX8QM_LVDS0_I2C0_SDA_LSIO_GPIO1_IO07 0x06000061 IMX8QM_QSPI1A_DATA0_LSIO_GPIO4_IO26 0x06000041 IMX8QM_MIPI_CSI1_I2C0_SCL_LSIO_GPIO2_IO00 0x06000021 IMX8QM_LVDS0_I2C0_SCL_LSIO_GPIO1_IO06 0x06000021 >; }; pinctrl_gpio_test_sleep: gpiotestgrp_sleep { fsl,pins = < IMX8QM_LVDS0_I2C0_SDA_LSIO_GPIO1_IO07 0x07800061 IMX8QM_QSPI1A_DATA0_LSIO_GPIO4_IO26 0x07800041 IMX8QM_MIPI_CSI1_I2C0_SCL_LSIO_GPIO2_IO00 0x07800021 IMX8QM_LVDS0_I2C0_SCL_LSIO_GPIO1_IO06 0x07800021 >; }; pinctrl_gpio_example_default: gpioexamplegrp_default { fsl,pins = < IMX8QM_LVDS0_GPIO01_LSIO_GPIO1_IO05 0x06000021 IMX8QM_MIPI_CSI1_I2C0_SDA_LSIO_GPIO2_IO01 0x06000021 >; }; pinctrl_gpio_example_sleep: gpioexamplegrp_sleep { fsl,pins = < IMX8QM_LVDS0_GPIO01_LSIO_GPIO1_IO05 0x07800021 IMX8QM_MIPI_CSI1_I2C0_SDA_LSIO_GPIO2_IO01 0x07800021 >; }; Kernel commands to test GPIO function: gpiodetect and gpioinfo command: root@imx8qmmek:~# gpiodetect gpiochip0 [5d080000.gpio] (32 lines) gpiochip1 [5d090000.gpio] (32 lines) gpiochip2 [5d0a0000.gpio] (32 lines) gpiochip3 [5d0b0000.gpio] (32 lines) gpiochip4 [5d0c0000.gpio] (32 lines) gpiochip5 [5d0d0000.gpio] (32 lines) gpiochip6 [5d0e0000.gpio] (32 lines) gpiochip7 [5d0f0000.gpio] (32 lines) root@imx8qmmek:~# gpioinfo -c 1 gpiochip1 - 32 lines: line 0: unnamed input line 1: unnamed input line 2: unnamed input line 3: unnamed input line 4: unnamed input line 5: unnamed input line 6: unnamed output line 7: unnamed output line 8: unnamed input line 9: unnamed input line 10: unnamed input line 11: unnamed input line 12: unnamed input line 13: unnamed output consumer=regulator-pcie line 14: unnamed input line 15: unnamed input line 16: unnamed input line 17: unnamed input line 18: unnamed input line 19: unnamed input line 20: unnamed input line 21: unnamed input line 22: unnamed input line 23: unnamed input line 24: unnamed input line 25: unnamed input line 26: unnamed input line 27: unnamed input line 28: unnamed input line 29: unnamed input line 30: unnamed input line 31: unnamed input use cat /sys/kernel/debug/gpio to show current GPIO settings before GPIO1-05 and GPIO1-06 are set: root@imx8qmmek:~# cat /sys/kernel/debug/gpio gpiochip0: GPIOs 512-543, parent: platform/5d080000.gpio, 5d080000.gpio: gpio-526 ( |scl ) out lo gpio-527 ( |sda ) in lo gpiochip1: GPIOs 544-575, parent: platform/5d090000.gpio, 5d090000.gpio: gpio-557 ( |regulator-pcie ) out hi gpiochip2: GPIOs 576-607, parent: platform/5d0a0000.gpio, 5d0a0000.gpio: gpio-577 ( |wakeup_key ) in hi ACTIVE LOW gpiochip3: GPIOs 608-639, parent: platform/5d0b0000.gpio, 5d0b0000.gpio: gpio-618 ( |spi1 CS0 ) out hi ACTIVE LOW gpiochip4: GPIOs 640-671, parent: platform/5d0c0000.gpio, 5d0c0000.gpio: gpio-641 ( |enable ) out hi ACTIVE LOW gpio-643 ( |regulator-usbotg1-vb) out lo gpio-647 ( |usdhc2-vmmc ) out hi gpio-667 ( |enable ) out lo ACTIVE LOW gpio-668 ( |host-wake ) in hi ACTIVE LOW gpio-669 ( |PCIe reset ) out hi ACTIVE LOW gpiochip5: GPIOs 672-703, parent: platform/5d0d0000.gpio, 5d0d0000.gpio: gpio-673 ( |mux ) out hi gpio-693 ( |wp ) in lo gpio-694 ( |cd ) in lo ACTIVE LOW gpiochip6: GPIOs 704-735, parent: platform/5d0e0000.gpio, 5d0e0000.gpio: gpiochip7: GPIOs 736-767, parent: platform/5d0f0000.gpio, 5d0f0000.gpio: use gpioset command to set GPIO output, can also change GPIO direction(input → output) #set gpiochip1-5 and 1-6 root@imx8qmmek:~# gpioset -c gpiochip1 6=1 & [1] 700 root@imx8qmmek:~# gpioset -c gpiochip1 5=1 & [2] 702 check the changes from the commands above with cat /sys/kernel/debug/gpio and gpioinfo -c 1 : root@imx8qmmek:~# cat /sys/kernel/debug/gpio gpiochip0: GPIOs 512-543, parent: platform/5d080000.gpio, 5d080000.gpio: gpio-526 ( |scl ) out lo gpio-527 ( |sda ) in lo gpiochip1: GPIOs 544-575, parent: platform/5d090000.gpio, 5d090000.gpio: gpio-549 ( |gpioset ) out hi gpio-550 ( |gpioset ) out hi gpio-557 ( |regulator-pcie ) out hi gpiochip2: GPIOs 576-607, parent: platform/5d0a0000.gpio, 5d0a0000.gpio: gpio-577 ( |wakeup_key ) in hi ACTIVE LOW gpiochip3: GPIOs 608-639, parent: platform/5d0b0000.gpio, 5d0b0000.gpio: gpio-618 ( |spi1 CS0 ) out hi ACTIVE LOW gpiochip4: GPIOs 640-671, parent: platform/5d0c0000.gpio, 5d0c0000.gpio: gpio-641 ( |enable ) out hi ACTIVE LOW gpio-643 ( |regulator-usbotg1-vb) out lo gpio-647 ( |usdhc2-vmmc ) out hi gpio-667 ( |enable ) out lo ACTIVE LOW gpio-668 ( |host-wake ) in hi ACTIVE LOW gpio-669 ( |PCIe reset ) out hi ACTIVE LOW gpiochip5: GPIOs 672-703, parent: platform/5d0d0000.gpio, 5d0d0000.gpio: gpio-673 ( |mux ) out hi gpio-693 ( |wp ) in lo gpio-694 ( |cd ) in lo ACTIVE LOW gpiochip6: GPIOs 704-735, parent: platform/5d0e0000.gpio, 5d0e0000.gpio: gpiochip7: GPIOs 736-767, parent: platform/5d0f0000.gpio, 5d0f0000.gpio: root@imx8qmmek:~# gpioinfo -c 1 gpiochip1 - 32 lines: line 0: unnamed input line 1: unnamed input line 2: unnamed input line 3: unnamed input line 4: unnamed input line 5: unnamed output consumer=gpioset line 6: unnamed output consumer=gpioset line 7: unnamed output line 8: unnamed input line 9: unnamed input line 10: unnamed input line 11: unnamed input line 12: unnamed input line 13: unnamed output consumer=regulator-pcie   How to enable legacy GPIO SYSFS(default disabled on L6 kernel and above) refer to the comment of this commit: https://github.com/nxp-imx/linux-imx/commit/3b4feb21158f873269ff3fbe2fe8d23a88d64b24 commit 3b4feb21158f873269ff3fbe2fe8d23a88d64b24 Author: Linus Walleij Date: Tue Nov 10 15:27:24 2020 +0100 gpio: sysfs: Enforce character device If users select sysfs support they get the character device as well so that end-users cannot complain that they "only have sysfs on my system". They should have the character device at all times. If someone is in so dire need of stripping out the character device while still enabling the sysfs ABI they can very well patch the kernel. Also only show this obsolete option to expert users. Signed-off-by: Linus Walleij Link: <> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 5d4de5cd6759..4dd566f7ea39 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -59,8 +59,9 @@ config DEBUG_GPIO that are most common when setting up new platforms or boards. config GPIO_SYSFS - bool "/sys/class/gpio/... (sysfs interface)" + bool "/sys/class/gpio/... (sysfs interface)" if EXPERT depends on SYSFS + select GPIO_CDEV # We need to encourage the new ABI help Say Y here to add the legacy sysfs interface for GPIOs. To enable GPIO_SYSFS, from the patch. The best way is CONFIG_EXPERT = y, then enable CONFIG_GPIO_SYSFS=Y. not need to revert the patch. SYSFS, as legacy interface for GPIO control in Linux. While widely used in the past, this interface has been officially deprecated in favor of the libgpiod character device interface since Linux kernel version 6.0 and later. i.MX Processors
查看全文
i.MX6 DDR Stress Test Tool V1.0.3 Note, the tools described in this page are deprecated and are no longer maintained.  For the latest maintained i.MX 6/7 series DDR tools, the user can find these here: i.MX 6/7 Series DDR Tool Release Hi All, DDR_Stress_Tester is a software application for fine tuning DDR parameters and verifying DDR performance on i.MX6 boards. It performs write leveling, DQS gating, read/write delay calibration on the target board to match the layout of the board and archive the best DDR performance. In addition, the stress test can help the user to verify the DDR performance on their boards. The following are the features supported: • Support i.MX6Q, i.MX6D, i.MX6DL, iMX6S, i.MX6SL, and i.MX6SX DDR calibration. • Support DDR3 write leveling, DQS gating, Read/Write Delay auto-calibration. • Support LPDDR2 Read/Write Delay auto-calibration. • Support 16 bits, 32 bits, and 64 bits data bus. • Support fixed-mapping 2-channel LPDDR2. • Support DDR stress test between the frequency 135MHz and 672 MHz If  USB OTG port is not available on customer board, please use the images in DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip. The bin files in the packages can be loaded by uboot and elf files are used by JTAG load.  Please note when the image is loaded by u-boot, the DDR is initialized by u-boot (reference flash_header.S). To run ddr stress test from u-boot, CONFIG_SPLASH_SCREEN must be disabled in u-boot. Because when enter self refresh mode in ddr stress test, DRAM access will be blocked. If splash screen in u-boot is enabled, IPU will continuously access DRAM, so the system will hang up. If you have other DMA access in u-boot, it must be disabled. If customer uses different RX/TX pin for UART, please contact FAE. UART1 6DQ 6DL 6SL 6SX TX CSI0_DAT10/ALT3 CSI0_DAT10/ALT3 UART1_TXD/ALT0 GPIO1_IO04/ALT0 RX CSI0_DAT11/ALT3 CSI0_DAT11/ALT3 UART1_RXD/ALT0 GPIO1_IO05/ALT0 The commands to run ddr test in i.MX6Q uboot: U-Boot > fatload mmc 2:1 0x907000 ddr-stress-test-mx6dq.bin U-Boot > go 0x907000 For i.MX6Q/6D 4K interleaved LPDDR2, please use version v1.0.3.1. i.MX6 DDR Stress Test Tool V1.0.3.1 for LPDDR2 4K interleaved mode For i.MX6/i.MX7 DDR Stress Test Tool with GUI interface, please use version V2.x: i.MX6/7 DDR Stress Test Tool V2.10 History V1.0.3:  i.MX6SoloX is supported. Re: i.MX6 DDR Stress Test Tool V1.0.3 V0.042 is not suggested for i.MX6. There are a lot of differences between v0.042 and v1.0.x. The memory property is different. Re: i.MX6 DDR Stress Test Tool V1.0.3 I took a look at it in more detail and the actual difference is not USB OTG vs SDBoot, it was the DDRStressTester version. We were originally testing OSB OTG DDRStressTester v0.042, we were getting 3min for 2GB DDR there. When we started with the SDBoot, we tested with v1.0.2. which gave 8min for 2GB. When I retested v1.0.2 USB OTG, I get 8min for 2GB. Retesting for 512MB does give me the 2min you were getting. The main items the were significantly longer in v1.0.2 was t0.1 data is addr test, t1 memcpy8 SSN x64 test, t3 memcypy11 random pattern test. What caused the drastic change in performance between v0.042 and v1.0.2? Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Mark, I have not see the difference you described. i.MX6Q: L3.0.35_4.1.0 u-boot  ( modification: comment out drv_lcd_init () in common/stdio.c ) DDR density selected (MB): 512 There is no difference on the time to run one loop through USB OTG and through u-boot loading, both are around 2 mins. You can try to modify the u-boot as my changes. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Mark, I have not see the difference you described. i.MX6Q: L3.0.35_4.1.0 u-boot  ( modification: comment out drv_lcd_init () in common/stdio.c ) DDR density selected (MB): 512 There is no difference on the time to run one loop through USB OTG and through u-boot loading, both are around 2 mins. You can try to modify the u-boot as my changes. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace Si, We are using the imx6 DDR Stress Tester both through USB OTG and loading through uboot with the SDBoot version. We noticed in usbotg, we finish one loop in about 3minutes while the SDboot version finished in about 8minutes. Is this expected and what is causing this time difference? Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace Si, We are using the imx6 DDR Stress Tester both through USB OTG and loading through uboot with the SDBoot version. We noticed in usbotg, we finish one loop in about 3minutes while the SDboot version finished in about 8minutes. Is this expected and what is causing this time difference? Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Casper, Please contact your FAE or Marketing. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Casper, Please contact your FAE or Marketing. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 hello Grace           is anyway to support us to create that pattern in? we can pay for a whole sulotion! or who should i  contact? thanks ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 We don't have plan for it. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 We don't have plan for it. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello is it possible to add in precharge power down test in Stress test?? tks ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello is it possible to add in precharge power down test in Stress test?? tks ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello is it possible to add in precharge power down test in Stress test?? tks ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello is it possible to add in precharge power down test in Stress test?? tks ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 I don't know how I missed this, but knowing that I could launch the DDR Stress Test tool from U-Boot would have saved us a lot of time. GraceSi wrote: In my log below, you can see the load size of ddr-stress-test-mx6dq.bin is  87520, but yours is 96660. None of the binaries in the v1.0.2 or v1.0.3 ZIP files has a size of 87520 bytes.  My copy of ddr-stress-test-mx6dq.bin (v1.0.3) is 96660 bytes. Another point is what I mentioned before, is the RX/TX pin of  UART1 of your board same as i.MX6DQ EVK? If not, please contact your FAE. i.MX6DQ UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup    writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); If you're successfully talking to U-Boot over UART1, then it's probably already set up correctly :-). Currently watching the tool rotating through DDR3 clock frequencies... Re: i.MX6 DDR Stress Test Tool V1.0.3 I don't know how I missed this, but knowing that I could launch the DDR Stress Test tool from U-Boot would have saved us a lot of time. GraceSi wrote: In my log below, you can see the load size of ddr-stress-test-mx6dq.bin is  87520, but yours is 96660. None of the binaries in the v1.0.2 or v1.0.3 ZIP files has a size of 87520 bytes.  My copy of ddr-stress-test-mx6dq.bin (v1.0.3) is 96660 bytes. Another point is what I mentioned before, is the RX/TX pin of  UART1 of your board same as i.MX6DQ EVK? If not, please contact your FAE. i.MX6DQ UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup    writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); If you're successfully talking to U-Boot over UART1, then it's probably already set up correctly :-). Currently watching the tool rotating through DDR3 clock frequencies... Re: i.MX6 DDR Stress Test Tool V1.0.3 I tried to test 4GB DDR3 on CS0 only and got calibration data with option "9" (maximum supported density). However, I got error on t0.1 Address of failure: 0x10000000 Data was: 0x90000000 when I set MMDC0_MDASP to 0x7F. I got error on t0.1 Address of failure: 0xc0000000 Data was: 0xffffffc0 when I set MMDC0_MDASP to 0x5F. Is this hardware or software limitation? Re: i.MX6 DDR Stress Test Tool V1.0.3 I tried to test 4GB DDR3 on CS0 only and got calibration data with option "9" (maximum supported density). However, I got error on t0.1 Address of failure: 0x10000000 Data was: 0x90000000 when I set MMDC0_MDASP to 0x7F. I got error on t0.1 Address of failure: 0xc0000000 Data was: 0xffffffc0 when I set MMDC0_MDASP to 0x5F. Is this hardware or software limitation? Re: i.MX6 DDR Stress Test Tool V1.0.3 hi Azlum      performance checking we suggest at least 500loops. Casper Re: i.MX6 DDR Stress Test Tool V1.0.3 hi Azlum      performance checking we suggest at least 500loops. Casper Re: i.MX6 DDR Stress Test Tool V1.0.3 Dear Casper, How many RAM test loop need to be completed ? When I run the RAM stress test, it crossed around 470 loops. So whether can I consider this as Pass ? Regards, Azlum Re: i.MX6 DDR Stress Test Tool V1.0.3 Dear Casper, How many RAM test loop need to be completed ? When I run the RAM stress test, it crossed around 470 loops. So whether can I consider this as Pass ? Regards, Azlum Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace i try to modify as below setmem /32 0x021b000c = 0x3F433F13  // MMDC0_MDCFG0          for txpdll is set a unreasonable value for DDR3 but it still test pass. does it mean no tXPDLL related in DDR3 stress test?? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace i try to modify as below setmem /32 0x021b000c = 0x3F433F13  // MMDC0_MDCFG0          for txpdll is set a unreasonable value for DDR3 but it still test pass. does it mean no tXPDLL related in DDR3 stress test?? Re: i.MX6 DDR Stress Test Tool V1.0.3 please go to Freescale i.MX6 DRAM Port Application Guide-DDR3 Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 please go to Freescale i.MX6 DRAM Port Application Guide-DDR3 Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 hello Grace           suppose it is not modified in stress test aid. suppose txpdll is setle when DDR3 init! so how can i modify it before init?? Re: i.MX6 DDR Stress Test Tool V1.0.3 hi Grace      but if i want to tuning tXPDLL of DDR3 how can i do in iMX6 solo? Re: i.MX6 DDR Stress Test Tool V1.0.3 hi Grace      but if i want to tuning tXPDLL of DDR3 how can i do in iMX6 solo? Re: i.MX6 DDR Stress Test Tool V1.0.3 txpdll should follow the value in datasheet of your DDR3. It is not supposed to be tested. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 txpdll should follow the value in datasheet of your DDR3. It is not supposed to be tested. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 hello    we test DDR3 in IMx6 solo. we want to know if it can inclulde txpdll test by DDR3 stress test? it appricated if any solution or suggestion thank you for your kinldy help ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 hello    we test DDR3 in IMx6 solo. we want to know if it can inclulde txpdll test by DDR3 stress test? it appricated if any solution or suggestion thank you for your kinldy help ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Patrick, Are you using the binary in DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip or DDR_Stress_Tester_V1.0.2_UART1_for_SDboot&JTAG.zip. Even the name is same, but the binary files in package DDR_Stress_Tester_UART1_for_SDboot&JTAG.zip and DDR_Stress_Tester.zip are different. In my log below, you can see the load size of ddr-stress-test-mx6dq.bin is  87520, but yours is 96660. Another point is what I mentioned before, is the RX/TX pin of  UART1 of your board same as i.MX6DQ EVK? If not, please contact your FAE. i.MX6DQ UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup    writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Patrick, Are you using the binary in DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip or DDR_Stress_Tester_V1.0.2_UART1_for_SDboot&JTAG.zip. Even the name is same, but the binary files in package DDR_Stress_Tester_UART1_for_SDboot&JTAG.zip and DDR_Stress_Tester.zip are different. In my log below, you can see the load size of ddr-stress-test-mx6dq.bin is  87520, but yours is 96660. Another point is what I mentioned before, is the RX/TX pin of  UART1 of your board same as i.MX6DQ EVK? If not, please contact your FAE. i.MX6DQ UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup    writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi there, I'm using an i.MX6Q part on my board and I don't have OTG so I am following your instructions on loading from u-boot or JTAG. JTAG I've had no luck so I thought I'd switch over to u-boot. U-Boot > ext2load mmc 0:1 0x907000 ddr-stress-test-mx6dq.bin 96660 bytes read in 43 ms (2.1 MiB/s) U-Boot > go 0x907000 ## Starting application at 0x00907000 ... then it just sits there and doesn't load anything further... any ideas? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi there, I'm using an i.MX6Q part on my board and I don't have OTG so I am following your instructions on loading from u-boot or JTAG. JTAG I've had no luck so I thought I'd switch over to u-boot. U-Boot > ext2load mmc 0:1 0x907000 ddr-stress-test-mx6dq.bin 96660 bytes read in 43 ms (2.1 MiB/s) U-Boot > go 0x907000 ## Starting application at 0x00907000 ... then it just sits there and doesn't load anything further... any ideas? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Leo, Please check whether the RX/TX pin of  UART1 is same as i.MX6DL EVK,  if not, the DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip or DDR_Stress_Tester_V1.0.2_UART1_for_SDboot&JTAG.zip. will not work. please contact your FAE to build the software to configure the correct UART. i.MX6DL UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup     writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Leo, Please check whether the RX/TX pin of  UART1 is same as i.MX6DL EVK,  if not, the DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip or DDR_Stress_Tester_V1.0.2_UART1_for_SDboot&JTAG.zip. will not work. please contact your FAE to build the software to configure the correct UART. i.MX6DL UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup     writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Bump. We are about to crank our new board to 1 GHz timings, and I'd like to be able to get this nailed down.  The DDR3 Script Aid is very useful, but ultimately I want to use the Stress Test Tool to dial them in. So far I've had no (apparent) success being able to run the Stress Test Tool using nothing but JTAG.  This may well be because I'm not using JTAG correctly.  Is there an FAQ or HOWTO somewhere that might point me in the right direction? Also: Does setting up the DDR3 timings also set up the core clock?  We'd like the ARM cores to run at 1 GHz as well; do we get that for "free" when using the output from the Script Aid? Re: i.MX6 DDR Stress Test Tool V1.0.3 Bump. We are about to crank our new board to 1 GHz timings, and I'd like to be able to get this nailed down.  The DDR3 Script Aid is very useful, but ultimately I want to use the Stress Test Tool to dial them in. So far I've had no (apparent) success being able to run the Stress Test Tool using nothing but JTAG.  This may well be because I'm not using JTAG correctly.  Is there an FAQ or HOWTO somewhere that might point me in the right direction? Also: Does setting up the DDR3 timings also set up the core clock?  We'd like the ARM cores to run at 1 GHz as well; do we get that for "free" when using the output from the Script Aid? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Steve, Please contact your FAE. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Steve, Please contact your FAE. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 GraceSi, The console port on our board is UART4. Could you release a binary file booting from SD to support UART4 console?  Or could you release the source code to us to modify by ourselves? Thanks. Steve Re: i.MX6 DDR Stress Test Tool V1.0.3 GraceSi, The console port on our board is UART4. Could you release a binary file booting from SD to support UART4 console?  Or could you release the source code to us to modify by ourselves? Thanks. Steve Re: i.MX6 DDR Stress Test Tool V1.0.3 Please always use WALAT=1, you can refer to below aid. i.Mx6DQSDL DDR3 Script Aid https://community.freescale.com/docs/DOC-94917 Sure, flash_header.s should keep same with your test script. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace,      The write leveling calibration result of our board is as following: MMDC_MPWLDECTRL0 ch0 after write level cal: 0x00270021 MMDC_MPWLDECTRL1 ch0 after write level cal: 0x0030002C MMDC_MPWLDECTRL0 ch1 after write level cal: 0x001F0030 MMDC_MPWLDECTRL1 ch1 after write level cal: 0x000F0026      I am not sure how to judge if the value is larger than 0x2f as User_Guide says:                             NOTE If write-leveling delay is larger than 0x2f, it is suggested to set the WALAT value on MMDCx_MDMISC register to 1 in the initialization script and re-run the DDR_Stress_Tester. And if I should set WALAT to 1 in the script, should I set it to 1 in flash_header.S? In other words, if I calibrated a group of satisfied parameters and the stress test is also OK, should I keep flash_header.S's every register value the same as the test script.inc?    Thank you very much! Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace,      The write leveling calibration result of our board is as following: MMDC_MPWLDECTRL0 ch0 after write level cal: 0x00270021 MMDC_MPWLDECTRL1 ch0 after write level cal: 0x0030002C MMDC_MPWLDECTRL0 ch1 after write level cal: 0x001F0030 MMDC_MPWLDECTRL1 ch1 after write level cal: 0x000F0026      I am not sure how to judge if the value is larger than 0x2f as User_Guide says:                             NOTE If write-leveling delay is larger than 0x2f, it is suggested to set the WALAT value on MMDCx_MDMISC register to 1 in the initialization script and re-run the DDR_Stress_Tester. And if I should set WALAT to 1 in the script, should I set it to 1 in flash_header.S? In other words, if I calibrated a group of satisfied parameters and the stress test is also OK, should I keep flash_header.S's every register value the same as the test script.inc?    Thank you very much! Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Petr, regarding Vybrid there's not this tool but DDRV (aka DDR Validation) available within Processor Expert and Eclipse based product Driver Suite (DS) v10.4.1. You have to have installed DS v10.4 and after that you need to apply an update 1 which includes DDRV tool supported for Vybrid processors. You may find more information about Driver Suite here - http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=PE_DRIVER_SUITE. Just one note here, DDRV tool is a licensed tool, so you will need to obtain proper license to run this piece of SW. Not sure who is the right person to contact regarding DDRV licensing for Vybrid, but you may try to contact your local FSL representative for an evaluation key. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Petr, regarding Vybrid there's not this tool but DDRV (aka DDR Validation) available within Processor Expert and Eclipse based product Driver Suite (DS) v10.4.1. You have to have installed DS v10.4 and after that you need to apply an update 1 which includes DDRV tool supported for Vybrid processors. You may find more information about Driver Suite here - http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=PE_DRIVER_SUITE. Just one note here, DDRV tool is a licensed tool, so you will need to obtain proper license to run this piece of SW. Not sure who is the right person to contact regarding DDRV licensing for Vybrid, but you may try to contact your local FSL representative for an evaluation key. Re: i.MX6 DDR Stress Test Tool V1.0.3 From the name, I would presume that "DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip" contained images that were intended to be loaded via JTAG and would interact over UART1.  However, I've been unable to get this to work.  I'm a newcomer to JTAG in general and OpenOCD in particular, so pilot error is a definite possibility. Our board is based around the i.MX6DL.  I'm using OpenOCD 0.8.0 with an Olimex USB-TINY-H.  TRST on the JTAG pod is connected to JTAG_TRST; SRST is connected to POR. As such, I have reset_config set as follows: reset_config trst_and_srst srst_pulls_trst This appears to (mostly) work: > reset halt adapter speed: 1000 kHz JTAG scan chain interrogation failed: all zeroes Check JTAG interface, timings, target power, etc. Trying to use configured scan chain anyway... imx6.dap: IR capture error; saw 0x00 not 0x01 Bypassing JTAG setup events due to errors Locking debug access failed on first, but succeeded on second try. BUG: can't assert only SRST Locking debug access failed on first, but succeeded on second try. imx6.cpu.0: ran after reset and before halt ... number of cache level 1 imx6.cpu.0 cluster 0 core 0 multi core target state: halted target halted in Thumb state due to debug-request, current mode: Supervisor cpsr: 0x400001f3 pc: 0x00001080 MMU: disabled, D-Cache: disabled, I-Cache: enabled I also appear to be able to load the image: > load_image /home/ewhac/devel/iMX6/DDR_Stress_Tester_V1.0.3_UART1/ddr-stress-test-mx6dl.elf 82226 bytes written at address 0x00907000 downloaded 82226 bytes in 4.802489s (16.720 KiB/s) However, after this point, I can't get anything to work.  'resume 0x907000' appears to do nothing, and subsequent 'halt' commands don't work; I have to reset.  When I disassemble the loaded image from 0x907000, I see this: > arm disassemble 0x907000 32 0x00907000     0xe59ff018     LDR r15, [r15, #0x18] 0x00907004     0xe59ff018     LDR r15, [r15, #0x18] 0x00907008     0xe59ff018     LDR r15, [r15, #0x18] 0x0090700c     0xe59ff018     LDR r15, [r15, #0x18] 0x00907010     0xe59ff018     LDR r15, [r15, #0x18] 0x00907014     0xe1a00000     NOP 0x00907018     0xe59ff014     LDR r15, [r15, #0x14] 0x0090701c     0xe59ff014     LDR r15, [r15, #0x14] 0x00907020     0x00907054     ADDEQS r7, r0, r4, ASR r0 0x00907024     0x0090703c     ADDEQS r7, r0, r12, LSR r0 0x00907028     0x00907040     ADDEQS r7, r0, r0, ASR #0x20 0x0090702c     0x00907044     ADDEQS r7, r0, r4, ASR #0x20 0x00907030     0x00907048     ADDEQS r7, r0, r8, ASR #0x20 0x00907034     0x0090704c     ADDEQS r7, r0, r12, ASR #0x20 0x00907038     0x00907050     ADDEQS r7, r0, r0, ASR r0 0x0090703c     0xeafffffe     B 0x0090703c 0x00907040     0xeafffffe     B 0x00907040 0x00907044     0xeafffffe     B 0x00907044 0x00907048     0xeafffffe     B 0x00907048 0x0090704c     0xeafffffe     B 0x0090704c 0x00907050     0xeafffffe     B 0x00907050 0x00907054     0xeb000054     BL 0x009071ac 0x00907058     0xeb00007d     BL 0x00907254 0x0090705c     0xeb00001b     BL 0x009070d0 0x00907060     0xeb00004a     BL 0x00907190 0x00907064     0xeb00005d     BL 0x009071e0 0x00907068     0xe59f02e4     LDR r0, [r15, #0x2e4] 0x0090706c     0xe321f0d1     MSR CPSR_c, 0x000000d1 0x00907070     0xe240d000     SUB r13, r0, #0x0 0x00907074     0xe321f0d2     MSR CPSR_c, 0x000000d2 0x00907078     0xe240d000     SUB r13, r0, #0x0 0x0090707c     0xe321f0d7     MSR CPSR_c, 0x000000d7 So it's pretty obvious 0x907000 is not the entry point.  The ELF file says the entry point is 0x907054, and the disassembly tends to support this.  However, 'resume 0x907054' has the same result (no output, unresponsive 'halt'). Just for fun, I tried 'resume 0x90703c', expecting the CPU to enter an infinite loop.  But no, not even that works.  It's almost as if it's ignoring my attempts to change the program counter. What am I missing?  I'm sure it's something terribly obvious... Re: i.MX6 DDR Stress Test Tool V1.0.3 From the name, I would presume that "DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip" contained images that were intended to be loaded via JTAG and would interact over UART1.  However, I've been unable to get this to work.  I'm a newcomer to JTAG in general and OpenOCD in particular, so pilot error is a definite possibility. Our board is based around the i.MX6DL.  I'm using OpenOCD 0.8.0 with an Olimex USB-TINY-H.  TRST on the JTAG pod is connected to JTAG_TRST; SRST is connected to POR. As such, I have reset_config set as follows: reset_config trst_and_srst srst_pulls_trst This appears to (mostly) work: > reset halt adapter speed: 1000 kHz JTAG scan chain interrogation failed: all zeroes Check JTAG interface, timings, target power, etc. Trying to use configured scan chain anyway... imx6.dap: IR capture error; saw 0x00 not 0x01 Bypassing JTAG setup events due to errors Locking debug access failed on first, but succeeded on second try. BUG: can't assert only SRST Locking debug access failed on first, but succeeded on second try. imx6.cpu.0: ran after reset and before halt ... number of cache level 1 imx6.cpu.0 cluster 0 core 0 multi core target state: halted target halted in Thumb state due to debug-request, current mode: Supervisor cpsr: 0x400001f3 pc: 0x00001080 MMU: disabled, D-Cache: disabled, I-Cache: enabled I also appear to be able to load the image: > load_image /home/ewhac/devel/iMX6/DDR_Stress_Tester_V1.0.3_UART1/ddr-stress-test-mx6dl.elf 82226 bytes written at address 0x00907000 downloaded 82226 bytes in 4.802489s (16.720 KiB/s) However, after this point, I can't get anything to work.  'resume 0x907000' appears to do nothing, and subsequent 'halt' commands don't work; I have to reset.  When I disassemble the loaded image from 0x907000, I see this: > arm disassemble 0x907000 32 0x00907000     0xe59ff018     LDR r15, [r15, #0x18] 0x00907004     0xe59ff018     LDR r15, [r15, #0x18] 0x00907008     0xe59ff018     LDR r15, [r15, #0x18] 0x0090700c     0xe59ff018     LDR r15, [r15, #0x18] 0x00907010     0xe59ff018     LDR r15, [r15, #0x18] 0x00907014     0xe1a00000     NOP 0x00907018     0xe59ff014     LDR r15, [r15, #0x14] 0x0090701c     0xe59ff014     LDR r15, [r15, #0x14] 0x00907020     0x00907054     ADDEQS r7, r0, r4, ASR r0 0x00907024     0x0090703c     ADDEQS r7, r0, r12, LSR r0 0x00907028     0x00907040     ADDEQS r7, r0, r0, ASR #0x20 0x0090702c     0x00907044     ADDEQS r7, r0, r4, ASR #0x20 0x00907030     0x00907048     ADDEQS r7, r0, r8, ASR #0x20 0x00907034     0x0090704c     ADDEQS r7, r0, r12, ASR #0x20 0x00907038     0x00907050     ADDEQS r7, r0, r0, ASR r0 0x0090703c     0xeafffffe     B 0x0090703c 0x00907040     0xeafffffe     B 0x00907040 0x00907044     0xeafffffe     B 0x00907044 0x00907048     0xeafffffe     B 0x00907048 0x0090704c     0xeafffffe     B 0x0090704c 0x00907050     0xeafffffe     B 0x00907050 0x00907054     0xeb000054     BL 0x009071ac 0x00907058     0xeb00007d     BL 0x00907254 0x0090705c     0xeb00001b     BL 0x009070d0 0x00907060     0xeb00004a     BL 0x00907190 0x00907064     0xeb00005d     BL 0x009071e0 0x00907068     0xe59f02e4     LDR r0, [r15, #0x2e4] 0x0090706c     0xe321f0d1     MSR CPSR_c, 0x000000d1 0x00907070     0xe240d000     SUB r13, r0, #0x0 0x00907074     0xe321f0d2     MSR CPSR_c, 0x000000d2 0x00907078     0xe240d000     SUB r13, r0, #0x0 0x0090707c     0xe321f0d7     MSR CPSR_c, 0x000000d7 So it's pretty obvious 0x907000 is not the entry point.  The ELF file says the entry point is 0x907054, and the disassembly tends to support this.  However, 'resume 0x907054' has the same result (no output, unresponsive 'halt'). Just for fun, I tried 'resume 0x90703c', expecting the CPU to enter an infinite loop.  But no, not even that works.  It's almost as if it's ignoring my attempts to change the program counter. What am I missing?  I'm sure it's something terribly obvious... Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Immanuel, Please contact your FAE or Marketing. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Immanuel, Please contact your FAE or Marketing. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello GraceSi, We are working on developing test software for the i.MX6 board where we would like to include some of the test cases from the this DDR3 stress tool. Can we get the source of DDR_Stress_Tester_V1.0.3 tool? Immanuel Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello GraceSi, We are working on developing test software for the i.MX6 board where we would like to include some of the test cases from the this DDR3 stress tool. Can we get the source of DDR_Stress_Tester_V1.0.3 tool? Immanuel Re: i.MX6 DDR Stress Test Tool V1.0.3 Ok we have no Fly-by layout but what have I have to fill in at the write leveling data at the Excel sheet in the red cells? Regards Marcel Re: i.MX6 DDR Stress Test Tool V1.0.3 Ok we have no Fly-by layout but what have I have to fill in at the write leveling data at the Excel sheet in the red cells? Regards Marcel Re: i.MX6 DDR Stress Test Tool V1.0.3 No we have no Fly-by layout we have T-routing... Regards Marcel Re: i.MX6 DDR Stress Test Tool V1.0.3 No we have no Fly-by layout we have T-routing... Regards Marcel Re: i.MX6 DDR Stress Test Tool V1.0.3 For Fly-by layout, write leveling calibration is needed. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 For Fly-by layout, write leveling calibration is needed. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Did I have to do write leveling calibration if I have no Fly-by layout config? Because I always get: Would you like to run the DQS gating, read/write delay calibration? (y/n) Starting DQS gating calibration... . . . . . . . . . . . . . . ERROR FOUND, we can't get suitable value !!!! dram test fails for all values. Re: i.MX6 DDR Stress Test Tool V1.0.3 Did I have to do write leveling calibration if I have no Fly-by layout config? Because I always get: Would you like to run the DQS gating, read/write delay calibration? (y/n) Starting DQS gating calibration... . . . . . . . . . . . . . . ERROR FOUND, we can't get suitable value !!!! dram test fails for all values. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi, I am attempting to run the stress test tool on an EDM-IMX6 board manufactured by TechNexion (and a Wandboard) to try to resolve some intermittent memory corruption issues we have been seeing when using these boards. When I run the write leveling calibration, the value for MMDC_MPWLDECTRL1 always comes back with an incorrect value (see output below). My question is: Is this a problem with the stress test calibration tool, or is this indicative of a design problem on the board? FYI, I have been unable to get this board to pass the stress test at 475Mhz (it fails almost immediately every time), though it passes at other frequencies, both higher and lower. Thanks, Tony Would you like to run the write leveling calibration? (y/n)   Please enter the MR1 value on the initilization script   This will be re-programmed into MR1 after write leveling calibration   Enter as a 4-digit HEX value, example 0004, then hit enter 0004 You have entered: 0x0004 Start write leveling calibration Write leveling calibration completed MMDC_MPWLDECTRL0 ch0 after write level cal: 0x00130017 MMDC_MPWLDECTRL1 ch0 after write level cal: 0x0017000E MMDC_MPWLDECTRL0 ch1 after write level cal: 0x000F001D MMDC_MPWLDECTRL1 ch1 after write level cal: 0x017A0013 Re: i.MX6 DDR Stress Test Tool V1.0.3 Is the tool or its alternative available for Vybrid processors? Re: i.MX6 DDR Stress Test Tool V1.0.3 Is the tool or its alternative available for Vybrid processors? Re: i.MX6 DDR Stress Test Tool V1.0.3 2 Turns out the code is fine and only the ARM DSTREAM debugger creates the problem for itself.  Strange. Re: i.MX6 DDR Stress Test Tool V1.0.3 2 Turns out the code is fine and only the ARM DSTREAM debugger creates the problem for itself.  Strange. Re: i.MX6 DDR Stress Test Tool V1.0.3 2 Hi Grace, I'm assuming this stress test runs out of OCRAM, is that correct?  If so, can you tell me what the keys are to accessing DDR RAM from OCRAM code?  I'm getting a crash every time I try - the debugger completely chokes and won't give me any data.  Do I still need to leave some hooks for the DDR in the linker script, for example?  I'm building a stripped down version of the Platform SDK, so I'm thinking the DCD and all should be set up correctly.  Runs fine other than this external DDR access issue. Just looking for some hints on a perplexing problem. Thanks. Re: i.MX6 DDR Stress Test Tool V1.0.3 2 Hi Grace, I'm assuming this stress test runs out of OCRAM, is that correct?  If so, can you tell me what the keys are to accessing DDR RAM from OCRAM code?  I'm getting a crash every time I try - the debugger completely chokes and won't give me any data.  Do I still need to leave some hooks for the DDR in the linker script, for example?  I'm building a stripped down version of the Platform SDK, so I'm thinking the DCD and all should be set up correctly.  Runs fine other than this external DDR access issue. Just looking for some hints on a perplexing problem. Thanks. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Patrick, If you just want to do the stress test, you can skip the calibration.  It is normal that write leveling calibration got consistent values. To understand write leveling, you can reference 45.11.6 Write leveling Calibration of reference manual. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Patrick, If you just want to do the stress test, you can skip the calibration.  It is normal that write leveling calibration got consistent values. To understand write leveling, you can reference 45.11.6 Write leveling Calibration of reference manual. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Thank you Grace for your quick answer. Well, i understand that the results of the stress program have to be used to update the DDR3 initialisation process. In fact my question was not exactly this one as i don't use the the initialization script but only U-BOOT (i don't have JTAG access so i upload your binary file through TFTP). Here is how i proceed : - I have my own U-BOOT relevant to my board - The board boots on SD card - I get the U-BOOT prompt - I tftp the DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip binary program (DL in my case) on RAM (0x907000 as you mentioned above in the post) - Go on this address - Get the values that i mentionned previously What i noticed is whatever is the value of MDMISC that i write in U-BOOT file (flash_header.s, ie 0x00001740 or 0x00011740), the values for the write leveling process are always above 0x2F so i was wondering if the binary DDR stress program was altering the MDMISC value i write in flash_header.s before launching the test by itself, which could explain why i get always the same value. Best regards, Patrick. Re: i.MX6 DDR Stress Test Tool V1.0.3 Thank you Grace for your quick answer. Well, i understand that the results of the stress program have to be used to update the DDR3 initialisation process. In fact my question was not exactly this one as i don't use the the initialization script but only U-BOOT (i don't have JTAG access so i upload your binary file through TFTP). Here is how i proceed : - I have my own U-BOOT relevant to my board - The board boots on SD card - I get the U-BOOT prompt - I tftp the DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip binary program (DL in my case) on RAM (0x907000 as you mentioned above in the post) - Go on this address - Get the values that i mentionned previously What i noticed is whatever is the value of MDMISC that i write in U-BOOT file (flash_header.s, ie 0x00001740 or 0x00011740), the values for the write leveling process are always above 0x2F so i was wondering if the binary DDR stress program was altering the MDMISC value i write in flash_header.s before launching the test by itself, which could explain why i get always the same value. Best regards, Patrick. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, Can anyone explain me how to load the binary file of DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip by u-boot? Is there any user guide for loading this from SD card? I want to run the DDR stress test to obtain the optimal DDR configuration. Any help will be appreciated. Yijun Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, Can anyone explain me how to load the binary file of DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip by u-boot? Is there any user guide for loading this from SD card? I want to run the DDR stress test to obtain the optimal DDR configuration. Any help will be appreciated. Yijun Re: i.MX6 DDR Stress Test Tool V1.0.3 In  Chapter 5 FAQ of  i.MX6 DDR Stress Tester User’s Guide Do I need to update the DDR initialization script after running the calibration? Yes. The calibration results are stored in the MMDC registers during the test only. It is suggested to update the initialization script and re-run the test on different boards to confirm the DDR performance and make sure the MMDC register settings are correctly ported to the firmware. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 In  Chapter 5 FAQ of  i.MX6 DDR Stress Tester User’s Guide Do I need to update the DDR initialization script after running the calibration? Yes. The calibration results are stored in the MMDC registers during the test only. It is suggested to update the initialization script and re-run the test on different boards to confirm the DDR performance and make sure the MMDC register settings are correctly ported to the firmware. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace, On my own design, i ran your DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip that worked for me (just to confirm the initial values from U-BOOT as i replicated the layout from Sabre SD board), just have observed that the SW levelling values are all above 0x2F : MMDC_MPWLDECTRL0 ch0 after write level cal: 0x0046004B MMDC_MPWLDECTRL1 ch0 after write level cal: 0x003C0043 MMDC_MPWLDECTRL0 ch1 after write level cal: 0x002B002B MMDC_MPWLDECTRL1 ch1 after write level cal: 0x0029003F As notified in the document, i modified the MDMISC value in my U-BOOT file (0x00001740 => 0x00011740) but nothing changed, does your programm erase my value with your own one and if so what is your value ? and can we keep the write leveling results as it ? Patrick. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace, On my own design, i ran your DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip that worked for me (just to confirm the initial values from U-BOOT as i replicated the layout from Sabre SD board), just have observed that the SW levelling values are all above 0x2F : MMDC_MPWLDECTRL0 ch0 after write level cal: 0x0046004B MMDC_MPWLDECTRL1 ch0 after write level cal: 0x003C0043 MMDC_MPWLDECTRL0 ch1 after write level cal: 0x002B002B MMDC_MPWLDECTRL1 ch1 after write level cal: 0x0029003F As notified in the document, i modified the MDMISC value in my U-BOOT file (0x00001740 => 0x00011740) but nothing changed, does your programm erase my value with your own one and if so what is your value ? and can we keep the write leveling results as it ? Patrick. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Ariel, To run ddr stress test from u-boot, CONFIG_SPLASH_SCREEN must be disabled in u-boot. Because when enter self refresh mode in ddr stress test, DRAM access will be blocked. If splash screen in u-boot is enabled, IPU will continuously access DRAM, so the system will hang up. Please make sure there is no DMA running to access DRAM in u-boot. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Ariel, To run ddr stress test from u-boot, CONFIG_SPLASH_SCREEN must be disabled in u-boot. Because when enter self refresh mode in ddr stress test, DRAM access will be blocked. If splash screen in u-boot is enabled, IPU will continuously access DRAM, so the system will hang up. Please make sure there is no DMA running to access DRAM in u-boot. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace! How are you? I use the bin files from "DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip", but the program hangs when it calibrates the memory. I'm using Freescale Sabre SD board. -----> MX6Q SABRESD U-Boot > go 0x907000 ## Starting application at 0x00907000 ... ******************************     DDR Stress Test (1.0.2) for MX6DQ     Build: Dec 10 2013, 14:26:05     Freescale Semiconductor, Inc. ****************************** =======DDR configuration========== BOOT_CFG3[5-4]: 0x00, Single DDR channel. DDR type is DDR3 Data width: 64, bank num: 8 Row size: 14, col size: 10 Chip select CSD0 is used Density per chip select: 1024MB ================================== What ARM core speed would you like to run? Type 0 for 650MHz, 1 for 800MHz, 2 for 1GHz, 3 for 1.2GHz    ARM set to 800MHz Please select the DDR density per chip select (in bytes) on the board Type 0 for 2GB; 1 for 1GB; 2 for 512MB; 3 for 256MB; 4 for 128MB; 5 for 64MB; 6 for 32MB  For maximum supported density (4GB), we can only access up to 3.75GB.  Type 9 to select this   DDR density selected (MB): 1024 Calibration will run at DDR frequency 528MHz. Type 'y' to continue. If you want to run at other DDR frequency. Type 'n' <----- Any suggestions? Thanks!! Ariel. Re: i.MX6 DDR Stress Test Tool V1.0.3 I managed to get the stress to run from u-boot. I had to make sure that IPU wasn't initialized. But now I getting stuck on the calibration test, getting error: ERROR FOUND, we can't get suitable value!!!! Any suggestions? Re: i.MX6 DDR Stress Test Tool V1.0.3 I managed to get the stress to run from u-boot. I had to make sure that IPU wasn't initialized. But now I getting stuck on the calibration test, getting error: ERROR FOUND, we can't get suitable value!!!! Any suggestions? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace. For me it hangs after; Calibration will run at DDR frequency 528MHz. Type 'y' to continue. If you want to run at other DDR frequency. Type 'n' Could this be because of the CONFIG_SPLASH_SCREEN, which I should have disabled? Or do we also need to initialize the registers according to the .inc file (parameters from the excel document) when starting up u-boot? If I need to initialize the register, do I initialize all registers from the excel document, before I run the stress test? (I noticed that some are initialized 2, for instance 0x21b0004) Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace. For me it hangs after; Calibration will run at DDR frequency 528MHz. Type 'y' to continue. If you want to run at other DDR frequency. Type 'n' Could this be because of the CONFIG_SPLASH_SCREEN, which I should have disabled? Or do we also need to initialize the registers according to the .inc file (parameters from the excel document) when starting up u-boot? If I need to initialize the register, do I initialize all registers from the excel document, before I run the stress test? (I noticed that some are initialized 2, for instance 0x21b0004) Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Michael, The excel sheet generates the inc file for JTAG mode. For USB download mode, you need comment out setmem /16 0x020bc000 = 0x30. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Michael, The excel sheet generates the inc file for JTAG mode. For USB download mode, you need comment out setmem /16 0x020bc000 = 0x30. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 I have this same issue with mine.  When I had the excel sheet auto generate the .inc file for my board setup it has a line; //============================================================================= // Disable WDOG //============================================================================= setmem /16 0x020bc000 = 0x30 I noticed in one of the example files that that line is commented out.  When I comment it it seems to work great.  I am just wondering what that line is suposed to do and why the stress tester errors.  If i under stand it should just disable the watch dog timer but not sure.  Should I be commenting this line out? Thank Michael Re: i.MX6 DDR Stress Test Tool V1.0.3 I have this same issue with mine.  When I had the excel sheet auto generate the .inc file for my board setup it has a line; //============================================================================= // Disable WDOG //============================================================================= setmem /16 0x020bc000 = 0x30 I noticed in one of the example files that that line is commented out.  When I comment it it seems to work great.  I am just wondering what that line is suposed to do and why the stress tester errors.  If i under stand it should just disable the watch dog timer but not sure.  Should I be commenting this line out? Thank Michael Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace, Thank youmfor your answer. In my board with iMX6 solo (not solo-lite) the debug console is placed on CSI0_DAT10 and CSI0_DAT11; then it is not compatible with the .bin test... I tried to use the test in USB version, but on my PC I have the same problem highligted by Gevorg Sargsyan (22-gen-2014 21.47)... Nothing to do... Best regards Andrea Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace, Thank youmfor your answer. In my board with iMX6 solo (not solo-lite) the debug console is placed on CSI0_DAT10 and CSI0_DAT11; then it is not compatible with the .bin test... I tried to use the test in USB version, but on my PC I have the same problem highligted by Gevorg Sargsyan (22-gen-2014 21.47)... Nothing to do... Best regards Andrea Re: i.MX6 DDR Stress Test Tool V1.0.3 You can check whether the UART of customer board is same as 6SL EVK board.     /* UART1 TXD */     writel(ALT0, IOMUXC_SW_MUX_CTL_PAD_UART1_TXD);     /* UART1 RXD */     writel(ALT0, IOMUXC_SW_MUX_CTL_PAD_UART1_RXD);     // daisy chain setup     writel(0x0, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 You can check whether the UART of customer board is same as 6SL EVK board.     /* UART1 TXD */     writel(ALT0, IOMUXC_SW_MUX_CTL_PAD_UART1_TXD);     /* UART1 RXD */     writel(ALT0, IOMUXC_SW_MUX_CTL_PAD_UART1_RXD);     // daisy chain setup     writel(0x0, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace, I used the bin files included in "DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip" for calibrate and test the DDR3 memories on my custom mx6 board. For my board with quad-core, I fixed 0x907000 as entry-point and the program was executed correctly. For my board with single-core, I fixed the same entry-point but the program don't run... Please, can you help me? Thank you very much. Regards Andrea Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace, I used the bin files included in "DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip" for calibrate and test the DDR3 memories on my custom mx6 board. For my board with quad-core, I fixed 0x907000 as entry-point and the program was executed correctly. For my board with single-core, I fixed the same entry-point but the program don't run... Please, can you help me? Thank you very much. Regards Andrea Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Tim In Reference Manual of i.MX 6Dual/6Quad, chapter 2 memory map, you can see the valid MMDC range is from 0x021B0000 to 0x021B7FFF. So your address 0x020bc000 is out of range. 021B_0000 021B_3FFF MMDC (port 0) 16 KB 021B_4000 021B_7FFF MMDC (port 1) 16 KB You can contact your FAE or marketing to get the source code. Regards, Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Tim In Reference Manual of i.MX 6Dual/6Quad, chapter 2 memory map, you can see the valid MMDC range is from 0x021B0000 to 0x021B7FFF. So your address 0x020bc000 is out of range. 021B_0000 021B_3FFF MMDC (port 0) 16 KB 021B_4000 021B_7FFF MMDC (port 1) 16 KB You can contact your FAE or marketing to get the source code. Regards, Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 That may be caused by the hardware layout. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 That may be caused by the hardware layout. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace, Thank you for your reply. Unfortunately, I have set WALAT on MMDCx_MDMISC register to "1" as following. setmem /32     0x021b0018 =     0x00011740     // MMDC0_MDMISC Is there any other point I have to check? Or is this issue hardware layout? Best Regards, Mar 17, 2014, Satoshi Shimoda Re: i.MX6 DDR Stress Test Tool V1.0.3 Please set the WALAT value on MMDCx_MDMISC register to 1 in the initialization script and re-run the DDR_Stress_Tester. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Please set the WALAT value on MMDCx_MDMISC register to 1 in the initialization script and re-run the DDR_Stress_Tester. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Grace, I am not having much luck using v1.02 of this tool.  The test script generated by the spreadsheet here i.Mx6DQSDL DDR3 Script Aid starts off with a 'setmem /16 0x020bc000 = 0x30' to disable the watchdog, which the stress tool complains about: .\DDR_Stress_Tester_V1.0.2\Binary>DDR_Stress_Tester.exe -t mx6x -df mt41k128m16-125_1066mhz_4x128x16.inc MX6DQ opened. dcd address 0x020bc000 out of valid range. the addr out of valid range. I see that this specific write is commented out in some of the provided sample scripts so I comment it out in my script and the tool does indeed continue on but it seems like the tool locks up within 30 seconds which to me feels an awful lot like the board perhaps resetting from a watchdog timeout?  The tool doesn't hang at a specific spot... it just seems to hang within 30 seconds.  I can't type fast enough to get past entering in MR1 for the write-leveling test. Any ideas? Is there source for this tool available somewhere?  This seems like a great tool but its horrible that it isn't distributed with sourcecode so people could work around some of the above issues. Thanks, Tim KevinWong arpan_chakravarty partner i.mx6 gateworks Re: i.MX6 DDR Stress Test Tool V1.0.3 Grace, I am not having much luck using v1.02 of this tool.  The test script generated by the spreadsheet here i.Mx6DQSDL DDR3 Script Aid starts off with a 'setmem /16 0x020bc000 = 0x30' to disable the watchdog, which the stress tool complains about: .\DDR_Stress_Tester_V1.0.2\Binary>DDR_Stress_Tester.exe -t mx6x -df mt41k128m16-125_1066mhz_4x128x16.inc MX6DQ opened. dcd address 0x020bc000 out of valid range. the addr out of valid range. I see that this specific write is commented out in some of the provided sample scripts so I comment it out in my script and the tool does indeed continue on but it seems like the tool locks up within 30 seconds which to me feels an awful lot like the board perhaps resetting from a watchdog timeout?  The tool doesn't hang at a specific spot... it just seems to hang within 30 seconds.  I can't type fast enough to get past entering in MR1 for the write-leveling test. Any ideas? Is there source for this tool available somewhere?  This seems like a great tool but its horrible that it isn't distributed with sourcecode so people could work around some of the above issues. Thanks, Tim KevinWong arpan_chakravarty partner i.mx6 gateworks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi I used this stress test with our custom board. However, the following error log was output. ===== Would you like to run the DQS gating, read/write delay calibration? (y/n) Starting DQS gating calibration... . . . . . . . . . . . . . . ERROR FOUND, we can't get suitable value !!!! dram test fails for all values. ===== Could you let me know what is wrong in this case? (e.g. Circuit pattern is too bad, setting value in .inc file is incorrect, etc...) Best Regards, Mar 14, 2014 Satoshi Shimoda Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi I used this stress test with our custom board. However, the following error log was output. ===== Would you like to run the DQS gating, read/write delay calibration? (y/n) Starting DQS gating calibration... . . . . . . . . . . . . . . ERROR FOUND, we can't get suitable value !!!! dram test fails for all values. ===== Could you let me know what is wrong in this case? (e.g. Circuit pattern is too bad, setting value in .inc file is incorrect, etc...) Best Regards, Mar 14, 2014 Satoshi Shimoda Re: i.MX6 DDR Stress Test Tool V1.0.3 Grace - can you let me know where the source code for version 1.0.2 is located internally? The link we were given previously goes to version 1.0 and not further. Thanks! Re: i.MX6 DDR Stress Test Tool V1.0.3 Grace - can you let me know where the source code for version 1.0.2 is located internally? The link we were given previously goes to version 1.0 and not further. Thanks! Re: i.MX6 DDR Stress Test Tool V1.0.3 Great tool that works well on my Nitrogen6! I am wondering if it is possible (for a future version) to read the temperature of the cpu during the stress test for instance? Re: i.MX6 DDR Stress Test Tool V1.0.3 Great tool that works well on my Nitrogen6! I am wondering if it is possible (for a future version) to read the temperature of the cpu during the stress test for instance? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi, does the Host USB driver now support a 64Bit version Windows? Greetings Andreas Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi, does the Host USB driver now support a 64Bit version Windows? Greetings Andreas Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi. I am trying to run the tool on SabreSD Board. Once I start the tool it is getting stuck on "Downloading image to IRAM ok" At that point HID device in device manager is disappeared and Usb Input device with "Failed to start (code 10)"  appears. After a while Stress Tool times out and extits. I am using 64-bit Windows 7 SP1 Any ideas? Thanks. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi. I am trying to run the tool on SabreSD Board. Once I start the tool it is getting stuck on "Downloading image to IRAM ok" At that point HID device in device manager is disappeared and Usb Input device with "Failed to start (code 10)"  appears. After a while Stress Tool times out and extits. I am using 64-bit Windows 7 SP1 Any ideas? Thanks. Re: i.MX6 DDR Stress Test Tool V1.0.3 To run ddr stress test from u-boot, CONFIG_SPLASH_SCREEN must be disabled in u-boot. Because when enter self refresh mode in ddr stress test, DRAM access will be blocked. If splash screen in u-boot is enabled, IPU will continuously access DRAM, so the system will hang up. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 To run ddr stress test from u-boot, CONFIG_SPLASH_SCREEN must be disabled in u-boot. Because when enter self refresh mode in ddr stress test, DRAM access will be blocked. If splash screen in u-boot is enabled, IPU will continuously access DRAM, so the system will hang up. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Thierry, We don't want to release the binary for specific customer here. Please contact your FAE and send your request to FSL. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Thierry, We don't want to release the binary for specific customer here. Please contact your FAE and send your request to FSL. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi, the board I am working on does not have USB OTG either, and doesn't use UART port 1 but ports 3&4 instead. Is there a way to access the sources or get elf files where other uart ports would be used ? Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Thanks Grace. It is my lucky day since I was using DAT10/11 for SPI2 but I have test-points on those two pads so I tested them them temporarily for UART. It works (o; Not FSL CRM request is required. Thanks very much! Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Thanks Grace. It is my lucky day since I was using DAT10/11 for SPI2 but I have test-points on those two pads so I tested them them temporarily for UART. It works (o; Not FSL CRM request is required. Thanks very much! Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Brent, the tx/rx PIN of MX6Q SabraSD board is CSI0_DAT10 and CSI0_DAT11.     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11); We understand the customer may use different rx/tx pin for UART, that is the reason we only release DDR stress tool which uses USB port for user input and output for general release. Please submit your request to FSL CRM system. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Brent, the tx/rx PIN of MX6Q SabraSD board is CSI0_DAT10 and CSI0_DAT11.     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11); We understand the customer may use different rx/tx pin for UART, that is the reason we only release DDR stress tool which uses USB port for user input and output for general release. Please submit your request to FSL CRM system. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace... It loads well, and I can interact with u-boot of course, but I cannot interact with this application. My rx/tx in u-boot are :     /* UART1 TXD */     mxc_iomux_v3_setup_pad(MX6Q_PAD_SD3_DAT6__UART1_RXD);     /* UART1 RXD */     mxc_iomux_v3_setup_pad(MX6Q_PAD_SD3_DAT7__UART1_TXD); Is this stress test tool open source? ******************************     DDR Stress Test (1.0.1) for MX6DQ     Build: Oct 21 2013, 14:05:09     Freescale Semiconductor, Inc. ***************************** =======DDR configuration========== BOOT_CFG3[5-4]: 0x00, Single DDR channel. DDR type is DDR3 Data width: 64, bank num: 8 Row size: 15, col size: 10 Chip select CSD0 is used Density per chip select: 2048MB ================================== What ARM core speed would you like to run? Type 0 for 650MHz, 1 for 800MHz, 2 for 1GHz, 3 for 1.2GHz --> System does not respond to my input here. Thanks Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace... It loads well, and I can interact with u-boot of course, but I cannot interact with this application. My rx/tx in u-boot are :     /* UART1 TXD */     mxc_iomux_v3_setup_pad(MX6Q_PAD_SD3_DAT6__UART1_RXD);     /* UART1 RXD */     mxc_iomux_v3_setup_pad(MX6Q_PAD_SD3_DAT7__UART1_TXD); Is this stress test tool open source? ******************************     DDR Stress Test (1.0.1) for MX6DQ     Build: Oct 21 2013, 14:05:09     Freescale Semiconductor, Inc. ***************************** =======DDR configuration========== BOOT_CFG3[5-4]: 0x00, Single DDR channel. DDR type is DDR3 Data width: 64, bank num: 8 Row size: 15, col size: 10 Chip select CSD0 is used Density per chip select: 2048MB ================================== What ARM core speed would you like to run? Type 0 for 650MHz, 1 for 800MHz, 2 for 1GHz, 3 for 1.2GHz --> System does not respond to my input here. Thanks Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 The entry point is 0x907000 if anyone needs it. (o: Re: i.MX6 DDR Stress Test Tool V1.0.3 The entry point is 0x907000 if anyone needs it. (o: Re: i.MX6 DDR Stress Test Tool V1.0.3 Thank you Grace, that is excellent! Thanks very much for your help! I will update on how it works. Regards Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Thank you Grace, that is excellent! Thanks very much for your help! I will update on how it works. Regards Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi  Brent, The image in DDR_Stress_Tester_V1.0.1.zip can't be loaded through sd card. I just attached image DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip.  The bin files in the packages can be loaded by uboot and elf files are used by JTAG load.  Please note when the image is loaded by u-boot, the DDR is initialized by u-boot. Regards, Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi  Brent, The image in DDR_Stress_Tester_V1.0.1.zip can't be loaded through sd card. I just attached image DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip.  The bin files in the packages can be loaded by uboot and elf files are used by JTAG load.  Please note when the image is loaded by u-boot, the DDR is initialized by u-boot. Regards, Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, I do not have the USB OTG port available on my custom board, is it possible to load this stress tester application directly via sd card and u-boot? Thanks Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, I do not have the USB OTG port available on my custom board, is it possible to load this stress tester application directly via sd card and u-boot? Thanks Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 We got the Stress Tester running. The tool doesn't like when you give it the wrong input file Re: i.MX6 DDR Stress Test Tool V1.0.3 We got the Stress Tester running. The tool doesn't like when you give it the wrong input file Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, I tried to run the DDR3 Stress Tester but the application crashes after printing a single line: MX6DQ opened. We are using an i.MX6D7CVT08AC (Industrial, 800MHz) and the PC is running Windows 7 Home Premium SP1 64bit. From Linux I'm able to run the imx_usb_loader application and download an image which toggles an LED connected to GPIO2[4]. Regards Matthias Mann Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, I tried to run the DDR3 Stress Tester but the application crashes after printing a single line: MX6DQ opened. We are using an i.MX6D7CVT08AC (Industrial, 800MHz) and the PC is running Windows 7 Home Premium SP1 64bit. From Linux I'm able to run the imx_usb_loader application and download an image which toggles an LED connected to GPIO2[4]. Regards Matthias Mann Re: i.MX6 DDR Stress Test Tool V1.0.3 Got the program working now, thank you very much! Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Emil Myhrman, Please use version 1.0.1.   For i.MX6DQ, the DDR mapping start address is configured as chapter "2.3 DDR mapping to MMDC controller ports"  in  i.MX 6Dual/6Quad Applications Reference Manual. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Emil Myhrman, Please use version 1.0.1.   For i.MX6DQ, the DDR mapping start address is configured as chapter "2.3 DDR mapping to MMDC controller ports"  in  i.MX 6Dual/6Quad Applications Reference Manual. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 We're using i.Mx6DL and LPDDR2 single channel, starting at 0x10000000 (DDR Memory Map Config = '00'). Does this version select the correct address (i.e. not 0x80000000) for our setup? I'm asking because it automatically says "CHANNEL0 is selected." and for previous version 0.042 we had to manually select channel1 to "trick" stress test into using start address 0x10000000. Re: i.MX6 DDR Stress Test Tool V1.0.3 We're using i.Mx6DL and LPDDR2 single channel, starting at 0x10000000 (DDR Memory Map Config = '00'). Does this version select the correct address (i.e. not 0x80000000) for our setup? I'm asking because it automatically says "CHANNEL0 is selected." and for previous version 0.042 we had to manually select channel1 to "trick" stress test into using start address 0x10000000.
查看全文
MCX W72 ナレッジハブ MCX W72xファミリーは、96MHzのArm ® Cortex ® -M33コアと、Matter、Thread、Zigbee、Bluetooth LEをサポートするマルチプロトコル無線サブシステムを搭載しています。専用のコアとメモリを備えた独立した無線サブシステムは、メインCPUの負荷を軽減し、主要アプリケーションのためにCPUを温存するとともに、FUTURE無線規格をサポートするためのファームウェアアップデートを可能にする。MCX W72xは、統合されたEdgeLock ® Secure Enclave Core Profileによる高度なセキュリティ機能も提供し、認証情報共有のためのNXPのEdgeLock 2GOクラウドサービスにも対応します。 MCX W72xファミリは、Bluetoothチャネルサウンディング機能を搭載し、測距レイテンシを低減するための専用オンチップ測位演算エンジンを備えています。アプリケーション固有のコード、接続スタック、および無線によるファームウェアアップデートをサポートするための追加メモリを搭載しています。さらに、無線サブシステムは、Bluetooth Low Energyスタックと並行して、ThreadまたはZigbeeのフルスタックを実行できます。これにより、無線機のリアルタイム処理がアプリケーションとは別のコアで実行されるため、信頼性の高い無線性能が実現します。 NXPが長年にわたり培ってきた産業用エッジソリューション提供の実績に基づき、MCX Wシリーズは-40℃~125℃の広い動作温度範囲と、オプションのCANインターフェースを含む産業アプリケーション向け**ペリフェラル**を提供し、長期的な産業利用をサポートするNXPの15年間の製品寿命延長プログラムの一部となります。 MCX Wシリーズは、 MCUXpresso開発者エクスペリエンス 組み込みシステム開発を最適化、簡素化、加速化する。   セキュリティ認証 PSA認定レベル2 SESIPセキュリティターゲット SESIP KW47/MCXW72 SESIP証明書とSTはTrustCBにあります Webサイト 規制認証 欧州連合適合宣言書 - FRDM MCXW72 Bluetoothの要件 認定製品 | Bluetooth ®テクノロジーウェブサイト Q360996: KW47 / MCX W72 Bluetooth LE 6.0 (チャンネルサウンディング) コントローラー Q332147: KW47 / MCX W72 Bluetooth LE 6.0 (チャンネルサウンディング) ホスト 文書 MCX W72製品ファミリーデータシート MCX W72 リファレンスマニュアル MCX W72の正誤表 MCXW72 ハードウェア設計ガイド   MCX W72プラットフォームでのMatterの利用開始 NXP MCX W72 で OpenThread を使い始める   FRDM-MCXW72 ユーザーマニュアル FRDM-MCXW72の入門ガイド   MCX W72-LOC ユーザーマニュアル ブルートゥース Bluetooth技術にご興味がありますか? Bluetooth Low Energy Primer – BLEの基礎を理解するために必読の書。 Bluetooth ®仕様 -規格、プロトコル、技術文書の完全なリスト。 受賞歴と表彰 毎年、Bluetooth Special Interest Group (SIG) は、Bluetooth 技術の発展に貢献したとして同業者から認められたワーキンググループ、委員会メンバー、貢献者の努力と献身を称えています。 2024: チャネル Sounding 2025年:チャネルサウンディング振幅ベースの攻撃耐性、LEテストモードの機能強化、および測距プロファイルとサービス。 Bluetooth機能の概要 Bluetooth_5.0_機能の概要 Bluetooth_5.1_Feature_Overview Bluetooth_5.2_機能概要 Bluetooth_5.3_機能概要 Bluetooth_5.4_機能概要 Bluetooth 6の機能概要 Bluetooth 6.1の機能概要 Bluetooth 6.2 機能概要 Bluetooth 6.3 機能概要 アプリケーションノート ソフトウェア、ハードウェア、ペリフェラル: AN14850 MCX W72によるアプリケーションパフォーマンスの向上:このアプリケーションノートでは、汎用組み込みアプリケーションのパフォーマンスを向上させるために、MCX W72マイクロコントローラのデュアルコアアーキテクチャを使用する方法について説明します。 AN14937 MCX W72の32kHzクリスタルレスモード:このアプリケーションノートでは、MCX W72デバイスの32kHzクリスタルレスモードに関する情報を提供します。このモードを使用すると、32kHzのクロック精度を損なうことなく、システムのコストを削減できます。フリーランニング発振器(FRO32K)は32kHzクロックソースとして使用され、MCX W72の信号周波数アナライザ(SFA)モジュールを介して32MHz RF発振器に対して校正されます。 AN14745 MCX W72 のスマート電源スイッチの機能、使用方法、および性能:このアプリケーション ノートでは、MCX W72マイクロコントローラのスマート電源スイッチの使用方法について説明します。MCX W72には、接続されたコンポーネント(MCX W72の電源ドメインを含む)のオン/オフを切り替えるプログラム可能なソリッドステートスイッチが内蔵されています。 AN14747 MCX W72 のロードプルテストレポート:この文書では、供給電流、送信電力、および高調波レベルを測定する目的について説明します。これらの測定値は、被試験デバイス(DUT)が受ける複素出力負荷の振幅と位相を調整しながら監視されます。 パワーマネージメント:  AN14739 MCX W72 Bluetooth Low Energy 消費電力分析:このドキュメントでは、MCXW72-EVK ボードを使用した MCX W72 (IIoT) ワイヤレス MCU の消費電力分析について説明します。 AN14745 MCX W72マイクロコントローラのスマートパワースイッチの機能と使用方法:このアプリケーションノートでは、MCX W72マイクロコントローラのスマートパワースイッチの使用方法について説明します。MCX W72には、コネクテッドコンポーネント(MCX W72の電源ドメインを含む)のオン/オフを切り替えるプログラム可能なソリッドステートスイッチが内蔵されています。 AN14841 802.15.4 MCX W72 の マター および ZigBee 消費電力分析:このドキュメントでは、Kinetis MCX W72 (IIoT) ワイヤレス MCU の消費電力分析について説明します。 AN14742 MCX W72用電源管理ハードウェア:このアプリケーションノートでは、 MCX W72マイクロコントローラにおける電源管理専用の各種モジュールの使用方法について説明します。 AN14664 Kinetis BLEアプリケーション向けコインセルハードウェア推奨事項:この文書では、コインセルレベルでの電流ピークを最小限に抑えるためのハードウェアおよびソフトウェアソリューションについて説明します。 AN14889 :Bluetooth Low EnergyおよびIEEE 802.15.4向けFRDM-MCXW72無線周波数システム評価レポートこの文書では、Bluetooth Low Energy(2FSK変調)およびIEEE 802.15.4(OQPSK変調)アプリケーション向けFRDM-MCXW72ボードの無線周波数(RF)評価試験結果を示します。 RF: AN14865 KW47およびMCX W72用チャネルサウンディングの基礎:このドキュメントでは、CSテクノロジーの基礎と、カスタムソリューションやアプリケーションでどのように使用できるかについての概要を説明します。 AN14779 KW47およびMCX W72用プリントチャネルサウンディングアンテナ:このアプリケーションノートは、NXPがKW47およびMCX W72コントローラ向けに設計した、プリント回路基板(PCB)上に実装されたプリントアンテナに焦点を当てています。 AN14832 チャンネルサウンディングボードを設計するための基本的な手順 - 多様性のないシンプルなPCBの作成: この文書では、最小限のCSサブシステムの例を示します。無線周波数(RF)経路は、CSアプリケーション全体の特性に大きな影響を与えるため、特に注意が払われます。 AN14747 MCX W72用ロードプルテストレポート:この文書では、供給電流、送信電力、および高調波レベルを測定する目的について説明します。これらの測定値は、被試験デバイス(DUT)が受ける複素出力負荷の振幅と位相を調整しながら監視されます。 AN14868 ANSYSにおけるチャネルサウンディングのRFモデリング:チャネルサウンディングのシミュレーションと解析の手法に焦点を当てる ANSYSツールを使用した無線通信システム AN14855 さまざまな環境におけるチャネルサウンディングテスト:このアプリケーションノートは、 Bluetoothチャネルサウンディング(CS)は、Bluetooth周波数帯域における2つのデバイス間の距離を測定する技術です。精度に影響を与える主要な要因について説明します。 AN14869 複雑なチャネルサウンディングボードを設計するための基本的な手順:高度なCS機能をサポートするハードウェアの作成に焦点を当て、精度を向上させ、マルチパス伝搬などの問題を軽減するために、アンテナダイバーシティや最適化されたRFパスなどが含まれます。 AN2731 2.4GHz通信用小型平面アンテナ:このドキュメントは、アンテナ設計に関する網羅的な解説ではありません。むしろ、お客様がアプリケーションに適したアンテナタイプを選択できるよう、基板レイアウトとアンテナの基本について十分な理解を深めていただくこと、また、パフォーマンスの問題や遅延につながる典型的なレイアウトミスを回避していただくことを目的としています。 セキュリティ: AN14648 MCX W72 インシステムプログラミングユーティリティ:このドキュメントでは、MCX W72 MCUをISPモードで起動し、MCUと通信するための各種シリアル接続を確立する手順を説明します。 AN14613 MCX W72 セキュアブート(SECツール使用): MCX W72は、低消費電力でセキュリティの高いシングルチップ無線MCUです。フラッシュメモリの内容を暗号化データとして保存でき、瞬時に復号化できます。これにより、機密データやアルゴリズムの保護に役立ちます。 AN14646 MCX W72 でのデバッグ認証:このアプリケーション ノートでは、MCUXpresso Secure Provisioning Tool (SEC) を使用したデバッグ認証の手順について説明します。 AN14728 MCX W72 NPXを使用したフラッシュ暗号化:セキュリティ上の理由から、フラッシュメモリに保存されているアプリケーションコードとデータを暗号化して保護する必要性が高まっています。NVM PRINCE XEX(NPX)は、フラッシュメモリコントローラ(FMC)内のモジュールで、最大4つのフラッシュ領域の内容を保護することができます。NPXは、フラッシュコンテンツのオンザフライでの低遅延暗号化と復号化を実行し、開発者とCortex-M33プラットフォームに対して透過的です。開発者の視点から特別な操作は必要ありません。 AN14644 MCX W72 ライフサイクルの管理:このドキュメントでは、ユーザーが利用できるライフサイクルステージ、ライフサイクルへのアクセス方法、ライフサイクルの制限、次のライフサイクルへの移行方法について説明します。 AN14670 EdgeLock 2GO の SPSDK による MCU のプロビジョニング: EdgeLock 2GO は、NXP が運営するフルマネージドのクラウドプラットフォームであり、NXP MCU、MPU、および EdgeLock SE05x セキュアエレメントを統合した IoT デバイスの容易な展開と保守のためのセキュアなプロビジョニングサービスを提供します。 AN14624 EdgeLock 2GO のセキュアプロビジョニングツール (SEC) による MCU のプロビジョニング: EdgeLock 2GO は、NXP が運営するフルマネージドクラウドプラットフォームであり、NXP MCU、MPU、および EdgeLock SE05x セキュアエレメントを統合した IoT デバイスの容易な展開と保守のためのセキュアプロビジョニングサービスを提供します。 AN14544 EdgeLock 2Go MPUおよびMCU向けサービス: EdgeLock 2GOは、IoTデバイスのプロビジョニングと管理のためのNXPのサービスプラットフォームです。これにより、製造時または現場で、デバイスに鍵と証明書を安全にインストールし、デバイスのライフサイクル全体を通して認証情報を最新の状態に保つことができます。EdgeLock 2GOは、各デバイスのセキュリティ機能を活用することで、IoT機器群全体にわたって最適なレベルのセキュリティを実現します。 Bluetoothトレーニング Bluetooth Low Energy 6.0 NXP トレーニング MCX Wシリーズ トレーニング - NXPコミュニティ   RFスイッチ比較:吸収型/反射型 規格比較:ETSI / FCC / ARIBの要件 BLEチャネルサウンディング - 概要 BLEチャネルサウンディング - RFハードウェア BLEチャネルサウンディング - ANSYSモデリングツール BLEチャネルサウンディング - アンテナプロトタイプの検証測定 装置 無線機器:この記事では、プロジェクト開発に役立つ機器へのリンクを提供します。 役立つリンク集 KW47-EVKおよびFRDM-MCXW72用デバッグプローブファームウェアのインストールこの記事では、NXPのMCU-LINKインストーラを使用して、KW47-EVKおよびFRDM-MCXW72用のCMSIS-DAP/SEGGER J-linkファームウェアをインストールする方法について説明します。 KW47/MCXW72のワイヤレス環境におけるNBUのアップデートこの記事では、NBUファームウェアのアップデート方法について説明します。 MCUXpresso for Visual Studio Code でデモ例をインポートして実行する方法:この記事では、MCUXpresso for Visual Studio Code で、ARM GCC ツールチェーンを使用した新しい SDK からデモ例をインポートして実行する方法について説明します。 [MCUXSDK] KW4x、MCXW7x、MCXW2x 用 GitHub SDK の使い方 - NXP コミュニティこのコミュニティ投稿では、GitHub SDK の使い方をステップバイステップで解説します。 [MCUXSDK] GitHub SDK - Bluetooth LEプラットフォームのドキュメント - NXPコミュニティこのコミュニティ投稿では、BLEプラットフォームのドキュメントを提供します。 KW47(オートモーティブ)またはMCXW72(IoT/インダストリアル)を使用してPCBを初回から正しく構築する最良の方法:このコミュニティでは、KW45またはK32W148とMCXW71を使用してPCBを構築するための重要なリンクと、無線性能、低消費電力、無線認証(CE/FCC/ICC)に関するすべての情報を提供しています。 駆動強度変更時の DCDC 障害に対する回避策の実装駆動強度を低く変更し、DCDC 出力電圧が現在の出力電圧以上になったときに、まれに DCDC 障害が発生することがあります。 Kinetisファミリー製品でHCI_bbを使用し、DTMモードにアクセスする方法:この記事は2つのパートで構成されています。 HCI_bbバイナリをKinetis製品に書き込む方法。 R&S CMW270を使用してRF測定を実施する BLE HCIアプリケーションでトランスミッタ/レシーバのテストコマンドを設定する:この記事では、ユーザーがデバイスにシリアルコマンドを送信する方法を示す手順を説明します。 Bluetooth LE HCIブラックボックス クイックスタートガイド:この記事では、シリアルコマンドを使用してユーザーが無線を制御できるようにする簡単な手順について説明します。 Kinetis (../45/47/43;MCX W71/72/70) および MCX W23 パワープロファイルツール (ローカライゼーションを含む) : このページは、Kinetis (KW35/KW38/KW45/KW47/KW43) および MCX W7x (MCX W71/W72/W70) パワープロファイルツール専用です。このツールを使用すると、アプリケーション (自動車または IIoT) の消費電力を推定し、ソリューションのバッテリー寿命を評価できます。 KW47/MCXW72 32MHz & 32kHz 発振マージン: この記事では、回路の発振マージンを適切に設定する方法を説明します。 動画 NXPチャネルサウンディング技術とGoogle Pixel 10のインターフェースこれは、MCX W72 LOCボードがチャネルサウンディングを使用してGoogle Pixel 10スマートフォンと通信する様子を示すデモです。   サポート MCX W72に関するご質問がある場合は、弊社のワイヤレスMCUコミュニティにご質問をお寄せください。 ここ
查看全文
咨询S32E板子使用方法 你好, 我有2块板子,型号分别是2023 NXP B.V.S32SE28X-DC和2022 NXP B.V.X-S32X-MB。请问下这2块板子的软硬件使用方法,能否提供相应的一些资料。 谢谢
查看全文
INS-N2010 批量和带状等离子清洗配置及其在 IC 封装技术中的应用 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 等离子清洗在IC封装行业中得到了广泛的应用,用于清洗组装材料,以提高其后续工艺的清洁度,并提高整体封装或器件的可靠性。其中一个挑战是,当各种材料暴露于等离子体时,如何建立清洁过程的兼容性。随着近年来铜线在 IC 封装中的应用,污染的控制非常重要。已发现焊盘腐蚀对于器件和封装的可靠性至关重要,这是本文要解决的主要问题之一。我们将介绍评估结果,包括使用不同等离子清洗配置进行的表面分析和可靠性测试及其其他应用。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 等离子清洗在IC封装行业中得到了广泛的应用,用于清洗组装材料,以提高其后续工艺的清洁度,并提高整体封装或器件的可靠性。其中一个挑战是,当各种材料暴露于等离子体时,如何建立清洁过程的兼容性。随着近年来铜线在 IC 封装中的应用,污染的控制非常重要。已发现焊盘腐蚀对于器件和封装的可靠性至关重要,这是本文要解决的主要问题之一。我们将介绍评估结果,包括使用不同等离子清洗配置进行的表面分析和可靠性测试及其其他应用。 洞察与创新
查看全文
S32Kの例 S32K1xx S32K144 例:S32K144 CMPラウンド・ロビンS32DS2.0  例:S32K144バックドア・アクセス・キー検証S32DS1.3  例:S32K144 FlexCAN0 RXFIFO DMA非SDK S32DS13  例:S32K144 PDB ADCトリガDMA ISR S32DS  例:S32K144 Flash RWシンプルS32DS  例:S32K144 DMAメモリ・コピー・テストS32DS  例:S32K144 EEEPROMの使用方法 例:S32K144 EEEPROMの使用方法 - 非SDK  例:S32K144 RTC VLPS  例:S32K144 WDOG RCM割り込み  例:S32K144 SRAM ECC注入  例 S32K144 RAM 保持 S32DS.R1 例:S32K144 I2CマスタMPL3115A2 S32DSR1_v3  例:S32K144 FlexCAN RXFIFO DMA S32DS.ARM.2018.R1  例:S32K144_printf_implementation - S32DS_1.0  例:FreeRTOS環境でのS32k144 UART printf/scanf - S32DS 例:S32K144 LPITタイマを使用した構成可能期間に対するSDK関数の呼び出し  例:S32K144 .noinitセクションの使用方法 例:S32K144 PDB ADC DMA S32DS.ARM.2018.R1   例:S32K144 RAMセルフテスト・シンプルS32DS 2018.R1  例:S32K144ポジショニング独立コード 例:S32K144 FlexCAN疑似ネットワーキングSTOPモードのテストS32DS.ARM.2.2  例:S32K144 LPIT DMA LPSPI  例:S32K144 FlexCAN TX/RX/エラーISRテストS32DS2.2  例:S32K144 FlexIOアイドル検出S32DS2.2 S32K146 S32K146 Set_whole_FlexRAM-as_RAM S32DS.ARM.2.2の例 S32K148 例:S32K148 PDB0-PDB1リングS32DS3.4 RTM4.0.3  例:S32K148 PDB0-PDB1 ring DMA S32DS3.4 RTM4.0.3  例:S32K148 GPIO割り込み  S32K116 例:S32K116 WDOG高速テスト  例:S32K116 LPUART LINスレーブTXRX ISR S32DS.ARM.2.2  例 S32K116 FlexCAN PN STOP S32DS.ARM.2.2 例:S32K116 FlexCAN VLPRテストS32DS.ARM.2.2 S32K118 例 S32K118-SRAM-keep_data_over_SW_reset v0_1 S32DS.ARM.2.2 S32K3XXシリーズ S32K344 例:S32K344 PIT BTCU ADC DMA DS3.4 RTD100   例:S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFOテストS32DS3.4 RTD200     例Siul2_Port_Ip_Example_S32K344_ITCM_DTCM S32DS3.4RTD300   例:S32K358 FlexCAN TXRX ISR S32DS35 RTD400/500     
查看全文
使用 Jlink-Segger 脚本下载 HSE 固件 你好 我需要将 FW 下载到 S32k310 中 目前,我使用的是移植到 s32k310 上的恩智浦演示程序 HSE_FW_INSTALL。 我注意到 Trace32 练习脚本可用于此目的。 有可能为此创建一个 Segger Jlink 脚本吗? 需要采取哪些步骤? 我需要一个更快的批量生产流程。 顺祝商祺! 法比奥 Re: Download HSE Firmware using a Jlink-Segger Script 目前,我们没有使用SEGGER J-Link安装HSE固件的现成解决方案或参考流程。 可用且经过验证的方法有 TRACE32 Practice 脚本(官方支持用于此目的)和 HSE Demo 应用程序(独立于调试器,可以移植并用于执行安装)。 如果您计划使用J-Link,则需要根据通用HSE安装顺序(UTEST标志编程、固件映像下载、RESET)自行开发自定义脚本解决方案,因为恩智浦目前不为该用例提供专用的J-Link脚本。 有关 SEGGER 的具体指导,请参阅其文档或联系其支持人员: https://www.segger.com/support/。
查看全文
只有 VDD(INTF)存在时 TDA8035 的行为,没有 VDDP 供电 我想知道 TDA8035 在下列情况下的表现: VDD(INTF)=3.3V VDDP= 0V(未通电) 看来 TDA8035 处于 RESET 模式但我不确定...你能确认一下吗? 这种情况是否可以持续很长时间(> 数小时)? 在这种情况下,VDD(INTF)消耗量是多少? 顺祝商祺! 顺祝商祺! 西尔万 接触式智能卡读卡器芯片 Re: TDA8035 behaviour when only VDD(INTF)is present, not powered VDDP 你好@sylvainbouriot 在 VDD (INTF) = 3.3V 和 VDDP = 0V 的情况下开机时: TDA8035 将保持重置状态,不会尝试启动智能卡。 允许这种状态持续较长时间而不会损坏芯片或导致异常行为。 当 VDDP = 0 且芯片处于 RESET/掉电模式时: VDD (INTF) 的典型电流非常小,通常在几微安到几十微安之间。目前的消耗量主要用于数字控股。 Re: TDA8035 behaviour when only VDD(INTF)is present, not powered VDDP 谢谢你,Kaily,非常准确的回答。 当 TDA8035 处于运行模式时,VDD (INTF) = 3.3 V 时 VDD (INTF) 的近似功耗是多少? 顺祝商祺! 西尔万 Re: TDA8035 behaviour when only VDD(INTF)is present, not powered VDDP VDDP = 3.3V 或 5V ...
查看全文
[过滤器:垃圾邮件] evelynteddy 的帖子正文与 " *telegram* " 相符,板 " imx-processors "。 [过滤器:垃圾邮件] evelynteddy 的帖子正文与 " *telegram* " 相符,板 " imx-processors "。 帖子主题:回复:IMX7ULPEVK-等待根设备 /dev/mmcblk0p2... 职位机构: 如何从骗子手中找回丢失或被骗的加密货币,请访问 OPTIMISTIC HACKER GAIUS。 上周我的加密货币被骗后,我感到很无助,不知道该怎么办。我与乐观黑客盖乌斯取得了联系,他一直都很专业,有良好的沟通,并设定了合理的期望值。他细心地处理问题,经常提供最新信息,并描述了每一个步骤。通过坚持不懈的努力和专业技术,我被盗的加密货币被找到并追回。我吸取了重要的网络安全教训,并通过这次遭遇恢复了信心。我感谢你们在这段艰难时期给予我的帮助和指导。强烈建议 网站:optimistichackargaius.co m 电子邮件:support @ optimistichackargaius.com。 WhatsApp number:+44 737 674 0569 电报:t.me /OPTIMISTICHACKERGAIUSS 正文"电报" 匹配的过滤模式"*telegram*" 。 用户[id=259418,login=evelynteddy]的发帖因以下最终用户面临的错误而被拒绝: 信息正文中包含 Telegram,这在本社区是不允许的。请在发送您的帖子前删除这些内容。
查看全文
KW45 FlexCAN 可以触发接收中断并接收自己发送的消息 我正在调试 KW45 芯片的 FlexCan 驱动程序,发现当未配置接收过滤器掩码时,FlexCan 模块可以触发信号自己的接收中断并接收自己发送的消息。这种行为正常吗?如果是,根本原因是什么?例如,修改 SDK 中的flexcan_interrupt_transfer代码,如附件所示。 uart log : ********* FLEXCAN 中断示例 ********* 报文格式: 信息缓冲区 0 用于 Rx。 信息缓冲区 1 用于 Tx。 中断模式:启用 运行模式:TX 和 RX --> 正常 ********************************************* 请选择本地节点 A 或 B: 注:节点 B 应先启动。 节点:A 按任意键触发单发传输 Rx MB ID:0x321,Rx MB 数据:0x0,时间戳:60127 按任意键触发下一次传输! Rx MB ID:0x321,Rx MB 数据:0x1,时间戳:3624 按任意键触发下一次传输! Rx MB ID:0x321,Rx MB 数据:0x2,时间戳:18344 按任意键触发信号下一次传输! Rx MB ID:0x321,Rx MB 数据:0x3,时间戳:56722 按任意键发送下一个触发信号! Rx MB ID:0x321,Rx MB 数据:0x4,时间戳:55297 按任意键触发下一次传输! Rx MB ID:0x321,Rx MB 数据:0x5,时间戳:53656 按任意键触发下一次传输! Rx MB ID:0x321,Rx MB 数据:0x6,时间戳:30470 按任意键触发下一次传输! Rx MB ID:0x321,Rx MB 数据:0x7,时间戳:22438 按任意键触发下一次传输! Rx MB ID:0x321,Rx MB 数据:0x8,时间戳:1009 按任意键触发下一次传输! Re: The KW45 FlexCAN can trigger a receive interrupt and receive the messages sent by itself 你好,我已经解决了问题,需要设置:   flexcanConfig.disableSelfReception = TRUE;
查看全文
S32N55: RTD API 可禁用流闸门 队员们好 根据 S32N55 参考手册,必须先禁用 Stream Gate 实例,然后才能在 1588 计时器中更改 TMROFF_H/L。 请问目前是否有禁用 RTD 中流门功能的 API? BR, Bridget RTD Re: S32N55: RTD API to disable the Stream Gate 您好, ,我将再次查看用户手册并向您确认。 Re: S32N55: RTD API to disable the Stream Gate 你好@Bridget 根据 S32N_RTD_R21-11_1.8.0_CD07 的用户手册,要启用/禁用流闸门,可以在配置工具(EB Tresos)上进行设置: 设置 EthCtrlConfigEnableStreamGating = FALSE Re: S32N55: RTD API to disable the Stream Gate HiCuong、 在某些情况下,例如在 gPTP 同步期间,可能需要在运行时更新 TMROFF_H/L 的值。根据 S32N55 参考手册,必须先禁用 Stream Gate 实例,然后才能在 1588 计时器中修改 TMROFF_H/L。 在这种情况下,我认为需要一个 API 来禁用/启用流门功能。您提到的 EB 配置似乎无法处理这种情况。 请问 RTD 目前是否有禁用/启用流闸门功能的 API? BR, Bridget
查看全文
S32E288-975EVB 官方 DIO LED 示例失败 您好, ,我正试图将 S32E288-975EVB 与 S32 调试探针配合使用。我已经逐步遵循了基本的用户设置(S32E288-975EVB 入门 | 恩智浦半导体),但它没有按描述运行。Dio_Example_s32E2XX_R52 是恩智浦的官方示例,用于在初始化过程中让 LED 闪烁 10 次...... Siul2 示例运行正常,但据我了解,它也使用低级访问。 到目前为止,我已将问题追溯到 Mcu_SetMode(McuModeSettingConf_0);函数。在调用 void Power_Ip_SetMode(const Power_Ip_ModeConfigType * ModeConfigPtr) 函数时,似乎有时会失败。我还可以注意到,只需注释掉 Mcu_SetMode 就能使 LED 正常闪烁,但一个基本的 LED 闪烁示例在开箱后无法正常工作,这似乎很愚蠢 Mcu_SetMode 函数的作用是什么?我怎样才能让示例使用该函数? 我还尝试浏览 .mex->Peripherals->MCAL->Mcu配置,但无法找到/理解任何重要内容。 Re: S32E288-975EVB official DIO LED example fails 谢谢您的答复。 问题仍然部分存在。我已经上传了我的示例,但我不太明白可能有什么不同,因为我没有更改官方示例的任何内容,跳线也都在默认位置。 我所做的是将所有 BOOT_CFG 引脚 RESET 为零位置。我注意到,我将以下引脚设置为 ON: BOOT_CFG[2] BOOT_CFG[3] BOOT_CFG[6] BOOT_CFG[28] BOOT_CFG[30] 这样做之后,我仍然运行了几次 DataAbort_Handler,但试了几次之后,它又神奇地开始工作了... 这可能是问题所在吗?我怎样才能确保示例现在能够可靠地运行?你能解释一下更改 BOOT_CFG 开关后会发生哪些变化吗? 另一个有趣的是,我安装了两个 RTD 软件包: S32ZE 实时驱动 AUTOSAR R21-11 版本 2.0.1 S32ZE2xx 实时驱动 AUTOSAR R21-11 版本 2.0.1 我相信我使用的是: S32Design Studio 3.6.4   Re: S32E288-975EVB official DIO LED example fails 你好,@HiddenSquid、 感谢您联系我们。关于您的问题,我可以顺利运行 Dio_Example_S32E2XX_R52 示例项目,我只是生成了代码,编译并调试了示例。我的设置如下 S32 设计工作室 3.6.1 S32Z/E Rtd 2.0.1 板的开关和跳线: 如果您仍有问题,可以使用社区的消息功能将您的项目发送给我,以便我检查其中的差异。 如果有帮助,请告诉我 Re: S32E288-975EVB official DIO LED example fails 更新: 一段时间后,我再次尝试运行该示例,但现在在没有任何更改的情况下,它又神奇地失效了(在启动过程中运行到 DataAbort_Handler),因此很可能不是 BOOT_CFG 的问题。 Re: S32E288-975EVB official DIO LED example fails 你好,@HiddenSquid、 感谢您提供的信息。我重复了你在帖子中提到的指南中的步骤,似乎有一些步骤,但是在 S32ZE RTD 2.0.1 中,在我使用旧安装进行测试之前,Dio 示例没有出现问题,现在我创建了一个新的 S32DS 实例并安装了 RTD 软件包,我发现了同样的问题,我需要向 S32DS 团队报告这个问题。目前我只能建议你遵循这些替代安装步骤,最好使用 S32DS 3.6.1,这是 S32ZE RTD 2.0.1 的测试版本: - 如果使用以前的 S32DS 实例,请先卸载所有 S32ZE RTD。 - 像之前一样下载更新网站文件,这里是SW32ZE_RTD_R21-11_2.0.1_D2505_DesignStudio_updatesite.zip。 - 打开 S32DS> 帮助> 安装新软件> 添加> 存档,选择下载的文件并按照安装步骤进行操作: 您可以在左下角看到进度: 系统会多次提示您接受部分安装内容,请全部接受: 完成后,您需要重新启动 S32DS。 现在按照之前的步骤导入示例。 请告诉我这是否改变了行为 谢谢! Re: S32E288-975EVB official DIO LED example fails 你好,@HiddenSquid、 感谢您的耐心等待,我收到了来自内部团队的最新消息,他们分享了以下解决方法: ” 根本原因是 S32 调试探针初始化脚本中 SMU 和 CE 的SRAM 初始化不正确,导致Mcu_SetMode函数启动其内核时出现硬故障。 简单的解决方法是在配置工具中修改 Mcu 模块配置,禁用 SMU 和 CE 内核。具体如下 Mcu → McuModuleConfiguration → McuModeSettingConf → McuPartitionConfiguration → McuPartition0Config、 并将三个已配置的SMU 和 CE 项更改为跳过,如下图中三个红框所示。 “ 我进行了测试,应用这些更改后,它就能正常工作了。 如果您需要更多支持,请告诉我。
查看全文
高级声明式用户界面框架 是否有适用于 i.MX RT 跨界 MCU 的高级声明式用户界面框架?我希望能用 Swift 或 JavaScript 等高级语言编写代码,然后使用类似 SwiftUI 或 React 的东西创建用户界面。 Re: High level declarative UI framework 你好@MatthewRuzzi、 感谢您关注恩智浦 MIMXRT 系列! 恩智浦正式提供 GuiGuider 工具,以 LVGL 作为底层框架,帮助客户快速开发用户界面软件。此外,SDK 还包括 emWin 和 VGLite 的示例项目。虽然目前官方并不支持高级语言的实现,但我建议探索以下方法: 1.https://doc.qt.io/QtForMCUs/qtul-zephyr-mimx1060-evk.html https://www.embeddedartists.com/wp-content/uploads/2023/06/QtMCUs_ProgramDevelopment.pdf 2https://www.nxp.com/design/design-center/training/TIP-CREATE-USER-INTERFACE-QT 3.https://docs.microej.com/en/latest/GettingStarted/gettingStartedIMXRT1170.html 4.https://github.com/lvgl/lv_micropython 5.https://www.swift.org/blog/embedded-swift-examples/ 我希望这些资源能对您的发展有所启发。 致以最诚挚的问候, Gavin Re: High level declarative UI framework 目前是否有任何项目正在开展这方面的工作?我非常希望能够使用 Swift 或 JavaScript 这样的语言。有什么办法能让我今后更有可能这样做吗?我应该在哪些地方提交或投票表决功能请求,或者在哪些地方发布此信息?
查看全文