Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
UTEST(DCF)からHSEライフサイクル情報を取得する方法 現在は EOL 段階にあり、S/W 以外でメモリを読み取る方法はありません。 現在、S32K3 シリーズ MCU に取り組んでおり、HSE ライフサイクル (LC) 情報がどのように保存されるかを理解するために UTEST メモリ領域を調査しています。 以下の文書を確認しました。 RM758223-HSE-B ファームウェアリファレンスマニュアル v2.3 S32K312_HSE_サービス_API_リファレンス_マニュアル.pdf AN13388_S32K3 メモリーズガイド S32K3xx_DCF_クライアント.xlsx ただし、公開ドキュメントには次の内容が記載されていません。 1. UTEST のどの DCF フィールドが HSE ライフサイクル (LC) の状態を表しますか。 2. 生の UTEST 値 (例: 0x1b0000040) が標準の HSE ライフサイクル コード (例: 0x04 CUST_DEL、0x08 OEM_PROD、0x10 IN_FIELD) にどのようにマッピングされるか。 3. HSE Get Attribute サービスを使用せずに UTEST から LC を直接読み取る公式の方法があるかどうか。 UTEST/DCF に保存されている LC 情報を正式に解釈する方法を明確にしていただけますか? 再開まで今しばらくお待ちください。   Re: How to obtain HSE Lifecycle information from UTEST (DCF) ここに注意してください: https://community.nxp.com/t5/S32K/S32K312-read-lifecycle-from-UTEST/mp/1982203 また、あなたの質問に対して私は次のことを付け加えたいと思います。 1、2) 明らかに公開文書化されていないようですが、DCM レジスタを確認すると、DCMLCC で現在の LC をチェックでき、DCMLCS はセクション 37.2.6 LC で説明されている LC スロットからの値を反映します。 レジスタ: 37.3.3LCおよびLC制御(DCMLCC)、37.3.4LCスキャンステータス(DCMLCS) 3) 上記のThreadで回答しました。
查看全文
NXPの機能安全サポート こんにちは。こんにちは。 当社は、S32K3 シリーズマイクロコントローラをベースに機能安全製品を設計しています。これについては技術的なサポートが必要です。NXP インドおよび米国の SME に接続してください。 Re: NXP support on Functional safety こんにちは@sutrai_ravi_kさん、 新しいサポート チケット (730126) が作成され、NXP インド チームに転送されました。 彼らはあなたに直接連絡します。 よろしくお願いいたします。 ダニエル
查看全文
如何在 i.MX RT1050 上从多个启动地址运行同一个启动加载程序? 嗨,恩智浦社区、 我正在开发一个i.MX RT1050项目,其单个引导加载程序目前位于闪存中的 0x60000000。我希望能够在运行时选择启动加载程序从哪个起始地址运行,本质上是从两个不同的位置(例如,出厂启动模式和工作启动模式)执行相同的引导加载程序。 限制和设置: 闪存中只有一个引导程序映像。 我想在运行时从RAM 中运行它,以选择不同的起始地址。 引导加载程序目前与位置无关 (PIC)。 我已经分配了足够的 RAM(0x80000000,大小为 2 MB)来容纳引导加载程序。 我知道有这样一种做法: 将启动加载程序从闪存复制到 RAM。 将 SCB->VTOR 设置为新的 RAM 位置。 将 MSP 设置为新引导加载程序的堆栈指针。 跳转到 RAM 中的 RESET 处理程序。 我的问题是 如果 i.MX RT1050没有编译成 PIC,能否安全地从 RAM 执行引导加载程序? 要使引导加载程序与位置无关,需要做哪些修改? 是否有为固件插槽实施运行时可选择引导加载程序启动地址的最佳实践? 任何指导、示例或参考都会非常有帮助。 启动 ROM | 启动配置 | 闪存 核心与内存 MCXC Re: How to run the same bootloader from multiple start addresses on i.MX RT1050? 你好@sachin13t、 请查看以下可能对你有用的链接:在 i.MX RT10xx 系列上实现第二个引导加载程序 + master 上的 sbl/元器件/secure/semifunc/hab_rvt.c · nxp-mcux presso /sb l · GitHub 有关位置无关代码的更多信息,可以参考以下链接:适用于 ARM Cortex-M 的带有 GCC 的 位置独立代码 | Eclipse 上的 MCU。 BR, IsaulO.
查看全文
🚀 Kinara 2025 年第三季度非官方内部代码包版本 嗨,团队、 🎉 好消息 2025年第三季度的Kinara内部版本现已上线,可以进行测试!这是你在正式版本之前亲身体验最新代码包的机会。 📦可用套餐: ⚡ rt-sdk-ara2 🕵🏼 yolov8n-gstreamer-ara2 🗨️ llm-edge-studio 📸 llava-at-edge 🎥 qwen2.5-vl-gradio 🔗 在此处访问所有软件包:Kinara Q3 套餐文件夹 🧪 这个版本是关于什么的? 这是一份非官方的内部版本🚫仅供测试 基于Kinara SDK r1.2.1 版本 重点验证第三季度形象 将 仅在 SDK r1.3.0 和电路板支持包。 6.12.32_2.1.0 的正式版本之前 支持 🧰 主要功能 ✅ 包含 FFMPEG,无需手动版本! 🎥 ✅ 测试板:i.MX 8MP FRDM ✅ 您还可以在以下设备上试用:i.MX 95 FRDM& i.MX MR FRDM ✅ 官方版本将支持上面提到的所有 3 个板 🤝想要投稿? 如果您有支持 FFMPEG 的i.MX 95 FRDM或i.MX MR FRDM图像,请告诉我!我将上传它们,以便其他人也能使用它们 🙌 🛠️ 发现问题? 通过 JIRA 提交票单: 🔗 MICRSE JIRA 板 元器件:K-NPU: 受让方:Juan Jorge Mendoza🙋‍♂️ ⏳提醒您 如果你遇到任何问题,请随时报告——或者等待下一个正式版本即将发布! 🚀 感谢您的支持,祝您测试愉快!🧪 欢迎所有反馈意见!☺️
查看全文
动态调整 RT1176 音频 PLL 分母是否安全? 大家好, 我有一个 RT1176 应用程序,需要通过 SAI 输出音频并定期(~8kHz)调整音频时钟,以使系统与另一个设备保持同步。 从音频 PLL 计时并调整音频 PLL 分母如下似乎工作正常,且不会干扰 I2S 输出: ANATOP_AI_Write(kAI_Itf_Audio, kAI_PLLAUDIO_CTRL3, pllValue); 在参考手册(P.1421)中,关于音频/视频PLL,它指出: 它们不需要精确/恒定的频率,并且可以作为动态频率缩放过程的一部分进行更改 然而 第 1422 页上写道: 请注意,PFD 不仅能够实现比 PLL 更快的频率变化,而且还允许安全地“动态”更改配置,而无需经过输出时钟禁用/启用过程。 第 1423 页的图 14-8 显示音频 PLL 没有 PFD。 NXP 能否确认使用 ANATOP API 动态调整音频 PLL 是否安全(如我上面所示),或者我是否需要使用带有 PFD 的 SYS PLL 之一来驱动音频时钟? 非常感谢, 马特   回复:动态调整 RT1176 音频 PLL 分母安全吗? 嗯,这是个好消息,谢谢你告诉我!我猜参考手册将会更新,因为它们现在有相互矛盾的信息。 回复:动态调整 RT1176 音频 PLL 分母安全吗? 撞 回复:动态调整 RT1176 音频 PLL 分母安全吗? 看起来系统 PFD 的 DIV 字段为 13-35,而 MULT 始终为 18。 这远不如音频PLL灵活,所以不是一个替代解决方案,除非,我是不是漏掉了什么?看来我们不能使用系统PLL PDF。 你说这是‘最佳选择’,还有其他选择吗?我的问题仍然存在,是否可以动态调整音频 PLL,或者绝对不推荐这样做? 谢谢! 回复:动态调整 RT1176 音频 PLL 分母安全吗? 嗨,丹尼尔, 是的,对于我们来说,对此有一个明确的答案很重要。 谢谢,马特 回复:动态调整 RT1176 音频 PLL 分母安全吗? 感谢 Daniel 的快速回复。 是的,在我使用逻辑分析仪捕获 SAI 输出并使用ANATOP_AI_Write(kAI_Itf_Audio, kAI_PLLAUDIO_CTRL3, pllValue) 调整音频 PLL 的基本测试中,我看到时钟在 48kHz 1 帧内发生变化,并且没有任何有问题的伪影。我想知道我是否很幸运,或者这是否是硬件的完全有效的使用。 据推测,如果音频 PLL 被重新初始化或完全禁用,这会干扰音频输出吗?鉴于我们需要每秒执行约 8000 次,因此它需要是一种符合规格且经过充分测试的方法。 我也会调查 SYS_PLL PFD,但在我们致力于硬件设计之前,最好能得到一个明确的答案。 非常感谢, 马特
查看全文
RT1170 双映像支持(wi/ROM API)详解 哦,只是为了好玩别忘了执行环境是 SPI 或非 Flash XIP。 有没有人真正做到了这一点? Re: RT1170 dual image support wi/ROM API's explained for real 嗨,迭戈; 为什么 Hello World 版本 4 和 5 选择 " SPI 或非-简化 " 但版本 6 必须选择 " SPI 或非-Complete FCB "? 谢谢! 荣 Re: RT1170 dual image support wi/ROM API's explained for real 你好@Littell 谢谢您的答复! 恐怕我没有这样的实施步骤,但就我的理解而言,你的想法很有意思。 我还没有测试过重新启动来执行版本号更高的更新映像。我认为这是最关键的一步。由于您可以实现自定义的接收和写入映像的方式,因此这似乎与 bootROM 的双启动功能无关。另外,在执行图像时写入取决于闪存的特性,请查看此应用笔记 AN12564 在 i.MX RT 系列上实现 RWW 以供参考 迪亚戈 Re: RT1170 dual image support wi/ROM API's explained for real 不,除了提供下载图像的实体外,图像更新不能涉及任何外部实体。 可以这样想,在配置了双映像的 XPI SPI 或非 Flash 上: == > == > 我不知道怎样才能说得更清楚或更简单。 Re: RT1170 dual image support wi/ROM API's explained for real 你好@Littell 谢谢您的答复! 我知道你在参考用更新的版本(比如 OTA)更新镜像。如果没有,请告诉我。 在这种情况下,我们将手动启动 MCU 进入串行下载器模式,并通过 SPT 对图像进行编程(它在低级别上实现 BLHOST)。我认为,如果你需要某种自动化。有一种原始而简单的方案,您需要从 SW 重新唤起引导加载器(这是可能的,使用 runBootloader() API),然后通过 BLHOST 发送新映像,并使用不同的 SW 版本,以受益于双映像功能。 要获得更复杂的方法,我建议查看我们的 SBL 参考项目和文档。SBL 用户指南详细介绍了双镜像的使用情况,但在这里我们并没有使用 ROM 引导加载器。 迪亚戈 Re: RT1170 dual image support wi/ROM API's explained for real 在 SPI 或非 闪存上使用 XIP 时,使用新映像对 SPI 或非 闪存进行编程,然后重新启动到该映像中,需要执行哪些步骤? Re: RT1170 dual image support wi/ROM API's explained for real 你好@Littell 感谢您的快速反馈和兴趣!我也非常感谢你们的耐心和帮助。我将等待您的进一步评论。 另外,您能否进一步解释一下执行环境的机械化? 迪亚戈 Re: RT1170 dual image support wi/ROM API's explained for real 我一定会仔细检查。 乍一看,这似乎与我对图像版本行为的理解一致。 一读笔记 在"项目创建步骤中,","L" 和"H" 是后缀,而不是前缀。 " 启动映像标准 " 表中似乎没有解决两个映像版本相同的情况。 "冗余" 和"双图像" 的概念需要大力澄清。 我的 EVKB 的引导 ROM 版本是 K3.0.1。 我使用 RT1170 参考手册第 10.13.1 节中的信息提取了它。 这是很好的信息,可惜我费了好大劲才得到。 但这只是我们面临的总体问题的一部分:应用程序的执行环境是来自SPI 或非 Flash的XIP。我们项目的一个关键功能取决于能否下载新映像并对 Flash 进行编程,然后重新启动进入该映像。 如何在这种执行环境中实现机械化? Re: RT1170 dual image support wi/ROM API's explained for real 你好@Littell 首先,本主题仍在论证中,因此请不要将其视为正式文件。正如你们已经看到的,我们仍然没有英文版的官方文档,但我们正在努力。感谢您的关注,并对给您带来的不便深表歉意。如果您遇到任何问题或发现任何不一致的地方,请看一下下面的内容,并告诉我您的反馈意见。 我用 i.MX RT1170 EVKB 和 mcuxPresso 安全配置工具 v9 对此进行了测试。 引导 ROM 在其中发挥着重要作用。在开始之前,请检查您的引导 ROM 版本。下面是如何操作的快照。 我的 RT1170 包含一个 T2.0.0 版本的引导 ROM。请帮我将 MCU 设置为串行下载模式,并调用下面的命令来检查你的 MCU。 blhost u VID,PID -- get-property 24 command. 如果您有更旧或不同版本的启动程序,请告诉我。 准备工作: 1 下载并安装最新版本的 MCUXpresso 安全配置工具。 2 对 EVK 闪存进行大规模擦除。使用 MCUXpresso IDE 可以轻松完成大规模擦除。 项目创建步骤: 导入 Hello word 演示,并添加图像 L 前缀。项目名称为 Hell_word_ImageL。 在演示源代码中打印 "Hello word from image L"。 导入 Hello word 演示,并添加图像 H 前缀。项目名称为 Hell_word_ImageH。 在演示源代码中打印 "Hello word from image H"。 删除每个项目的 XIP_BOOT_HEADER_ENABLE=0。 编译每个项目。 安全配置工具步骤: 为 RT1170 创建一个新的 SPT 工作区。 点击双映像启动按钮,选择目标图像 0 和图像 1,然后放置 0x0040_0000 的图像偏移量 当该工具检测到我们需要烧毁 0xC80 熔丝以控制给定的偏移量时,OTP 配置将变为红色。 将 RT1170 设置为串行下载器模式并测试连接,例如通过 USB。 打开 OTP 配置并读取当前处理器熔丝。 找到熔丝 0xC80,该工具将显示所需值和当前值。如果需要,点击修复选项,然后点击确定。 然后,您会看到 OTP 配置变为绿色。 提供图像 L 作为源图像,并设置图像版本为 0x5。这是一个版本号示例。. 注:在此设置下,SPT 将把图像版本 5 和同一图像分别写入 0x3000_2000 和 0x3040_0000 的图像 L 和图像 H 地址空间。 版本并写入镜像。 这样,图像 L 将被写入内存,但却是两次,因为图像 L 将被写入图像 H 的偏移量和空间。这被视为冗余启动。 将 MCU 设置为内部启动并在控制台中检查映像 L 是否启动,使用串行终端。 提供现在的图像 H 作为源图像,并设置图像版本为 0x6。 点击双映像启动并选择映像 1。 这样,SPT 将只写入图像 H(或图像 1)的偏移量和空间 将弹出警告,通过为图像 H 创建所需的自定义 FCB 来解决警告。单击 FlexSPI NOR-简化按钮并创建 FCB。 注意:我们在 SPT 中发现了一个错误:当通过 " convert to FCB " 按钮创建 FCB 区块时,FCB 周围的区域会被擦除。擦除区域的大小取决于最小的可擦除内存块。这可能会删除在 RT10xx/RT11xx 设备的 FCB 封锁之后立即放置的用户数据或图像版本。此错误的解决方案已为 SPT v10 准备好了。如果你看到任何奇怪的行为评论,请再次写下图片 L 和图片 H。 版本和写入图像 H. 检查图像 H 是否启动。 继续进行测试,用不同的有效版本号对 H 和 L 进行编程。应启动更高有效版本的映像。 下图显示了启动不同应用程序的能力。 根据我的测试,我可以定义以下内容: 下表显示了将两个映像编程到闪存中时的启动映像标准。 L 图像版本 H 图像版本 启动映像标准 启动类型 有效 有效 bootROM 将使用更高的有效版本号启动映像。 Dual image boot 0xFFFF_FFFFF 有效 bootRom 将首先启动映像 L。 冗余启动 有效 0xFFFF_FFFF bootRom 将首先启动映像 L。 冗余启动 无效 有效 bootROM 将仅使用有效的映像版本启动映像。 冗余启动 有效 无效 bootROM 将仅使用有效的映像版本启动映像。 冗余启动 其中: L :当闪存中有两个图像时,L 图像是位于闪存最低物理地址的图像。考虑一个位于 0x3000_0000 的图像和另一个位于 0x3040_000 的图像,L 是位于 0x3000_0000 的图像。 H:当闪存中有两个图像时,H 图像是位于闪存最高物理地址上的图像。考虑一个位于 0x3000_0000 的图像和另一个位于 0x3040_000 的图像,H 是位于 0x3040_0000 的图像。 图像版本:是一个四字节的标签。前两个不太重要的字节代表真实图像版本(范围从 0x0000 到 FFFF),接下来的两个更重要的字节代表两个真实图像版本字节的反向值。 有效或有效的图像版本:是实际版本号字节和反向值字节匹配的图像版本。例如,0xFFFE_0001,其中 0001 是实际版本号,0xFFFE 是 0x0001 的倒数。 无效或无效的图像版本 :是实际版本号字节和反向值字节不匹配的图像版本,例如:0x0000_0001。 0xFFFF_FFF:这是一种特殊情况,其中所有四个字节都包含 F,它也被视为有效的版本号。Is 是一个特殊的版本值,可用于测试冗余启动。 冗余启动:如果满足以下条件,bootROM 将始终尝试启动第一个映像 L: 闪存中有两个图像(图像 L 和图像 H)。 熔丝 0xC80 [23:16] 值不同于零。 图像 L 包含有效的版本号或相当于 0xFFFF_FFFF。 如果不满足上述条件,或者映像 L 启动失败,bootROM 将尝试启动映像 H。 双启动 :如果满足以下条件,bootROM 将始终选择首先启动版本号最高的映像。 闪存中有两个图像(图像 L 和图像 H)。 熔丝 0xC80 [23:16] 值不同于零。 图像 L 包含的有效版本号不同于 0xFFFF_FFFF。 图像 H 包含的有效版本号不同于 0xFFFF_FFFF。 如果不满足上述条件,或者所选映像启动失败,bootROM 将尝试从另一个映像启动,执行冗余启动。 希望能对您有所帮助、 迪亚戈
查看全文
是否需要使用 PDO 和 PDOCLK 来调试和下载 S912ZVML32F3MKH 芯片程序 我使用的是 S912ZVML32F3MKH 芯片。如果不使用 PDO 和 PDOCLK 引脚,只使用 BKCD、RST、GND 和 VDDX,能否正常调试和下载程序?PDO 和 PDOCLK 是否需要下载端口来调试下载程序? Re: Is it necessary to use PDO and PDOCLK for debugging and downloading the S912ZVML32F3MKH chip pro 我使用带有 CodeWarrior 的 Multilink 来刷新固件,一旦我有了正确的驱动程序并正确安装了 BKCD、RST、GND 和 VDDX 连接,它就能顺利运行。最棘手的部分是配置目标设置--感觉就像 FNF 的节奏检查:弄乱一个节拍(或针脚),就什么也同步不了。P&E Micro 的文档和示例项目提供了很多帮助,但一开始可能会有一些尝试和错误。 Re: Is it necessary to use PDO and PDOCLK for debugging and downloading the S912ZVML32F3MKH chip pro 如果我有 Multilink ans Codewarrior,如何下载固件? 我尝试使用 BKCD、RST、GND 和 VDDX。 Re: Is it necessary to use PDO and PDOCLK for debugging and downloading the S912ZVML32F3MKH chip pro 您好, 我们建议使用所有必要的引脚,以便提供所有调试功能。你不知道你是否会需要它,然后你就会想念它。例如,跟踪功能。此外,调试器还可以在需要这些引脚时执行一个属性。我们看不到它,因为它是由调试接口、其协议和属性的实现提供的,这不是我们的产品。当然,如果您检查了自己的具体使用情况,那么这种可能性是存在的,但正如我已经写过的,最好还是使用完整的界面。 顺祝商祺! 拉吉斯拉夫
查看全文
サスペンド中のGPIOステータスをRAMに保存する こんにちは、NXPチームの皆様、 当社では、カスタムデザインボードのリファレンスとして s32g399ardb3 を使用し、BSP35 を使用しています。 低アクティブ GPIO (PB_12) があり、デフォルトで P3_3V_IO3P3 を使用してハイにプルアップします。 私はBSP UM Chapter「23.3」に従いました「RAM にサスペンド」を選択すると、ボードが RAM にサスペンドされます。 しかし、P3_3V_IO3P3 が閉じて PB_12 が低くなります。 現在、この GPIO ダイナミックは当社の Linux カーネル ドライバによって制御されていますが、サスペンド関連の機能を追加した後も、GPIO ステータスは依然として高失敗のままです。 ATF で GPIO 動的制御を移動する必要がありますか? よろしくお願いします。 Re: Keeping GPIO status during suspend to RAM こんにちは、GG0712 ご返信よろしくお願いします。 S32G は I2C を使用して PMIC を制御します。一般的に、A コアで PMIC を操作できますが、そのためのコードとドキュメントは提供されていません。 また、PB_12 は VDD_IO_B ドメインなので、ピンをプルアップする場合は VDD_IO_B の電圧が必要です。VDD_IO_B 電圧を設定するときに、ピン PB_12 の内部プルアップを試すことができます。 電源の詳細については、AN14063 を CAN 参照してください。 お役に立てれば幸いです。 BR ジョーイ Re: Keeping GPIO status during suspend to RAM こんにちは@Joey_z 、 現在 M コアを使用していない場合でも、このCAN方法は機能しますか? よろしくお願いします。 Re: Keeping GPIO status during suspend to RAM こんにちは、 GG0712 ご返信よろしくお願いします。 これは M コア PMIC モジュールの設定方法で、次の図のように S32DS IDE を使用します。 スタンバイモードを維持しながら、LDO3 およびその他の vr5510 出力電圧をCAN設定します。 この設定は M Core 用で、S32G は I2C4 を使用して vr5510 に接続します。Aコアに12C4を使用してLDO3_3v3を維持する方法です。 お役に立てれば幸いです。 BR ジョーイ Re: Keeping GPIO status during suspend to RAM こんにちは@Joey_z 、 あなたの写真を通してLDO3_3v3を設定するにはどうすればいいでしょうか? よろしくお願いします。 Re: Keeping GPIO status during suspend to RAM こんにちは、 GG0712 ご返信よろしくお願いします。 RMS32G3.pdf および添付ファイルの S32G_IOMUX.xlsx を参照してください。スタンバイ中は PB_12 状態のパッドがパワーダウン モードに設定されます。 SO、スタンバイ段階ではピンを高レベル電圧に設定できると思います。 このピンをプルアップするために LDO3_3v3 を設定し、LDO3_3v3 の電圧を維持するように vr5510 を設定することができます。 また、スタンバイ段階では、ウェイクアップ ピンを高レベル電圧として選択することもCAN。 お役に立てれば幸いです。 BR ジョーイ Re: Keeping GPIO status during suspend to RAM こんにちは、Joey_zさん 私たちはデザインボードを使用し、PB_12 を GPIO として使用します。 よろしくお願いします。 Re: Keeping GPIO status during suspend to RAM こんにちは、 GG0712 お問い合わせいただきありがとうございます。 RDB3ボードを使用していますか?そして、GPIO (PB_12) を FLEX_LIN2_RX の機能として使用しますか? BR ジョーイ
查看全文
mc68hc908az60a 闪存加载失败 亲爱的支持团队 我们的轨道交通产品中的 MC68HC908AZ60A 微控制器经常出现问题,现致函寻求专家建议。 这些产品已在现场部署了十多年,有些设备的使用寿命已超过 20 年。我们承认数据表将片上闪存的最小数据保留时间定为10年,因此我们在2023年主动对所有设备进行了固件更新。 然而,在 2025 年 6 月(环境温度相对较高),我们遇到了一批故障,多个 MCU 无法从内部 FLASH 引导程序。我们的失效分析产生了以下观察结果: 1。示波器对微控制器 RST 引脚的测量结果显示,它以大约 32.85 ms 的间隔反复拉低,脉冲宽度约为 5 µs,从而阻碍了成功启动。 2.使用 Multilink 通用编程器,我们尝试读取地址范围为 0x0E00~0x8000 的内存内容。在整个区段中,回读数据始终为 0xAD。 3.通过使用仿真器重新编程固件,可以恢复故障设备。重新编程后,这些单元运行正常,可以成功地从闪存启动。 根据所描述的症状,我们希望您能协助找出故障的根本原因。 此外,关于这个问题,我们还有几个具体问题: 1.数据保留解释:请澄清"10 年数据保留" 规范的定义。这是否意味着存储单元在特定条件下可保证保留数据至少 10 年,之后数据可能会丢失?还是说芯片的寿命已到,过了这段时间就无法使用了?如果只读取数据而不被删除,那么对设备进行重新编程是否有效 "RESET" 这个保留计时器再延长 10 年? 2。网络安全模式机制:数据表提到,网络安全模式下的故障可能导致类似的症状。你能否详细说明网络安全模式的原理,以及观察到的引导循环和特定数据回读 (0xAD) 的失败会如何清单出来? 3.已知问题 & 案例研究:是否有记录在案的专门针对 MC68HC908AZ60A 或 HC08 系列中的其他微控制器的类似故障案例?如果您能列出与闪存有关的典型故障模式及其建议的解决方案,我们将不胜感激。 4.建议的解决方案& 备选方案:考虑到现阶段不可能重新设计印刷电路板,你建议采取什么行动? (1)是否有引脚对引脚兼容的替代 MCU,可提供更好的长期可靠性或更强的闪存保持能力? (2)是否有可能通过特定的固件更新策略来缓解这一问题或延长有效数据保留时间?感谢您花费时间和耐心解决我们关心的问题。 我们非常重视您的技术专长,并期待您的真知灼见。 顺祝商祺! #mc68hc908 #hc08 Re: RE: MC68HC908AZ60A 你好 我发送了一条私人信息,能否请您帮我检查一下并确认信息? 谢谢、 巴勃罗 RE: MC68HC908AZ60A 你好,巴勃罗 您能根据提出的问题帮助回答每一点吗? 顺祝商祺! 贾森 Re: RE:MC68HC908AZ60A FLASH LOADING FAILURE 嗨,@LIN_JASON、 我已经通过社区给你发了私信。 如果您看不到,请告诉我。 顺祝商祺! 巴勃罗 RE:MC68HC908AZ60A FLASH LOADING FAILURE 你好,帕布罗、 请参阅所附文件。我已经向你发送了闪存中正常和故障板的数据回读(从地址 0x0000 到 0xFFFF)。您可以使用 Notepad++ 比较每个地址的数据。 致以最崇高的敬意, JASON #HC08 Re: MC68HC908AZ60A FLASH LOADING FAILURE 嗨,@LIN_JASON、 我正在审查这个问题。同时,您能帮我解决以下问题吗? 如果从 0x0E00-0x8000 以外的地址范围读取数据,读取值是否仍为 0xAD? 是否存在影响地址范围 0x0E00-0x8000 的任何块保护? 敬上, Pablo
查看全文
[jisasofttech] [SE052F2] 符合 FIPS + FIDO 标准的设备推荐 专家们好 客户是 jisasofttech,其应用程序的目标是获得 FIPS 合规性和 FIDO 批准。SE052F2 是这种应用的正确选择吗?请予以说明。 顺祝商祺! 坎 Re: [jisasofttech][SE052F2]FIPS + FIDO compliant device recommendation 嗨,Kan、 能否请您问问他们想要哪种 FIDO 批准? Re: [jisasofttech][SE052F2]FIPS + FIDO compliant device recommendation 你好@nxg11900、 客户还有一个问题,详情请参考下文。 如果我们使用 SE052F,SE 中是否有任何限制会限制 FIDO 的批准或可能成为 FIDO 的不合规之处? 请予以澄清。 顺祝商祺! 坎 Re: [jisasofttech][SE052F2]FIPS + FIDO compliant device recommendation 你好,Kan、 SE052f 符合 FIPS 标准,但不符合 FIDO 标准。我们有一个用于 JCOP 的 FIDO 小程序,但它也没有通过 FIPS 认证。需要检查次数和数量,如果次数多,则需要联系产品经理。 此致敬礼, Parth Re: [jisasofttech][SE052F2]FIPS + FIDO compliant device recommendation 客户不回复是否需要进一步帮助。如果他们需要更多帮助,我们可以重新讨论这个问题。
查看全文
优化游戏监测刷新率的建议 我们如何通过简单地优化我们的监测的刷新率来使我们的游戏体验更流畅、更身临其境? 我最近一直在探索这个问题,并认为与 恩智浦社区 的所有人分享想法会很棒。 在设置 游戏监测 时 ,调整刷新率可以显著改善流畅和响应式游戏的感觉。确保显示器以支持的最大刷新率运行,启用自适应同步选项并匹配系统输出设置,可以消除屏幕撕裂和输入延迟。我发现,即使是微小的调整——例如使用高质量的电缆、保持驱动程序更新以及微调游戏中的帧数限制——也可以提供更加稳定和愉快 的体验。 我真心相信,优化刷新率不仅仅是为了竞技游戏玩家,它还能提升整体视觉质量,让每个人都感到舒适。这一步很简单,却能让游戏过程更加投入和愉快。 希望其他社区成员能告诉我们哪些设置或方法对您最有效。恩智浦社区是一个交流思想和相互学习的绝佳空间,我期待着您的积极建议和成功案例! Re: Suggestions to Optimize Refresh Rate on a Gaming Monitor 你好, ,请介绍一下具体产品。 致敬, Zhiming
查看全文
S32M244 pflash 0x0-0x10无法读取/擦写/编程 芯片型号为S32M244,在某次尝试用jlink烧录报错后,后续无法对sector0进行擦除烧写,尝试对flash内容进行整片回读也出错,最后按照存储段的形式去读取,发现0x10之后的内容可以正常读取,仅从0x0开始的16个字节进行读取时会报错 上图为尝试烧录但是因不明原因失败时报的错误,后续可以连接芯片,但是无法再次烧录 检查内核状态发现内核处于halted状态,此时尝试回读flash,发现除了0x0-0x10之外的地址范围都可以正常读取,一旦尝试从0x00000000开始读取flash就会报错 我想请教一下: 1.可能是什么原因导致这种情况,连续尝试烧录3块板子都出现了这个问题 2.出现这个问题是否有恢复的方法 Re: S32M244 pflash 0x0-0x10无法读取/擦写/编程 Hi@Helloyt 我建议你不要再对新的板子进行相同的尝试了,从你的描述上来看,这可能是你的调试接口电路,调试器可能存在问题,至少在S32K244上,这块地址没有什么限制。 我也尝试使用J-Flash V9.6K进行了几次回读和写入,我在我们的EVB上没有这样的问题。 如果是硬件的损坏,这可能无法回复,但是先排查下你们的调试接口电路,你们的J-LINK,如果有别的调试器可以进行一些新的尝试。  
查看全文
i.MX8MPのGPTに対する疑問 IMX8MPRMのドキュメントを読むと、利用可能なGPTが6つあることがわかります。 第12章では、GPTについて説明し、タイマーカウンターのキャプチャをトリガーするために使用できる2つの入力GPT_CAPTURE1とGPT_CAPTURE2があると述べています。 第8章「チップIOとPinmux」では、GPT1_CAPTURE1とGPT1_CAPTURE2という名前の2つのキャプチャ入力しか見つかりません。 6つのGPTのうち、GPT1だけがキャプチャ機能を使用できるということですか? ありがとうございます。よろしくお願いします。 Re:i.MX8MPのGPTについての疑問 はいそうです。
查看全文
MR-CANHUBK344如何设置CAN参数 你好专家, https://www.nxp.com/design/design-center/development-boards-and-designs/automotive-development-platforms/s32k-mcu-platforms/s32k344-evaluation-board-for-mobile-robotics-with-100base-t1-and-six-canfd:MR-CANHUBK344 我的客户正在调查 MR-CANHUBK344。客户是否可以通过IEEE1722 ACF协议设置CAN参数,如波特率/采样位置/ID过滤器等?也就是说,链接方通过IEEE1722 ACF协议来设置CAN参数。
查看全文
S32K3X4EVB-T172板是否支持OpenSDA? 1.我可以使用OpenSDA下载图像并将其放在S32K3X4EVB-T172板上吗? 换句话说,是否可以使用 S32DS 下载图像而无需连接外部调试器(j-link、multilink)? 开始使用 S32K3X4EVB-T172 汽车通用评估板 | NXP 半导体 上面说它有一个到 OpenSDA 的 USB 连接,但没有说明如何使用它。 2.我目前有一个j-link,并且有一个OpenSDA 10pin的jtag连接器,我可以将S32K344连接到它吗? 换句话说,连接到 OpenSDA 的是 MK26FN2M0VMI18,我想知道这是否是连接到 S32K344 的那个。 3.MK26FN2M0VMI18的作用是什么? 4.我是否可以获得 S32K3X4EVB-T172 中的图像?我可以获得该图像的代码吗? 我将包含 S32K3X4EVB-T172 的图像作为测试,但如果我想重新创建它,我没有原始图像。此外,每个都有示例,但似乎没有一个 SDK 可以演示 S32K3X4EVB-T172 的所有功能。 回复:S32K3X4EVB-T172板是否支持OpenSDA? 你好@velma41abbott 谢谢您的回复。 我同意你的想法。 我不知道为什么,但遗憾的是 NXP 没有为 EVB 提供 SDK。 祝你开发顺利....:) 回复:S32K3X4EVB-T172板是否支持OpenSDA? 你好@Senlent 太感谢了。我现在可以使用 OpenSDA 测试我的电路板。 记录显示,micro-b USB 未被设备管理器识别,因为它不用于数据。 我没有意识到这是电缆问题,因为我不确定我是否可以使用 OpenSDA 进行调试。 再次感谢您的回复。 回复:S32K3X4EVB-T172板是否支持OpenSDA? 你好@daigerlee_work 1.OpenSDA是一个独立的调试端口。您可以通过 USB 电缆调试 S32K3X4EVB,无需使用外部调试器 2.通过MK26FN2M0VMI18芯片模拟OpenSDA的功能,可以实现类似PEmicro的功能 3. 您还可以使用外部调试器,例如 J-Link、PEMicro 或 Lauterbach。S32K3X4EVB提供额外的外部调试器接口 4、如果MCU没有加密,那么理论上可以读取MCU内存中的二进制数据,但这不是代码,而是二进制。
查看全文
S32K1 attach gdbserver without reset Hi, I am trying to attach my debugger (SEGGER J-Link) to a running target to debug it. However, when starting the gdb server, the target seems to reset. Steps to reproduce this issue: 1. Start SEGGER J-Link Remote Server 2. Start gdb server (in WSL2) using the following command: `JLinkGDBServerCLExe -device S32K144W -endian little -if SWD -speed auto -noir -noLocalhostOnly -nologtofile -TelnetPort 19020 -select IP=192.168.x.y -noreset -nohalt` Observer behaviour: When the command is run, the RESET pin is pulled down for 160ms. The running program is stopped (observed by the blinking led that stops). After ~4 seconds, the gdbserver is attached (> `Connected to target`) and the application starts again (led blinking). However, the application was reset, which is not as desired. Any idea to why this would be or what I could do to find the cause? The reset reason seems to be SW reset. The used MCU is a S32K144W on a custom board. Debugging etc works without a problem, the issue I am having is just that I cannot attach to a running target. Re: S32K1 attach gdbserver without reset Hi @danielmartynek , Using the script when starting the gdb server solved the problem. `JLinkGDBServerCLExe -device S32K144W -endian little -if SWD -speed auto -noir -noLocalhostOnly -nologtofile -TelnetPort 19020 -select IP=192.168.x.y -JLinkScriptFile NXP_Kinetis_S32_Attach.JLinkScript -nohalt` Thank you very much and have a nice day! Re: S32K1 attach gdbserver without reset HI @peacefulcarrot, It is necessary that the MCU is in the unlocked state. A special JLink script is needed, which can be found here: https://wiki.segger.com/S32Kxxx#Attach_to_debug_session JLink commander has to be called in following way: C:\Programme\SEGGER\JLink\JLink.exe -JLinkScriptFile NXP_Kinetis_S32_Attach.JLinkScript Then, the MCU is not reset, and access to all memory and registers is possible. Please contact SEGGER support if you have any questions, Regards, Daniel
查看全文
On IMX8MP LVDS display with 6.1 kernel is not working which is working on 5.15 kernel Hi Team, we are able to bring-up the LVDS display on 5.15 kernel on imx8mp custom board, but when we are porting from 5.15 to 6.1 kernel LVDS display is not working. Below are the panel modifcations added: With the same below modfications display is working in 5.15 kernel. So need supoort to bringup the display. drivers/gpu/drm/panel/panel-simple.c | 97 ++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index b73669808347..605dce99d1ab 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -2128,6 +2128,94 @@ static const struct panel_desc hitachi_tx23d38vm0caa = { }, }; +static const struct display_timing auo_g156han04_0_timings = { + .pixelclock = { 141000000, 141000000, 141000000 }, + .hactive = { 1920, 1920, 1920 }, + .hfront_porch = { 60, 60, 60 }, + .hback_porch = { 60, 60, 60 }, + .hsync_len = { 64, 64, 64 }, + .vactive = { 1080, 1080, 1080 }, + .vfront_porch = { 12, 12, 12 }, + .vback_porch = { 12, 12, 12 }, + .vsync_len = { 12, 12, 12 }, +}; + +static const struct panel_desc auo_g156han04_0 = { + .timings = &auo_g156han04_0_timings, + .num_timings = 1, + .bpc = 8, + .size = { + .width = 344, + .height = 194, + }, + .delay = { + .prepare = 10, + .enable = 50, + .disable = 50, + .unprepare = 200, + }, + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +}; + +static const struct display_timing lxd_m773a_timings = { + .pixelclock = { 60000000, 60000000, 60000000 }, + .hactive = { 1024, 1024, 1024 }, + .hfront_porch = { 40, 40, 40 }, + .hback_porch = { 40, 40, 40 }, + .hsync_len = { 20, 20, 20 }, + .vactive = { 600, 600, 600 }, + .vfront_porch = { 20, 20, 20 }, + .vback_porch = { 20, 20, 20 }, + .vsync_len = { 10, 10, 10 }, +}; + +static const struct panel_desc lxd_m773a = { + .timings = &lxd_m773a_timings, + .num_timings = 1, + .bpc = 8, + .size = { + .width = 154, + .height = 85, + }, + .delay = { + .prepare = 10, + .enable = 50, + .disable = 50, + .unprepare = 200, + }, + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +}; + +static const struct display_timing lxd_m776a_timings = { + .pixelclock = { 60000000, 60000000, 60000000 }, + .hactive = { 1024, 1024, 1024 }, + .hfront_porch = { 40, 40, 40 }, + .hback_porch = { 40, 40, 40 }, + .hsync_len = { 20, 20, 20 }, + .vactive = { 600, 600, 600 }, + .vfront_porch = { 20, 20, 20 }, + .vback_porch = { 20, 20, 20 }, + .vsync_len = { 10, 10, 10 }, +}; + +static const struct panel_desc lxd_m776a = { + .timings = &lxd_m776a_timings, + .num_timings = 1, + .bpc = 8, + .size = { + .width = 222, + .height = 125, + }, + .delay = { + .prepare = 10, + .enable = 50, + .disable = 50, + .unprepare = 200, + }, + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +}; + + static const struct drm_display_mode innolux_at043tn24_mode = { .clock = 9000, .hdisplay = 480, @@ -4201,6 +4289,15 @@ static const struct of_device_id platform_of_match[] = { .compatible = "hit,tx23d38vm0caa", .data = &hitachi_tx23d38vm0caa }, { + .compatible = "lxd,m773a", + .data = &lxd_m773a, + }, { + .compatible = "lxd,m776a", + .data = &lxd_m776a, + }, { + .compatible = "auo,g156han04_0", + .data = &auo_g156han04_0, + }, { .compatible = "innolux,at043tn24", .data = &innolux_at043tn24, }, { -- 2.34.1 Here is the DTS file used: / { lvds0_panel { status = "okay"; compatible = "lxd,m776a"; backlight = <&lvds_backlight>; enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; port { panel_lvds_in: endpoint { remote-endpoint = <&lvds_out>; }; }; }; lvds_backlight { enable-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>; }; // gpio3_IO23 on lec-imx8mp is display mux reg_mipi_lvds_select: regulator-mipi-lvds { compatible = "regulator-fixed"; regulator-name = "mipi_lvds_select_vbus"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_disp_select>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; enable-active-low; regulator-always-on; }; }; &ldb { status = "okay"; //fsl,dual-channel; lvds-channel@0 { fsl,data-mapping = "spwg"; fsl,data-width = <24>; status = "okay"; /delete-node/ port@1; port@1 { reg = <1>; lvds_out: endpoint { remote-endpoint = <&panel_lvds_in>; }; }; }; }; &ldb_phy { status = "okay"; }; &i2c3 { touchscreen@41 { compatible = "ilitek,ili251x"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_touch_en &pinctrl_touch_rst>; reg = <0x41>; interrupt-parent = <&gpio1>; interrupts = <0 IRQ_TYPE_EDGE_FALLING>; reset-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; touchscreen-inverted-x; touchscreen-inverted-y; }; }; @[email protected], @[email protected] Re: On IMX8MP LVDS display with 6.1 kernel is not working which is working on 5.15 kernel after adding the below flags in the panel_desc then display is working as expected .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, .bus_flags = DRM_BUS_FLAG_DE_HIGH, .connector_type = DRM_MODE_CONNECTOR_LVDS, Re: On IMX8MP LVDS display with 6.1 kernel is not working which is working on 5.15 kernel do you mind dumping the clock to check? could you get the correct clock for your lvds panel, I checked the ldb driver, I don't find anything change would affect your display Re: On IMX8MP LVDS display with 6.1 kernel is not working which is working on 5.15 kernel We didn't do any bsp changes except the panel detail structures are added in 5.15 kernel. So did the same modifications in the 6.1 kernel as well Re: On IMX8MP LVDS display with 6.1 kernel is not working which is working on 5.15 kernel did you change any source code in the 5.15? did you just use the default lvds driver? as I known, current bsp couldn't support 60Mhz lvds display(single channel) as default, you need change the source code, if you change the 5.15 bsp, did you change corresponding to the 6.1? Re: On IMX8MP LVDS display with 6.1 kernel is not working which is working on 5.15 kernel There are no error messages, but display is not coming as expected Is there any clock related changes we need to add in 6.1 Kernel?? or any other suggestions. Re: On IMX8MP LVDS display with 6.1 kernel is not working which is working on 5.15 kernel hi @joanxie  The Display backlight is initializing but on the display output is coming like below So unable to figure out what modifications went wrong  Re: On IMX8MP LVDS display with 6.1 kernel is not working which is working on 5.15 kernel what do you mean "not working"?do you get anything error messages?
查看全文
PT200xHM measurement function, no voltage With OA feature, I can not setup for voltage setting. I write to: 1AAh = 426d b6=oa1_g1 b5-3= oa_sel1 b2-1=oa1_gain b0=oa1_en 0000 000 0001 0001 0x0011 '000': output from current measurement block 1 '001': output from current measurement block 3 '010': OA_Meas1: output from measurement function, unprocessed signal '011': OA_Meas2: output from measurement function, low-pass + high-pass filtering '100': OA_Meas3: output from measurement function, LP + two times HP filtering '101': 2.5 Volt '110': OA_Meas4: output from measurement function, low-pass filtering meas_func1 register (1ACh) reserved b12-9= dac_fb_sel b8=cur_volt0, b7-5 =d_ls_sel b4-2=s_hs_sel b1-0 oa_cur 000 0000 0 001/.010 0.01 00 = 0044h HS2 - LS1 meas_func2 register (1ADh) b15=offset_hp2_sel, b14=offset_hp1_sel, b13-10=fc_hp2_sel, b9-7=gain_hp1_sel b6-3=fcut_hp1_sel b2-1=volt_att xxxx xxxx xxxx x000=0 Unfiltered div by 30 Scope shows flat line at 0V Yes it has M in part name. What have I missed? Solenoid Controller Re: PT200xHM measurement function, no voltage Yes it does work. Nice rest over weekend. 
查看全文
If develop something using GoldVIP-1.6.0, cannot use LLCE CAN. I am using GoldVIP-S32G2-v1.6.0 on S32G2 due to some circumstances and I am having a problem. I referred to the User Manual.pdf file of GoldVIP-S32G2 v1.6.0 and proceeded as follows. 1. I installed Goldvip- S32G2 v1.6.0 and EBTresos ACG8.8.7, S32DS 3.4. 2. Follow the steps in Figure 13.4 Building the M7 Application below.   2-1. Generated the default configuration information using EBTresos.   2-2. I built using Util of GoldVIP-S32G2-v1.6.0 and created an Elf file.   2-3. create goldvip-gateway.bin file using objcopy in S32DS Build_tools folder. 3. create an SDcard using fsl-image-goldvip-s32g274ardb2.sdcard and replace only the goldvip-gateway.bin file in the SDcard to write to the board. 4. I checked using Trace32 Debug and found that it booted well and LLCE_CAN0 and LLCE_CAN1 were set to use. 5. The problem was that even though I sent LLCE_CAN0 and LLCE_CAN1 using CANoe, CAN Interrupt did not work, so I could not check the can data coming in. I used GoldVIP-S32G2-v1.0.0 two years ago and experienced that the CanIf_RxIndication function shown in the screen below is called when CANoe successfully sends CAN data in the same way as above. Currently, I confirmed that the CanIf_RxIndication function is not called in the same way, and after debugging, I realized that receiving CAN data does not cause an interrupt. I would be grateful if you could let me know if I missed something and what else I can do and if you need more information to answer. S32G-VNP-RDB2 AUTOSAR GOLDVIP 1.6 Re: If develop something using GoldVIP-1.6.0, cannot use LLCE CAN. Thank you for your continued response. I'm resolved.  When I disable CanMultiplexedTransmission and change both Filter and Mask to 0, I get an interrupt. It looks like filter and mask were preventing the data from coming in. Re: If develop something using GoldVIP-1.6.0, cannot use LLCE CAN. Hi, We might be misunderstanding the overall inquiry. If so we do apologize. For the following comment: "After writing, a CAN data is sent via CANoe, but CANoe shows that the transmission was successful, but no RX interrupt occurs in Trace32." We understand that you are able to receive CAN frames under the S32G2, is this correct? This might seem to be related to Trace32 rather than S32G2 if you are able to receive CAN Frames. Can you replicate the examples available under the BSP User Manual?  Please, let us know. Re: If develop something using GoldVIP-1.6.0, cannot use LLCE CAN. Hello Thank you for the reply. I was refer to GoldVIP-S32G2-1.6.0-User-Manual.pdf. I have attached the file. I didn't use anything related to the Linux BSP.  I used the fsl-image-goldvip-s32g274ardb2.sdcard file provided by NXP to create the SDcard. and then I created the goldvip-gateway.bin file for Firmware and then replaced the goldvip-gateway.bin on the SDcard as described in the question above. After writing, a CAN data is sent via CANoe, but CANoe shows that the transmission was successful, but no RX interrupt occurs in Trace32. For reference, when I installed and developed the RTD and LLCE Driver using S32DesignStudio, I found that CAN Rx interrupts were generated. Re: If develop something using GoldVIP-1.6.0, cannot use LLCE CAN. Hi, We apologize for the delay. Can you help us share the respective logs of your system? Also, were you able to run the available examples for LLCE CAN under the BSP User Manual?  Overall, we have not seen any problems with LLCE CAN not receiving information, for which seems to be a configuration problem.  Please, let us know. Re: If develop something using GoldVIP-1.6.0, cannot use LLCE CAN. There is a typo in the above post. The version of GoldVIP I've been using is v1.1.0, not v1.0.0. I used GoldVIP-S32G2-v1.0.0 two years ago -> I used GoldVIP-S32G2-v1.1.0 two years ago
查看全文
MCXA153 Hard Fault on GPIO_PinInit I'm trying to initialize a pin on the FRDM-MXCA153 as GPIO Output, but the GPIO_PinWrite throws a HardFault.  Here is code execution, paused at the write to the PSOR register for GPIO3.  The Hard Fault occurs immediately upon execution of the base->PSOR write. You can also see in the call stack () at 0xffffffb8.  There is no custom code here, just a call to the library code from fsl_gpio. I am using SDK_2.16.000 for the MXCA153. Minimum example project is also attached. MCXA Re: MCXA153 Hard Fault on GPIO_PinInit Thanks. It seems that routing a pin as GPIO (i.e. clicking the checkbox for the pin in the GPIO list in the "Peripheral Signals" tab), but leaving the Direction as "Not Specified" is not sufficient to generate the CLOCK_EnableClock(kCLOCK_GateGPIO3) call in pin_mux.c. The Direction must be specified too. Re: MCXA153 Hard Fault on GPIO_PinInit hi,aberger If pin P3_12 is used, kCLOCK_GatePORT3 should be enabled. If pin P3_12 is used as a common GPIO pin, kCLOCK_GateGPIO3 should be enabled. When the GPIO pin is initialized in the Config Tools tool, the code will be updated to enable kCLOCK_GateGPIO3. I hope this can help you. If you have any other questions, contact me again.  BR Xu Zhang Re: MCXA153 Hard Fault on GPIO_PinInit Hi @Joey_z , Thank you for the response. Can you explain the difference between kCLOCK_GatePORT3 and kCLOCK_GateGPIO3? You can see the the clock for PORT3 is enabled in my project inside BOARD_InitBootPins() (and this is auto-generated by Config Tools in the pin_mux.c file when I selected GPIO3, pin 12 to be routed). Why did Config Tools not enable the clock for GPIO3?  Re: MCXA153 Hard Fault on GPIO_PinInit hi,aberger Thank you for your interest in NXP products and opportunity to serve you,I will gladly help you with this. The clock has not been enabled in your code. After adding  CLOCK_EnableClock(kCLOCK_GateGPIO3)  to your demo, the error was successfully resolved. I hope this can help you. If you have any other questions, contact me again. The fixed code is also attached. BR Xu Zhang
查看全文