Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32K311 引导加载程序跳转到应用程序问题 你好 我遇到过 S32K311 引导加载程序跳转到应用程序的问题。目前无法正常跳跃。我指的是论坛上的帖子,如 从 S32K312 引导加载程序到应用程序跳转 DS3.5 RTD300 的示例 - NXP 社区 统一引导加载器演示 - NXP 社区 已解决:S32K312 引导加载程序跳转到应用程序问题 - NXP Community 这些方法已经尝试过,但是无法正常跳转,ld 链接器文件也是引用示例配置的, 唯一成功的跳转方法是分别将启动程序和应用程序程序下载到 MCU,并使用 S32DS 调试启动程序。当我直接运行它们时,我无法跳转到应用程序。当我在跳转函数处断点并停止运行时,我可以跳转到应用程序程序。 试着用延迟一段时间再跳,不行,只能断点停止,然后再跑到应用程序中去 与其他 S32K3x 系列相比,S32K311 程序跳转是否特别? S32K311 引导加载程序能否成功跳转到应用程序的演示参考? S32K31XEVB-Q100 Re: S32K311 Bootloader Jump to Application issue 嗨,团队、 请告诉我这个问题的解决方案。我正试图从布尔加载器跳转到应用程序。但这并不奏效。 这是引导加载程序的链接文件。 存储器 { ITCM (RWX) :ORIGIN = 0x00000000,LENGTH = 0x8000 pflash_boot (rx) :ORIGIN = 0x00400000,LENGTH = 0xA000 fw_ver_config (rx) :ORIGIN = 0x00419FE0,LENGTH = 0x20 /* 配置管理器 1Kb */ 配置(RX) :ORIGIN = 0x0041A000,LENGTH = 0x400 PFLASH_BAF(RX) :ORIGIN = 0x004F4000,LENGTH = 0xC000 DFLASH (RX) :ORIGIN = 0x10000000,LENGTH = 0x10000 DTCM (RW) :ORIGIN = 0x20000000,LENGTH = 0x10000 sram0_stdby (rw) :ORIGIN = 0x20400000,LENGTH = 0x2000 SRAM (RW) :ORIGIN = 0x20402000,LENGTH = 0x6000 } 这是应用程序的链接文件 存储器 { ITCM (RWX) :ORIGIN = 0x00000000,LENGTH = 0x8000 pflash_app (rx) :ORIGIN = 0x00480000,LENGTH = 0xFFE0 fw_ver_config (rx) :ORIGIN = 0x0048FFE0,LENGTH = 0x20 配置(RX) :ORIGIN = 0x00490000,LENGTH = 0x400 PFLASH_BAF(RX) :ORIGIN = 0x004F4000,LENGTH = 0xC000 DFLASH (RX) :ORIGIN = 0x10000000,LENGTH = 0x10000 DTCM (RW) :ORIGIN = 0x20000000,LENGTH = 0x10000 sram0_stdby (rw) :ORIGIN = 0x20400000,LENGTH = 0x2000 SRAM (RW) :ORIGIN = 0x20402000,LENGTH = 0x6000 } 我使用以下代码跳转到应用程序。 __disable_irq(); SCB->VTOR = 0x00480000; func = *(uint32_t volatile *)(0x00480000 + 0xC); func = *(uint32_t volatile *)(((uint32_t)func) + 0x4); func = ((((uint32_t)func)& 0xFFFFFFFFU)); // Reset_Handler+1 -- 需要>--> 以避免硬故障 (* (void (*) (void)) func)(); 但跳转到应用程序的情况并没有发生。 请您在这方面支持我。 谢谢! 基兰 回复: S32K311 Bootloader Jump to Application issue 已解决
記事全体を表示
如何高效驱动和优化 OLED 监测? 嗨,恩智浦社区、 我目前正在开发一个紧凑的嵌入式系统,该系统将小型OLED监测作为主显示屏,我想向任何使用恩智浦硬件做过类似工作的人寻求指导。 使用普通恩智浦微控制器以最小的闪烁和最佳刷新率驱动 OLED 监测 的最可靠方法是什么?我特别好奇使用 SPI 或 I²C 接口时的最佳实践。在显示时间、电压等级或启动顺序方面,是否存在已知的局限性或建议的方法? 此外,恩智浦是否提供任何可简化 OLED 屏幕初始化和绘制例程的首选库或示例代码?我已经翻阅了一些文档,但如果能提供实际的实施技巧,我将不胜感激。 最后,在能效方面,OLED 显示器在低功耗电源模式下的表现如何,以及可以使用哪些技术在不损失数据完整性的情况下管理亮度或待机行为? 预先感谢您提供的任何见解。我发现这个论坛对我帮助很大,我希望能从其他应对过类似显示挑战的人那里学到经验。 感谢您的支持以及恩智浦社区的所有资源 恩智浦社区!
記事全体を表示
如何从恩智浦 FRDM RW612 模块提取 CSI 数据 大家好, 我目前正在与恩智浦 FRDM-RW612 开发板合作,目标是为 Wi-Fi 传感应用提取信道状态信息 (CSI) 数据。我查看了 SDK 文档,探索了一些射频诊断模式,但没有找到访问 CSI 的明确路径。 是否有人能提供指导,或为我指出正确的命令、固件配置或示例,使我能在该平台上提取 CSI 数据?如果您已经成功地完成了这项工作,或者找到了相关的恩智浦资源,我将非常感激您的意见。 预先致谢 Re: How to Extract CSI Data from NXP FRDM RW612 Module 嗨,@mieintern02、 另外有一篇关于如何在 FreeRTOS 平台上配置 CSI 的应用笔记。命令和示例都有清晰的解释。请参阅AN14281:FreeRTOS 上的通道状态信息 (CSI)。如果您还有其他问题,请告诉我! 谢谢! Darlena Nguyen Re: How to Extract CSI Data from NXP FRDM RW612 Module 我目前还在尝试从 FRDM-RW612 中提取 CSI 数据。我假设我缺少一个导致 CSI 回调失效的关键元器件,因为错误配置参数确实会导致固件宣布错误,例如频道配置不正确等。不幸的是,我仍然无法获得 CSI 的任何回调。 尽管有安全访问权限,AN14281:FreeRTOS 上的通道状态信息 (CSI)文件显示为不可用,我无法从技术支持或 docstore 支持获得帮助,以了解如何访问该文件(我已申请访问所有相关类别的文件,并已获得批准)。这样的帖子告诉我这是可能的,但我想不通。 如有任何帮助,我们将不胜感激。
記事全体を表示
在 i.mx8ULP 上 RESET 之前未触发 WDOG32 中断 你好 我正在研究 i.MX8ULP,并尝试在 WDOG32 触发信号 RESET 之前在中断模式下使用它。 尽管我已将监视程序配置为启用中断,但它仍然像普通的监视器一样运行——它直接RESET系统而不会产生中断。 void WDOG0_IRQHandler(void) { PRINTF("Watchdog IRQ triggered! Count = %u\r\n", wdog_irq_count); /* Clear interrupt flag */ WDOG32_ClearStatusFlags(WDOG0, kWDOG32_InterruptFlag); wdog_irq_count++; SDK_ISR_EXIT_BARRIER; } /* Get default configuration */ WDOG32_GetDefaultConfig(&config); /* Enable interrupt mode */ config.enableInterrupt = true; config.timeoutValue = WDOG_TIMEOUT_VALUE; NVIC_EnableIRQ(WDOG0_IRQn); for (temp = 0; temp < DELAY_TIME; temp++) { __NOP(); } /* Initialize WDOG32 with config */ WDOG32_Init(WDOG0, &config); while(1) { } 我附上了完整的 wdog32.c文件也在那个看门狗 IRQ 里我已经刷新了看门狗但是超时后它仍在RESET。 WDOG32 中断模式是否需要额外的初始化,在这种情况下,我只需要中断而不是 RESET 可能吗? i.MX8ULP Re: WDOG32 on ARBB mode of cortex-M33 after reset bootup issue on i.MX8ULP 你好,@Bio_TICFSL 看门狗 RESET 时你 有没有用 EVK 在 0.9V 下启动? Re: WDOG32 on ARBB mode of cortex-M33 after reset bootup issue on i.MX8ULP 你好,@Bio_TICFSL 我使用 EVK 测试了看门狗示例代码的默认高频率,启动正常。但是,当我将电压降至0.9V时(如我前面的代码片段所示),看门狗超时后,内核在启动过程中会卡住。 如果您已经在0.9V 的 EVK 上进行了测试。能否请您分享一下您在 EVK 上用于该测试的确切代码/配置? 谢谢、 Re: WDOG32 on ARBB mode of cortex-M33 after reset bootup issue on i.MX8ULP 您好, 代码没问题我只是看能降低电压的东西,因为 EVK 可以启动大约 9.0 伏特。 此致 Re: WDOG32 on ARBB mode of cortex-M33 after reset bootup issue on i.MX8ULP 你好,@Bio_TICFSL status = UPOWER_ChngRTDDomBias(DRIVE_MODE_UD); assert(status == 0); status = UPOWER_ChngPmicVoltage(PMIC_BUCK2, PMIC_VOLTAGE_0_9V); if (status == 0) { status = UPOWER_GetPmicVoltage(PMIC_BUCK2, &voltage); if (status == 0 && voltage == PMIC_VOLTAGE_0_9V) { // success } else { assert(false); } } else { assert(false); } 在调试过程中,我发现 当 PMIC 在 ARBB 模式下设置为 0.9V 时,看门狗 RESET 后,内核在启动期间会卡住。 如果我将 PMIC 电压增加到 1.0V 或 1.1V,即使在较低的频率下,RESET 和启动也能正常工作。 我需要将PMIC电压保持在 0.9V 以节省功耗,但是使用这种设置,系统在看门狗 RESET 后无法可靠地启动。 👉 在 0.9V 时可能导致此问题的原因,是否有任何建议的更改或变通办法来确保内核在该电压下 RESET 后能够正常启动? 如能得到任何帮助或指导,将不胜感激。 Re: WDOG32 on ARBB mode of cortex-M33 after reset bootup issue on i.MX8ULP 在 i.MX8ULP 的 Cortex-M33 上,我将 M33 内核配置为ARBB 模式运行。当监视程序超时时,它会尝试 RESET 内核。但是,在重启过程中,内核似乎卡住了,因为在RESET之前,代码已将M33切换到ARBB模式,该模式以较低的频率运行。 需要进行哪些修改才能使内核在 ARBB 模式下运行并且监视程序 RESET,它才能成功再次启动? Re: WDOG32 Interrupt Not Triggering Before Reset on i.MX8ULP 你好,@Bio_TICFSL 我能够在非中断模式下使用看门狗,它正在按预期重置系统。 但是,我需要看门狗中断模式,而且我不确定启用和处理中断的正确配置步骤。 你能否指导我如何在中断模式下启用 WDOG32,这样我的代码才能在 RESET 之前真正进入 WDOG32 IRQ 处理程序? Re: WDOG32 Interrupt Not Triggering Before Reset on i.MX8ULP 你好 是的,根据参考手册应该是可能的,请看第 9.1.7 章电源模式详情(实时功能域): 如你所见,在 ARBB 模式下,WDOG0 的所有必要元器件都可用,但也许 uPower 正在控制这个 WDOG 或整个 PBRIDGE0 的门控时钟。 请参阅《uPower 固件用户指南》。 此致
記事全体を表示
S32K3+RTD400+SPD 1.0.4链接文件 在使用 SPD104 时,我遇到了一些有关链接文件的问题。目前,我使用的是 iar 9.50.2 版。从 S32DS 转换为 iar 时生成的 icf 文件不包括与 SPD 相关的内容。请参阅 SPD104 手册中有关 eMcem_MemMap 的部分。在 icf 文件中增加了一些分段分配,但仍然遇到了一些问题。 最常遇到的错误是 错误[Lp005]:位置包含内容的混合部分(例如"rw 数据部分 .s32_saf_bss in eMcem.o符号:[eMcem_DriverState]") [适合放在 ROM 中] 和无内容的部分(例如"zi section .bss in abs.o symbols: [abs_output]") [适合放在 RAM 中] 。 例如,从代码来看,eMcem_MemMap.h 中有如下代码 #ifdef EMCEM_START_SEC_VAR_ZERO_INIT_UNSPECIFIED / * * * @file eMcem_MemMap.h * @violates @ref eMcem_MemMap_h_REF_1 */ #undef EMCEM_START_SEC_VAR_ZERO_INIT_UNSPECIFIED / * * * @file eMcem_MemMap.h * @violates @ref eMcem_MemMap_h_REF_1 */ #undef MEMMAP_ERROR #pragma ghs section bss=".s32_saf_bss" #endif 根据手册中的理解,此处的.s32_saf_bss 段应该是放置在 RAM 中的一段,而不是 eMcem.c 中的一段、有以下代码 #define EMCEM_START_SEC_VAR_ZERO_INIT_UNSPECIFIED /* @* 违反 @ref eMcem_c_REF_0410 */ /* @violates @ref eMcem_c_REF_2001 */ #include"eMcem_MemMap.h" / * * * @brief 驱动器状态。 * 在启动或运行期间,eMCEM 驱动程序从 EMCEM_S_UINIT 变为 EMCEM_S_INITIALIZED。 * 如果配置锁类型设置为 HARD_LOCK,驱动程序会锁定其配置 * 并将其状态更改为 EMCEM_S_LOCKED。 */ eMcem_StateType eMcem_DriverState = EMCEM_S_UNINIT; #define EMCEM_STOP_SEC_VAR_ZERO_INIT_UNSPECIFIED 在代码中,eMcem_DriverState 被明确赋值。尽管此处的赋值为 0,但根据规则,应将其放在数据部分中 我可以对编译器进行配置,强行纠正变量的段分配逻辑:将本应属于"no content" 的显式零初始化变量从.data 段(有内容)移至.bss 段(无内容),使其符合链接器脚本中的要求,即只有"no content 段" 才能放置在 RAM 区域,从而解决混合放置的冲突。但我认为这不是解决问题的根本办法 有没有更合理的办法解决这个问题? Re: S32K3+RTD400+SPD 1.0.4 link file 嗨,@Neo1096、 您能使用本主题中的链接器文件吗? https://community.nxp.com/t5/S32K/S32K3-SPD-DMA/m-p/2139734 BR,丹尼尔
記事全体を表示
RT I.MX 1172 Secure RMとアプリケーションノートが見つかりません 皆さんこんにちは 現在、I.MX RT 1172 をベースにしたプロジェクトを開発しています。 Secure リファレンス・マニュアルを参照したいのですが、RT1172 ページにソースが見つかりません。また、セキュア デバッグ アプリケーション ノートやその他のアプリケーションもどこにも見つかりません。 クラウドで、最新の RT1172 Secure RM と RT1172 関連のアプリケーションノートを入手する方法を教えてください。 Re: RT I.MX 1172 Secure RM and application note can not be found 更新された情報をありがとうございます。追加の許可を申請してみましたか? よろしくお願いいたします。 Re: RT I.MX 1172 Secure RM and application note can not be found 安全なファイルにアクセスする権利があるはずだと私は思います。NDAに署名しているため、RTもセキュアファイルページから確認され、付与されます。(下の画像を参照) したがって、このファイルをダウンロードする方法がわかりません。(NXP FAE にお問い合わせしても、この RT1172 の SRM が見つからない、入手できないとのことなので、RT1172 の SRM の入手方法を調べていただけますか? Re: RT I.MX 1172 Secure RM and application note can not be found こんにちは@Yiming2 さん 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 安全なアクセス権がないと思われますので、次のリンクを確認してください。 https://www.nxp.com/support/support/secure-access-rights:SEC-ACCESS お役に立てれば幸いです。 まだ質問がある場合は、お気軽にご連絡ください。 素敵な一日をお過ごしください! よろしくお願いします メイリュー Re: RT I.MX 1172 Secure RM and application note can not be found これは SRM を見つけようとするページです。しかし、空があります。 https://www.nxp.com/products/i.MX-RT1170
記事全体を表示
示例项目中缺少 TCP/IP 协议栈 你好、 我正在使用 S32K1 系列板,更具体地说,是 S32K148。 我面临的问题是,连示例项目都无法编译。我使用 S32DS IDE 和"New -> Project from Example" 创建它,从中选择 lwip_FreeRTOS_S32K148。 该文档说,应该可以直接从那里版本它。但事实并非如此,因为有很多文件丢失了。打开 S32 配置工具并更新代码后,大部分问题都解决了。但是,lwip 堆栈文件夹仍然丢失,我在 “税务摊销收益” 中出现错误,指出 tcp/ip 堆栈不包含在工具链中。 正如堆栈发行说明中所述,我安装了 S32K1_S32M24X 实时驱动程序 AUTOSAR R21-11 版本 3.0.0还有 S32K1 FreeRTOS 10.5.1 版本 2.0.0 代码包,我使用的是 S32DS 3.6.3。 Re: Missing TCP/IP stack in example project 你好@sergioGeronimo、 这是由 RTD 3.0.0 之间的清单 SDK 版本不匹配造成的(版本 2.0.0)和 TCP/IP 3.0.0(版本 3.0.0)版本。 要解决这个问题,请按照以下步骤操作: 1.进入 S32DS 安装文件夹,或机器的相应路径。 C:\NXP\S32DS.3.6.1\S32DS\software\PlatformSDK_S32K1_S32M24 2.打开tcpip_itm_manifest.xml ,将版本从 3.0.0 改为 2.0.0 3.重新启动 S32DS 4.打开外设视图并运行"更新代码" 5. 再次运行 Build 顺祝商祺! 帕维尔
記事全体を表示
LPCScrypt 无法在 Windows 11 25H2 上运行 [LPCScrypt版本2.1.3_83] 为了启动和刷新旧的 LPC1857,我们使用 lpcsCrypt 来更新设备固件。 自 Windows 11 25H2 起,LPCScrypt 就坏了:在命令行(即 PowerShell)上调用它会导致"错误:来自 CreateProcess 的错误:系统无法找到指定的文件" Sysinternal 的 Process 监测 假设 LpcsCrypt 正在使用 " wmic 路径 win32_pnPentity 执行 wmi 查询,其中(像 '%usbser%' 这样的服务,像 '%lpc%' 这样的名称)get.exe "。 但是,wmic 已于 2016 年宣布弃用,并已于 25H2 起从 Windows 11 中 移除 (请参阅 Windows Management Instrumentation Command-line (WMIC) removal from Windows - Microsoft Support) 。 请求恩智浦开发团队解决:这个问题是否已被发现?如何让它在未来发挥作用? Re: LPCScrypt not running on Windows 11 25H2 你好,ErichStyger,你说得没错。从 Windows 10 升级后,wmic 将保留在 Windows 11 中。 但我不得不重新安装 Windows 11 系统,结果遇到了这个问题。 Re: LPCScrypt not running on Windows 11 25H2 感谢您提供的信息。 我的解决办法是在 Windows 11 中添加 wmic 支持,具体如下 以管理员身份打开系统设置,进入可选功能(... 更多功能...)并添加 wmic 或使用" DISM/Online /Add-Capability /CapabilityName:WMIC" [请参阅将 WMIC 安装到 Windows 11 计算机 - Microsoft Q& A] 。 此致, 马蒂亚斯 Re: LPCScrypt not running on Windows 11 25H2 可能是因为我已经从 Win10 升级到了 Win11,我的机器上仍然有 WMIC: Re: LPCScrypt not running on Windows 11 25H2 我最近从 Win10 升级到了 Win11 25H2。 但到目前为止,我还没有看到 LPCScrypt 出现问题(尚未)。使用 LinkServer v25.9.134 中代码包的那个(见下文) 用 LPCScrypt 更新我的 LPC-Link2 运行正常。 我不是 WMIC 方面的专家,但根据信息,它在 25H2 中消失了,chatGTP 建议将旧版本 Windows 中的 wmic.exe 和 wmic.exe.mui 复制到 25H2。 恩智浦已经意识到了这个问题,下一个LinkServer版本中可能会有更新的LPCsCrypt。 Re: LPCScrypt not running on Windows 11 25H2 你好@mathiasmonse 感谢您的提问。 如果 WMIC 支持被移除,可以尝试安装。或者使用早期的 Windows 版本,或者在 Linux 或 macOS 上运行 LPCScrypt。 BR 爱丽丝
記事全体を表示
S32K142チップのロックを解除する方法 S32K142 チップは、FSEC の SEC 位置を 11 に設定します。 /* フラッシュ設定 */ 。セクション.FlashConfig, "a" 。長さ0xFFFFFFFF /* 8バイトのバックドア比較キー */ 。長さ0xFFFFFFFF /* */ 。長さ0xFFFFFFFF /* 4バイトのプログラムフラッシュ保護バイト */ 。長さ0xFFFF7FFF /* FDPROT:FEPROT:FOPT:FSEC(0xFE = 保護されていない) */ PEMicroを使用してプログラムをチップに書き込んだ後、デバッグが不可能になりました。「デバイスはセキュリティ保護されています。消去してセキュリティ保護を解除しますか?」というメッセージが表示されます。「はい」をクリックすると再びメッセージが表示され、さらに「はい」をクリックするとPEとデバイス間の接続エラーが発生します。JLINKもチップに接続できません。 デバッグ構成で「フルチップ消去による緊急 Kinetis デバイス回復」をチェックしても、接続を確立できません。 Re: S32K142芯片如何解锁 こんにちは@minsky 使用方法に違いはありません。J-LINKで選択したプログラミングアルゴリズムによって異なります。例えば、J-FLAHSを使用している場合は、手順の中でプログラミングアルゴリズムを選択するように求められます。 この記事の次のセクションをお読みください。 5. S32K1xxシリーズMCUのフラッシュプログラミングに関する一般的な問題と注意事項 https://mp.weixin.qq.com/s?__biz=MzI0MDk0ODcxMw==&mid=2247485716&idx=1&sn=979631aa2385a4e3c7651ee75ee252b4&chksm=e9124d92de65c484f1cfec7de451958cfd5cf818c46a4f71a7d3dd8a522af229c5a18aad58ff&scene=21#wechat_redirect Re: S32K142芯片如何解锁 こんにちは。CSEcキーを有効にし、J-Linkでデバッグを無効にしてプロジェクトをコンパイルし、J-Linkを使ってプログラムしました。チップに接続してJ-Linkで内容を読み取ることはできます。この機能はPEでのみ有効でしょうか? Re: S32K142芯片如何解锁 こんにちは@minsky これらは2つの別々の問題です。バックドアの有効化/無効化に関わらず、CSECを有効にしてキーを割り当てている場合は、一括消去操作を実行する前にキーを消去する必要があります。つまり、ご質問に戻ると、まずCSECキーの消去をデバッグして正常に実行されることを確認し、その後、スタートアップファイルでFSECを設定することができます。ご説明いただいた内容から判断すると、この問題はCSECの不適切な削除に関連しているのではないかと推測します。 Re: S32K142芯片如何解锁 こんにちは。弊社製品ではCSEc機能を有効にする必要があります。デバッグを無効にした後でも、一括消去を実行できるようにバックドアを残すにはどうすればよいでしょうか? まずファイルをパーティション分割し、CSECキーを有効にしてから、 FSECのSEC位置を11に設定し、LIN経由で信号を送信してみました。LIN信号を受信した後、CSECキーを消去しましたが、それでも失敗しました。これは、HEXファイルを「FSECのSEC位置が11に設定されている」ところまで書き込んだ後、それ以上書き込めなくなったためでしょうか? Re: S32K142芯片如何解锁 こんにちは@minsky まず、設定に問題は見当たりません。問題は以下の状況が原因である可能性があります。 例えば、以前にチップ上でパーティション操作を実行し、CSEcキーを有効にしたことがありますか?その場合、デバッガを使用して直接一括消去操作を実行することはできません。一括消去を使用してMCUを操作する前に、CSEcコマンドを使用してCSEcキーを消去する必要があります。
記事全体を表示
i.MX Image Build Hello NXP team, I'm now building configurations for FRDM i.MX8MP and select MACHINE = "imx8mp-lpddr4-evk". But Yocto ultimately adopted the Olimex configuration and generated Olimex i.MX8MP EVB. Is this why? Do I need to rebuild the image? Thanks for the response. FRDM-IMX8MPLUS  Re: i.MX Image Build Hi @SQ1  No, i have not compile it. B.R Re: i.MX Image Build Do you have the compiled image or SDK file? Re: i.MX Image Build Hi @SQ1  The minimum hard disk space required is about 50 GB. It is recommended that at least 120 GB is provided, which is enough to compile all backends together. For building machine learning components, at least 250 GB is recommended. But, For imx-image-full image and SDK, i suggest you need to reserve at least 500GB disk space size. B.R Re: i.MX Image Build 5.4.0-150-generic. And I‘ve changed to in 'qstorageinfo_linux.cpp' to avoid using patch. I'm now doing 'bitbake imx-image-full' and 'bitbake meta-toolchain-qt6'. I'm worried that there's not enough disk space for that. Do you have compiled .wic .sh files? Re: i.MX Image Build Hi @SQ1  what is version do you use? i will try to reproduce your problem in my site. BTW, did you change any code? B.R Re: i.MX Image Build Hello, when running 'bitbake imx-image-full', I encountered a compilation error reporting that ‘ ’ was not found. This header file was unavailable in the SDK or Yocto cross-compilation environment. I attempted to generate a patch and substituted ' ' but also failed. Re: i.MX Image Build HI @SQ1  For imx8mp frdm board, you should run the MACHINE = "imx8mp-lpddr4-frdm". B.R
記事全体を表示
使用 SJA1110 进行 IGMP 侦听 你好 我有一台 S32G,配备运行 bsp43 的 SJA1110,正在尝试启用 IGMP 侦听以动态路由多播流。 我发现了一些与 IGMP 有关的特殊问题,但不知道如何解决。 我已经确认,禁用 IGMP 侦听会导致组播数据包涌入交换机,因此 IGMP 侦听选项正在发挥作用...... 但不是预期的行为。 组播流量总是转发到枚举的最低活动端口 端口 4 传出的数据流,如果端口 3 上的节点通过 IGMP 请求流量,就会导致流量通过端口 1 传出(如果该链路处于活动状态),就像端口 1 请求流量一样。 如果端口 1 链路未激活,流量将被转发到端口 2(如果该链路激活)。 我可以用 mdb 手动路由流量,但我希望 IGMP 侦听能自动管理流量。 启用多播查询器不会导致成员资格查询从交换机端口传出。 DSA 网桥接口上有 IGMP 查询,但在连接到交换机的其他链路上看不到 IGMP 查询 我怀疑我可能需要安装一个 tc 规则来捕获来自网桥端口的 IGMP 查询并将其重定向到交换机端口? 我不清楚这是 Linux 配置的问题还是交换机硬件的限制。 谢谢您的建议。 Re: IGMP Snooping with SJA1110 恩智浦没有回复我的支持单,本帖也没有回复,因此我将在此记录我的发现。 在 BSP43 上。 当端口由网桥连接时,SJA1105 DSA 驱动程序似乎不支持 SJA1110 的 IGMP 侦听。 在驱动程序设置期间,sja1110 端口设置为独立组网 (SA) 模式,其中 dsa `tag_8021q` 在交换机的每个端口上安装不同的 vlan 查询规则。vlan-lookup 规则使用`tag_8021q`以太类型`0xDADB`和包含端口 ID 等元数据的 vlan标记入口数据包。 这就为主机处理器创建了一种机制,使其能够知道数据包是从哪个端口接收的,并在特定端口上输出数据包。 当端口在网桥中链接时,"tag_8021q "会用与网桥相关联的单一规则取代每个端口的 vlan-lookup规则。 主机处理器现在无法分辨数据包来自哪个端口,也就无法将数据包输出到特定端口。 我认为使用 `vlan-filtering` 也会破坏此处所述的机制(sja1110 显然属于第二种类型,因为它调用了 `dsa_tag_8021q_bridge_join`)。 主机处理器创建的 IGMP 查询器数据包仍然标记为每个端口的 vlan,但 vlan-lookup 只包含网桥的规则,因此 IGMP 查询器数据包会被发送到空白处。 它们被扔进了垃圾桶。 它们不会输出交换机。 可以通过修改 这一行来 改变这种行为 : if (!dp->bridge) { tx_vid = dsa_tag_8021q_standalone_vid(dp); } else { tx_vid = dsa_tag_8021q_bridge_vid(dp->bridge->num); } 现在,IGMP 查询器信息将从交换机输出,但仅此还不能启用 IGMP 侦听,因为主机处理器不知道 IGMP 加入/离开是在哪个端口上接收的,因为 "tag_8021q "仍然是全桥范围的,而不是端口特定的。 交换机必须捕获数据包并应用本地 sja1110 标记(ethertype 0xdadc),才能启用 IGMP 侦听。 交换机可通过两个 `mac_fltres` 捕捉数据包并添加标记,但驱动程序已将其用于 PTP 和 STP。 用户空间实用程序 `tc` 可以配置为捕获数据包,但这是通过虚拟链接实现的,虚拟链接不会将标记添加到捕获的数据包中。 最后两个选项是使用 l2- 查找或深度数据包检查。 l2-lookup 可用于通过设置陷阱位来捕获目标 mac 地址 01:00:5E:00:00:16,从而启用 IGMPv3。 这也会匹配任何以 *.0.0.22 结尾的组播 IP 组,因此不是一个好的解决方案。 使用网桥时,深度数据包检测似乎是启用 IGMP 侦听的唯一方法。 无论使用何种捕获机制,该提交都是必要的,否则 sja1110 标记将被 `tag_8021q` 覆盖,而 `tag_8021q` 也只代表桥接器。 Re: IGMP Snooping with SJA1110 请注意,上面建议的解决方案将为网桥上的每个 DSA 端口发送 IGMP 查询... 重新安装 vlan-lookup 规则从正确的端口输出数据包也是一种解决方案,但我认为端口 0 会与网桥安装的 vlan-lookup 发生冲突,因此也不是一个好的解决方案。 发送过多的 IGMP 查询除了会增加流量外,似乎没有任何副作用。
記事全体を表示
IFC GPCM 正常模式连续交易之间的间隙 HI 我们的 T1024 处理器在 GPCM(正常)模式下使用 IFC 与 FPGA 通信。 每个单独的事务都能按预期运行,但当我们尝试背靠背执行事务时,我们会发现芯片选择信号在每个事务之间处于非激活状态,写入需要 4 个外部 IFC 时钟,读取需要 10 个外部 IFC 时钟,如此长的间隔大大降低了我们在该接口上可以实现的数据传输速率。 我们使用的时钟分频值为 3(IFC_CCR[CLKDIV]="0010" ),端口大小为 16 位(IFC_CSPRn[PS]="10" ),并使用定时事务而非确认模式(IFC_CSORn[RGETA]=IFC_CSORn[WGETA]='0',IFCTA_B 绑定为非激活状态)。 为了执行连续交易,我们使用 DMA,但是如果我们只执行 32 字节的读取或写入(禁用突发模式),我们会看到完全相同的问题——硬件将其转换为两个 16 位操作,但两者之间的差距相同。 如果我们使用突发模式,交易之间也会出现相同的间隔(当然,每笔突发交易之间没有间隔!) 顺便说一句,在 P1025 处理器上,处于 GPCM 模式的 " 增强型本地总线控制器 "(它的可配置时序不如 T1024 中的 IFC)出现同样的问题。 我的问题是:有什么办法可以缩短芯片选择输出在两个事务之间的非活动时间(理想情况下只需一个 IFC 输出时钟)? 我想,如果有人能解释一下为什么我们的交易之间会出现这些间隙,或者至少有人能确认一下他们是否看到了同样的行为,这可能会有所帮助。 如能得到任何帮助/启发,将不胜感激! 谢谢你,比尔。 QorIQ T1 设备 Re: IFC GPCM normal mode gap between successive transactions 感谢您确认 CS 在读取交易后的最短非活动时间。 我们使用突发模式来提高性能,效果不错。固定时间对我们来说很方便,因此我们不必使用 IFCTA_B。 Re: IFC GPCM normal mode gap between successive transactions 在读取交易的情况下,当 TRHZ = 000 时,读取交易后 CS(芯片选择)的最短非激活时间固定为 20 个 IP 时钟。为了进一步优化,我们建议使用 IFCTA_B 信号。 对于突发模式下的写入事务,在突发期间芯片选择 (CS) 信号是否处于失效状态?还请客户共享写入操作期间正在编程的寄存器的波形和转储。 Re: IFC GPCM normal mode gap between successive transactions 感谢您的回复 yipingwang,即使您真正说的是"阅读手册" ! 顺便说一句,我们在 GPCM 模式下使用 IFCTA_B 没有问题——我们使用的 IFC 既配置为确认模式,又配置为中止模式(尽管在中止模式下我们从不触发信号中止,因此我们将 IFCTA_B 设置为非活动状态),而且两者都按预期工作。 我们了解 TRAD 和 TACO 等字段,这些字段会影响交易,但它们只影响交易内部的时间,而不是交易之间的时间。 但是根据你的回应,我们再次在参考手册中查看了任何可能影响交易间隙的寄存器——我们确实发现了两个寄存器,均与 "总线 turn-around " 有关,因此只有在阅读后才会影响差距。 它们是一些实验表明,这些参数确实会对连续读取事务之间的 CS 非活动时间产生影响。 我们之前没有仔细研究这些设置,因为对其效果的描述(见第 23.4.5"数据缓冲器控制 (BCTL)" 节)似乎假定 BCTL 信号已启用,并将其描述为与闪存模式相关,而我们通过将 IFC_CSORn [BCTLD] 设置为 "1 "禁用了 BCTL 信号,而且我们使用的当然是 GPCM 模式而非闪存模式。 但是令我们失望的是,参考手册指出 IFC_csorn [THRZ] 可配置的最小延迟为 " 20 IP 时钟 "(TRHZ 字段设置为 " 000 ")。由于我们使用了 3 的除法比,即 6.66 个 IFC 输出时钟,这确实与连续读取之间 CS 非活动时间比连续写入之间 CS 非活动时间的增加相吻合。我们尝试将 TRHZ 字段值分别设置为"001" 和"010" 40& 60 个 IP 时钟,结果发现连续读取事务之间的间隙确实分别增加了约 7& 14 个 IFC 输出时钟,因此我们确实知道该字段在起作用。 IFC_GCR [TBCTL_TRN_TIME] 也会影响连续读取事务之间的间隙,但这对我们来说不是问题,因为我们可以将其设置为零。 我愿意相信,写入事务之间的间隙可能是固定的,我们无法从任何寄存器中控制它(但如果我错了,请告诉我)。 所以,我的问题变得很简单: IFC_CSORn [TRHZ] 字段值为"000" ,读取交易后的 CS 非活动时间是否真的至少为 20 个 IFC IP 时钟,或者我们是否有办法选择更短的时间? 我期待着您的答复,不过我更希望得到的答案是:"不,您只能使用至少 20 个 IFC IP 时钟" ,我们只能忍受通过该接口读取数据时吞吐量大大降低的情况。 我们可以使用突发模式稍微缓解这种情况,但我们认为这是与较旧 P 系列处理器接口相比性能的显著下降。 无论如何,感谢您的支持! 干杯,比尔 Re: IFC GPCM normal mode gap between successive transactions 首先,客户需要在 GPCM 模式下启用 IFCTA_B。 例如,客户可以尝试设置 IFC_FTIM1_CSn_GPCM 寄存器的 TRAD 和 TACO 字段,同样,也可以调整其他定时寄存器以优化性能。 还请客户参阅第 23.7.1.1 节,"正常 GPCM 程序运行" 。例如,图 23-49,"正常 GPCM 程序运行 - 确认模式" 说明了芯片选择保持激活状态的多数据交易情况。使用该模式时,请确保对所有相关寄存器进行相应配置,以实现所需的性能。
記事全体を表示
emmc波形异常,导致无法写入 因为英文不好,所以只能中文来描述问题。 本人制作了imx6q的核心板,使用的是emmc5.1的芯片,VCCQ和VCC都是3.3V。在实际的测试中发现,只有当imx6q的emmc时钟是13M,系统才能正常启动、读写。如果大于13M,则读写的时候会提示错误。 首先我们排除内核的问题,我们有一块一模一样的6Q核心板,emmc也是同一型号的,但是是其他公司制作的,我们的内核能够正常运行。 回到我们自己制作的核心板,用高速示波器测试发现,在启动阶段mmc时钟400K的电平是3.3V,但是随着初始化结束,mmc的频率提高到13M或者更高,则3.3v会降低到2.0V,从测试结果来看,频率越快,电压降低的幅度越大。以下是我们的原理图,我们更换过clk和cmd上的电阻,但是无效。 所以我们想知道,电压幅值降低是不是导致mmc无法正常工作的原因?是什么导致了mmc引脚的电压幅值从3.3V降低到2,0v?如果需要其他的额外信息来进行判断,我可以提供图片,希望技术支持和论坛大佬,能够提提意见,非常感谢!  i.MX6Quad 回复: emmc波形异常,导致无法写入 你好,你这个问题解决了吗, 我这边遇到类似的问题,VCCQ都是接的3.03v 有两块不同的硬件板子,同样的固件在一块板子A上正常存储数据,在另一个板子B上存储不稳定,长期运行数据存储异常,底层读写报错。 Re: emmc波形异常,导致无法写入 那除了layout ,pcb的板材,制程。没有其他原因了。 Re: emmc波形异常,导致无法写入 1.我们是参考其他的板子,emmc型号一模一样的,原理图一模一样,其他板子用同样的代码能够正常运行. 2.有考虑过vccq的问题,我们尝试将3.3V的vccq调整到1.8V,emmc的时钟可以到达40M,读写都是没问题,但是不能到达52M;但是示波器看波形也不太好,测量的时候非常容易受干扰.看手册,vccq关系到emmc的io电压,emmc从3.3V降到2V,这个2v对于1.8V来说,就是有效电压1.2V对于3.3v来说,其实是0电平. Re: emmc波形异常,导致无法写入 1. 可以去问一下emmc 厂家dual voltage (1.8v/3.3v) 那个VCCQ 在3.3v 时候要不要接。或者仔细看一下emmc的手册。  2. 如果可以rework 板子。 吧VCCQ 改成1.8v 3. 波形量一下 不过意义不大。 因为你说 高速时候3.3v 降到了2.0v。波形应该是不符合要求的。 所以#1 问一下emmc 厂家,3.3v的时候的供电。  Re: emmc波形异常,导致无法写入 好的,非常感谢您的建议! 1.我们试过用4bit的方式来读写emmc,如果emmc时钟大于13M,仍然会提示错误. 2.可以确定,我们pcb布线的时候数据线都是等长的;且制板的时候已经向板厂交代阻抗匹配相关信息.但是具体的阻抗参数,我们没有专用的仪器可以验证. 3.我们调整过原理图上data,cmd,clk上的电阻,不管是调大或者调小,但是都无效. Re: emmc波形异常,导致无法写入 嗨,@yacheng_zhang、 不应手动更改或硬编码 eMMC 时钟。 可以使用各种设备树绑定来指定设备树中支持的速度模式。 https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/Documentation/devicetree/bindings/mmc/mmc-controller.yaml 谢谢& Regards, Ritesh M Patel Re: emmc波形异常,导致无法写入 1. 如前面的说的。 不管高速低俗1.8v 都是正确的电压。而且不是不要高速用3.3v。当然可以省一个电压。  2. 看log的error 要详细看一下layout的等长± 50 mils。 和50ohm 阻抗匹配。 3. 要降频也不用去代码。只要在device tree 里面写上 max-frequency = <26000000>; 硬改代码会带来不必要的,和连自己都不知道的副作用。  4. 可以试试4bit mode,但是还是要先检查一下等长和阻抗匹配。  5. 可以调整一下 clock 上的串阻, 如果data上有也可以调整。  Re: emmc波形异常,导致无法写入 你好,非常感谢你的回答! 1.我们的核心版参考了其他厂家的硬件设计,vccq使用3.3V,因为我们不需要高速模式. 2.查看设备树配置如下,已经默认添加no-1-8-v,具体参数如下 3.通过查看 /sys/kernel/debug/mmc3/ios,具体如下,可以看到协商成ddr52,这是我想要的模式;时钟之所以是40M,是我修改内核代码,手动改成40M.   请问我的参数,哪里可能存在不正常的地方?谢谢 Re: emmc波形异常,导致无法写入 硬件设计: 1. 这个不是问题, 但是指出来一下。      VCCQ 没有必要用3.3v, 1.8v 可以支持HS200,HS400 和所有的legacy speed。      也就是说emmc 的IO 用1.8v总是对的。       详见EMMC 的JEDEC spec. bus speed modes 章节        2. 目前的设计最有可能的是,协商成了高速模式。 但是IO 供电是3.3v。 emmc 做了切换,所以会量到一个2.0 的间于3.3v 和1.8v的中间电平。但是你们没有提供有用信息。可以cat /sys/kernel/debug/mmc3/ios 拿到协商后的信息。看工作在什么模式下面。  目前可以在软件上fix 一下模式。 device tree 里面加一下no-1-8-v 。只用legacy speed,i.MX6 也支持到DDR52.  或者 只作为测试 uboot 的bootargs 加  sdhci.debug_quirks2=0x4 的 no 1v8 的 quirks    Re: emmc波形异常,导致无法写入 是的,eMMC 初始化成功,我可以看到 emmc 信息。 复制文件时,emmc 提示以下错误 问题的原因可能是什么?这是否与 PCB 有关?我们可以提供 PCB 文件。 谢谢 Re: emmc波形异常,导致无法写入 嗨,@yacheng_zhang、 希望你一切都好。 电压下降发生后,eMMC 初始化是否成功完成? 当 eMMC 故障频率超过 13M 时,能否共享日志? 谢谢& Regards, Ritesh M Patel
記事全体を表示
imx-automotive-14.0.0_2.3.0 版本问题 我正在尝试在 ubuntu 22.04 桌面中版本 " imx-automotive-14.0.0 _2.3.0 "。当我启动安卓版本时(我运行了这个命令 "./imx-make.sh-j4 2 > & 1 | tee build-log.txt ")。版本已启动,运行了几分钟并终止。我附上 build-log.txt 文件供你参考。请帮助我解决这个问题。提前感谢您 Re: imx-automotive-14.0.0_2.3.0 build issue 如果你不做任何改动,你能成功版本 android 14 吗?建议你在不做任何修改的情况下版本 android 14,至少改善你的版本环境没问题 Re: imx-automotive-14.0.0_2.3.0 build issue 你好, ,我已经安装了libbpf-dev,但在构建时仍遇到问题。我正在附上版本日志文件。请帮我解决这个问题。 我所做的其他更改 1) 在此路径下 /home/sdv/Music/imx-automotive-14.0.0_2.3.0/android_build/vendor/nxp-opensource/kernel_imx/scripts/ 文件link-vmlinux.sh 内、注释的代码。 #if ![ -x"$(命令 -v${PAHOLE})" ]; then # echo>& 2"BTF:${1}: pahole (${PAHOLE}) is not available" # 返回 1 #fi 2) 在此路径中,/home/sdv/Music/imx-automotive-14.0.0_2.3.0/android_build/out/target/product/mek_8q/obj/KERNEL_OBJ/ 在.config 文件中, 将CONFIG_DEBUG_INFO_BTF=y改为# CONFIG_DEBUG_INFO_BTF 未设置 将CONFIG_DEBUG_INFO_DWARF5=y改为# CONFIG_DEBUG_INFO_DWARF5 未设置 Re: imx-automotive-14.0.0_2.3.0 build issue 你好, ,因为它说需要 libbpf 头文件,所以你需要安装 libbpf-dev。 致敬, Zhiming Re: imx-automotive-14.0.0_2.3.0 build issue 你好, 我已经安装了必要的代码包并开始版本。之后,我得到了一个错误信息:"libbpf:BTF header not found pahole: .tmp_vmlinux.btf:无效参数 LD .tmp_vmlinux.kallsyms1 NM .tmp_vmlinux.kallsyms1.syms KSYMS .tmp_vmlinux.kallsyms1.S AS .tmp_vmlinux.kallsyms1.S LD .tmp_vmlinux.kallsyms2 NM .tmp_vmlinux.kallsyms2.syms KSYMS .tmp_vmlinux.kallsyms2.S AS .tmp_vmlinux.kallsyms2.S LD vmlinux BTFIDS vmlinux FAILED: load BTF from vmlinux:Invalid argument make[4]:*** [/home/sdv/Music/android_build/vendor/nxp-opensource/kernel_imx/scripts/Makefile.vmlinux:37:vmlinux] 错误 255 make [4]:*** 删除文件 'vmlinux' m ake [3]:*** [/home/sdv/music/android_build/vendor/vendor/nxp-opensource/kernel_imx/M akefile: 1237:vmlinux] 错误 2 make [2]:*** [/HOME/SDV/music/android_build/vendor/vendor/nxp-opensource/kernel_imx/Makefile: 1237:vmlinux] 错误 2 make File: 252: __sub-make] 错误 2 make [2]:离开目录 '/home/sdv/music/android_build/out/target/product/mek_8q/obj/kernel_obj 'make [1]:*** [Makefile: 252: __sub-make] 错误 2 make [1]:离开目录' /HOME/SDV/Music/android_build/vendor/vendor/vendor/vendor/vendor/vendor/nxmasic/music/Android_build/vendor/vendorp-openSource/kernel_imx ' 制作地址:*** [/home/ SDV/music/Android_build/device/nxp/common/build/kernel.mk: 197:/HOME/SDV/音乐/Android_build/out/target/product/mek_8q/obj/kernel_obj/kernel_obj/arch/arch/arch/arch/arch/arc/arch/arch/arch/错误 2 make:Leaving directory '/home/sdv/Music/android_build'".因此,我取消了 "生成 BTF 类型信息 "选项。 我再次启动了新的版本,但是版本运行了几分钟并停止了。我附上了构建日志文件以供参考。请帮助我解决这个问题。预先表示感谢。 Re: imx-automotive-14.0.0_2.3.0 build issue 嗨 @VarunK1 请参考用户指南安装必要的主机软件包。 致敬, Zhiming
記事全体を表示
RPMsg-Lite rpmsg_lite_alloc_tx_buffer は A55 がサスペンドされるとブロックまたはエラーが発生します こんにちは、 i.MX93 上の Cortex-M33 と Cortex-A55 間の RPMsg-Lite 通信で問題が発生しています。 A55 がサスペンド モードに入ると、M33 側での rpmsg_lite_alloc_tx_buffer() への呼び出しは、正確な状況に応じて無期限にブロックされるか、ハード エラーが発生します。関数 rpmsg_lite_is_link_up() は引き続き true を返すため、この状態が明確に検出されません。 根本的な問題は、vq->vq_ring.availがマッピングされたままであるが、vq->vq_ring.avail->idxにアクセスすると、障害またはハングを引き起こします。A55 が停止し、通信が信頼できなくなったことを検出する安全なメカニズムは存在しないようです。 これにより、M33 側の堅牢性を確保することが難しくなります。理想的には、A55 が中断されたときに、rpmsg_lite_alloc_tx_buffer() がクラッシュしたり無期限にブロックしたりすることなく、安全にエラーを返すかタイムアウトするようにします。 このCASEを安全に処理するための推奨事項や回避策はありますか? また、この状況に対処するための更新が予定されていますか? よろしくお願いいたします。 パトリス Re: RPMsg-Lite rpmsg_lite_alloc_tx_buffer Blocks or Faults When A55 is Suspended こんにちは、 前に言ったように、そのアドレスは SRAM ではありません。共有 SRAM を CAN: SDKs 内の sai_low_power_audio の例を参考にしてください。 ここで、SRAM を指しているリンカー ファイルをCANます。 よろしくお願いいたします。 サラス。 Re: RPMsg-Lite rpmsg_lite_alloc_tx_buffer Blocks or Faults When A55 is Suspended こんにちは、 ご提案のとおり、vdev vrings を設定してみました。 reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; ethosu_mem: ethosu_region@88000000 { compatible = "shared-dma-pool"; reusable; reg = <0x0 0x88000000 0x0 0x8000000>; }; vdev0vring0: vdev0vring0@aff00000 { reg = <0 0xaff00000 0 0x8000>; no-map; }; vdev0vring1: vdev0vring1@aff08000 { reg = <0 0xaff08000 0 0x8000>; no-map; }; vdev1vring0: vdev1vring0@aff10000 { reg = <0 0xaff10000 0 0x8000>; no-map; }; vdev1vring1: vdev1vring1@aff18000 { reg = <0 0xaff18000 0 0x8000>; no-map; }; rsc_table: rsc-table@2021e000 { reg = <0 0x2021e000 0 0x1000>; no-map; }; vdevbuffer: vdevbuffer@87f00000 { compatible = "shared-dma-pool"; reg = <0 0x87f00000 0 0x100000>; no-map; }; ele_reserved: ele-reserved@87de0000 { compatible = "shared-dma-pool"; reg = <0 0x87de0000 0 0x100000>; no-map; }; }; M33 コードでは次のようになります。 #define VDEV0_VRING_BASE (0xAFF00000U) #define VDEV1_VRING_BASE (0xAFF10000U) A55 がサスペンド状態でない場合、通信は正常に動作しますが、A55 がサスペンド モードの場合、M33 は常に rpmsg_lite_alloc_tx_buffer でクラッシュします。 あなたの側でこれをテストしましたか?これは動作するはずですか? お時間を割いてご協力いただきありがとうございました。 Re: RPMsg-Lite rpmsg_lite_alloc_tx_buffer Blocks or Faults When A55 is Suspended こんにちは! ご説明ありがとうございます。しかし実際には、Variscite デバイス ツリーで使用されるアドレスも DRAM 用です。 SRAMで試すことができます。 よろしくお願いいたします。 サラス。 Re: RPMsg-Lite rpmsg_lite_alloc_tx_buffer Blocks or Faults When A55 is Suspended こんにちは、 実際、私は以下を定義する Variscite DTS を使用しています。 vdev0vring0: vdev0vring0@87ee0000 { reg = <0 0x87ee0000 0 0x8000>; no-map; }; vdev0vring1: vdev0vring1@87ee8000 { reg = <0 0x87ee8000 0 0x8000>; no-map; }; vdev1vring0: vdev1vring0@87ef0000 { reg = <0 0x87ef0000 0 0x8000>; no-map; }; vdev1vring1: vdev1vring1@87ef8000 { reg = <0 0x87ef8000 0 0x8000>; no-map; }; まだ試していませんが、あなたの解決策は本当に有望に見えます! ご返信よろしくお願いします。 Re: RPMsg-Lite rpmsg_lite_alloc_tx_buffer Blocks or Faults When A55 is Suspended こんにちは、 vdev0vring と vdevbuffer を DRAM ではなく SSRAM に変更してみることもCANます。 リファレンス・マニュアルに記載されているように、DRAM はディープ スリープ モードではクロック ゲーティングされます。 i.mx8ulp のデバイス ツリーでは、これらが DRAM に構成されていることがわかります。 よろしくお願いいたします。 サラス。 Re: RPMsg-Lite rpmsg_lite_alloc_tx_buffer Blocks or Faults When A55 is Suspended こんにちは、 誰かこのトピックについて説明してくれませんか? よろしくお願いします。 Re: RPMsg-Lite rpmsg_lite_alloc_tx_buffer Blocks or Faults When A55 is Suspended こんにちは、 はい、A55 がサスペンド モードのときは常に発生します。再現するのは本当に簡単です: A55 に定期的にメッセージを送信する (/dev/ttyRPMSG ttyRPMSG30 経由で受信可能)、またはデバッグ コンソールのキーを押すことによってトリガーされる M33 ファームウェアを使用します。 echo mem > /sys/power/state を使用して A55 をサスペンド モードにします。 M33がサスペンドモード後にメッセージを送信しようとするとすぐに、rpmsg_lite_alloc_tx_bufferで停止し、問題はvq->vq_ring.avail->idxへのアクセスに関連しているようです。トリガー。 関連する質問もあります。A55 Linux 側で、M33 がスリープ モードになっているかどうかを知ることは可能ですか? ありがとうございます。 Re: RPMsg-Lite rpmsg_lite_alloc_tx_buffer Blocks or Faults When A55 is Suspended こんにちは@PBouchand お元気でお過ごしのことと思います。 これは Cortex A55 がサスペンド状態のときにのみ発生するのでしょうか? 私の側でそれを再現する手順を共有していただけますか? よろしくお願いいたします。 サラス。
記事全体を表示
S32K358 MCU 上的睡眠和唤醒驱动器配置 您好, 我一直在使用 S32K358,并参考了 S32K3XX 的低电源管理单元示例,该示例演示了使用 GPIO 的睡眠和唤醒功能。不过,我还没能让它按照预期运行。 我怀疑可能是我的配置或执行出现了问题。如果您能查看我的配置和源文件,并告诉我它们是否正确或是否需要修改,我将不胜感激。 经过多次尝试,我仍然无法达到预期效果,因此我希望得到您的指导。 现附上我的配置和源文件,供您审阅。 IDE:S32DS 3.5.14 SW 版本:4.0 HW: S32K358 致以最诚挚的问候, Karmegan C Re: Sleep and Wake-Up Driver Configuration on the S32K358 MCU 嗨,@karmegancjk、 当检测到唤醒且 S32K358 进入 RESET 序列时,RAM 内容是易失性还是非易失性? 32KB 的 SRAM 内容是非易失性的,或者说,32KB 的 SRAM 在待机时保持供电:   如果 RAM 内容需要非易失性,如何创建备用 RAM 内存并将 RAM 数据复制到备用 RAM 内存? 为了使用备用 RAM,必须修改链接器文件,分配单独的 32KB,放置备用部分,并调整链接器地址符号。如果之前的 RESET 是 POR,则还必须初始化待机 RAM 的 ECC。 我已经给你发了一条私信,里面有关于如何使用待机 RAM 和一般低功耗的演示。 待机模式是否类似于 S32K358 Cortex-M7 的睡眠模式或深度睡眠模式? 是的,待机模式类似于深度睡眠: 致以最诚挚的问候, Julián Re: Sleep and Wake-Up Driver Configuration on the S32K358 MCU 你好,胡利安、 S32K358 通过 GPIO 实现休眠和唤醒功能。如上所述,当检测到上升沿时,控制器将按复位顺序进行 RESET。现在,我有一些疑问: 当检测到唤醒且 S32K358 进入 RESET 序列时,RAM 内容是易失性还是非易失性? 如果 RAM 内容需要非易失性,如何创建备用 RAM 内存并将 RAM 数据复制到备用 RAM 内存? 待机模式是否类似于 S32K358 Cortex-M7 的睡眠模式或深度睡眠模式? Re: Sleep and Wake-Up Driver Configuration on the S32K358 MCU 嗨,@karmegancjk、 进入待机模式时,我使用的是唤醒通道 46 (PTC24)。我的理解是,如果在此引脚上检测到上升沿,则应触发唤醒中断。 外部唤醒信号支持上升或下降检测。 程序计数器是否从地址 0x00402000 开始恢复执行? 还是需要完全 RESET 微控制器才能恢复执行? 在以前的设备 (S32K1) 中,代码在 WFI 指令之后恢复执行,这意味着在 WFI 之后唤醒 ISR → 代码;S32K3 将在唤醒后始终执行 RESET 序列。这可能取决于配置的待机模式。 例如,正常待机退出执行 RESET 序列,然后初始化 sbaF 和 HSE 固件(如果已安装),然后在 reset_handler 恢复执行。 但是,快速待机退出可以跳过 sbaF 和 HSE 初始化,直接跳转到用户定义的启动地址。在此用户定义的启动地址之后,建议执行完全 RESET 以完全初始化设备(或者您可以再次返回待机状态,具体取决于应用程序的需求): 至于项目配置,似乎一切正常。 致以最诚挚的问候, Julián Re: Sleep and Wake-Up Driver Configuration on the S32K358 MCU 您好, 我对 MCU 进入待机模式(睡眠或深度睡眠模式)时的行为有些疑问。在这种模式下,程序计数器是否会冻结,并在唤醒后从矢量地址 0x00402000 重新启动,还是从停止的位置继续执行? 请检查我的电源和唤醒驱动程序配置(.cfg 文件中)是否正确。文件)是正确的吗?我附上了我的项目中的配置文件供你参考。 Re: Sleep and Wake-Up Driver Configuration on the S32K358 MCU 你好,朱利安, 我们使用的是基于 S32K358 MCU 的定制硬件。我有一个关于待机模式下唤醒功能的问题。 进入待机模式时,我使用的是唤醒通道 46 (PTC24)。我的理解是,如果在此引脚上检测到上升沿,则应触发唤醒中断。 不过,我不确定唤醒事件之后会发生什么。具体为: 程序计数器是否从地址 0x00402000 开始恢复执行? 还是需要完全 RESET 微控制器才能恢复执行? 另外,我没有使用任何中断控制 API 进行唤醒配置,所以我不确定唤醒中断是否得到正确处理或者是否需要 RESET。 请说明在这种情况下唤醒过程是如何进行的,以及预期的程序流程是怎样的? ,感谢您的支持。 致以最诚挚的问候, Karmegan C Re: Sleep and Wake-Up Driver Configuration on the S32K358 MCU 嗨,@karmegancjk、 您使用的是 S32K3X8EVB 还是定制硬件? 请记住,S32K358 在 PMIC 握手时增加了退出待机的步骤。 如果你不使用握手,请在 DCMRWF1: 已解决:S32K3: 请求唤醒和 RESET 行为支持——恩智浦社区中设置 PMIC_PGOOD_HNDSHK_BYP 位 。 另外,您配置的是哪个 GPIO?请使用 S32K3 参考手册所附的 S32K358_IOMUX.xlsx 文件交叉检查 WKPU 信号是否正确。 致以最诚挚的问候, Julián Re: Sleep and Wake-Up Driver Configuration on the S32K358 MCU 嘿@karmegancjk , 我目前也在研究睡眠和唤醒序列,您能否分享一下您的工作代码供我参考?如果您能分享,那就太好了。
記事全体を表示
采用 PCIE 模式的 1G SGMII SerDes 配置 大家好 我对 S32G2 上的 SerDes 配置有疑问。 使用情况是串行接口 0 上的模式 1 Serdes0 第 0 巷:PCIE Serdes0 通道 1:GMAC SGMII 1G S32G2 Serdes RM 中没有关于 1G SGMII 和 PCIe 的说明。 尽管 S32G2 不支持 2.5G SGMII 和 PCIe(1.5 Enabling 2.5G SGMII with PCIe on SerDes lane 0)模式,但还是有关于该模式的描述。 最后,我在 S32G3 Serdes RM(1.6 Enabling 1G SGMII with PCIe on SerDes lane 0)中找到了关于在 SerDes 通道 0 上使用 PCIe 的 1G SGMII 的说明。 Q1.G2 和 G2 的配置步骤是否相同?那么,我可以在 G2 上按照 S32G3 Serdes RM 进行模式 1(1G SGMII + PCIE)配置吗? U-启动 中的 XPCS 驱动程序 如果使用扩展时钟 我在 xpcs_init_plls() 中为 "NOT_SHARED "和 "PCIE_XPCS_2G5 "找到了 "wait_power_good_state"。但是,PCIE_XPCS_1G 没有 wait_power_good_state 函数。 Q2.是遗漏了,应该添加,还是没有必要? Q3.对于 PCIE_XPCS_1G,除了等待 pgood 之外,顺序是否与 NOT_SHARED 相同?我想知道是否还需要下面的红框。 启用 1G SGMII 与 PCIE Vs.将 PHY 切换到 1G 速度 根据 S32G3 RM,使用 PCIe 的 1G SGMII 需要以下序列。 将 PHY 切换到 1G 速度的步骤如下。 Q4.模式 1 是否需要两种配置?我找不到 "使用 PCIE 启用 1G SGMII "的步骤。 谢谢! 顺祝商祺! 约翰-柳 Linux BSP
記事全体を表示
S32G2 Cortex-M7 Baremetal Programming Hello All. I wanted to know how to Boot Cortex-M7 onboard S32G2. And I want to run a baremetal application on it without any RTOS. How do I proceed, any reference documents for booting the M7 core and running a baremetal program on it? Thanks in advance. BR Arun Re: S32G2 Cortex-M7 Baremetal Programming Hello, @arun_belamge  Thanks for your reply. For only booting the board via M7 side, most of the examples shown in the RTD could be used, you may reference the beginning phase code from the example for details(for example, you may refer to the gmac example, but ignoring the network part, only focus on the booting phase steps/APIs) Besides, there is also a M7 bootloader example shown in the GoldVIP package, which is a full M7 bootloader sample for booting the S32G2. BR Chenyin Re: S32G2 Cortex-M7 Baremetal Programming Hello Chenyin. Thanks for the suggestion. Can you point me to any reference document which shows "How to boot only the Cortex - M7 core?".  Once I am able to boot the M7 core, I will try to directly access the hardware by using the low level APIs to run my program. Thank you! BR Arun Re: S32G2 Cortex-M7 Baremetal Programming Hello, @arun_belamge  Thanks for your reply. 1. From NXP formal software view, the only SDK that provided for M7 side is the RTD 2. If you are willing to program on your board with true baremetal way, you may directly trying the low-level APIs lie at the bottom level of MCAL I feel sorry that there is no such document provided for your reference, I suggest referencing the code/MCAL UMs directly. BR Chenyin  Re: S32G2 Cortex-M7 Baremetal Programming Hello Chenyin. Thanks for your response. From the document you shared, I can see that the example application runs on MCAL which I can use for running my Baremetal application, but I fear it will introduce a performance overhead.  Is there a way to directly work on the hardware (truly baremetal) without any high level abstraction layers involved? I am currently using the S32G274AEVB. Thank you! BR Arun Re: S32G2 Cortex-M7 Baremetal Programming Hello, @arun_belamge  Thanks for your post. It is supported running application without RTOS on S32G2. I suggest referencing the following document as a start once holding a reference board from NXP. https://www.nxp.com/webapp/Download?colCode=S32G-VNP-RDB2-SW-UG BR Chenyin 
記事全体を表示
DMA 半主循环问题 你好, 我设计了一个设置,每隔 25 µs 一个 PIT 触发信号 DMA,将数据从一个缓冲区传输到另一个缓冲区。每个大循环发生 10 次,因此整个大循环每 250 µs 完成一次,我可以使用逻辑分析仪确认这一点。 PIT --> DMA --> 主要循环中断 现在,我正在尝试将 DMA 配置为以主环路间隔的一半(即每 125 µs)触发信号中断。但是,中断仍然是每 250 µs 才触发一次,好像半大环中断功能不起作用。 为了帮助研究这个问题,我创建了一个示例项目供大家参考。如果你能帮忙弄清楚为什么半主循环中断没有按预期触发信号,我将不胜感激。 此外,我还有一个问题: " 数据包结束信号" 在 DMA 中是什么,通常如何使用? Re: DMA half major loop issue 您好, 如果您有周期触发信号并且仅启用 DMA 半主要中断,则第一次触发信号会在半间隔 (125us) 之后发生,但随后的中断将以 250us 的速率再次触发。同时启用半主要中断和主要中断,每 125us 就会中断一次。 "数据包结束信号" 功能应该禁用。 https://community.nxp.com/t5/S32-Design-Studio/Possible-bug-in-DMA-RTD-driver/td-p/1701972进行了一些讨论 BR, Petr
記事全体を表示
捕获 S32K142W 芯片的输入信号时存在微秒级延迟 亲爱的恩智浦专家们 问题背景: MCU: S32K142W; 应用背景: 将 FTM2 配置为捕获模式,以捕获用于 BLDC 电机控制的三相霍尔信号。 问题描述:在 ftm2_ch0uch1_irqHandler () 中断函数的输入处添加反向 GPIO 指令,发现捕获触发时间与捕获的信号相比最多可延迟 3.2us。我只将" FTM2_Ch0_Ch1_IRQHandler" 的中断优先级设置为最高优先级 0,如下所示 数字 CH1 通道(黄色波形):FTM2 捕获中断反转 IO 端口; CH2 通道(蓝色波形):信号发生器生成的周期性方波; 我的 FTM2 配置如下: 配置参考信息,请参考下图: FTM2 的具体配置信息: 期待您的回复,谢谢。 LF Re: There is a microsecond level delay when capturing the input signal of S32K142W chip 你好@_Leo_ 很高兴收到您的回复。 关于您的问题,答复如下: 1、S32 平台的 S32 Design Studio 版本: S32DS v3.4 2, SDK:S32SDK_S32K1XX_STM_4.0.3; 3,MCU:fs32k142wat0wlft; 4,对于霍尔信号的输入捕获例程,我根据恩智浦用户手册中的提示自行版本。有关具体配置,请参阅我的上一条信息。 5,测试的 PWM 信号特性: 频率: 20kHz ; 占空比: 50% ; 高电平电压:5V; 顺祝商祺! LF Re: There is a microsecond level delay when capturing the input signal of S32K142W chip 感谢您关注我们的产品并为我们的社区做出贡献。 您能否使用实时驱动程序 (RTD) 分享您的项目,并与 S32K14WEVB-Q064(或我们的任何其他开发板)兼容,以便从我们这边重现您的问题? 除了 ICU 配置外,还请添加必要的 PWM 设置,以便在单个板上测试所有问题。请提供任何必要的额外细节。 提前感谢您提供详细信息。
記事全体を表示