Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
没有可用的源 "(gdb[23].proc[42000].threadGroup[i1],gdb[23].proc[42000].OSthread[1]).threa 调试程序后,出现消息“没有可用的源文件 '(gdb[23].proc[42000].threadGroup[i1],gdb[23].proc[42000].OSthread[1]).thread[1].frame[0]'“继续”按钮呈灰色,并弹出窗口。我使用的软件是 S32 Design Studio for ARM 版本 2018.R1。请问如何解决这个问题?谢谢。S32K144EVB Re: No source available for "(gdb[23].proc[42000].threadGroup[i1],gdb[23].proc[42000].OSthread[ 您好, 该消息通常表示调试器在故障处理程序中停止,或者在无效地址处停止,而该地址没有可用的源代码。请尝试重新编译,重启电路板,然后重新启动调试会话。同时确认在 GDB PEMicro 调试配置中选择了正确的 *.elf 文件。 此外,请测试是否可以使用标准的 NXP S32K144 示例项目重现该问题。这将有助于确定问题是否特定应用。 请同时检查您当前安装的 S32 Design Studio for ARM 2018.R1 的更新级别。如果您未使用更新 11(或更高版本),我们建议您应用此更新,因为它包含针对 S32K1xx 设备的修复程序和 SDK 更新。 BR,彼得
查看全文
No source available for "(gdb[23].proc[42000].threadGroup[i1],gdb[23].proc[42000].OSthread[1]).threa After debugging the program, the message "No source available for '(gdb[23].proc[42000].threadGroup[i1], gdb[23].proc[42000].OSthread[1]).thread[1].frame[0]' " popped up.The "RESUME" button is gray. The software I am using is S32 Design Studio for ARM Version 2018.R1. Could you please tell me how to solve this problem? Thank you. S32K144EVB Re: No source available for "(gdb[23].proc[42000].threadGroup[i1],gdb[23].proc[42000].OSthread[ Hi, The message typically indicates that the debugger stopped in a fault handler or at an invalid address where no source code is available. Please try a clean rebuild, power-cycle the board, and restart the debug session. Also verify that the correct *.elf file is selected in the GDB PEMicro debug configuration. Additionally, please test whether the issue can be reproduced with a standard NXP S32K144 example project. This will help determine if the problem is application-specific. Please also check which update level of S32 Design Studio for ARM 2018.R1 you currently have installed. If you are not using Update 11 (or newer), we recommend applying the update, as it contains fixes and SDK updates for S32K1xx devices. BR, Petr
查看全文
FRDM-IMX93: LPSPI3 registers inaccessible from Linux (Bus error on devmem read) — external SPI devic Summary I'm trying to bring up two external MCP2515 CAN controllers (Waveshare 2‑CH CAN HAT, confirmed working on a genuine Raspberry Pi) on the FRDM‑IMX93 board's P11 EXPI header, using LPSPI3 on GPIO_IO08‑11 (the pins that match the Raspberry‑Pi‑compatible header positions per UM12181 Table 21). After fixing every device‑tree‑level issue I could find (power, pinmux, chip‑select, pinctrl‑assert‑gpios), the SPI clock (SCK) never toggles on the physical header pin, and a direct register read of the LPSPI3 block causes a Bus error. A different, known‑working peripheral (LPUART1) reads back fine from the same address space. This points to a resource/bus access restriction (RDC or similar) rather than anything fixable from the Linux device tree. Board / software Board: FRDM‑IMX93 (NXP), SoC: MIMX9352CVVXMAB BSP: NXP i.MX Release Distro, kernel 6.18.2-1.0.0-gf49f45233f7b Target peripheral: lpspi3 (spi@42550000, aliased spi2 in /aliases, real dts label confirmed via /proc/device-tree/__symbols__ to be lpspi3) External device under test: 2× MCP2515 (Waveshare 2‑CH CAN HAT) on CS0/CS1 What's already confirmed working (ruled out) Power to the header. reg_vexp_3v3 / reg_vexp_5v are regulator-fixed nodes that default to disabled (regulator_summary showed use=0). Added regulator-always-on + regulator-boot-on via overlay fragments targeting &reg_vexp_3v3 / &reg_vexp_5v (confirmed real labels via __symbols__). Verified 3.3 V / 5 V physically present on P11 afterwards. Pinmux. GPIO_IO08‑11 correctly muxed to LPSPI3_PCS0/SIN/SOUT/SCK using the official macros from imx93-pinfunc.h. input_reg/input_val are 0x0000/0x0 for these three functions, so no DAISY‑chain select is required (ruled out via macro inspection, no separate register needed). Chip‑select. cs-gpios = <&gpio2 8 GPIO_ACTIVE_LOW>, <&gpio2 7 GPIO_ACTIVE_LOW>; (bit‑banged GPIO CS, matching NXP's own upstream board‑support pattern for this node). Confirmed via cat /sys/kernel/debug/gpio and multimeter/logic‑analyzer: CS0 toggles correctly and physically reaches the header pin. pinctrl-assert-gpios. NXP's own upstream &lpspi3 reference for this board includes pinctrl-assert-gpios = <&pcal6408 0 GPIO_ACTIVE_HIGH>; (this line does not appear in most public guides, only in the board's own dts patch). Added it; confirmed via /proc/device-tree/__symbols__ that pcal6408 resolves, and via cat /sys/kernel/debug/gpio that the GPIO is asserted (out hi) once lpspi3's default pinctrl state is requested. Overlay applies cleanly. No FDT_ERR_NOTFOUND from U‑Boot's fdt apply; /sys/bus/spi/devices/ shows spi2.0 and spi2.1 registered by the SPI core. ERR051608 (LPSPI TCR[PRESCALE] errata). Checked spi-fsl-lpspi.c history — the fix (prescale_max = 1 for fsl,imx93-spi) landed in mainline Aug 2024 / stable 6.6.51 & 6.10.10 Sept 2024, well before this kernel version (6.18.2), and the compatible string (fsl,imx93-spi) is already present in the base board dts, so the driver should auto‑apply this limit. Not ruled out with certainty (no direct register confirmation of the actual PRESCALE field written), but timeline strongly suggests it's already handled. The actual symptom With CS0/CS1, MISO, MOSI, SCK probed on the physical P11 pins (multimeter, then a logic analyzer at 10–20 MSa/s triggered on CS0 falling edge) while continuously retrying a transfer (spidev_test in a loop, and separately by repeatedly forcing mcp251x re‑probe via echo spi2.0 > /sys/bus/spi/drivers/mcp251x/bind): CS0 toggles. Confirmed on both multimeter and logic analyzer. SCK never toggles. Flat, no activity, regardless of continuous transfer attempts. MOSI never toggles. Both MCP2515s fail identically: mcp251x spi2.0/spi2.1: MCP251x didn't enter in conf mode after reset / Probe failed, err=110 (ETIMEDOUT) — i.e. the driver's own SPI‑level reset+read‑CANSTAT sequence gets no response, consistent with SCK never leaving the SoC. Root cause narrowed to clock / bus access, not device tree   # clk_enable_count is 0 despite the controller actively being used $ cat /sys/kernel/debug/clk/clk_summary | grep -i lpspi3 lpspi3_root 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi3 0 0 0 50000000 0 0 50000 N 42550000.spi per lpspi3's functional (per) clock shows enable_count=0 even while 42550000.spi (the real, bound consumer) is actively attempting transfers in a loop — it isn't simply "unused" (compare to lpspi1/2/4, which are deviceless and also show 0, so that alone isn't conclusive). The decisive test — direct register read via devmem:   $ devmem 0x44380000 32 # LPUART1 base — known-good peripheral 0x04040007 $ devmem 0x42550000 32 # LPSPI3 base (VERID register) Bus error (core dumped) A completely unrelated, working peripheral (LPUART1, used for the debug console) reads back fine from the same CPU/bus context. LPSPI3's base address faults on a plain 32‑bit read, before any clock‑gating or pinmux consideration even matters. This looks like a Resource Domain Controller (RDC) — or similar access‑control mechanism — blocking the Cortex‑A55 (Linux) domain from this peripheral's address range at the hardware level, independent of anything configurable from the Linux device tree. Questions for NXP Is LPSPI3 on the FRDM‑IMX93 intentionally reserved for another domain (e.g. Cortex‑M33 / secure world) in the board's default RDC configuration, making it unusable from Linux without additional SPL/ATF/TF‑A level reconfiguration? If so, is there a documented way to reassign LPSPI3 bus access to the Cortex‑A55 non‑secure domain (RDC config in U‑Boot SPL, or an OP‑TEE/TF‑A change), or is this simply not supported as an external SPI on this board's P11 header despite GPIO_IO08‑11 being broken out there? Is this specific to my board/kernel build, or a known characteristic of the default FRDM‑IMX93 BSP? A reference imx93-11x11-frdm-lpspi.dts (analogous to imx93-11x11-evk-lpspi.dts for the EVK) would be very helpful if one exists. How to reproduce Base board dtb: stock imx93-11x11-frdm.dtb shipped with the i.MX Release Distro image (unmodified NXP lpspi3 + pcal6408 + reg_vexp_3v3/reg_vexp_5v nodes — all confirmed present via __symbols__). Apply the overlay described above (regulator always‑on, pinctrl + cs‑gpios + pinctrl‑assert‑gpios on &lpspi3). Bind spidev (built‑in, CONFIG_SPI_SPIDEV=y) manually to spi2.0:   echo spidev > /sys/bus/spi/devices/spi2.0/driver_override echo spi2.0 > /sys/bus/spi/drivers/spidev/bind spidev_test -D /dev/spidev2.0 -s 1000000 -v — transfer "succeeds" (no I/O error) but RX data is not a loopback of TX even with MOSI/MISO physically shorted. devmem 0x42550000 32 → Bus error. Happy to provide the full overlay source, dmesg, and clk_summary/gpio dumps if useful. Re: FRDM-IMX93: LPSPI3 registers inaccessible from Linux (Bus error on devmem read) — external SPI d Hello @irfanktm  Hope you are doing very well. Please take a look to the below post comunity: https://community.nxp.com/t5/i-MX-Processors/FRDM-IMX93-LPSPI3-EXPI-P11-SPI-pins-produce-no-valid-SPI/td-p/2413472 Best regards, Salas.
查看全文
MCSPTE1AK144 – ホールFOCが約600rpm以上で停止し、Simulinkからの自動展開が機能しない こんにちは、 私はNXP MCSPTE1AK144 #とSunrise PMSMモーターを使い、ホールセンサーPMSMのFOC例を使っています ソフトウェア設定: MATLAB R2025b NXPサポートパッケージ S32K1xx 2.2.0 NXPモデルベース設計ツールボックス S32K1xx 4.3.0 モデルは成功裏に構築され、.motを生成しますファイル。.mot ファイルを手動でコピーするとEVB-S32K144ドライブにファイルを送信すると、モーターは正常に動作します。ホストモデルを使うと、モーターの始動・停止や速度基準の変更が可能です。 私は現在、2つの問題に直面しています。 モーターは回転数が約600rpmを超えると停止します。 モーターは低速では正常に動作します。約10rpmから動作確認を行い、徐々に速度を上げていきました。 回転速度が約600rpmを超えると、モーターが停止し、D11が赤く点滅し始めます。 このシャットダウンの正確な原因を特定するにはどうすればよいでしょうか?どの障害変数またはレジスタを監視すべきですか? Simulinkからの自動デプロイ Simulinkモデルは成功裏に構築し、.motを生成します。ファイルは存在するが、ファームウェアは自動的にボードに書き込まれるわけではない。同じ.motファイルを手動でコピーするEVB-S32K144ドライブへのファイル転送は正常に動作します。 OpenSDAを介して生成されたコードをS32K144に自動的にデプロイするための正しい設定は何ですか? また、この例についてはMATLAB R2021aとNXP サポート Package S32K1xx 2.3.0を使った古いNXPの推奨も見つけました。MBDT 4.3.0とR2025bの組み合わせの代わりに、この構成を使用することをお勧めしますか? よろしくお願いします。
查看全文
Linux 无法访问 LPSPI3 寄存器(读取设备内存时出现总线错误)——P11 EXP 上的外部 SPI 设备 摘要 我正在尝试在 FRDM-IMX93 板的P11 EXPI 接头上使用LPSPI3在 GPIO_IO08-11 上启动两个外部 MCP2515 CAN 控制器(Waveshare 2-CH CAN HAT,已确认在真正的 Raspberry Pi 上工作)(引脚与 UM12181 表 21 中 Raspberry Pi 兼容接头的位置相匹配)。 在修复了我能找到的所有设备树级问题(电源、引脚复用、片选、引脚控制断言-GPIO)之后,SPI 时钟 (SCK)始终无法在物理接头引脚上切换,并且直接读取 LPSPI3 块的寄存器会导致总线错误。另一个已知工作正常的外部设备(LPUART1)可以从相同的地址空间正常读取数据。这表明存在资源/总线访问限制(RDC 或类似限制),而不是 Linux 设备树中可以修复的问题。 板/软件 开发板:FRDM-IMX93(恩智浦),SoC:MIMX9352CVVXMAB BSP:NXP i.MX 发布发行版,内核版本 6.18.2-1.0.0-gf49f45233f7b 目标外设:lpspi3(spi@42550000,别名在 /aliases 中为 spi2,通过 /proc/device-tree/__symbols__ 确认实际 dts 标签为 lpspi3) 被测外部设备:CS0/CS1 上的 2 个 MCP2515(Waveshare 2 通道 CAN HAT) 已确认有效(已排除) 给排气歧管供电。reg_vexp_3v3 / reg_vexp_5v 是默认禁用的调节器固定节点(regulator_summary 显示 use=0)。通过覆盖片段添加了 regulator-always-on + regulator-boot-on,目标为 &reg_vexp_3v3 / &reg_vexp_5v(通过 __symbols__ 确认了真实标签)。事后验证 P11 上实际存在 3.3 V / 5 V 电压。 Pinmux。使用 imx93-pinfunc.h 中的官方宏,GPIO_IO08‑11 已正确复用到 LPSPI3_PCS0/SIN/SOUT/SCK。对于这三个函数,input_reg/input_val 均为 0x0000/0x0,因此不需要 DAISY 链选择(通过宏检查排除,不需要单独的寄存器)。 芯片选择。cs-gpios = , (位操作 GPIO CS,与 NXP 针对此节点的上游板级支持模式相匹配)。通过 cat /sys/kernel/debug/gpio 和万用表/逻辑分析仪确认: CS0 切换正常,并且物理上连接到了接头引脚。 pinctrl-assert-gpios。NXP自己的上游 &lpspi3 参考中包含 pinctrl-assert-gpios = <&pcal6408 0 GPIO_ACTIVE_HIGH>;(此行并未出现在大多数公开指南中,仅出现在板自己的 dts 补丁中)。已添加;通过 /proc/device-tree/__symbols__ 确认 pcal6408 已解析,并通过 cat /sys/kernel/debug/gpio 确认,一旦请求 lpspi3 的默认 pinctrl 状态,GPIO 就会被钳位(输出 hi)。 覆盖层涂抹顺畅。U-Boot 的 fdt apply 没有出现 FDT_ERR_NOTFOUND;/sys/bus/spi/devices/ 显示 SPI 内核已注册 spi2.0 和 spi2.1。 ERR051608(LPSPI TCR[PRESCALE] 勘误)。已检查 spi-fsl-lpspi.c历史记录——该修复(fsl、imx93-spi 的 prescale_max = 1)已于 2024 年 8 月合并到主线版本 / 稳定版 6.6.51。& 6.10.10 2024 年 9 月,远早于此内核版本 (6.18.2),并且兼容字符串 (fsl,imx93-spi) 已存在于主板 dts 中,因此驱动程序应该自动应用此限制。虽然不能完全排除这种可能性(没有直接的注册确认实际写入了 PRESCALE 字段),但时间线强烈表明此事已经处理完毕。 实际症状 使用万用表探测物理 P11 引脚上的 CS0/CS1、MISO、MOSI、SCK,然后使用逻辑分析仪以 10–20 MSa/s 的采样率在 CS0 下降沿触发,同时不断重试传输(在循环中使用 spidev_test,以及通过 echo spi2.0 > /sys/bus/spi/drivers/mcp251x/bind 反复强制 mcp251x 重新探测): CS0切换。经万用表和逻辑分析仪验证。 SCK 从不切换。平坦,无任何活动,无论持续尝试转移。 MOSI 从不切换。 两个 MCP2515 的故障情况完全相同:mcp251x spi2.0/spi2.1:MCP251x 在复位后未进入配置模式 / 探测失败,错误代码为 110 (ETIMEDOUT) — 即驱动程序自身的 SPI 级复位 + 读取 CANSTAT 序列未得到响应,这与 SCK 从未离开 SoC 的情况一致。 根本原因已缩小到时钟/总线访问,而非设备树。   # clk_enable_count AND clk_prepare_count are both 0, despite the controller # actively being used in a continuous retry loop $ cat /sys/kernel/debug/clk/clk_summary | grep -i lpspi3 lpspi3_root 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi3 0 0 0 50000000 0 0 50000 N 42550000.spi per $ cat /sys/kernel/debug/clk/lpspi3/clk_prepare_count 0 即使 42550000.spi(真正的绑定消费者)正在循环中积极尝试传输(spidev_test 循环,以及通过 echo spi2.0 > /sys/总线/spi/drivers/mcp251x/bind 反复强制 mcp251x 重新探测),lpspi3 的功能(每个)时钟显示 clk_enable_count=0 和 clk_prepare_count=0。clk_prepare() 是 clk_enable()之前的步骤——它甚至从未被调用,这表明驱动程序的传输路径(或其前面的 pm_runtime_get())从未到达该设备的时钟管理代码,而不是请求时钟然后无法开启。 我没有内核构建工具来添加跟踪点,所以我还无法判断这是 pm_runtime 恢复时静默执行空操作,还是缺少依赖项(例如,此板的 lpspi3 节点需要但没有的功率域引用),或者是此特定内核构建的 spi-fsl-lpspi.c 中的其他问题。 决定性的寄存器级测试——直接读取 devmem:   $ devmem 0x44380000 32 # LPUART1 base — known-good peripheral 0x04040007 $ devmem 0x42550000 32 # LPSPI3 base (VERID register) Bus error (core dumped) 一个完全无关的、工作正常的外部设备(LPUART1,用于调试控制台)从相同的 CPU/总线上下文中读取数据正常; LPSPI3 的基地址在普通的 32 位读取中出现故障。我最初怀疑是该板特有的资源域控制器 (RDC) 式访问限制,但 NXP 社区的几个帖子(i.MX25/i.MX6ULL“devmem 返回总线错误”,i.MX8MP I2C 来自 DSP 的帖子)指出,同样的症状是触摸时钟被关闭的 AIPS 总线外设的正常预期结果,而不一定是安全/域限制。这与上面的 clk_enable_count=0 一致,现在让我觉得这是该设备的驱动程序/PM 路径中的时钟使能错误,而不是(不一定)RDC 块——尽管在没有底层工具的情况下,我无法完全排除 RDC 的可能性。 这并非 i.MX93 LPSPI3 的普遍限制 上下文:NXP 社区的另一个帖子([iMX93AUTO EVK] QCA7006AQ 的 SPI 配置,community.nxp.com/t5/i-MX-Processors/iMX93AUTO-EVK-SPI-Configuration-for-QCA7006AQ-with-imx93AUTO-EVK/m-p/1839847)展示了如何使用 LPSPI3 在i.MX93-11x11-EVK (同一 SoC)的相同 GPIO_IO08-11 引脚上成功驱动外部 SPI 设备:   c &lpspi3 { compatible = "fsl,imx93-spi", "fsl,lpspi"; cs-gpios = <&gpio2 8 GPIO_ACTIVE_LOW>; status = "okay"; ... }; &iomuxc { pinctrl_lpspi3_qca: lpspi3grp { fsl,pins = < MX93_PAD_GPIO_IO11__LPSPI3_SCK 0x3fe MX93_PAD_GPIO_IO10__LPSPI3_SOUT 0x3fe MX93_PAD_GPIO_IO09__LPSPI3_SIN 0x3fe MX93_PAD_GPIO_IO08__LPSPI3_PCS0 0x3fe /* native PCS0, not plain GPIO */ >; }; }; 我在 FRDM 板上尝试了完全相同的变体(使用原生 LPSPI3_PCS0/LPSPI3_PCS1 而不是普通的 GPIO2_IO08/GPIO2_IO07,加上显式兼容覆盖)——没有变化,devmem 0x42550000 32 仍然出错,clk_enable_count/clk_prepare_count 仍然为 0。这排除了引脚复用/兼容字符串选择是此板卡上的原因,并且——结合 EVK 的成功——让我怀疑是FRDM 板卡特有的问题(要么在 imx93-11x11-frdm.dts 中)。处理 lpspi3(或该板的 U-Boot/ATF 级 RDC/电源域设置)而不是一般的 i.MX93 SoC 或主线驱动程序的限制。 向恩智浦提出的问题 即使 SPI 内核正在积极地向绑定的 spi2.0/spi2.1 设备进行传输,lpspi3 的 clk_prepare_count/clk_enable_count 仍然保持为 0,并且普通的寄存器读取 0x42550000 会导致总线故障——FRDM-IMX93 的 lpspi3 设备树节点(或板级 RDC/电源域设置)缺少什么,而正常工作的 EVK 配置不需要这些? FRDM-IMX93 上的 LPSPI3 是否故意保留给另一个功能域(例如,Cortex-M33 / 安全世界,或板载 MAYA-W2 三射频模块路径)在板的默认 RDC/ATF 配置下,与 EVK 不同? 是否有类似 imx93-11x11-frdm-lpspi.dts 的参考文件,用于在该特定电路板上通过 P11 外部使用 LPSPI3? 如何重现 底板 dtb:随 i.MX 版本 发行版镜像一起提供的标准 imx93-11x11-frdm.dtb(未修改的 NXP lpspi3 + pcal6408 + reg_vexp_3v3/reg_vexp_5v 节点 — 全部通过 __symbols__ 确认存在)。 应用上述覆盖(稳压器始终开启,pinctrl + cs-gpios + pinctrl-assert-gpios on &lpspi3; 尝试了 plain-GPIO 和 native-PCS0/PCS1 pinmux 变体,两次结果相同)。 手动将 spidev(内置,CONFIG_SPI_SPIDEV=y)绑定到 spi2.0:   echo spidev > /sys/bus/spi/devices/spi2.0/driver_override echo spi2.0 > /sys/bus/spi/drivers/spidev/bind spidev_test -D /dev/spidev2.0-s 1000000 -v — “成功”(无 I/O 错误),但即使 MOSI/MISO 物理短路,RX 数据也不是 TX 的环回;无论如何,逻辑分析仪上的 SCK 都不会切换。 cat /sys/kernel/debug/clk/clk_summary | grep lpspi3 → clk_enable_count=0. cat /sys/kernel/debug/clk/lpspi3/clk_prepare_count → 0。 devmem 0x42550000 32 → 总线错误。devmem 0x44380000 32 (LPUART1) → 正常成功。 如果需要,我很乐意提供完整的 overlay 源代码、dmesg 和 clk_summary/gpio 转储。 Re: LPSPI3 registers inaccessible from Linux (Bus error on devmem read) — external SPI device on P11 你好@irfanktm 请查看以下社区帖子: https://community.nxp.com/t5/i-MX-Processors/FRDM-IMX93-LPSPI3-EXPI-P11-SPI-pins-produce-no-valid-SPI/td-p/2413472 顺祝商祺! 萨拉斯。
查看全文
JTAG_TMS 上拉还是下拉?S32K144 你好: 我在阅读 S32K1xx 的功能安全手册时,其中有一章是关于调试模式的。它表示应将 JTAG_TMS 拉低,以确保 JTAGC TAP 控制器被禁用。 如何理解这句话?这是否意味着在正常运行(非调试模式)期间,我需要通过外部元器件将此引脚拉低? Re: JTAG_TMS pull up or pull down? S32K144 你好@Stanley_Xu , S32K1xx 功能安全手册和 AN5426 中的建议适用于不同的使用情况。 AN5426 建议在 JTAG_TMS/SWD_DIO 引脚上使用 10 kΩ 至 47 kΩ 的上拉电阻。如果在开发、编程或调试过程中需要使用 JTAG 或 SWD 访问,则推荐使用此硬件配置。 然而,功能安全手册针对的是与功能安全相关的应用的最终现场配置。根据第 5.6.2.1 节和假设 SM_047,当设备用于安全相关功能时,必须在现场禁用调试。在这种操作条件下,JTAG_TMS 应保持低电平,以便 JTAGC TAP 控制器保持禁用状态,并且不会意外干扰正常的应用程序操作。 因此,如果应用需要符合 S32K1xx 功能安全手册中的假设 SM_047,则最终生产的硬件应提供在现场保持 JTAG_TMS 低电平的方法。这可以通过使用外部下拉电阻或其他系统级解决方案来实现,以保证所需的低电平并防止外部源发出此信号。 TAP 状态图仅显示 TMS 如何控制 TCK 上升沿的状态转换。它本身并不能提供永久的调试保护。如果外部调试器能够主动驱动 TMS 和 TCK,则可以控制 TAP 控制器在其状态机中运行。因此,TMS 下拉是一种功能安全措施,旨在防止意外激活调试功能,而不是永久锁定调试接口的安全机制。 如果在开发或制造过程中需要调试访问权限,则可能需要单独的开发配置和生产配置。 此致, 帕维尔 Re: JTAG_TMS pull up or pull down? S32K144 根据第 59 章 JTAG 控制器 (JTAGC) 的 RM,TMS 状态会影响是否进入调试模式。如图所示,当 TMS 设置为 0 时,TAP 将不会进入调试状态。因此,保持低电平状态是安全的,同时建议根据 AN5426 的说明,通过 10k-47k 的电阻将硬件连接上拉至 VDD。
查看全文
「examples/freemaster_examples/fmstr_example_pdbdmにおけるアプリケーションコマンドの問題 親愛なるみんな sdk.sdk_2.x_lpcxpresso54114をダウンロードしましたFreeMASTERの例のみを使用します。アプリケーションコマンドセクションで奇妙な挙動が見つかる以外は、すべての面で正常に動作しています 詳細はGitHubに掲載されています。こちらをご覧ください。 https://github.com/nxp-mcuxpresso/mcuxsdk-examples/issues/10 敬具 パオロ Re: Application Command issue in 'examples/freemaster_examples/fmstr_example_pdbdm こんにちは、問題の理解が正しければ、例のアプリケーションでコマンド0x10がコード16を返す理由が見当たりません。 コマンド0x10はコールバック関数に登録されています。 したがって、FreeMASTERがコマンド実行をプロブリングすると、「my_appcmd_handler」関数は自動的に呼び出されます。このコールバックのサンプルコードは非常に単純です。 そのため、戻りコード16(=0x10)が回答として返されます。 また、ご報告いただいたように、ID 0x02 の app.command で、FreeMASTER に不明な応答に対するメッセージ表示に関する問題があることも確認しました。応答0xcdは「不明な応答」として報告されるべきだが、実際には何もメッセージが生成されない。 ありがとう、 ミハル
查看全文
i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 Hi Team, We are working on an i.MX 95 platform and would like to use the MIPI DSI peripheral initially from the M7 core, and then hand over the resource to the A55 core at runtime. From our understanding, the peripheral resources and their ownership are initially defined for each Logical Machine/processor in the mx95evk.cfg file generated/configured through the System Manager tools. We would like to clarify the following: Dynamic Resource Handover: Is it possible to dynamically transfer the MIPI DSI peripheral resource from M7 to A55 at runtime? For example, M7 would initially own and use MIPI DSI, then release it, after which A55 would take ownership and use the same peripheral. Dynamic Resource Allocation: If runtime handover is supported, what is the recommended mechanism/API to change the resource ownership or access permissions dynamically? Is this handled through the System Manager, TRDC, or another mechanism? GPIO Sharing: Is it possible for the same GPIO port/resource to be accessed by both M7 and A55 simultaneously? If so, are there any TRDC configuration requirements or software synchronization mechanisms that need to be implemented to safely share the GPIO resource? We would appreciate any guidance on the recommended approach for implementing dynamic peripheral handover and/or resource sharing between M7 and A55 on the i.MX 95. Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 I discussed with the AE team, please refer to the following update. On i.MX 95, resource ownership and TRDC permissions are defined statically at build time in the SM config (mx95evk.cfg → generated config_.h) and applied by the System Manager (SM) when a MIX powers up. *There is no SCMI/SM message that transfers ownership of a peripheral from one Logical Machine (LM) to another at runtime. However, SM documentation names "handing a display over from one LM to another" as the exact motivating use case for the SM_SCMI_PERM_EXCLUSIVE model. So the handover is achievable, just not by "moving" ownership. Q1 & Q2 — MIPI DSI M7 → A55 handover: how to do it The LMM (Logical Machine Management) SCMI protocol only boots / resets / shuts down / suspends / wakes LMs — it has no RESOURCE_ASSIGN or OWNERSHIP_TRANSFER message. Instead, use a temporal-division handoff: Grant BOTH LMs access up-front in mx95evk.cfg. By default the EVK config assigns MIPI_DSI, MIPI_PHY, DC_DISPENG, BLK_CTRL_DISPLAYMIX, the display clocks/power (PD_DISPLAY, CLK_DISP*) as OWNER of the AP (LM2) only — you must also add them to the M7 LM (LM1) to allow M7-first usage. Mark the SM-managed resources (clocks, power, reset) as SM_SCMI_PERM_EXCLUSIVE (api=all) so requests from the two LMs are not silently aggregated/overwritten. At handover, M7 quiesces DSI/DCIF, then signals A55 via application-level IPC (MU mailbox or SCMI notification). A55 (Linux/DRM DSI+DPU stack) then brings up the same IP. The handoff sequencing is the customer's software responsibility (temporal division). The SM only guarantees the HW is drivable from either side because both LMs were pre-granted access. TRDC ownership cannot be rewritten at runtime — only the SM programs TRDC, and only from the static config at MIX power-up. TRDC config that controls this (expressed in the .cfg): MDAC_am=… — Master-Domain Assignment (maps a bus master to a domain ID) MBC_am=s.b — Memory Block Check — this is where peripheral access is gated MRC_am=… — Memory Region Check (large memory regions like DDR) Each LM binds to a DID, e.g. SM did=2, AP(LM2) did=3, M7(LM1) did=4. Q3 — Shared GPIO between M7 and A55 Yes, TRDC can grant both the M7 domain and the A55 domain concurrent access to the same GPIO instance (enable its MBC block for both DIDs). But there is a critical caveat and two supported patterns: Caveat: i.MX 95 GPIO has no hardware arbitration — PDR/DR/GDIR registers are physically shared, so uncoordinated read-modify-write from both cores races. Pattern A (disjoint pins + SW sync): Assign specific pins to each core by convention (the config already splits pins per LM). Since the data/direction register banks are still shared, protect concurrent RMW with a hardware semaphore / MU, or ensure the cores never touch the same register bank concurrently. Pattern B (SM-arbitrated, recommended for truly shared instances): Route through the always-on GPIO1, which is owned by the SM and whose documented role is "arbitrates shared access." IOMUXC/IOMUX_GPR are likewise SM-arbitrated. Pinmux/daisy is set via the SCMI pin-control protocol with per-agent permissions; GPIO data ops are direct MMIO. Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 Hello, On the i.MX 95, the MIPI DSI resource can be used by the M7 initially and later handed over to the A55. The resource access and ownership should be configured through the System Manager/TRDC configuration, while the actual runtime handover should be handled by software. TRDC controls which Logical Machine/domain is allowed to access the peripheral, but it does not manage synchronization between M7 and A55. Therefore, M7 should first complete all DSI operations, stop using the peripheral, and notify A55 through an inter-core mechanism such as MU/IPC before A55 takes control. Similarly, GPIO resources can be made accessible to both M7 and A55 through the appropriate TRDC configuration, but simultaneous access must be synchronized by software. For the DSI use case, the recommended approach is to have only one core actively use the peripheral at a time and use MU/IPC for the handover. Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 Hi team, We are working with an i.MX 95 19x19 EVK and are trying to implement an LVDS display handover between the M7 and A55/Linux, with the following intended architecture: M7: Initially owns and drives the LVDS display. A55/Linux: Subsequently takes control of the display after Linux boots. Current Implementation As an initial phase of development, we have configured the LVDS display to be initialized and controlled by the M7. The M7 successfully initializes the display and fills the framebuffer with a blue color, which is correctly displayed on the LVDS panel. We modified the following resources from their default A55 ownership to M7 ownership, while providing access to A55: DC DC0 DC1 DC_CMDSEQ DC_DISPENG DC_DISPENG_INT DC_FL0 DC_FL1 DC_INT_CTL DC_PIXENGINE DC_XPC DC_YUV0 DC_YUV1 DC_YUV2 DC_YUV3 BLK_CTRL_DISPLAYMIX LVDS MIPI_PHY LDB_PLL CLOCK_DISP1PIX VIDEO_PLL1 PIN_I2C2_SCL PIN_I2C2_SDA LPI2C2 Observed Behavior The behavior is currently as follows: The M7 boots and successfully initializes the display. The blue-filled framebuffer is displayed correctly on the LVDS panel. The display remains visible while the M7 is running. The A55/Linux boot process then starts. After the Linux kernel starts, the display goes blank. When using the following device tree:fdtfile imx95-19x19-evk-it6263-lvds1.dtb Linux consistently stops progressing during kernel boot. We do not observe an obvious kernel panic or a clear error message on the console. The boot process simply stops progressing. Resource Ownership Investigation Based on our understanding, resource ownership is statically configured through the System Manager configuration, and ownership cannot be dynamically transferred between Logical Machines through an SCMI message. We therefore investigated whether the display resources could be assigned to both the M7 and A55. However, some of the critical DC resources do not appear to support dual ownership, particularly: DC DC_XPC DC_YUV0 DC_YUV1 DC_YUV2 DC_YUV3 DC_FL0 DC_FL1 DC_2DBLIT This raises the possibility that Linux may be attempting to access one or more display resources that are exclusively owned by the M7 during its DRM/DPU or IT6263/LVDS initialization. Questions Could you please help us clarify the following? 1. Is it expected for Linux to hang if resources such as DC, DC_XPC, DC_YUV*, DC_FL*, or DC_2DBLIT are exclusively owned by the M7?   2. Which display resources are accessed by A55/Linux during Linux boot and during DRM/DPU and IT6263/LVDS initialization? In particular, we would like to understand the exact resources accessed by: Linux DRM/DPU Display Controller (DC) IT6263 driver LVDS/LDB driver Display clock/PLL configuration 3. Is there a supported System Manager resource ownership configuration that allows the following sequence? M7 initializes and drives the LVDS display. A55/Linux boots normally. A55/Linux subsequently takes control of the display. Both Logical Machines can access the resources required for the handover. 4. If the DC resources cannot be shared between the M7 and A55, what is the recommended architecture for M7 display and A55/Linux coexistence or display handover?   5. Does A55/Linux require ownership of the complete DC resource hierarchy even if Linux is not intended to actively drive the display during the initial stage of boot?   6. Are any additional configuration changes required in the following areas for this use case? System Manager resource configuration TRDC permissions SCMI configuration Linux device tree Display/LVDS configuration 7. Could the Linux boot hang be caused by A55/Linux attempting to access a display resource that is owned by the M7, particularly during initialization of the IT6263/LVDS display path?     Our primary objective at this stage is to identify the exact display resources that Linux accesses during early boot and during DRM/DPU and IT6263/LVDS initialization, and determine whether those resources can coexist with M7 ownership. We have attached the System Manager configuration (.cfg) file and Linux boot log for reference. Any guidance on the supported resource ownership configuration, display resource dependencies, or recommended architecture for implementing M7/A55 LVDS display handover would be greatly appreciated.   Thank you.   Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 We have AN15131 to resolve this problem, there is also source code attached in this AN. However, this AN's status is "Web Publishing Pending", it haven't been released on nxp.com. Please wait for it for some days.
查看全文
LPSPI3レジスタがLinuxからアクセス不能(devmem読み取り時のバスエラー)— P11 EXP上の外部SPIデバイス 概要 FRDM-IMX93ボードの P11 EXPIヘッダーに LPSPI3 を使って、2つの外部MCP2515 CANコントローラー(Waveshare 2-CHAN HAT、本物のRaspberry Piで動作確認)を起動しようとしています(GPIO_IO08 UM12181表21参照、Raspberry-Pi互換ヘッダー位置に一致するピンです)。 見つけたデバイスツリーレベルの問題(電源、ピンマックス、チップセレクト、pinctrl-assert-gpio)をすべて修正した後、SPIクロック(SCK)は物理ヘッダーピンを切り替え ず 、LPSPI3ブロックの直接レジスタ読み込みは バスエラーを引き起こします。別の既知の動作ペリフェラル(LPUART1)は同じアドレス空間から問題なく読み返します。これはLinuxデバイスツリーから修正できるものではなく、リソース/バスアクセス制限(RDCなど)を示しています。 ボード/ソフトウェア ボード:FRDM-IMX93(NXP)、SoC:MIMX9352CVVXMAB BSP: NXP i.MX リリース ディストリビューション、カーネル 6.18.2-1.0.0-gf49f45233f7b ターゲット周辺機器:lpspi3(spi@42550000、/aliasesでエイリアスされたspi2、/proc/device-tree/で確認された本物のdtsラベル__symbols__ lpspi3) テスト中の外部デバイス:CS0/CS1上の2× MCP2515(Waveshare 2-CH CAN HAT) 既に動作が確認されているもの(除外されたもの) ヘッダーに電力を供給します。reg_vexp_3v3 / reg_vexp_5v は、デフォルトで無効になっているレギュレータ固定ノードです (regulator_summary では use=0 と表示されています)。レギュレーター常時オン+レギュレーターブートオンを追加し、オーバーレイフラグメントのターゲティング&reg_vexp_3v3/&reg_vexp_5vを追加しました( __symbols__で実際のラベルが確認されました)。その後、P11に3.3V/5Vの電圧が物理的に存在していることを確認しました。 Pinmux。GPIO_IO08-11 は、imx93-pinfunc.h の公式マクロを使用して、LPSPI3_PCS0/SIN/SOUT/SCK に正しく多重化されています。input_reg/input_valはこれら3つの機能に対して0x0000/0x0であるため、DAISYチェーンセレクトは不要です(マクロ検査で除外され、個別レジスタは不要)。 チップセレクト。cs-gpios = 、(ビットバンギングされたGPIO CS。このノードに対するNXP独自のアップストリームボードサポートパターンに一致)。cat /sys/kernel/debug/gpio とマルチメーター/ロジックアナライザーで確認したところ、 CS0 は正しくトグルし、物理的にヘッダーピンに到達していることがわかりました。 pinctrl-assert-gpios。NXP独自のこのボード用アップストリーム&lpspi3リファレンスには、pinctrl-assert-gpios = <&pcal6408 0 GPIO_ACTIVE_HIGH>; が含まれています(この行はほとんどの公開ガイドには記載されておらず、ボード独自のdtsパッチにのみ記載されています)。追加しました。/proc/device-tree/__symbols__ で pcal6408 が解決されること、および cat /sys/kernel/debug/gpio で lpspi3 のデフォルトの pinctrl 状態が要求されると GPIO がアサートされる (出力 hi) ことを確認しました。 オーバーレイはきれいに適用されます。U-Bootのfdt applyからFDT_ERR_NOTFOUNDは発生せず、/sys/bus/spi/devices/にはSPIコアによってspi2.0とspi2.1が登録されていることが示されています。 ERR051608 (LPSPI TCR[PRESCALE] のエラータ)。spi-fsl-lpspi.c を確認しました履歴 — 修正(fsl、imx93-spi の prescale_max = 1)は、2024年8月 / 安定版 6.6.51 でメインラインに取り込まれました。2024年9月6.10日は、このカーネルバージョン(6.18.2)よりずっと前のもので、互換文字列(fsl、imx93-spi)はすでにベースボードのdtsに存在しているため、ドライバはこの制限を自動的に適用すべきです。完全に否定できるわけではないが(実際にPRESCALEフィールドが書き込まれたという直接的なレジスタ確認はない)、タイムラインから判断すると既に処理済みである可能性が高い。 実際の症状 CS0/CS1、MISO、MOSI、SCKが物理的なP11ピン(マルチメーター、CS0落ち込みエッジで10〜20 MSa/sのロジックアナライザーをトリガー)でプローブしつつ、転送を繰り返し再試行(ループ内でspidev_testし、Echo spi2.0 > /sys/bus/spi/drivers/mcp251x/bindを経て繰り返しMCP251xの再プローブを強制することで別々に実行しました): CS0の切り替え。マルチメーターとロジックアナライザーの両方で確認済み。 SCKは切り替えません。継続的に転送を試みても、変化はなく、活動は見られない。 MOSIは切り替えません。 両方のMCP2515が同じように失敗します:mcp251x spi2.0/spi2.1:リセット/プローブ失敗後、MCP251xはコンフモードに入らなかった。err=110(ETIMEDOUT)。つまり、ドライバ自身のSPIレベルのリセット+read-CANSTATシーケンスは応答せず、SCKがSoCを出ないのと一致している。 根本原因はデバイスツリーではなくクロック/バスアクセスに絞られます   # clk_enable_count AND clk_prepare_count are both 0, despite the controller # actively being used in a continuous retry loop $ cat /sys/kernel/debug/clk/clk_summary | grep -i lpspi3 lpspi3_root 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi3 0 0 0 50000000 0 0 50000 N 42550000.spi per $ cat /sys/kernel/debug/clk/lpspi3/clk_prepare_count 0 LPSPI3の機能クロック(per)はclk_enable_count=0 、 clk_prepare_count=0を示します。これは425550000.SPI(実際のバインドされた消費者)がループ(spidev_testループ、そしてEcho SPI2.>0を経て/sys/bus/spi/ドライバ/mcp251x/bindを繰り返し強制してMCP251Xを再プローブを繰り返し試みている間でもです)。clk_prepare()はclk_enable() の前の ステップです。呼び出されないことから、ドライバーの転送経路(またはその前のpm_runtime_get())がこのデバイスの独自のクロック管理コードに到達しないことを示唆しており、クロックを要求してゲートオンに失敗したわけではありません。 トレースポイントを追加するカーネルビルドツールは持っていないので、これがサイレントノーオプスの繰り返しpm_runtimeなのか、依存関係が欠落しているのか(例:power-domainsがこのボードのlpspi3ノードが必要とするが持っていない)、あるいはこの特定のカーネルビルドに対するspi-fsl-lpspi.cの別の何かなのか、まだ判断がつきません。 決定的なレジスタレベルのテスト ― 直接的なdevmem読み取り:   $ devmem 0x44380000 32 # LPUART1 base — known-good peripheral 0x04040007 $ devmem 0x42550000 32 # LPSPI3 base (VERID register) Bus error (core dumped) 全く関係のない動作するペリフェラル(LPUART1、デバッグコンソール用)は同じCPU/バスコンテキストから問題なく読み戻します。 LPSPI3のベースアドレスフォルトは、単なる32ビット読み取りで発生します。当初はこの基板特有のリソースドメインコントローラー(RDC)スタイルのアクセス制限かと疑いましたが、いくつかのNXPコミュニティスレッド(i.MX25/i.MX6ULL「devmem return bus error」やi.MX8MP I2C-from-DSPスレッド)は、 クロックが制限されているAIPSバス周辺機器に触れた場合の正常で予想される症状 であり、必ずしもセキュリティやドメイン制限ではないと指摘しています。これは上記のclk_enable_count=0と一致しており、これはこの デバイスのドライバー/PMパスのクロック有効化バグであり、必ずしもRDCブロックではないと考えています。ただし、低レベルのツールがなければRDCを完全に除外することはできません。 これは一般的な i.MX93 LPSPI3 の制限ではありません 参考までに:別のNXPコミュニティThread([iMX93AUTO EVK] SPI Configuration for QCA7006AQ, community.nxp.com/t5/i-MX-Processors/iMX93AUTO-EVK-SPI-Configuration-for-QCA7006AQ-with-imx93AUTO-EVK/m-p/1839847)i.MX93-11x11-EVK (同じSoC)の同じGPIO_IO08-11ピン上で、LPSPI3を介して外部SPIデバイスを正常に駆動する様子が示されています。   c &lpspi3 { compatible = "fsl,imx93-spi", "fsl,lpspi"; cs-gpios = <&gpio2 8 GPIO_ACTIVE_LOW>; status = "okay"; ... }; &iomuxc { pinctrl_lpspi3_qca: lpspi3grp { fsl,pins = < MX93_PAD_GPIO_IO11__LPSPI3_SCK 0x3fe MX93_PAD_GPIO_IO10__LPSPI3_SOUT 0x3fe MX93_PAD_GPIO_IO09__LPSPI3_SIN 0x3fe MX93_PAD_GPIO_IO08__LPSPI3_PCS0 0x3fe /* native PCS0, not plain GPIO */ >; }; }; FRDM ボードでこのまったく同じバリアント (通常の GPIO2_IO08/GPIO2_IO07 の代わりにネイティブ LPSPI3_PCS0/LPSPI3_PCS1、さらに明示的な互換性オーバーライド) を試しましたが、変化はありませんでした。devmem 0x42550000 32 は依然としてフォルトを起こし、clk_enable_count/clk_prepare_count は依然として 0 です。これにより、このボードではピンmux/compatible-stringの選択が原因ではないことがわかり、EVKの成功と合わせて、 FRDMボード固有の何か(imx93-11x11-frdm.dtsのlpspi3 の処理、またはこのボードの U-Boot/ATF レベルの RDC/電源ドメイン設定)によるものであり、一般的な i.MX93 SoC またはメインラインドライバの制限ではありません。 NXPへの質問 SPIコアがバインドされたspi2.0/spi2.1デバイスへの転送をアクティブに実行している間も、lpspi3のclk_prepare_count/clk_enable_countが0のままであり、0x42550000の単純なレジスタ読み取りでバスフォルトが発生する場合、FRDM-IMX93のlpspi3デバイスツリーノード(またはボードレベルのRDC/電源ドメイン設定)には、正常に動作するEVK構成に不要なものが欠けているのでしょうか? FRDM-IMX93 の LPSPI3 は、別のドメイン (例:Cortex-M33 / セキュアワールド、またはオンボードの MAYA-W2 トライラジオモジュールパス)は、EVK とは異なり、ボードのデフォルトの RDC/ATF 構成で動作しますか? この特定のボードでP11経由でLPSPI3を外部から使用するための参照ファイルimx93-11x11-frdm-lpspi.dts(imx93-11x11-evk-lpspi.dtsに相当)はありますか? 再現方法 ベースボードdtb: i.MXリリースディストリビューションイメージに同梱されている標準のimx93-11x11-frdm.dtb(変更されていないNXP lpspi3 + pcal6408 + reg_vexp_3v3/reg_vexp_5vノード - すべて__symbols__経由で存在が確認されています)。 上記のオーバーレイを適用します(レギュレータ常時オン、&lpspi3 上で pinctrl + cs-gpios + pinctrl-assert-gpios を使用。plain-GPIO と native-PCS0/PCS1 pinmux の両方のバリアントを試しましたが、どちらの場合も同じ結果でした)。 spidev(組み込み、CONFIG_SPI_SPIDEV=y)を手動でspi2.0にバインドします。   echo spidev > /sys/bus/spi/devices/spi2.0/driver_override echo spi2.0 > /sys/bus/spi/drivers/spidev/bind spidev_test -D /dev/spidev2.0-s 1000000 -v — 「成功」(I/O エラーなし) だが、MOSI/MISO を物理的に短絡しても RX データは TX のループバックではない。ロジック アナライザで SCK がトグルすることはない。 cat /sys/kernel/debug/clk/clk_summary | grep lpspi3 → clk_enable_count=0. cat /sys/kernel/debug/clk/lpspi3/clk_prepare_count → 0. devmem 0x42550000 32 → バスエラー。devmem 0x44380000 32 (LPUART1) → 正常に成功しました。 必要であれば、オーバーレイのソースコード、dmesgログ、clk_summary/gpioダンプなど、すべての情報を提供いたします。 Re: LPSPI3 registers inaccessible from Linux (Bus error on devmem read) — external SPI device on P11 こんにちは、 @irfanktm 以下のコミュニティ投稿をご覧ください。 https://community.nxp.com/t5/i-MX-Processors/FRDM-IMX93-LPSPI3-EXPI-P11-SPI-pins-produce-no-valid-SPI/td-p/2413472 よろしくお願いいたします。 サラス。
查看全文
i.MX 95:M7 和 A55 之间的动态 TRDC/系统管理器资源分配和 GPIO 共享 大家好, 我们正在开发i.MX 95 平台,希望最初使用 M7 内核的 MIPI DSI 外设,然后在运行时将资源移交给 A55 内核。 据我们了解,外围资源及其所有权最初是 在 通过 系统管理器工具 生成/配置的 mx95evk.cfg 文件中为每个逻辑机器/处理器定义的。 我们想澄清以下几点: 动态资源交接: 是否可以在运行时将 MIPI DSI 外设资源从 M7 动态转移到 A55?例如,M7 最初拥有并使用 MIPI DSI,然后释放该资源,之后 A55 接管并使用同一外设。 动态资源分配: 如果支持运行时交接,那么动态更改资源所有权或访问权限的推荐机制/API是什么?这是通过系统管理器、TRDC还是其他机制处理的? GPIO共享: M7 和 A55 是否可以同时访问同一个 GPIO 端口/资源?如果可以,为了安全地共享 GPIO 资源,是否需要进行任何 TRDC 配置或实施任何软件同步机制? 我们非常希望得到关于在 i.MX 95 上实现M7 和 A55 之间的动态外围设备切换和/或资源共享的推荐方法的任何指导。 Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 你好, 在 i.MX 95 上,MIPI DSI 资源最初可由 M7 使用,之后移交给 A55。资源访问和所有权应通过系统管理器/TRDC 配置进行配置,而实际的运行时交接应由软件处理。TRDC 控制哪些逻辑机器/功能域可以访问外围设备,但它不管理 M7 和 A55 之间的同步。因此,M7 应先完成所有 DSI 操作,停止使用外围设备,并通过 MU/IPC 等核心间机制通知 A55,然后 A55 才能接管控制权。同样,通过适当的 TRDC 配置,可以使 GPIO 资源同时供 M7 和 A55 访问,但同时访问必须通过软件进行同步。对于 DSI 用例,建议的方法是每次只让一个核心积极使用外围设备,并使用 MU/IPC 进行切换。 Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 我已与AE团队讨论过,请参考以下更新。 在 i.MX 95 上,资源所有权和 TRDC 权限是在构建时静态地在 SM 配置 (mx95evk.cfg) 中定义的。→ 生成的config_.h 文件,并在 MIX 设备上电时由系统管理器 (SM) 应用。*运行时,没有 SCMI/SM 消息可以将外围设备的所有权从一个逻辑机 (LM) 转移到另一个逻辑机。 然而,SM 文档将“将显示屏从一个 LM 移交给另一个 LM”列为 SM_SCMI_PERM_EXCLUSIVE 模型的确切动机用例。所以交接是可以实现的,只是不能通过“转移”所有权来实现。 Q1 & Q2 — MIPI DSI M7 → A55 交接:如何操作 LMM(逻辑机器管理)SCMI 协议仅启动/重置/关闭/挂起/唤醒 LM——它没有 RESOURCE_ASSIGN 或 OWNERSHIP_TRANSFER 消息。请改用时分交接: 在 mx95evk.cfg 中预先授予 BOTH LMs 访问权限。默认情况下,EVK 配置仅将 MIPI_DSI、MIPI_PHY、DC_DISPENG、BLK_CTRL_DISPLAYMIX、显示时钟/电源(PD_DISPLAY、CLK_DISP*)分配给 AP(LM2)的所有者——您还必须将它们添加到 M7 LM(LM1)以允许 M7 优先使用。 将 SM 管理的资源(时钟、电源、RESET)标记为 SM_SCMI_PERM_EXCLUSIVE(api=all),这样来自两个 LM 的请求就不会被静默聚合/覆盖。 在切换时, M7 使 DSI/DCIF 静默,然后通过应用层 IPC(MU 邮箱或 SCMI 通知)向 A55 发出信号。A55(Linux/DRM DSI+DPU 协议栈)随后启动相同的 IP。 交接顺序是客户软件的责任(时间划分)。SM 仅保证 HW 可以从两侧驾驶,因为两个 LM 都已预先获得访问权限。TRDC 所有权不能在运行时重写——只有 SM 可以对 TRDC 进行编程,并且只能从 MIX 上电时的静态配置进行编程。 控制此功能的 TRDC 配置(在 .cfg 文件中定义): MDAC_am=… — 主功能域分配(将总线主控映射到功能域 ID) MBC_am=s.b— 内存块检查 —这是限制外围设备访问的地方。 MRC_am=… — 内存区域检查(大型内存区域,例如 DDR) 每个LM都绑定到一个DID,例如:SM did=2,AP(LM2) did=3,M7(LM1) did=4。 Q3 — M7 和 A55 之间共享 GPIO 是的,TRDC 可以同时授予 M7 功能域和 A55 功能域对同一 GPIO 实例的并发访问(为两个 DID 启用其 MBC 块)。但需要注意一个关键问题,并且有两种支持的模式: 注意: i.MX 95 GPIO没有硬件仲裁——PDR/DR/GDIR 寄存器是物理共享的,因此来自两个核心的非协调读-修改-写操作会相互竞争。 模式 A(不相交引脚 + SW 同步):按照约定为每个内核分配特定引脚(配置已按 LM 分割引脚)。由于数据/方向寄存器组仍然是共享的,因此需要使用硬件信号量/MU来保护并发 RMW,或者确保内核永远不会同时访问同一个寄存器组。 模式 B(SM 仲裁,推荐用于真正共享的实例):通过始终开启的GPIO1进行路由,该 GPIO1 由 SM 拥有,其记录的角色是“仲裁共享访问”。IOMUXC/IOMUX_GPR 同样由 SM 仲裁。Pinmux/daisy 通过 SCMI 引脚控制协议进行设置,并具有每个代理的权限;GPIO数据操作是直接 MMIO。 Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 大家好, 我们正在与一家公司合作 i.MX 95 19x19 EVK 并且正在尝试在以下两者之间实现 LVDS 显示切换: M7 和 A55/Linux ,预期架构如下: M7: 最初拥有并驱动LVDS显示器。 A55/Linux: Linux 启动后,它随后接管显示控制权。 当前实施情况 作为开发的初始阶段,我们已将 LVDS 显示器配置为由 M7 进行初始化和控制。M7 成功初始化显示器,并将帧缓冲区填充为蓝色,并在 LVDS 面板上正确显示。 我们将以下资源的默认所有权从 A55 更改为 M7 所有权,同时提供 A55 的通行权: DC DC0 DC1 DC_CMDSEQ DC_DISPENG DC_DISPENG_INT DC_FL0 DC_FL1 DC_INT_CTL DC_PIXENGINE DC_XPC DC_YUV0 DC_YUV1 DC_YUV2 DC_YUV3 BLK_CTRL_DISPLAYMIX LVDS MIPI_PHY LDB_PLL CLOCK_DISP1PIX 视频_PLL1 PIN_I2C2_SCL PIN_I2C2_SDA LPI2C2 观察到的行为 目前的行为情况如下: M7 启动并成功初始化显示屏。 蓝色填充的帧缓冲区在 LVDS 面板上正确显示。 M7 运行时,显示屏始终可见。 然后A55/Linux启动过程开始。 Linux内核启动后,显示屏会变黑。 使用以下设备树时:fdtfile imx95-19x19-evk-it6263-lvds1.dtbLinux 在内核启动过程中总是停止运行。 我们没有观察到明显的内核崩溃,也没有在控制台上看到清晰的错误信息。启动过程突然停止。 资源所有权调查 根据我们的理解,资源所有权是通过以下方式静态配置的: 系统管理器配置和所有权不能通过 SCMI 消息在逻辑机器之间动态转移。 因此,我们研究了是否可以将显示资源分配给 M7 和 A55。 然而,一些关键的数据中心资源似乎不支持双重所有权,特别是: DC DC_XPC DC_YUV0 DC_YUV1 DC_YUV2 DC_YUV3 DC_FL0 DC_FL1 DC_2DBLIT 这表明,Linux 可能正在尝试访问 M7 在其 DRM/DPU 或 IT6263/LVDS 初始化期间独占的一个或多个显示资源。 问题 请问您能否帮我们澄清以下问题? 1. 如果资源(例如……)过多,Linux 系统是否会预期会挂起? 华盛顿特区 DC_XPC , DC_YUV* , DC_FL* ,或 DC_2DBLIT 是否为M7独家所有?   2. 在 Linux 启动期间以及 DRM/DPU 和 IT6263/LVDS 初始化期间,A55/Linux 会访问哪些显示资源? 我们尤其想了解以下用户访问的具体资源: Linux DRM/DPU 显示控制器(直流) IT6263驱动程序 LVDS/LDB驱动器 显示时钟/PLL 配置 3. 是否存在受支持的系统管理器资源所有权配置,允许执行以下顺序? M7 初始化并驱动 LVDS 显示器。 A55/Linux 系统正常启动。 随后 A55/Linux 接管显示控制权。 两台逻辑机都可以访问交接所需的资源。 4. 如果 M7 和 A55 之间不能共享 DC 资源,那么 M7 显示和 A55/Linux 共存或显示切换的推荐架构是什么?   5. 即使 Linux 不打算在启动的初始阶段主动驱动显示器,A55/Linux 是否也需要拥有完整的 DC 资源层次结构?   6. 对于此用例,以下方面是否需要进行任何额外的配置更改? 系统管理器资源配置 TRDC权限 SCMI 配置 Linux 设备树 显示/LVDS配置 7. Linux 启动挂起是否可能是由于 A55/Linux 尝试访问 M7 拥有的显示资源,尤其是在初始化 IT6263/LVDS 显示路径期间?     我们现阶段的主要目标是确定 确定 Linux 在早期启动期间以及 DRM/DPU 和 IT6263/LVDS 初始化期间访问的确切显示资源,并确定这些资源是否可以与 M7 所有权共存。 我们已附上 系统管理器配置文件 (.cfg) 和 Linux 启动日志 供参考。 任何关于支持的资源所有权配置、显示资源依赖关系或推荐的实现架构的指导 M7/A55 LVDS 显示屏切换 非常感谢。   谢谢!   Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 我们有AN15131 来解决这个问题,该 AN 中还附有源代码。 然而,该 AN 的状态为“网络发布待定”,尚未在 nxp.com 上发布。 请稍等几天。
查看全文
JTAG_TMSはプルアップかプルダウンか?S32K144 こんにちは: S32K1xxのセーフティマニュアルを読んでいると、デバッグモードについての章があります。JTAGC TAPコントローラーが無効化されていることを確認するためにJTAG_TMSをローに引き上げると書かれています。 この文をどう理解すればいいですか?つまり、通常動作時(デバッグモード以外)には、外部コンポーネントによってこのピンをローレベルにアサートする必要があるということですか? Re: JTAG_TMS pull up or pull down? S32K144 こんにちは、 @Stanley_Xu さん。 S32K1xxセーフティマニュアルおよびAN5426の推奨事項は、さまざまな用途に適用されます。 AN5426では、JTAG_TMS/SWD_DIOピンに10kΩ~47kΩのプルアップ抵抗を設けることを推奨しています。これは、開発、プログラミング、デバッグ時にJTAGやSWDアクセスが必要な場合に推奨されるハードウェア構成です。 しかし、セーフティマニュアルはセーフティ関連アプリケーションの最終的な現場構成について扱っています。セクション5.6.2.1および仮定SM_047によれば、セーフティ関連機能のために装置を使用する間、現場でのデバッグは無効化されなければなりません。この動作条件では、JTAG_TMSを低く保ち、JTAGC TAPコントローラが無効化されたまま通常のアプリケーション動作に誤って干渉しないようにする必要があります。 したがって、アプリケーションがS32K1xxセーフティマニュアルの仮定SM_047に準拠する必要がある場合、最終生産ハードウェアは現場での低速を保つ手段JTAG_TMSなければなりません。これは外部プルダウン抵抗や、必要な低レベルを保証し、外部ソースがこの信号を主張するのを防ぐ他のシステムレベルのソリューションを用いて実装できます。 TAP状態図は、TMSがTCKの立ち上がりエッジにおける状態遷移をどのように制御するかのみを示しています。それ自体では、永続的なデバッグ保護を提供するものではありません。外部デバッガがTMSやTCKをアクティブに駆動できる場合、TAPコントローラはその状態機械を通じて移動させることができます。したがって、TMSプルダウンは、デバッグインターフェースを永久にロックするためのセキュリティ機構ではなく、意図しないデバッグの有効化を防ぐための機能安全対策です。 開発や製造中にデバッグアクセスが必要な場合は、開発と本番の別々の設定が必要になることがあります。 よろしくお願いします、 パベル Re: JTAG_TMS pull up or pull down? S32K144 JTAGコントローラー(JTAGC)第59章のRMによると、TMSの状態はdubugモードに入るかどうかに影響します。図に示すように、TMSが0に設定されている場合、TAPはデバッグ状態に入りません。したがって、AN5426によると、ハードウェア接続は抵抗10k-47kを介してVDDにプルアップすることが推奨されているため、低ステータスを維持するのが安全です
查看全文
无法打开探针索引 1 您好,NXP团队: 我遇到了“无法打开探测索引 1”的错误问题。我已经尝试了所有可能的调试步骤来解决这个问题,我也重新安装了 SDK,但问题仍然存在。 我已附上错误截图供您参考。 请问您能帮我解决这个问题吗? 谢谢你, 克里希那 #探针 #mcxn947 启动 ROM | 启动配置 | 闪存 通信与控制(I3C | I2C | SPI | FlexCAN | 以太网 | FlexIO) 核心与内存 Re: unable to open probe index 1 嗨@krishnareddy 我认为您可以使用安全配置工具来恢复 MCU。 1. 下载并安装安全配置工具。 MCUXpresso 安全配置工具 | 恩智浦半导体 2. 创建 mcxn947 工作区。 3. 擦除芯片 BR 哈里
查看全文
申请 SW32K14-MCAL421-RTMC-1.0.1 的 FlexNet 授权 您好,NXP技术支持, 我已登录我的NXP账户,但我无法访问以下FlexNet官方产品页面: 产品: SW32K14-MCAL421-RTMC-1.0.1 FlexNet 元素: 10190977 所需版本: S32K14X MCAL 4.2 RTM HF3,版本 1.0.1 所需安装程序: S32K14X_MCAL_4.2_RTM_HF3_1.0.1.exe 目标MCU: S32K144 下载页面显示找不到该项目或我的帐户未获得授权。 请问如何才能获得合法的下载权限或购买此旧版软件包?如果需要我的恩智浦账户信息,请私下联系我。 谢谢! Re: Request FlexNet entitlement for SW32K14-MCAL421-RTMC-1.0.1 嗨,张汉钊, 我可以在我的账户里看到它。 点击“AUTOSAR MCAL for S32K1 设备” ->“汽车软件 - AUTOSAR MCAL / QM”->“上一步”->“SW32K14-MCAL421-RTMC-1.0.1”->“S32K14X_MCAL_4.2_RTM_HF3_1.0.1.exe” 请访问该路径;如果您看不到该路径,可能是因为该软件是已存档的旧版本,可能包含不会修复的错误。 如果您特别需要该版本,我可以联系 FlexNet 将软件添加到您的帐户中。 此致敬礼, Robin Re: Request FlexNet entitlement for SW32K14-MCAL421-RTMC-1.0.1 请问您现在可以下载该软件了吗? 如果仍然无法下载,请提供尝试访问文件时遇到的错误信息或问题的屏幕截图。这将有助于我们进行进一步调查。
查看全文
SW32K14-MCAL421-RTMC-1.0.1 の FlexNet 利用権を申請してください。 こんにちは、NXPサポートの皆さん、 NXPアカウントにはログインしていますが、以下の公式FlexNet製品ページにアクセスできません。 製品: SW32K14-MCAL421-RTMC-1.0.1 FlexNet要素: 10190977 必要なリリース: S32K14X MCAL 4.2 RTM HF3、リリース1.0.1 必要なインストーラー: S32K14X_MCAL_4.2_RTM_HF3_1.0.1.exe ターゲットMCU: S32K144 ダウンロードページでは、商品が見つからないか、私のアカウントが認証されていないと報告されています。 合法的なダウンロード権利を得る方法や、このレガシーパッケージの購入方法についてご案内ください。もし私のNXPアカウント情報が必要な場合は、個別にご連絡ください。 よろしくお願いします。 Re: Request FlexNet entitlement for SW32K14-MCAL421-RTMC-1.0.1 こんにちは、ジャンハンジャオさん アカウントで見て取れます。 S32K1デバイスについてはAUTOSAR MCALをクリックしてください -> オートモーティブ SW - AUTOSAR MCAL / QM -> 前回 -> SW32K14-MCAL421-RTMC-1.0.1 -> S32K14X_MCAL_4.2_RTM_HF3_1.0.1.exe そのパスをご覧ください。もし見えない場合は、ソフトウェアが古いバージョンでアーカイブされており、修正されないバグが含まれている可能性があります。 もしそのバージョンが特に必要であれば、FlexNetに**お問い合わせ**して**ソフトウェア**をアカウントに追加してもらえます。 よろしくお願いいたします ロビン Re: Request FlexNet entitlement for SW32K14-MCAL421-RTMC-1.0.1 今、ソフトウェアをダウンロードできますか? それでもダウンロードできない場合は、エラーメッセージやファイルへのアクセス時に発生した問題のスクリーンショットをご提供ください。これは、さらなる調査に役立つでしょう。
查看全文
S32K3xx 数据表表 10:LVR_VDD_HV_A 条件列中的“RPM”是什么意思? 在 S32K3xx 数据手册的表 10“电源监控”中,LVR_VDD_HV_A 行 (断言阈值)出现两次,最小值/典型值/最大值相同(2.77 / 2.85 / 2.93 V): - LVR_VDD_HV_A,断言阈值(在 FPM 中) - LVR_VDD_HV_A,断言阈值(以 RPM 为单位) S32K3xx 参考手册其他部分对“FPM”的定义是“全功率模式”。 (运行模式)。然而,我找不到“RPM”的任何定义。 数据表或参考手册(5394页),包括: 缩写/词汇表部分列出了它。 请问您能否澄清一下: 1.在这个语境中,“RPM”代表什么? 2. FPM 和 LVR_VDD_HV_A 阈值是否相同? 如表格所示,转速是多少? 谢谢! Re: S32K3xx Data Sheet Table 10: What does "RPM" mean in the LVR_VDD_HV_A condition column 您好, 表 10 中的“RPM”代表低功耗模式。它指的是第二个物理冗余的 LVR 监测电路,当设备处于待机(低功耗)模式时,该电路仍保持激活状态。相比之下,FPM(全功率模式/运行模式)监测在正常运行模式工作期间运行。这两个监视器是设备功能安全架构的一部分,用于确保无论当前电源状态如何,VDD_HV_A 电源都能持续受到监控。 关于你的第二个问题,FPM 和 RPM 条目的最小值/典型值/最大值阈值 (2.77 / 2.85 / 2.93 V) 相同,这是正确的。VDD_HV_A 的最低供电要求在运行模式和待机模式下保持不变,因此两个监控器共享相同的触发阈值。 BR,彼得
查看全文
RT117xが1.8V出力の外部発振器を使用してRTC_XTALIを駆動する DCレベルが1.8Vの外部クロックでRTC_XTALIを駆動することは可能でしょうか? 外部クロックの一致を確実にすることで設計の複雑さが増VDD_SNVS_ANAためです。また、1.8Vはクロック入力の絶対最大定格を下回っています。 Marwan_2-1786726380644.pngMarwan_2-1786726380644.png Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output こんにちは、 @Marwan さん。 MIMXRT1160/1170プロセッサのハードウェア開発ガイドに記載されているように、外部低周波クロックをRTC_XTALIに入力したい場合は、RTC_XTALOピンは接続されていないか、補完信号で駆動される必要があります。この強制クロックの論理レベルは、VDD_SNVS_DIGレベルを超えてはならない。 さらに、i.MX RT1170クロスオーバープロセッサのデータシートには、VDD_SNVS_DIG動作電圧範囲が0.81Vから0.95V、典型的な値は0.85Vであると記載されています。 これは、1.8Vの信号がVDD_SNVS_DIG電圧レベルを超えることを意味します。 宜しくお願いします、 パブロ Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output こんにちは、 @Pablo_Ramos さん。 他の投稿でも触れられているように、文書には矛盾点があります。 データシートには、VDD_SNVS_ANAを参照していると記載されています。 敬具、 マルワン Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output こんにちは、 @Marwan さん。 ご迷惑をおかけして申し訳ございません。 ご指摘の通りです。社内で記録しておきます。 現時点では、データシートを参照して、RTC_XTALIへの外部クロックがVDD_SNVS_ANA電源レベルを超えないようにしてください。 この場合、設計上1.8V以上であることが保証されている限り、DCレベルが1.8Vの外部クロックを使用できますVDD_SNVS_ANA。 よろしくお願いします、 パブロ Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output こんにちは、 @Pablo_Ramos さん。 ご返信ありがとうございます。 1.それを保証する方法はありますか? この電源レールは内部で生成されるため、プログラム可能かどうかについては何も記載されていません。 2 - ICのバッチ間でVDD_SNVS_ANAに差異はありますか? 敬具 マルワン Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output ハイ i.MX RT1170リファレンスマニュアルにはLDO_SNVS_DIG用のソフトウェアで書かれるトリムが記載されていますが、LDO_SNVS_ANA用のソフトウェアでアクセス可能な電圧トリムはありません。 データシートでは、VDD_SNVS_ANAは最小1.65V、標準1.75V、最大1.95Vと規定されている。出力電圧が個々のチップ間または生産バッチ間でどのように分配されるかについては明記されていない。 よろしくお願いします、 パブロ
查看全文
S32K3xxデータシート表10:LVR_VDD_HV_A条件列の「RPM」は何を意味しますか? S32K3xxデータシートの表10「電源監視」のLVR_VDD_HV_A行 (アサートしきい値)が、同一の最小値/標準値/最大値(2.77 / 2.85 / 2.93 V)で2回出現します。 - LVR_VDD_HV_A、しきい値のアサート(FPM内) - LVR_VDD_HV_A、アサートしきい値(RPM内) 「FPM」はS32K3xxリファレンスマニュアルの他の箇所で「フルパワーモード」として定義されています (ランモード)」しかし、どこにも「RPM」の定義は見つかりませんでした データシートまたはリファレンス・マニュアル(5394ページ)のいずれかで、含まれていません。 略語/用語集のセクションでリストアップしています。 もう少し詳しく教えていただけますか: 1.この文脈における「RPM」とは何のことですか? 2. LVR_VDD_HV_A しきい値は FPM と 表が示唆するように、RPMですか? よろしくお願いします。 Re: S32K3xx Data Sheet Table 10: What does "RPM" mean in the LVR_VDD_HV_A condition column こんにちは、 表10の「RPM」は、低出力モードを表します。これは、デバイスがスタンバイ(低電力)モードのときにアクティブ状態を維持する、物理的に冗長な2つ目のLVRモニター回路を指します。一方、FPM(フルパワーモード/ランモード)モニターは、通常のランモード動作中に動作します。両方のモニターは、現在の電源状態に関わらずVDD_HV_A電源が継続的に監視されることを保証するため、デバイスのセーフティアーキテクチャの一部として存在します。 2つ目のご質問についてですが、FPMとRPMの両方のエントリで最小値/標準値/最大値のしきい値(2.77 / 2.85 / 2.93 V)が同一であることは正しいです。VDD_HV_Aの最低供給要件は実行モードとスタンバイモードで変わらず、両方のモニターは同じトリップ閾値を共有します。 BR、ペトル
查看全文
使用 1.8V 输出的外部振荡器驱动 RT117x 驱动 RTC_XTALI 是否可以使用1.8V直流电平的外部时钟驱动RTC_XTALI? 因为确保外部时钟与 VDD_SNVS_ANA 匹配会增加设计的复杂性。此外,1.8V 也低于时钟输入的绝对最大额定值。 Marwan_2-1786726380644.pngMarwan_2-1786726380644.png Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output 嗨@Marwan , 如 MIMXRT1160/1170 处理器的硬件开发指南中所述,如果要将外部低频时钟馈送到 RTC_XTALI,则 RTC_XTALO 引脚必须保持未连接状态,或者由互补信号驱动。该强制时钟的逻辑电平不得超过 VDD_SNVS_DIG 电平。 此外,i.MX RT1170 交叉处理器数据手册指出,VDD_SNVS_DIG 的工作电压范围为 0.81 V 至 0.95 V,典型值为 0.85 V。 这意味着 1.8 V 的信号将超过 VDD_SNVS_DIG 电压等级。 最良好的问候, 巴勃罗 Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output 嗨@Pablo_Ramos 正如其他帖子中提到的,这些文件存在出入。 数据手册中指出,它是参考VDD_SNVS_ANA的。 亲切的问候, 马尔万 Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output 嗨@Marwan , 给您带来的不便,敬请谅解。 您的观察是正确的,我会在内部记录下来。 目前,请参考数据手册,并确保输入 RTC_XTALI 的外部时钟不超过 VDD_SNVS_ANA 供电电平。 在这种情况下,可以使用直流电平为 1.8V 的外部时钟振荡器,只要在设计中保证 VDD_SNVS_ANA 等于或高于 1.8V 即可。 此致, 巴勃罗 Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output 嗨@Pablo_Ramos , 谢谢你的回复。 1 - 有什么办法可以保证这一点吗? 由于该电源轨是内部产生的,而且没有说明它是否可编程。 2 - IC 批次之间是否存在 VDD_SNVS_ANA 差异? 此致敬礼, 马尔万 Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output HI i.MX RT1170 参考手册记录了 LDO_SNVS_DIG 的软件可写入微调功能,但没有记录 LDO_SNVS_ANA 的软件可访问电压微调功能。 数据手册规定 VDD_SNVS_ANA 的最小值为 1.65 V,典型值为 1.75 V,最大值为 1.95 V。它没有具体说明输出电压是如何分配到各个芯片或生产批次上的。 此致, 巴勃罗
查看全文
RT117x Driving RTC_XTALI using External oscillator with 1.8V output Is it possible to drive RTC_XTALI  with external clock with dc level of 1.8V? since ensuring that external clock match VDD_SNVS_ANA will increase the design complexity. Also 1.8V is below the absolute  maximum rating of clock inputs. Marwan_2-1786726380644.pngMarwan_2-1786726380644.png Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output Hi @Marwan, As stated in the Hardware Development Guide for the MIMXRT1160/1170 Processor, if you want to feed an external low-frequency clock into RTC_XTALI, the RTC_XTALO pin must remain unconnected or be driven by a complementary signal. The logic level of this forcing clock must not exceed the VDD_SNVS_DIG level. Additionally, the i.MX RT1170 Crossover Processors Data Sheet states that VDD_SNVS_DIG has an operating voltage range of 0.81 V to 0.95 V, with a typical value of 0.85 V. This means that a 1.8 V signal would exceed the VDD_SNVS_DIG voltage level. Best Regard, Pablo Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output Hi @Pablo_Ramos  There is discrepency in the documents, as mention in other posts. The datasheet state that it is referenced to VDD_SNVS_ANA. Kind Regards, Marwan Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output Hi @Marwan, I apologize for the inconvenience. Your observation is correct, and I will remark this internally. For now, please refer to the datasheet and ensure that the external clock into RTC_XTALI does not exceed the VDD_SNVS_ANA supply level. In this case, an external clock with dc level of 1.8V oscillator may be used, as long as VDD_SNVS_ANA is guaranteed to be at or above 1.8 V in the design. Best Regards, Pablo Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output Hi @Pablo_Ramos, thanks for your reply, 1 - is there away to guarantee that? since this power rail is internally generated and there is no mention about whether is it programmable or not. 2 - is there a VDD_SNVS_ANA variance between IC batches? Kind regards, Marwan Re: RT117x Driving RTC_XTALI using External oscillator with 1.8V output Hi The i.MX RT1170 reference manual documents a software-writable trim for LDO_SNVS_DIG, but no software-accessible voltage trim for LDO_SNVS_ANA. The datasheet specifies VDD_SNVS_ANA as 1.65 V minimum, 1.75 V typical, and 1.95 V maximum. It does not specify how that output voltage is distributed across individual chips or production batches. Best Regards, Pablo
查看全文
MCSPTR2AK396 — resolver excitation limits? Hello! I'm working with the MCSPTR2AK396 development kit (S32K396, 3-phase PMSM with resolver, 3-shunt FOC). I'm using the stock resolver-to-digital chain: SGEN → SDADC → DSPSS → eTPU RESOLVER function. As far as I understand, the stock excitation frequency is 10 kHz (SGEN sine wave driving the resolver excitation winding), and the eTPU RESOLVER processes angle updates every 50 µs with a 16+16 sample buffer from SDADC, with a slow PI regulator adjusting the excitation phase shift. But I have a questions. What is the exact resolver model used in the MCSPTR2AK396 kit? A datasheet reference would be very helpful. What is the maximum excitation frequency this resolver ? Can SGEN be raised, for example, to 100 kHz without modifying anything except SGEN registers? Or does the SDADC/DSPSS/eTPU chain, or the analog sin/cos filters, impose a hard limit well below that? What is the minimum excitation frequency allowed by the resolver itself, and what is the recommended range? If higher excitation is possible, what else must be reconfigured — SDADC sampling rate, DMA buffer transfer, eTPU HSR rate, excitation phase-shift regulator gains, analog filters? Thank you. Re: MCSPTR2AK396 — resolver excitation limits? Hello, What is the exact resolver model used in the MCSPTR2AK396 kit? On the TG Drives motor manufacturer's website, there is a configurator that lists three possible resolver options: ER5Kd411, TS2620N21E11, and RE-15-1-A15. If I remember correctly requested was lowest-cost resolver option, which was the ER5Kd411 from ATAS Náchod. https://www.atas.cz/files/ER5Kd.pdf The exact type could be determined by opening the rear cover. The MCSPTR2AK396 resolver solution is designed and validated at 10 kHz excitation. While SGEN supports frequencies up to 50 kHz according to the application note, operation above 10 kHz requires reconfiguration and validation of the SDADC, DSPSS, DMA, eTPU resolver processing and analog signal-conditioning chain. In addition, for resolvers such as TS2620N21E11 we only found a published nominal excitation specification of 7 Vrms at 10 kHz; no supported excitation-frequency range is specified in the available resolver datasheet. Therefore, operation at 100 kHz cannot be recommended based on available documentation. Best regards, Peter Re: MCSPTR2AK396 — resolver excitation limits? Understood, thank you. Is there a practical possibility of increasing the base PWM generation frequency to 20–30 kHz, or is the system strictly limited by the hardware physics of this KIT?
查看全文