Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
恩智浦 OTA 示例中的不可缓存区域 亲爱的各位, 我试图使用这里给出的 OTA 机制示例: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/tree/release/25.09.00-pvw1/_boards/evkbmimxrt1170/ota_examples/mcuboot_opensource 链接器脚本中有一节: /* Specify the memory areas */ MEMORY { m_flash_config (RX) : ORIGIN = 0x30000400, LENGTH = 0x00000C00 m_ivt (RX) : ORIGIN = 0x30001000, LENGTH = 0x00001000 m_interrupts (RX) : ORIGIN = 0x30002000, LENGTH = 0x00000400 m_text (RX) : ORIGIN = 0x30002400, LENGTH = TEXT_SIZE m_qacode (RX) : ORIGIN = 0x00000000, LENGTH = 0x00040000 m_data (RW) : ORIGIN = 0x20240000, LENGTH = 0x00040000 m_data2 (RW) : ORIGIN = 0x202C0000 + RPMSG_SHMEM_SIZE, LENGTH = 0x00080000 - RPMSG_SHMEM_SIZE rpmsg_sh_mem (RW) : ORIGIN = 0x202C0000, LENGTH = RPMSG_SHMEM_SIZE m_core1_image (RX) : ORIGIN = CORE1IMAGE_START, LENGTH = 0x00040000 } Then later there is: __NDATA_ROM = __ram_function_flash_start + (__ram_function_end__ - __ram_function_start__); .ncache.init : AT(__NDATA_ROM) { __noncachedata_start__ = .; /* create a global symbol at ncache data start */ *(NonCacheable.init) . = ALIGN(4); __noncachedata_init_end__ = .; /* create a global symbol at initialized ncache data end */ } > m_data2 . = __noncachedata_init_end__; .ncache : { *(NonCacheable) . = ALIGN(4); __noncachedata_end__ = .; /* define a global symbol at ncache data end */ } > m_data2 这将额外的不可缓存部分定义为 OCRAM2 的剩余部分(从 202C_0000 到 2033_FFFF - 512KB)。 不过,Board_ConfigMPU 确实: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/blob/release/25.09.00-pvw1/_boards/evkbmimxrt1170/board.c #if defined(CACHE_MODE_WRITE_THROUGH) && CACHE_MODE_WRITE_THROUGH /* Region 6 setting: Memory with Normal type, not shareable, write through */ MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_1MB); /* Region 7 setting: Memory with Normal type, not shareable, write trough */ MPU->RBAR = ARM_MPU_RBAR(7, 0x20300000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_512KB); #else /* Region 6 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_1MB); /* Region 7 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(7, 0x20300000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_512KB); #endif 将此内存扇区标记为可缓存。 有谁能告诉我,示例代码是否真的将 m_data2 的提醒标记为不可缓存? 或者换句话说--谁能告诉我如何实现这一目标--在我们的应用程序中,我们希望将这一 ram 部分的剩余部分用作非高速缓存。 感谢您的支持 Re: Non-Cachable region in NXP OTA example 你好@jslota13245、 感谢您对 NXP MIMXRT 系列的关注! OCRAM 是一个可缓存区域。针对您的应用场景,请参考本指南: https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/Using-NonCached-Memory-on-i-MXRT/ta-p/1183369 致以最诚挚的问候, Gavin
記事全体を表示
MC9S12ZVM128 SRAM 双位 ECC 处理 我们正在使用 MC9S12ZVM128,想知道如何处理 SRAM 中的双位 ECC 错误。具体来说,系统是否可以通过使用以下方法执行软件重启来恢复正常运行 CPMUCOP = 0x01; CPMUARMCOP = 0x00;? Re: MC9S12ZVM128 SRAM double bit ECC handling 你好,喇嘛 感谢您的答复。这个问题我们现在已经很清楚了,我相信我们可以结束这个话题。 BR, Mark Re: MC9S12ZVM128 SRAM double bit ECC handling 您好, 让我来概括一下。 在 POR 期间,SRAM 将被初始化。如果检测到双位 ECC 错误: 内存访问受阻。 已通知启动器模块。 7.3.4内存初始化 ... 为避免出现虚假的 ECC 错误报告,允许在首次写入前进行读取的内存操作(如非对齐访问的读取-修改-写入操作)要求在执行首次读取-修改-写入访问之前,内存必须包含有效的 ECC 值。ECC 模块提供在开机阶段将整个内存内容初始化为零的逻辑。在初始化过程中,SRAM 的访问被禁用,RDY 状态位被清零。如果初始化过程完成,则可以访问 SRAM,并设置 RDY 状态位。 POR(上电复位) 它的作用:POR 是通过重新启动电源或由专用 POR 信号触发的全面硬件 RESET。 对 ECC 错误的影响 -SRAM 已清除:所有易失性存储器都丢失,包括损坏的数据。 -ECC 逻辑已 RESET:所有 ECC 错误标志或状态位都被清除。 -寄存器RESET为默认值:所有配置寄存器返回其默认状态。 - 影响:除非从闪存或外部资源重新加载相同的损坏数据,否则系统将重新启动,双位 ECC 错误将不会继续存在。 ________________________________________ COP(计算机正常运行)RESET 它的作用:当软件无法及时维修时,看门狗定时器会触发 COP RESET。 对 ECC 错误的影响 - SRAM 未清除 - ECC 错误持续存在:如果损坏的数据仍在 SRAM 中,ECC 逻辑可能会在重启后再次检测到相同的双位错误。 -寄存器可能保留值:某些寄存器可能会保留其值,具体取决于RESET配置。 ________________________________________ 建议 如果您想保证消除 ECC 错误状态,请使用 POR RESET。如果您正在调试软件故障或从软件故障中恢复,并希望保留内存以供分析,则 RESET COP 可能更合适。 因此,最好确保在 POR 之后检查并处理 RDY,而不使用 RAM。 如果 COP 重新启动了系统,则尝试写入该字,并检查 ECC 错误是否确定。 此致 拉吉斯拉夫
記事全体を表示
#MCUXpresso-IDE 程序 " arm-none-eabi-c++ " 在 PATH 中找不到 你好 我在使用最新版本的MCUXpresso-IDE# 时遇到了一个问题,特此联系您。我最近更换了电脑并安装了 2025 年 6 月 27 日发布的 MCUXpresso-IDE IDE v25.6 [版本 136]。从 Git 导入我的项目后,它无法编译。我收到了以下错误消息:" 在 PATH " 中找不到程序 “arm-none-eabi-c++” 和 " 在 PATH 中找不到程序 “arm-none-eabi-gcc”。 在之前版本的 McuXpresso-IDE(v24.12 [Build 148])上,这个项目运行良好。有趣的是,我可以在新版本中创建新项目,并顺利编译它们。此外,我还可以导入和编译其他项目,但有一个项目有问题。 经过比较,我发现在这个特定项目的链接资源中缺少了一些路径变量:cmsis_pack_root、$、cmsis-rte 和 $。 您能帮我解决这个问题吗? 开发板 Re: #MCUXpresso-IDE Program "arm-none-eabi-c++" not found in PATH 嗨,@脑残粉 根据你的描述,这可能是 MCUXpresso IDE 25.03 的问题。 遗憾的是,我无法获得有关该问题的更详细描述,也无法重现该问题,因此无法找到根本原因。 BR 哈利 Re: #MCUXpresso-IDE Program "arm-none-eabi-c++" not found in PATH 你好@Harry_Zhang、 谢谢您的答复。我刚刚进行了检查,工具链的参数完全相同。如果它能帮助你理解问题,我已经在新电脑上安装了版本 mcuxPresso IDE v24.12 [Build 148] [2025-01-10],这个项目运行良好。因此,这不是操作系统的问题。 不幸的是,我无法将我的 GIT 与项目一起附上。 Re: #MCUXpresso-IDE Program "arm-none-eabi-c++" not found in PATH 嗨,@脑残粉 新项目运行正常 → 工具链已在 v25.6 中正确安装。 因此,我认为您可以检查工具链设置 右键单击有问题的项目 → 属性 如果问题仍未解决,您可以链接您的 git。我可以试试。 BR 哈利
記事全体を表示
バンドギャップ電圧測定 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> これは、マイクロコントローラに搭載されているバンドギャップ電圧の測定を示すSWの例です。 バンドギャップ電圧は、内部ATDチャネルにルーティングされます。ATDコンバータは入力電圧を測定し、フラッシュメモリにある変数に格納します。 SWサンプルプロジェクトは、MC9S12XEP100デバイス用のCodeWarrior v5.1で作成されています。 全般
記事全体を表示
blhost を使用して LPC54(S)0xx フラッシュをプログラム/消去します 注:このドキュメントでは、フラッシュローダーに関する簡単な説明を提供し、フラッシュローダーの詳細については、 SDK_2.5.0_LPCXpresso54S018\middleware\mcu-boot\doc にある LPC540xxフラッシュローダーユーザーズGuide.pdf 入門を参照してください。 LPC54S0xx SDKをダウンロードします。 フラッシュローダープロジェクトをコンパイルしてflashloader.binを生成します プロジェクトはsdk \ boards \ lpcxpresso54s018 \ bootloader_examples \ flashloaderにあります dfu-util.exe または IDE を使用して、flashloader.bin を RAM にロードします。 dfu-util は http://dfu-util.sourceforge.net/releases/ からダウンロードできます。 ISPピンを構成してから、チップをリセットして、チップをUSB1 DFUブートモードにします。 ブート・モード ISP2の PIO0_6ピン ISP1 PIO0_5ピン ISP0 PIO0_4ピン 形容 USB1 DFUブート LOW LOW HIGH USB DFUクラスは、USB1高速ポートを介してSRAMにイメージをダウンロードするために使用されます。 LPC54S0xxデバイスUSB1高速ポートとPCをUSBで接続します。以下は、flashloader.binをロードするコマンドラインです。 dfu-util.exeドル –D flashloader.bin   blhost を使用して LPC540xxM/LPC54S0xxM フラッシュをプログラム/消去 フラッシュローダバイナリがダウンロードされ、LPC54S0xxプラットフォーム上で実行が開始され、LPC54S0xxプラットフォーム USB1(High-Speed) とホストの間に物理的なUSB接続が残ると、フラッシュローダはコマンドを受信する準備が整います。 blhost -u 0x1fc9,0x01a2 -- プロパティ 12 を取得 blhost -u 0x1fc9,0x01a2 -- メモリいっぱい 0x2000d000 4 0xc0000004 blhost -u 0x1fc9,0x01a2 -- configure-memory 0xa 0x2000d000 blhost -u 0x1fc9,0x01a2 -- プロパティ取得 25 0xa blhost -u 0x1fc9,0x01a2 -t 100000 -- フラッシュ消去領域0x10000000 0x100000 blhost -u 0x1fc9,0x01a2 -t 100000 -- 書き込みメモリ 0x10000000 xxx.bin 注:xxx.bin フラッシュにダウンロードする必要があるターゲットファイルです。 著者: ハオ・リュウ  Hao Liuさん、ありがとうございました。
記事全体を表示
ニュー・キッド・オン・ザ・ブロック - 60 GHz Wi-Fi <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ユビキタスなコネクティビティの時代を駆け抜け、データに対する飽くなき需要が求められる中、高速コネクティビティソリューションの必要性はかつてないほど高まっています。60 GHzまたは802.11ad Wi-Fiは、家庭やオフィス、高密度の屋内または屋外スペース、フロントホールまたはバックホールアプリケーションなど、あらゆる場所でブロックを引き継ぐ新しい子供です。さらに、この分野は、このマルチギガビットレートスペクトルを最大限に活用するための革新的なアプローチを持つ多くの新しいティア2プレーヤーによって主に影響を受けています。NXPに参加して、当社のSoCがこのエコシステムを促進するためにどのように不可欠であるかを学びましょう。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ユビキタスなコネクティビティの時代を駆け抜け、データに対する飽くなき需要が求められる中、高速コネクティビティソリューションの必要性はかつてないほど高まっています。60 GHzまたは802.11ad Wi-Fiは、家庭やオフィス、高密度の屋内または屋外スペース、フロントホールまたはバックホールアプリケーションなど、あらゆる場所でブロックを引き継ぐ新しい子供です。さらに、この分野は、このマルチギガビットレートスペクトルを最大限に活用するための革新的なアプローチを持つ多くの新しいティア2プレーヤーによって主に影響を受けています。NXPに参加して、当社のSoCがこのエコシステムを促進するためにどのように不可欠であるかを学びましょう。
記事全体を表示
恩智浦无线充电解决方案和设计简介 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本次会议将概述 NXP 无线充电解决方案产品组合,其中包括在无线充电发射器中集成 NFC 通信的功能。与会者将清楚了解恩智浦适用于汽车、消费品、家电和基础设施市场的最先进的发射和接收参考设计。本次会议还将提供无线充电发射器和接收器设计的深入技术细节和指导。此外,还将介绍涵盖低功率和中功率应用的 NFC/RFID 卡保护的回顾。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本次会议将概述 NXP 无线充电解决方案产品组合,其中包括在无线充电发射器中集成 NFC 通信的功能。与会者将清楚了解恩智浦适用于汽车、消费品、家电和基础设施市场的最先进的发射和接收参考设计。本次会议还将提供无线充电发射器和接收器设计的深入技术细节和指导。此外,还将介绍涵盖低功率和中功率应用的 NFC/RFID 卡保护的回顾。
記事全体を表示
HMB-N1962 IPv6 低功耗蓝牙® (6LoBLE) 讲座和演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该课程将详细介绍用于在物联网环境中传输 IPv6 帧的 RFC 7668(6LoBLE)、蓝牙®低功耗 4.2 和互联网协议支持配置文件。该演示将基于 Kinetis KW41 MCU。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该课程将详细介绍用于在物联网环境中传输 IPv6 帧的 RFC 7668(6LoBLE)、蓝牙®低功耗 4.2 和互联网协议支持配置文件。该演示将基于 Kinetis KW41 MCU。 智能家居和智能建筑
記事全体を表示
i.MX 上的 wxWidgets <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 组装 wxWidgets 版本 2.8。使用 TinyX。由 4 英寸 - 8 英寸的触摸屏供电。
記事全体を表示
Example MPC5566EVB PinToggleStationery CW210 ******************************************************************************** * Detailed Description: * Application performs basic initialization, setup PLL to maximum allowed freq., * initializes interrupts, blinking one LED by interrupt, second LED by software * loop, initializes and display notice via UART terminal and then terminal ECHO. * The example configures the device for maximum performance (OPTIMIZATIONS_ON). * Its intention is to offer advanced startup code additional to CW stationery. * ------------------------------------------------------------------------------ * Test HW:        MPC5566EVB * MCU:            PPC5566MVR132 * Fsys:           144/132/112/80/12 MHz * Debugger:       Lauterbach Trace32 *                 PeMicro USB-ML-PPCNEXUS * Target:         RAM, internal_FLASH * Terminal:       19200-8-no parity-1 stop bit-no flow control on eSCI_A * EVB connection: TPU_PORT_37 -> USER_LED_8 *                 TPU_PORT_38 -> USER_LED_7 (to see blinking LEDs)    * ******************************************************************************** ******************************************************************************** * Detailed Description: * Application performs basic initialization, setup PLL to maximum allowed freq., * initializes interrupts, blinking one LED by interrupt, second LED by software * loop, initializes and display notice via UART terminal and then terminal ECHO. * The example configures the device for maximum performance (OPTIMIZATIONS_ON). * Its intention is to offer advanced startup code additional to CW stationery. * ------------------------------------------------------------------------------ * Test HW:        MPC5566EVB * MCU:            PPC5566MVR132 * Fsys:           144/132/112/80/12 MHz * Debugger:       Lauterbach Trace32 *                 PeMicro USB-ML-PPCNEXUS * Target:         RAM, internal_FLASH * Terminal:       19200-8-no parity-1 stop bit-no flow control on eSCI_A * EVB connection: TPU_PORT_37 -> USER_LED_8 *                 TPU_PORT_38 -> USER_LED_7 (to see blinking LEDs)    * ******************************************************************************** General
記事全体を表示
通用更新工具 (UUU) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 了解这款功能强大且易于使用的 MfgTool 替代工具(命令行驱动,无图形用户界面)。本次会议将涉及以下主题:单命令图像下载,完全可脚本化;支持所有闪存类型(eMMC、NAND、QSPI、SD等);完全开源,现已在GitHub上发布,并附有完整文档。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 了解这款功能强大且易于使用的 MfgTool 替代工具(命令行驱动,无图形用户界面)。本次会议将涉及以下主题:单命令图像下载,完全可脚本化;支持所有闪存类型(eMMC、NAND、QSPI、SD等);完全开源,现已在GitHub上发布,并附有完整文档。
記事全体を表示
示例 S32K118-SRAM-keep_data_over_SW_reset v0_1 S32DS.ARM.2.2 ******************************************************************************** * Detailed Description: * The purpose of this example is show how to keep data in SRAM memory over SW * reset. SW reset is triggered by pressing the SW3 button on the S32K118EVB. * Reset is delayed for 514 LPO cycles. In the RCM interrupt, SRAMU_RETEN is * cleared allowing to retain SRAM data during the reset. After SW reset, * SRAMU_RETEN is set to allow accesses to SRAM. * File startup_S32K116.S in modified to skip ECC RAM initialization for SW reset * source. To check whether stored data stayed unmodified in the SRAM, specified * address is read and the LED lights up. * ------------------------------------------------------------------------------ * Test HW: S32K118EVB-Q064 * MCU: S32K118 LAMLH 0N97V QTZE1802B * Fsys: fsys = 48MHz * Debugger: Lauterbach Trace32 * Target: Debug * Terminal: 19200-8-no parity-1 stop bit-no flow control * EVB connection: default ******************************************************************************** Revision History: Ver Date Author Description of Changes 0.0 May-17-2023 David Tosenovjan Initial version *******************************************************************************/
記事全体を表示
SynGas OBD 节油器是否合法?真实的深度 SynGas 评论 2026 SynGas 评论:SynGas OBD Fuel Saver 是否合法?这是我在亲自测试之前的第一个问题。2026 年的油价依然居高不下,很多驾驶员都在寻找提高燃油效率的现实方法,而不需要昂贵的汽车改装或复杂的改装系统。 SynGas是一款简单的即插即用设备,可连接到车辆的OBD2端口,并声称通过根据实际驾驶习惯使用汽车的ECU来优化燃油消耗。它的有趣之处在于,它并不承诺立竿见影的神奇效果。取而代之的是,该设备在最初的 150 英里内会经历一个学习阶段,以便更好地了解加速、制动和整体驾驶模式,然后才能更有效地调整燃油优化。 点击此处查看 SynGas 的最新详情和官方信息 2026 年,节油技术已成为一个热门话题,因为人们正在积极寻找经济实惠的方法来降低交通成本。SynGas通过提供即插即用的方法来直接利用这一趋势,而不是昂贵的ECU调整或持续购买燃料添加剂。 那么,SynGas OBD 节油器是否合法? 根据研究、用户反馈和500英里后的真实驾驶观察,它似乎是真正的OBD2燃料优化设备,而不是另一个随机的互联网花招。然而,现实的期望很重要。这并不神奇,每辆车或每位驾驶员的结果也不尽相同。最大的价值似乎来自于长期的日常使用,尤其是对于通勤者和长时间在路上行驶的驾驶员来说。 点击此处查看 SynGas OBD 节油器的工作原理和当前供应情况:     Re: Is SynGas OBD Fuel Saver Legit? An Honest Depth SynGas Reviews 2026 您的问题似乎与恩智浦 QorIQ 系列(数字网络)处理器无关。 请在正确的社区区块中提交您的问题。
記事全体を表示
用于 IMX8MPLUS 的 LPDDR4 美光 MT53E1536M32D4DE-046 AA T: C 是一 款 48Gb (6GB) LPDDR4 动态随机存取存储器(DRAM) 元器件。 它在技术上与 i.MX 8M Plus 处理器兼容吗?由于 LPDDR4 兼容性问题,我的 IMX8MPLUS 板面临很多挑战。我的板是为大小为 32Gbit (4GB) 的双列双通道 LPDDR4 设计的。我找不到任何有现货的 LPDDR4。与其他 32Gbit (4GB) 但双通道单列的 LPDDR4 面临密码兼容性问题。请在这方面帮助我。我能否使用 MT53E1536M32D4DE-046 AAT: C 代替 32Gbit (4G B) LPDDR4。 Re: LPDDR4 for IMX8MPLUS 它可能不会使用 6GB LPPDR4 来取代当前的 4GB,因为使用 x32bus 的 6GB 需要 4 个引脚,而 I.mx8 plus 只有 2 个引脚。 Re: LPDDR4 for IMX8MPLUS 你好@Vighnesh imx8MP 可以毫无问题地支持 MT53E1536M32D4DE-046 AAT: C LPDDR4,我们已经验证了这款动态随机存取存储器(DRAM)。而且它有两个等级,而不是4个等级。 B.R Re: LPDDR4 for IMX8MPLUS 感谢您的确认。看来我犯了一个错误...
記事全体を表示
CAAMのパフォーマンス こんにちは、 添付のプロジェクト例(SDK 25.06.00 CAAM サンプルから派生したもの)では、CRC のみを計算して CAAM のパフォーマンスを測定したいと考えています。実際、サンプルを実行してみたところ、すぐに動作が遅すぎると感じました。これを実現するために、私はDWT->CYCCNTレジスタを使用します。 ソフトウェアによる実装とも比較してみました。 RT1170-EVKBで実行したところ、以下の結果が得られました。   最初の計算がCAAMのようなアクセラレータにとって既に遅すぎるように思えるなら(ソフトウェア実装よりもさらに遅い)、2番目の計算はとんでもないものだ。 何が問題なのですか?SDKのバグかもしれません。 よろしくお願いいたします 最大 Re: CAAM performaces こんにちは@Kan_Li ご返信ありがとうございます。 残念ながら、あなたの回答はまさに私が抱いていた懸念を裏付けるものでした。添付されたプロジェクトファイルは、返信前に開かれることすらなかったようです。 私がこう言う理由は非常に単純かつ客観的です。プロジェクトは既にCAAM_CRC()を使用しているからです。それは私が見落としていた理論上の可能性でも、試すのを忘れていた代替手段でもありません。添付の例に既に示されており、私の測定結果ではまさにその経路が最も悪い結果を示しました。 念のためもう一度明確にしておきますが、私はドライバの使い方に関する一般的な質問を投稿したわけではありません。NXPのサポート担当者が直接ビルド、実行、動作確認ができるように、SDKのサンプルを基にした完全なプロジェクトを作成し、添付しました。 同じCRCの計算結果を比較しました。 ソフトウェアにおいて CAAMと共に そして結果はまさに私が報告している問題点そのものでした。ハードウェアアクセラレータとしては、測定された性能が予想外に悪く、テストしたケースの一つでは、ソフトウェア実装よりも著しく劣っていました。 それが問題なのです。 「CAAM_CRC() を試してみる」ということではありません。 それは既に済んでいます。 お客様がすぐに実行できるプロジェクトを添付する場合、通常はフォーラムのストレージ容量、ネットワーク帯域幅、または誰かの時間を無駄にしないためです。なぜなら、お客様はサポートが問題を実践形式で再現することを期待しているからであり、特にプロジェクトがその目的のために既に最小化されている場合はなおさらである。 添付された再現プロジェクトが回答前に実際に検証されるという考えに、私は過信しすぎているのかもしれない。もしそうなら、それは私の責任です。 しかし、完全な再現手順が添付された技術的な投稿に対して、このようなレベルの対応しかされないのであれば、多くのユーザーが受けるサポートの質について不満を漏らすのも当然と言えるでしょう。 それでは、誤解の余地が全くないような形で質問を言い換えてみましょう。 添付のプロジェクトは既にCAAM_CRC()を使用しています。 DWT->CYCCNTを用いてサイクル数を計測しました。 同じターゲットに対して、ソフトウェアCRCとCAAM CRCを比較しました。 CAAMの性能は予想よりも悪く、あるケースではソフトウェアと比べて非常に大きな差で劣っていた。 これらの事実を踏まえ、NXP社には以下のいずれかを実施していただきたい。 添付のプロジェクトを使用して結果を再現してください。 オーバーヘッドがどこから発生するのか説明してください。 これがSDK/ドライバーの問題であるかどうかを明記してください。 または、これらの業績数値は予想値であることを明確に述べる。 添付の例自体によって既に矛盾している提案よりも、具体的な技術分析の方がはるかにありがたいです。 よろしくお願いします、 マックス Re: CAAM performaces こんにちは、 @mastupristi さん。 SDKのサンプルでは、CRCの初期化、更新、および終了の各関数が別々に使用されています。ドライバには、代わりに使用できるワンタイムのCAAM_CRC()関数があり、そちらの方が高速であるはずです。CAAM_CRC() を使ってみて、違いが出るかどうか確認してください。 すてきな一日を、 カン ------------------------------------------------------------------------------- 注記: この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - 最後の投稿から7週間はThreadをフォローしますが、それ以降の返信は無視されます。 後日、関連する質問がある場合は、新しいThreadを作成し、閉じられたThreadを参照してください。 ------------------------------------------------------------------------------- Re: CAAM performaces こんにちは、 @mastupristi さん。 ごめんなさい、私のミスです!CRCエンディアンに関する別のプロジェクトを拝見しました。私のプロジェクトビューでは、あなたのプロジェクトが非常に似通っており、main() 関数もほぼ同じです。見落としてしまい申し訳ありません。   異なるCRC入力データ長であなたのプロジェクトをテストしたところ、CRC処理対象のデータが十分に長い場合(例えば、テストで使用したデータ長の2倍)、CRC初期化、更新、終了に基づくハードウェア計算はソフトウェア実装よりも優れていることがわかりました。しかし、CAAM_CRC()は常にテストで最悪のケースでした。現在、この問題について社内で調査しており、詳細が分かり次第お知らせします。 お待ちいただきありがとうございます! すてきな一日を、 カン ------------------------------------------------------------------------------- 注記: この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - 最後の投稿から7週間はThreadをフォローしますが、それ以降の返信は無視されます。 後日、関連する質問がある場合は、新しいThreadを作成し、閉じられたThreadを参照してください。 ------------------------------------------------------------------------------- Re: CAAM performaces こんにちは、 @mastupristi さん。 どうやら私のボードに何か問題があるようです。別のRT1170EVKBボードを使ってみたところ、以下の結果になりました。 別のボードで再度試すことはできますか? すてきな一日を、 カン ------------------------------------------------------------------------------- 注記: この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - 最後の投稿から7週間はThreadをフォローしますが、それ以降の返信は無視されます。 後日、関連する質問がある場合は、新しいThreadを作成し、閉じられたThreadを参照してください。 ------------------------------------------------------------------------------- Re: CAAM performaces こんにちは@Kan_Li 3つのボードと合計4つのテストにおいて、非常に異なる行動と非常に異なる数値が見られることに懸念を抱いています。 ここで一つ覚えておいていただきたいのは、CAAMはMCUの内部ペリフェラルであり、MCU内部のRAMと相互作用するということです。取締役会の外部コンポーネントのうち、現実的に考えて、CAAMにこれほど重大かつ一貫性のない影響を与える可能性のあるものは何だろうか? 現段階では、根本的な問題は実はMCU側にあるのではないかと検討するのは妥当と思われる。 これが私のEVKに搭載されているものです また、3回のテストで得られた数値は、具体的にどのような条件下で得られたものなのか、詳しく教えていただけますでしょうか?特に: どのボードが使用されたか、 どのMCUが搭載されていたか、 また、設定や条件に関して、他に何か関連する違いがあったかどうかも確認した。 最も重要なのは、私の数字とあなたの数字の差をどのように説明するのかということです。 現時点では、さらなるテストに使用できる他の基板がありません。 よろしくお願いします。 最大   Re: CAAM performaces こんにちは、 @mastupristi さん、 私のデバイスはMIMXRT1176DVMAA/0P94B/CTAS2152Aで、あなたのものと同じです。私のテストでは、あなたのコードのデバッグ前にフラッシュメモリで実行中のプログラムが起動しないように、ブートモードをシリアルダウンロードモードに設定し、SRAMであなたのコードを実行しました。あなたも同じようにしましたか?あなたのボード間で結果を共有していただけますか? よろしくお願いいたします。 カン Re: CAAM performaces こんにちは@Kan_Li 「アプリケーションをRAMにリンクする」を試してみました(プロジェクトを添付)。 この設定で、以下の結果が得られました。 ご覧のとおり、状況は大幅に改善されていますが、本当に驚くべきことは、CAAMを使用した最初のCRC計算にかかる時間が、ソフトウェア版と同じであるということです。 CAAM(CAAM_CRC())を使用した最新のCRC計算には3億3700万サイクルかかります(以前は14億2200万サイクルかかっていたので、わずか4分の1に減っただけです)。 このマイクロコントローラを搭載した別のEVKBを借りることができました 以下のような結果が得られました。 つまり、ソフトウェアの実装は両方のボードで全く同じように動作するということです。それは驚くべきことではない。むしろ、私が予想していた通りだ。 最初のCAAMはわずかに時間がかかるだけであるのに対し、2回目のCAAMは大幅に短い時間(2億5200万サイクル)で完了する。 注意点として、憶測を立てる前に、コードを確認して、「第一」と「第二」のソフトウェアとハードウェアの意味を理解してください。 以下に概要を示します。 SW CRC32 iSCSI SW CRC16 CCITT HW (CAAM) CRC32 iSCSI (初期化、更新、最終処理を個別に呼び出し) HW (CAAM) CRC16 CCITT (CAAM_CRC() を呼び出し中) これは私にとって多くの疑問を抱かせる。 特に4位の成績に見られるこの一貫性のなさは、非常に懸念される。何が原因ですか? このアクセラレータは、ソフトウェアによる実装と比較して、全く処理速度を向上させていないようだ。本当にそうなのでしょうか?それとも私が何か見落としているのでしょうか? よろしくお願いします。 最大 Re: CAAM performaces こんにちは、 @mastupristi さん。 4番目の検査結果については現在も社内で確認中です。新たな情報が入り次第、ご連絡いたします。 他のテストでは、ソフトウェア/ハードウェア別にデータをさらに計算しましたか?コア上で動作するソフトウェアはキャッシュからある程度の恩恵を受けるが、データ量が増えると、その差が顕著になる。 よろしくお願いいたします。 カン Re: CAAM performaces こんにちは、 @mastupristi さん。 内部の後。議論の結果、問題の原因はDCACHEの無効化であることが判明しました。 このプロジェクトではキャッシュのライトスルー("CACHE_MODE_WRITE_THROUGH=1") 設定を使用しており、マクロ("CAAM_OUT_INVALIDATE") も有効になっているため、DCACHE 無効化機能によって機能のパフォーマンスが低下します。これは、主にミドルウェアにおけるデータ整合性の問題を回避するために、SDKのサンプルに実装されています。ERR050396(下記参照)のため、TCMは書き込みには使用できません。 以下は、その関数の測定値です。 この例では「出力」はキャッシュ不可能な領域に配置されているため、その特定の関数における無効化は不要です。 /*! @brief CRC の出力バッファ。*/ uint8_t AT_NONCACHEABLE_SECTION(crc_output[4U]); DCACHE無効化が削除されると、次のようになります。 最高最適化(-O3)を有効にした場合: データアクセス制限とCAAM構成構造の処理を考慮すると、この場合、800MHzでDTCM内のデータを使用してITCMから実行される最適化されたソフトウェア実装は、CAAMよりも高速になる可能性があります。ソフトウェア計算が頻繁に中断されるかどうかは、ペイロードのサイズとアプリケーション全体のコンセプトによって決まると言えるでしょう。 よろしくお願いいたします。 カン
記事全体を表示
[不正行為] 投稿者: @RishavKaaraTech / 掲示板: TapLinx-SDK / 報告者: bedhcyqo bedhcyqo は、 @RishavKaaraTech が投稿した 「RFIDDiscover ツールを入手したが、その使い方はわからない」という 投稿を以下の理由で報告しました。 理由:嫌がらせ 詳細: 購入アンビエン 代金引換 購入非ジェネリックのアンビエンをオンラインで購入 アンビエンシドニーでは処方箋なしで ジェネリックアンビエン格安 アンビエン処方箋不要のオンライン薬局 購入プロアンビエン どこで次のアンビエンを購入する 今はダメ アンビエン セイウチ バルプロ酸アンビエンの相互作用ジェネリック アンビエンブルガリアでは処方箋なしで http://sp-journal.ru/article/19339 "> 一般的なアンビエン対アンビエン アンビエンの購入方法 アンビエンリトアニアでは処方箋なしで https://www.rapidservice.com.ec/es/content/ambien-cheap-non-prescription "> ジェネリックアンビエン 安い アンビエンを購入したい 購入モントリオールのアンビエン 購入モントリオールのアンビエン アンビエンネブラスカ州では処方箋なしで入手可能 アンビエンジェネリック写真 オーストラリアでアンビエンを安く購入 安いアンビエン アメリカ 安いオーストラリアでのアンビエン アンビエンを次に注文する場所 アンビエンの購入価格 アンビエンをオンラインで購入する 割引アンビエン cr 購入アンビエンCRオンライン アンビエン処方箋なしでオンラインで購入 購入無料の翌日配送薬局アンビエン valiumアンビエンの相互作用ジェネリック ジェネリックアンビエン 安い 処方箋なしでアンビエンを購入する 次にアンビエンを購入する場所 アンビエンの注文方法 アンビエンのジェネリック %E2%オーストラリアで安いアンビエン どこで次のアンビエンを購入する 割引アンビエン cr プロアンビエンを購入する 購入バイアグラ インド ジェネリック アンビエン 投稿リンク: https://community.nxp.com/t5/TapLinx-SDK-TagWriter-and/RFIDDiscover-tool-acquired-but-how-to-use-it/mp/2164324#M205 投稿者: @RishavKaaraTech |作成者に電子メールを送信する 報告者: bedhcyqo |メールによる報告 報告された投稿には3件の返信があります。
記事全体を表示
i.MX93 - 1PPS入力とPTP 目標: GPS レシーバからの Pulse-Per-Second (PPS) 信号と GPRMC ログを使用して、ENET_QoS イーサネット コントローラ内で PTP 時間の同期を検証する ハードウェア: i.MX 93 ビルドルート: 2025.11.1 Linux: 6.12.16 Linuxptp : 4.4 デバイスツリーオーバーレイの変更: eqos のステータスを「無効」から「正常」に変更します usdhc2 pinctrl-* エントリから pinctrl_usdhc2_gpio および pinctrl_usdhc2_gpio_sleep エントリを削除します。 pinctrl_eqos と pinctrl_eqos_sleep に「MX93_PAD_SD2_CD_B__ENET_QOS_1588_EVENT0_IN 0x31E」エントリを追加します。 usdhc2 cd-gpiosエントリを削除し、broken-cdに置き換えます pinctrl_usdhc2_gpio ノードと pinctrl_usdhc2_gpio_sleep ノードを削除します。  ターゲット上のソフトウェアの場所: eMMCからの起動 LinuxカーネルとptpアプリをubootingしてSDカードから実行する  Linux PTPソフトウェアを実行中: ptp4l -E4H -i eth1 ts2phc -c /dev/ptp1 -s nmea --ts2phc.nmea_remote_host10.128.240.54 --ts2phc.nmea_remote_port3001 --ts2phc.ピンインデックス0 -l 7 -m PPS入力: 現在、GPS レシーバからの PPS 信号を受け入れるように FRDM i.MX 93 ボードに変更を加える前に、あらゆるイベントのタイムスタンプを検証しようとしています。これらのイベントを生成するために、SD カード ソケットの機械式スイッチの脚の間に絶縁体を挿入しています。SD2_nCD に接続された IO ピンを GPIO 入力として手動で設定し、このアクションによってピンの入力電圧が変化することを確認しました。ハードウェアによるイベント情報のタイムスタンプは、特定の周期性に依存すべきではないと私は想定しています。 テスト結果: ts2phcはGPRMCログを受信していますが、ログにはポーリングで常にゼロイベント情報が返されることが示されています。 devmem プログラムを使用したスクリプト経由でレジスタを調べると、次のようになります。 SW_MUX_CTL_PAD_SD2_CD_B 0x00000001 SW_PAD_CTL_PAD_SD2_CD_B 0x0000031E MAC_SYSTEM_TIME_SECONDS 0x69AB35B0 MAC_SYSTEM_TIME_NANOSECONDS 0x10642013 MAC_TIMESTAMP_STATUS 0x00000000 MAC_補助制御 0x00000010 MAC_AUXILIARY_TIMESTAMP_NANOSECONDS 0x00000000 MAC_AUXILIARY_TIMESTAMP_SECONDS 0x00000000 システム時間レジスタが適切に時間をカウントしていることがわかります 補助タイムスタンプ レジスタにはゼロ以外の値が表示されることはありません。リファレンス マニュアルでは、FIFO が空のときには常にゼロが読み取られるのか、それとも最新のタイムスタンプが返されるのかは明確ではありません。 SW_MUX_CTL_PAD_SD2_CD_B レジスタの SION ビットを 0 と 1 の両方に設定してこれを試しましたが、結果に違いはありませんでした。 pin_index マッピングが予想どおりでなかった場合に備えて、MAC_AUXILIARY_CONTROL レジスタの 4 つの ATSEN ビットをすべて設定してみましたが、結果に違いはありませんでした。 i.MX 93 アプリケーションプロセッサリファレンスマニュアル、Rev. 6、2025-07-01 を読んだときに生じた追加の質問: 第 43 章 TSN 対応イーサネット コントローラ (ENET_QoS)、セクション 43.5、表 417 には、2 つの異なるイベント入力 1588_EVENT_AUX_IN と 1588_EVENT_IN がリストされています。これら 2 つの信号はどの外部ピンまたは内部デバイス ポートに接続されますか?1588_EVENT_IN ポートは ENET_QoS 内で何に接続しますか?1588_EVENT_AUX_INはptp_aux_trig_i[0]に接続され、ATSEN0ビットによって制御されていると推測します。(これはカーネルと ts2phc が期待していることでもあるようです。)それは正しいですか? 第43章、セクション43.5、表417には、1つのイベント出力1588_EVENT_OUTがリストされています。この信号はどの外部ピンまたは内部デバイス ポートに接続されますか?1588_EVENT_OUT ポートは ENET_QoS 内で何に接続しますか?PPS 出力の 1 つに関連付けられていますか? 第 43 章では、タイムスタンプをトリガーするために ptp_aux_trig_i 入力のどのエッジ (立ち上がり/立ち下がり/両方) が使用されるかが指定されていないようです。 Re: i.MX93 - 1PPS input and PTP こんにちは、 NXP Semiconductors製品にご興味をお持ちいただきありがとうございます。 AUX_IN 信号は、現在の時刻 (この時刻は、どのアプリケーションでもタイムスタンプ値として使用されます) をタイムスタンプ FIFO にラッチすることをトリガーするために使用されます (以前のトリガー イベントから複数のタイムスタンプ値がある場合があります)。 EVENT_IN はメディア クロック生成および回復ブロックへの入力であり、次のトリガーに使用されます。 アプリケーションから読み取られたターゲットプレゼンテーション時間のキャプチャは、リカバリモードが有効になっている場合は MAC_PPSn_Target_Time_Seconds に結果を生成します。 生成モードが有効になっている場合、サンプリングされたトリガーで現在のプレゼンテーション時間をキャプチャします。 1588_EVENT_OUT は、プロセッサによって PPS 出力を駆動するために使用されます。 よろしくお願いします。 Re: i.MX93 - 1PPS input and PTP AUX_IN という用語を使用する場合、それは表 417 の 1588_EVENT_AUX_IN という用語と同じですか? もしそうなら、どの特定の ATSEN* ビットにマップされますか? AUX_IN (1588_EVENT_AUX_IN) は、SW_MUX_CTL_PAD_SD2_CD_B の ENET_QOS_1588_EVENT0_IN モードに接続しますか? Re: i.MX93 - 1PPS input and PTP こんにちは@Kevin_M はい、1588_EVENTx_AUX_IN です。次のフィールドを確認してください。これが AUX の使用法です。 PTGE プレゼンテーション時間生成の有効化 このビットが設定されると、プレゼンテーション時間生成が有効になります。 0 - プレゼンテーション時間生成が無効 1 - プレゼンテーション時間生成が有効 ... MAC_PPS0_ターゲット時間秒 PPS ターゲット時間秒レジスタ このフィールドには、時間を秒単位で格納します。 PPSターゲットタイム秒レジスタ このフィールドには時間が秒単位で保存されます。タイムスタンプ値が両方のターゲット タイムスタンプ レジスタと一致するかそれを超えると、MAC は PPS 信号出力を開始または停止し、MAC_PPS_CONTROL レジスタの対応する PPS 出力に対して選択されたターゲット タイム モードに基づいて割り込み (有効な場合) を生成します。 ... 43.7.9.1 メディアクロック生成のプログラミングガイドライン 1. PPSインスタンスをメディアクロック生成モードに設定するには、適切なプレゼンテーションタイムコントロール(サポートされている生成モード「1001-1011」)をMAC_PPS_CONTROLレジスタのPPSCMD(0番目のインスタンスの場合)/PPSCMD#i(1、2、3番目のインスタンスの場合)にプログラムします。 2. 選択されたPPSインスタンスに基づいて、アプリケーションは対応するmcg_pst_trig_i[#i]に適切なトリガー信号を駆動する必要があります。 ... 43.7.9.2 メディアクロックリカバリのプログラミングガイドライン 1. MAC_TIMESTAMP_CONTROL レジスタの PTGE フィールドを設定して、現在のプレゼンテーション時間 (CPT) カウンタを有効にします。システム時間の初期化値をプログラムすることに加えて、同等のプレゼンテーション時間の初期値で MAC_PRESN_TIME_UPDT レジスタを更新します。その後、MAC_TIMESTAMP_CONTROL レジスタの TSINIT フィールドが設定されます。 2. システム時間に使用される増分値は、現在のプレゼンテーション時間にも使用されます。これは、増分値がサブ秒およびサブナノ秒単位であるためです。 1.各ATSENはそれぞれのEVENTにマッピングされます 2. 正解です。ここでAUX_INを確認できます。https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h#L54 よろしくお願いいたします。 Re: i.MX93 - 1PPS input and PTP @JosephAtNXP私は PPS 出力を設定しようとしているわけではなく、IEEE 1722 と関係のあることもしようとしているわけではありません。ENET_QOS_1588_EVENT0_IN の状態が変化した瞬間にタイムスタンプを付けようとしています。 Re: i.MX93 - 1PPS input and PTP @JosephAtNXP さん、ENET_QoSで1588 PPSの入力がうまく機能しない理由について、まだ調査中でしょうか? Re: i.MX93 - 1PPS input and PTP @Kevin_Mこの問題の解決に何か進展はありましたか?私も同じ問題に直面しています。ENETインスタンスではPTPをPPS入力と同期させることはできますが、リファレンスマニュアルやドライバでEVENT0_INピンをENET_QOSで使用する方法が見つかりません。 Re: i.MX93 - 1PPS input and PTP ケビンさん、ありがとうございます。確かにそれが唯一の方法のようですが、stmmacドライバではまだ対応していないようなので、追加する必要がありますね。 Re: i.MX93 - 1PPS input and PTP NXPは、ENET_QoSのAUX TIMESTAMP機能がi.MX93チップの内部または外部のいずれにも接続されていないことを確認しました。 私は、1588_EVENT0_IN モードで SD2_CMD を介して PPS をルーティングし、MAC_PPS_CONTROL をプレゼンテーション時間制御オプション 0001 を使用するように設定して、PPS 信号の立ち上がりエッジでプレゼンテーション時間をキャプチャし、MAC_PPS0_TARGET_TIME_SECONDS でキャプチャされた時間を読み取ることに成功しました。まだ解決すべき細かい点はたくさんありますが、これは有望な解決策のように思えます。
記事全体を表示
DDR4 calibration issues on LS1046 custom board Good day! We are trying to bring up our custom LS1046-based board up and stucked with DDR4 calibration procedure. SPD data of the modules is red successfully, calibration process starts successfully too, but after that it fails with this reason(log from CodeWarrior 😞  ############################### Run 1 Result for: wrlvl_searcher  ###################################### Test result: [ ============================================================ Updated: WRLVL_CNTL = 0x8655F605, WRLVL_CNTL_2 = 0x00000000, WRLVL_CNTL_3 = 0x00000000, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F60A, WRLVL_CNTL_2 = 0x0B0B0C0F, WRLVL_CNTL_3 = 0x0F10110D, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F60A, WRLVL_CNTL_2 = 0x0B0B0C0F, WRLVL_CNTL_3 = 0x0F101115, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F60A, WRLVL_CNTL_2 = 0x0B0B0C0F, WRLVL_CNTL_3 = 0x0F10111D, SDRAM_CLK_CNTL = 0x02800000 Write Leveling start values are correct and require no further modification, but the test failed due to other issues. Most common failure causes: -incorrect values configured in DDR4 DQn_MAP registers -incorrect ODT values -incorrect driver strength selected -incorrect timing values selected for Timing Configuration 0 properties (TIMING_CFG_0 register) < > {{Write Leveling start values are correct and require no further modification, but the test failed due to other issues.}} Err. capture registers: 0xE20, 0xDEADBEEF 0xE24, 0xDEADBEEF 0xE28, 0x00000000 0xE40, 0x00000000 0xE44, 0x00000000 0xE48, 0x0000001D 0xE4C, 0x60FF2001 0xE50, 0x00001FC0 0xE54, 0x00000000 0xE58, 0x00010000  ############################################ DQ mapping seems to be OK - we have 1:1 mapping from CPU to DDR slot, so we use DQ mappings from DDR module SPD without changing. What can be the problem?  Re: DDR4 calibration issues on LS1046 custom board Is there available RCW on the customer board? Has the ASLEEP led turned on and off? What's the frequency of the DDR clock? Thanks Re: DDR4 calibration issues on LS1046 custom board DDR calibration is performed using a hardcoded RCW. System clock - 100 MHz  DDR bus clock - 800 MHz, DDR data rate - 1600 mt/s Memory module - non-ECC. One interesting thing - from timer to time the 1 st stage of calibration (wrtlvl search) is successfully passed. For example: Test result: [ ================================================= Updated: WRLVL_CNTL = 0x8655F605, WRLVL_CNTL_2 = 0x00000000, WRLVL_CNTL_3 = 0x00000000, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0E, WRLVL_CNTL_3 = 0x0F10110D, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0E, WRLVL_CNTL_3 = 0x0F101115, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0F, WRLVL_CNTL_3 = 0x0F10111D, SDRAM_CLK_CNTL = 0x02800000 < > Err.capture registers: 0xE20, 0x00000000 0xE24, 0x00000000 0xE28,0x00000000 0xE40,0x00000000 0xE44,0x00000000 0xE48, 0x0000001D 0xE4C, 0x00000000 0xE50,0x00000000 0xE54,0x00000000 0xE58, 0x00010000 Dump: 0xF00,0x00000000 0xF04, 0x00000002 0xF08, 0x0000000F 0xF0C,0x14000C20 0xF10, 0x00000000 0xF14, 0x00000000 0xF18, 0x00000000 0xF1C, 0x00000000 0xF20, 0x00000000 0xF24, 0x2F003000 0xF28, 0x32003400 0xF2C, 0x39003B00 0xF30, 0x3C003E00 0xF34, 0x00005000 0xF38, 0x00000000 0xF3C, 0x00000000 0xF40, 0x00000000 0xF44, 0x00000000 0xF48, 0x00000001 0xF4C, 0xD4000000 0xF50, 0x13001500 0xF54, 0x17001900 0xF58, 0x1D001F00 0xF5C, 0x21002200 0xF60, 0x3A000000 0xF64, 0x00009000 0xF68, 0x00000020 0xF6C, 0x00000000 0xF70, 0x0070006F 0xF74, 0x00000000 0xF78, 0x00000000 0xF7C, 0x00000000 0xF80, 0x00000000 0xF84, 0x00000000 0xF88, 0x00000000 0xF8C, 0x00000000 0xF90, 0x00000000 0xF94, 0x80000000 0xF98, 0x00000000 0xF9C, 0x34043104 0xFA0, 0x35043304 0xFA4, 0x31043304 0xFA8, 0x2F043104 0xFAC, 0x04040000 0xFB0, 0x00000003 0xFB4, 0x1F1E1F21 0xFB8, 0x1E1C1F1D 0xFBC, 0x1F1B1D1E 0xFC0, 0x1C1B1C1C 0xFC4, 0x1F1E1F22 0xFC8, 0x1F1F2120 0xFCC, 0x1F1E1F20 0xFD0, 0x1C1D201F 0xFD4, 0x1F1B1B1E 0xFD8, 0x1F1D1E1C 0xFDC, 0x1F1F1D1F 0xFE0, 0x1F1D1E1C 0xFE4, 0x1F1C191A 0xFE8, 0x1C1D1C1A 0xFEC, 0x1F1E1C1E 0xFF0, 0x1E1F1E1A 0xFF4, 0x1F1F1F1F 0xFF8, 0x1F1F1F1F 0xFFC, 0x1F000000 Data: 0x00000009 0x0000000a 0x0000000b 0x0000000c 0x0000000f 0x0000000f 0x00000010 0x00000011 0x0000001d   Just after that I start calibration process again(without any changes in settings) and get a fail: ########## Result for: wrlvl_searcher ######  Test result: [ Updated: WRLVL_CNTL = 0x8655F605, WRLVL_CNTL_2 = 0x00000000, WRLVL_CNTL_3 = 0x00000000, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0E, WRLVL_CNTL_3 = 0x0F10110D, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0E, WRLVL_CNTL_3 = 0x0F101115, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated: WRLVL_CNTL = 0x8655F609, WRLVL_CNTL_2 = 0x0A0B0C0E, WRLVL_CNTL_3 = 0x0F10111D, SDRAM_CLK_CNTL = 0x02800000 Write Leveling start values are correct and require no further modification, but the test failed due to other issues. Most common failure causes:   - incorrect values configured in DDR4 DQn_MAP registers  - incorrect ODT values  - incorrect driver strength selected  - incorrect timing values selected for Timing Configuration 0 properties (TIMING_CFG_0 register) < > {{Write Leveling start values are correct and require no further modification, but the test failed due to other issues.}} Err. capture registers: 0xE20, 0xDEADBEEF     0xE24, 0xDEADBEEF     0xE28, 0x00000000     0xE40, 0x00000000      0xE44, 0x00000000     0xE48, 0x0000001D     0xE4C, 0x60FF2001     0xE50, 0x00001FC0      0xE54, 0x00000000     0xE58, 0x00010000      Dump: 0xF00, 0x00000000     0xF04, 0x00000002     0xF08, 0x0000000E     0xF0C, 0x14000C20      0xF10, 0x00000000     0xF14, 0x00000000     0xF18, 0x00000000     0xF1C, 0x00000000      0xF20, 0x00000000     0xF24, 0x2F003100     0xF28, 0x33003400     0xF2C, 0x3A003A00      0xF30, 0x3C003E00     0xF34, 0x00005000     0xF38, 0x00000000     0xF3C, 0x00000000      0xF40, 0x00000000     0xF44, 0x00000000     0xF48, 0x00000001     0xF4C, 0xD4000000      0xF50, 0x13001500     0xF54, 0x17001900     0xF58, 0x1D001F00     0xF5C, 0x21002200      0xF60, 0x3A000000     0xF64, 0x00009000     0xF68, 0x00000020     0xF6C, 0x00000000      0xF70, 0x0070006F     0xF74, 0x00000000     0xF78, 0x00000000     0xF7C, 0x00000000      0xF80, 0x00000000     0xF84, 0x00000000     0xF88, 0x00000000     0xF8C, 0x00000000      0xF90, 0x00000000     0xF94, 0x80000000     0xF98, 0x00000000     0xF9C, 0x31022F02      0xFA0, 0x33023102     0xFA4, 0x30023102     0xFA8, 0x2E022F02     0xFAC, 0x02020000      0xFB0, 0x10000003     0xFB4, 0x46444650     0xFB8, 0x45445142     0xFBC, 0x51445052      0xFC0, 0x46454544     0xFC4, 0x45434651     0xFC8, 0x44455045     0xFCC, 0x46455051      0xFD0, 0x45455146     0xFD4, 0x52505052     0xFD8, 0x52505246     0xFDC, 0x50464546      0xFE0, 0x51465042     0xFE4, 0x53464650     0xFE8, 0x52515145     0xFEC, 0x50454546      0xFF0, 0x45505142     0xFF4, 0x46464646     0xFF8, 0x52515350     0xFFC, 0x00000000        Data:  0x00000009 0x0000000a 0x0000000b 0x0000000c 0x0000000e 0x0000000f 0x00000010 0x00000011 0x00000025  ######################################################## Also I' ve noticed that Lane 8 is probed during calibration process, despite to that fact that ddr module is non-ecc and ecc is disabled in project settings.   Re: DDR4 calibration issues on LS1046 custom board 1.The QCVS does not support hardcoded RCW official, valid RCW has to be presented in the RCW source flash or SD card. Would you kindly program the RCW into the flash first, and then do the QCVS DDR validation. 2.Run the command below in the CCS: (bin) 42 % delete all (bin) 43 % config cc cwtap (bin) 44 % show cc (bin) 45 % ccs::config_chain {ls1043a dap sap2} (bin) 46 % display ::ccs::get_config_chain (bin) 47 % ccs::reset_to_debug Send the logs to me. 3.would you kindly share the schematics and confirm the layout follow the AN5097, Hardware and Layout Design Considerations for DDR4 SDRAM Memory Interfaces Thanks Re: DDR4 calibration issues on LS1046 custom board The problem was solved by updating to new version of QCVS(4.27.0)
記事全体を表示
Flexera 许可加密狗 你好 我们使用 Flexera 许可证密钥使用 CodeWarrior 5.2 和 11.1 已经有一段时间了。本来一切正常,但突然之间,CodeWarrior Suites 似乎再也无法识别加密狗了。 lmtools 可以正确显示 FLEXid: 我的 license.dat 文件位于以下路径: C:\Program Files (x86)\Freescale\CWS12v5.2 C:\Freescale\CW MCU v11.1\MCU 在 CodeWarrior 5.2 中,我遇到了以下错误: 而在 11.1 版中,我得到的是 我使用的电脑运行的是 Windows 11。我们有一些使用 Windows 10 操作系统的旧笔记本电脑,在使用时没有任何问题。 如有任何帮助,我们将不胜感激! 谢谢! 扎克
記事全体を表示
How to enable LVDS panel at uboot on iMX8M PLUS Hi, NXP Support Specialist. We're currently working on enabling an LVDS display in L6.12.20 yocto for an IMX8MP custom board. The LVDS display works well in kernel but uboot doesn't display logo, so we follow this website (https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Add-i-MX8MP-LVDS-driver-in-uboot/ta-p/1434826) to add patch to uboot 2025.04 and still cannot display. Is there any advices or patch for L6.12.20 yocto bsp? The attachments below are current uboot log we get and dm tree. Graphics & Display Linux Re: How to enable LVDS panel at uboot on iMX8M PLUS Thank you for reply and suggestion, we can see the uboot logo now! Re: How to enable LVDS panel at uboot on iMX8M PLUS Hi @Mikw  Please make sure that you have defined the display timing in simple_panel.c if you are referring the 0001-L6.1.55-Add-i.MX8MP-LVDS-panel-demo.patch. The uboot log you provided shows that the ldb driver can't decode display timing. Best Regards, Zhiming
記事全体を表示