Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
i.mx93 core-m33 上の zerphyr の例はありますか? こんにちは、NAPチーム evkイメージにいくつかの例があることに気づきました 「sh」 root@imx93-11x11-lpddr4x-evk:~# ls -l /lib/firmware/ | grep m33 -rw-r--r-- 1 ルート ルート 212004 2011年4月5日 imx93-11x11-evk_m33_TCM_low_power_wakeword.elf -rw-r--r-- 1 ルート ルート 58296 2011年4月5日 imx93-11x11-evk_m33_TCM_power_mode_switch.elf -rw-r--r-- 1 ルート ルート 60624 2011年4月5日 imx93-11x11-evk_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.elf -rw-r--r-- 1 ルート ルート 59028 2011年4月5日 imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.elf -rw-r--r-- 1 ルート ルート 112808 2011年4月5日 imx93-11x11-evk_m33_TCM_sai_low_power_audio.elf -rw-r--r-- 1 ルート ルート 56728 2011年4月5日 imx93-14x14-evk_m33_TCM_power_mode_switch.elf -rw-r--r-- 1 ルート ルート 60624 2011年4月5日 imx93-14x14-evk_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.elf -rw-r--r-- 1 ルート ルート 59028 2011年4月5日 imx93-14x14-evk_m33_TCM_rpmsg_lite_str_echo_rtos.elf -rw-r--r-- 1 ルート ルート 210688 2011年4月5日 imx93-9x9-qsb_m33_TCM_low_power_wakeword.elf -rw-r--r-- 1 ルート ルート 56676 2011年4月5日 imx93-9x9-qsb_m33_TCM_power_mode_switch.elf -rw-r--r-- 1 ルート ルート 60624 2011年4月5日 imx93-9x9-qsb_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.elf -rw-r--r-- 1 ルート ルート 59028 2011年4月5日 imx93-9x9-qsb_m33_TCM_rpmsg_lite_str_echo_rtos.elf -rw-r--r-- 1 ルート ルート 112200 2011年4月5日 imx93-9x9-qsb_m33_TCM_sai_low_power_audio.elf 「」 この例は Zephyr にありますか? 同時に a-core で Linux を起動し、m-core im で Zephyr を起動できればと思います。 Linux Re: Do we have example for zerphyr on i.mx93 core-m33? プログラムと起動の手順に従いましたか? Re: Do we have example for zerphyr on i.mx93 core-m33? こんにちは@ June_Lu 投稿が消えた理由が分かりません。 どれが正しいDTSですか?それらの違いは何ですか? zephyr/boards/nxp/imx93_evk$ ls board.c imx93_evk_mimx9352_m33_ddr.dts board.cmake imx93_evk_mimx9352_m33_ddr.yaml board.yml imx93_evk_mimx9352_m33_defconfig CMakeLists.txt imx93_evk_mimx9352_m33.dts doc imx93_evk_mimx9352_m33.yaml dts imx93_evk-pinctrl.dtsi imx93_evk_mimx9352_a55_defconfig Kconfig imx93_evk_mimx9352_a55.dts Kconfig.defconfig imx93_evk_mimx9352_a55.yaml Kconfig.imx93_evk imx93_evk_mimx9352_m33_ddr_defconfig imx93_evk_mimx9352_m33_ddr.dts だと思います。だから私は west build -p always -b imx93_evk/mimx9352/m33 zephyr/samples/synchronization west build -p always -b imx93_evk/mimx9352/m33 zephyr/samples/helloworld helloworld と同期の両方を試しましたが、すべて失敗しました。 root@imx93-11x11-lpddr4x-evk:~# echo zephyr.elf > /sys/class/remoteproc/remoteproc0/firmware root@imx93-11x11-lpddr4x-evk:~# echo start > /sys/class/remoteproc/remoteproc0/state -sh: echo: write error: No such file or directory root@imx93-11x11-lpddr4x-evk:~# ls /sys/class/remoteproc/remoteproc0/ coredump device firmware name power recovery state subsystem uevent root@imx93-11x11-lpddr4x-evk:~# echo /lib/firmware/imx93-11x11-evk_m33_TCM_power_mode_switch.elf > /sys/class/remoteproc/remoteproc0/firmware root@imx93-11x11-lpddr4x-evk:~# echo start > /sys/class/remoteproc/remoteproc0/state root@imx93-11x11-lpddr4x-evk:~# echo stop > /sys/class/remoteproc/remoteproc0/stat zephyr.bin(または。エルフ)? Re: Do we have example for zerphyr on i.mx93 core-m33? 親愛なる@June_Lu様、 これを読んでみたが、あまり役に立たなかった Zephyr にはたくさんの DTS がありますが、それらの間にあるものは何でしょうか? zephyrproject/zephyr/boards/nxp/imx93_evk$ ls board.c imx93_evk_mimx9352_m33_ddr.dts board.cmake imx93_evk_mimx9352_m33_ddr.yaml board.yml imx93_evk_mimx9352_m33_defconfig CMakeLists.txt imx93_evk_mimx9352_m33.dts doc imx93_evk_mimx9352_m33.yaml dts imx93_evk-pinctrl.dtsi imx93_evk_mimx9352_a55_defconfig Kconfig imx93_evk_mimx9352_a55.dts Kconfig.defconfig imx93_evk_mimx9352_a55.yaml Kconfig.imx93_evk imx93_evk_mimx9352_m33.dts を使用する必要があると思います。 ビルドはできるのですが、実行できません。 west build -p always -b imx93_evk/mimx9352/m33 samples/hello_world # In linux root@imx93-11x11-lpddr4x-evk:~# echo /lib/firmware/imx93-11x11-evk_m33_TCM_power_mode_switch.elf > /sys/class/remoteproc/remoteproc0/firmware root@imx93-11x11-lpddr4x-evk:~# echo start > /sys/class/remoteproc/remoteproc0/state root@imx93-11x11-lpddr4x-evk:~# echo zephyr.elf > /sys/class/remoteproc/remoteproc0/firmware -sh: echo: write error: Device or resource busy root@imx93-11x11-lpddr4x-evk:~# echo stop > /sys/class/remoteproc/remoteproc0/state root@imx93-11x11-lpddr4x-evk:~# echo zephyr.elf > /sys/class/remoteproc/remoteproc0/firmware root@imx93-11x11-lpddr4x-evk:~# echo start > /sys/class/remoteproc/remoteproc0/state -sh: echo: write error: No such file or director zephyr.elf(またはzephyr.bin ですか? Re: Do we have example for zerphyr on i.mx93 core-m33? はい、ご参照ください https://docs.zephyrproject.org/latest/boards/nxp/imx93_evk/doc/index.html#プログラミングとデバッグ-m33 よろしくお願いします。
查看全文
flash.bin FRDM IMX93 大家好, 我使用的是 FRDM iMX93。拆封后,我尝试按照https://www.nxp.com/document/guide/getting-started-with-frdm-imx93:GS-FRDM-IMX93?section=build-and-run进行操作,一切正常。 现在我想要我的自定义 u-boot、ATF、OPTEE。我使用了与 yocto 相同的哈希值并且版本得很完美。我使用 mkimage 创建 flash.bin,在此之前一切正常。 但是......当我尝试闪存这个 flash.bin(使用 Balena)时,控制台没有任何反应。 我试着从正在运行的 yocto flash 中使用闪存,bin 但是一样的,无法启动。 如何仅使用 flash.bin 创建可启动映像? 当我看到 u-boot 启动时,稍后会添加内核 rootfs。 此致, 公署 Re: flash.bin FRDM IMX93 对我来说,这就是解决办法: dd if=iMX93/flash.bin of=bootable.img bs=1K seek=32 conv=fsync 与 Balena 相比 bootable.img 正在启动。我不知道为什么会出错,但至少我看到了控制台输出: U-启动 SPL 2024.04-00003-g7e135e087e8(2025 年 7 月 19 日-19:10:15 +0000) SOC:0xa1009300 LC:0x40010 PMIC:过压模式 错误:ele_volt_change_start_req:ret -5,响应 0xf429 错误:ele_volt_change_finish_req:ret -5,响应 0xf429 DDR:3733 MTS DDR:3733MTS 发现 DRAM 2GB DRAM 匹配 M33 准备好正常启动正在尝试从 BOOTROM 启动阶段启动:主启动映像偏移量 0x8000,页面大小 0x200,ivt 偏移量 0x0 从 ROM_API 加载来自 0x40400 的图像 " PCA9451A同步中止 " 处理程序,esr 0x020000000 elr: 00000000204e0000 lr: 000000002049dafc x 0:00000000204e0000 x 1:0000000020501ba0 x 2:0000000000000fc0 x 3:0000000083200040 x 4:00000000204b6958 x 5:0000000083200450 x 6:0000000000001 x 7:00000000000001 x 7:00000000000001 x 7:0000000000001 x 7:0000000000001 x 7:0000000000001 x 7:0000000000001 x 7:0000000000000083200450 x 8:000000000000f0 x 9:00000000796d7959 x10:00000000796d7959 x11:00000000000001 x12:000000000000001 x13:0000000000000012 x14:00000000000001 x15:00000000000003 x16:0000000000204a5ef4 x17:00000000000000 x18:0000000020501c10 x19:00000000204b9af8 x20:00000000204b9ae0 x21:0000000020501bb0 x22:0000000000deadbeef x23:00000000204b9ae0 x24:0000000000000 x26:00000000204ad81c x27:00000000204ad000 x27:00000000204ad000 x28:00000000204ad804 x29:00000000 20501b30 代码:00000000 00000000 00000000 00000000 (00000004) RESET CPU... 正在RESET... Re: flash.bin FRDM IMX93 谢谢您的回复,我会试试的。如果这行得通,那就意味着 uuu 工具会插入一些可被 ROM 启动识别的标头?有关于启动顺序的详细文档吗? Re: flash.bin FRDM IMX93 你好 我建议你用 UUU 代替 Balena。 请尝试下一条命令: uuu -b flash.bin 顺祝商祺!
查看全文
AMMCLIB 与 RTD 的依赖关系 你好 我目前正在使用 Windows 版 S32 Design Studio 3.6 处理 S32K344 微控制器。我手动添加了AMMCLIB 1.1.40 版我的项目基于RTD 5.0.0。 到目前为止,项目的编译和链接都没有问题。不过,我目前只用到了库中的一些数学函数。 在浏览论坛时,我注意到由于某些AMMCLIB版本的兼容性问题,建议一些用户恢复到早期的RTD版本。 谁能确认一下AMMCLIB 1.1.40 是否存在这种不兼容性? 我查看了文档,但找不到明确的参考,说明此 AMMCLIB 版本正式支持哪些 RTD 版本。 如能提供任何说明,将不胜感激。 在此先表示感谢! Re: AMMCLIB vs RTD Dependencies 嗨,罗杰、 在 AMMCLib 1.1.41 版中添加了对 S32 Design Studio 3.6 的支持,该版本自 2025 年 7 月 14 日起作为更新站点提供。最新版本可从该版本库中获取: http://www.nxp.com/lgfiles/updates/Eclipse/AMMCLIB/S32DS_3.6 AMMCLib 不依赖于 RTD API,可以在没有 RTD 的情况下使用。不过,当您从"Extensions and Updates" 对话框将 AMMCLib 作为 S32DS 插件安装时,您需要有一个兼容的 RTD 版本,因为所有 S32DS 插件都依赖于 RTD 设置的编译选项。如果您尚未安装 RTD,Eclipse P2 安装程序会通知您需要哪个版本的 RTD。 Re: AMMCLIB vs RTD Dependencies 您好, 非常感谢您关注我们的产品并使用我们的社区。 为明确起见,S32DS 有两种安装 AMMCLIB 的方法,请参阅S32K3XXMCLUG 的以下部分: 2.10 库作为 RTD 插件集成到适用于 S32 平台的 S32 设计工作室 2.11 库作为 独立组网 (SA) 软件包集成到适用于 S32 平台的 S32 设计工作室 RTD 插件方式仅适用于 S32DS 3.5,我已测试了 AMMCLIB_v1.1.40使用 RTD 4.0.0 和 RTD5.0.0 时没有任何问题。 如果你使用的是 S32DS 3.6,请使用*.exe 安装程序遵循独立组网。 请注意,如果用户选择在其 S32DS 项目中手动添加 AMMCLib,他们有责任确保编译器选项遵循 AMMCLib 版本说明 中描述的建议。 祝您愉快
查看全文
由于无响应,在多管理模式下调试期间,使用 JN5189 RCP 的 OTBR 代理超时 问题概述 在使用 OTBR 和 JN5189 RCP 进行 Matter 多管理员调试时,我们遇到了故障。使用 CHIPTool Android APK 的初级调试成功完成。但是,使用 CHIP 工具 CLI 进行的二次调试却失败了。 在此过程中,otbr-agent 日志显示与 RCP 通信时反复出现超时,导致代理无响应。恢复的唯一方法是手动 RESET 代理或重新插入 RCP。 设置详情 元器件:版本/描述 ------------------------------------------------------------------------------------------- 主要专员:ChipTool 安卓 APK 二级专员:CHIP Tool CLI (Linux) 线程设备:Nanoleaf A27 Bulb RCP 平台:NXP JN5189 over UART RCP 固件提交:dfbe12280a87cb9a0c0c0c1d90d71d71d3372d82(来自 ot-nxp)OTBR 平台:Ubuntu 22.04 (x86_64) 内核版本:Linux 6.8.0-60-generic # #63 ~22.04.1-Ubuntu SMP PREEMPT_DYNAMI OTBR Commit: b8bab1babcb040251b51a69ccb4008fb4b9e2d3f CHIP Tool CLI Commit:9af93fd3e9eab4315e1097b19112ebac01d1ad94 重现步骤 在连接并初始化 JN5189 RCP 的情况下启动 OTBR。 使用 CHIPTool Android APK 进行初级调试(成功)。 使用 APK 打开多管理员调试窗口。 尝试使用 CHIP 工具 CLI 进行二次调试。 观察 otbr-agent 的行为和日志输出。 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好,路易斯, 1) 我试过使用"1000000、" 的波特率,但在通信过程中仍会遇到成帧错误。 我同时使用 UART_DRIVER 和 SERIAL_MGR 进行了测试。在这两种选择中,您推荐哪一种更可靠、更可取? 为了进一步调试,我启用了日志并检查了 USART FIFO 溢出寄存器的值。我注意到 FIFOSTAT 中的 RXERR 位被设置。 作为参考,USART0 的时钟频率为 32 MHz(来自 XTAL),主时钟运行在 48 MHz。 BR, 维卡什 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好,维卡什 波特率取决于主机设置的波特率。 作为建议,也许你可以试试 " 1000000 ";作为参考,在 K32W 的示例中,波特率是默认值。 JN5189 使用 USART0 和 USART1 支持软件流量控制,但硬件流量控制更可靠,不会干扰数据。第 23.6.5.2 章 UM11138 中描述 顺祝商祺! 路易斯 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好,路易斯, 感谢您的回复。 我已经使用带有 nRF52840 DK 的树莓派 4B 测试了设置,在该配置中没有遇到任何 RCP TX 超时或 RESET 的情况。这让我相信,问题很可能与 JN5189 上的 RCP 映像或 UART 配置有关。 在我的最终硬件设置中,不支持 RTS/CTS 硬件流量控制,因此我只能使用不带流量控制的 UART。鉴于此限制条件: 1) 当硬件流量控制不可用时,建议 JN5189 RCP 采用什么 UART 波特率? 2) 是否需要调整缓冲区大小、定时参数或驱动程序级设置,以降低数据丢失的风险? 3) 在这种情况下,是否支持或建议使用软件流量控制(XON/XOFF)? 谨致 Vikash Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好 UART 时钟会影响计时精度,如果 UART 时钟不稳定,会导致主机和 RCP 失去同步。 仔细匹配设备之间的波特率并测试容差范围,你可以尝试较低的波特率。 或者作为其他选择;您可以不使用 FRO32K,而改用时钟频率精度更高的 XTAL32K 振荡器;有关它的更多信息,请参阅《用户手册》[ UM11138] 第 4.4.4 章。 UM11138 顺祝商祺! 路易斯 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 您好, 感谢您的回复。 我有几个问题和看法: UART 时钟源是否会对定时精度和数据采样产生重大影响? 目前,系统配置使用 FRO32K 作为时钟源。 观察结果: 在测试与主机的通信时: 在 1 Mbps 速率下,我获得了大约 3/10 次成功尝试。 在 115200 时,通信很少成功。 看来问题可能与使用低频(32.768 kHz)时钟导致 UART 波特率生成不精确有关。 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好 JN5189 支持 USART0 硬件流控制,更多信息请参见《用户手册》[ UM11138] 第 23.6.5.1 章。 UM11138 波特率取决于主机设置的波特率。 顺祝商祺! 路易斯 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好,路易斯, ,我查看了两端的日志,发现 RCP 端出现了数据损坏或丢失的情况。 在这种特定情况下,您能否建议 JN5189 理想的 UART 波特率? Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好 Luis, 感谢你的反馈和分享参考链接。 我们已经订购了 i.MX8M 平台,目前正在等待它的到来。同时,我想继续使用现有的 JN5189 设置进行调试。 作为其中的一部分,我想确认 JN5189 是否支持 UART 接口上的硬件流量控制。这将有助于我们在隔离问题的同时评估通信的稳定性。 感谢 Vikash Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好 我查看了 nxp_vendor_hook.cpp 文件;该文件将用于 JN5189 和 K32W061。 出于测试目的,我建议您使用 i.MX8M,并尝试将问题隔离,找出根本原因。 以下链接重定向到使用 i.MX 运行 Open Thread 边界路由器的示例,以进行咨询 如何在目标机上安装 OpenThread Border Router 和 Openther Deamon 顺祝商祺! 路易斯 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好,路易斯、 感谢您的及时回复。 我在以下两个平台上测试了设置,在两个平台上都遇到了同样的问题: i) 笔记本电脑(Ubuntu) ii) 路由器(OpenWRT) 1) 根据我在调试过程中的观察,Thread终端设备会根据请求快速向芯片工具专员发送一系列消息。这种快速突发流量可能会导致 RCP 丢弃一些数据包,而 OTBR 很可能正在期待和等待这些数据包2)。 2) 关于外部委托,我认为主要的制约因素是 PSKd,因此我向 Thread 小组提出了这个问题,目前正在等待他们的答复。 3) 您还能看看下面的问题吗? 在为 K32W061 平台构建时,会用到一个 nxp_vendor_hook.cpp 文件。 我想知道 JN5189 平台上是否存在类似的文件,或者是否有可能通过在编译期间启用 DOT_NCP_VENDOR_HOOK_SOURCE 宏来重复使用现有的 nxp_vendor_hook.cpp 用于 JN5189。 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好 您是否测试过用 MCU/MPU 代替计算机运行 OTBR?因为恩智浦支持的示例和指南适用于不同的主机测试,并包含更多相关信息。 K32W061 的汇编可能适用于 JN5189,两者非常相似。 另外,您能否在 外部调试是否适用于您的额外调试问题? 顺祝商祺! 路易斯 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 有一个 nxp_vendor_hook.cpp 文件,在为 K32W061 平台编译时使用。 我们是否有适用于 JN5189 平台的类似文件,或者我们可以通过在编译期间加入/启用 DOT_NCP_VENDOR_HOOK_SOURCE 宏来重复使用它用于 JN5189 吗? ?
查看全文
PN7462C/OM27462CDKP:需要帮助为门禁控制应用程序从 Android 和 iPhone 读取 NDEF 数据 不知何故我成功获得了 PN7462AU 的 nfcrdlibex3_nfcforum_mcux,可以读取物理 NFC 标签 (NTAG215) 及其 NDEF 数据,如下所示:   NFC 论坛范例:   卡已检测到并成功激活 标签数量1 技术:A 型 卡 : 1 UID : 04 FA D5 57 BD 2A 81 SAK: 0x0 类型 :2 类标签 检测到 NDEF... NDEF 长度: 15 NDEF 信息: [0000] D1 01 0B 54 02 65 6E 30 30 31 31 31 31 31 00 |...T.en00111111.| [0010] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| [0020] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| [0030] 00 00 |.. |   我用纯文本"00111111"对物理NTAG215进行编程。   现在,当我尝试使用安卓手机上的" NXPTools PRO" 应用程序仿真一个标签时(该程序实际上支持标签仿真(至少支持 NDEF 有效载荷仿真)),日志是这样的(对于相同的纯文本 "00111111"):   卡已检测到并成功激活 标签数量1 技术:A 型 卡 : 1 UID : 08 EF 94 5D SAK: 0x20 类型 :4A 型标签 未检测到 NDEF 内容...   卡已检测到并成功激活 标签数量1 技术:A 型 卡 : 1 uid : 08 f0 49 8d SAK: 0x20 类型 :4A 型标签 未检测到 NDEF 内容...   我知道出于网络安全原因,每笔交易的手机UID都会改变。 我的应用是将 Android 或 iPhone 用于访问控制应用,其中 NFC 应用中的 NDEF 有效载荷将用于身份验证(第一步)。 最终目标是将存储在苹果钱包 或谷歌钱包中的NFC 通行证作为一种手段,利用这些通行证中的嵌入式 NDEF 有效载荷进行访问控制(不知道该套件是否可行,以及支持该功能需要哪些条件)。 我知道要使用苹果钱包或谷歌钱包,需要在代码中执行苹果 VAS和谷歌 SmartTap协议。 有人能解释一下获取将这些协议集成到我们的设计中的示例的过程吗? 我找到了这个话题:detecting-ios-phone-using-pn7642 其中 @Fabian_R 提到了联系代理商,但如果可能的话,需要更多关于苹果 VAS 和谷歌 SmartTap 集成过程的细节。 请问有谁能在这项申请中提供帮助? 非常感谢。 问候, Yash NFC 控制器解决方案 Re: PN7462C/OM27462CDKP:Need help reading NDEF data from Android and iPhone for Access Control App 你好,YRK、 我最近购买了 PN7462 开发板,你能否分享一下你尝试过 NTAG215 的应用程序代码,这肯定会帮助我理解 NDEF 的通信。 谢谢! Sree Re: PN7462C/OM27462CDKP:Need help reading NDEF data from Android and iPhone for Access Control App 你好@YRK 请登录 https://www.nxp.com/support/support:SUPPORTHOME ,选择" Request an NDA,与恩智浦建立 NDA 。" KellyLi_0-1733208200722.png Re: PN7462C/OM27462CDKP:Need help reading NDEF data from Android and iPhone for Access Control App 你好@YRK 是的,你需要将 ECP 集成到系统中,而且 PN7462 还支持 ECP 功能,该功能由苹果开发,因此你需要获得苹果的许可才能在设计中使用 ECP。 只是我们无法向客户提供详细信息或启用 ECP 的图书馆。首先必须获得苹果公司的批准! 只有在我们获得 Apple 批准该客户获得 ECP 批准后,我们才允许向客户提供支持 ECP 的 NFC 读取器库和进一步的 ECP 支持。因此,如果您想在 PN7462 上实现 ECP 功能,应采取以下措施: 1. 获得苹果公司的批准,以便在您的应用程序中使用 ECP 功能。 2.与恩智浦签署 NDA 3.返回恩智浦获取 ECP 设计资源。
查看全文
[lx2160ardb-rev C] U-启动 中的 25G 端口 您好, 我正在尝试将 SFP+(10G)与 U-启动 中的 LX2160ARDB(修订版 C)一起使用。 仅供参考,我的 QSFP 链接 (40G) 在 U-启动 中已经可以正常工作了。 这听起来像是"[LX2160ARDB-Rev C] 25G 端口兼容性" 的重复,解决方法是"将 LX2160ARDB SFP 从 25G 修改为 10G" 。 不过,这还不能解决我的问题。 我目前是通过 LLDP 进行开发,而不是像 pdf 文件中描述的那样通过 lsdk2108 进行开发。我只是对不同的改装进行了移植。 我想在 U-boot 中使用这些 SFP+ 接口,而不是来自 Linux 的接口。 我不得不修改所提供的 PBI 说明: 使我的 QSFP 接口正常工作: " write 0x01EA10B0, 0x999999" --> " write 0x01EA10B0, 0x88889999" " write 0x01EA0D30, 0x10808307" --> " write 0x01EA0D30, 0x10808000" 它以某种方式为我的 1x10G SFP+ 复制了 QSFP 4x10G 的 Serdes 配置。 这样,我的路由器就能通过"SFP+ - SFP+ 10G" 电缆和"SFP28 - SFP28 (25G)" 电缆(支持 1G/10G/25G)检测到上行链路。 现在链接已经建立起来了,但我可以猜到我还没有看到数据包(还没有)。 关于 LLDP 中的这些 " 25G 到 10G " 修改(因此适用于 Yocto),你有一些信息或经验吗?你知道如何使用 u-启动 中的这些 SFP+ (10G) 吗? 谢谢 🙂 Re: [LX2160ARDB-Rev C] 25G port in U-boot HI 🙂 自从我们上次通信后,我主要尝试使用 Linux 下的 25G 端口,使用了您提供的 LSDK21.08 链接(甚至是 LSDK24.12)、至今未果。因此,我想它可能来自我的 SFP28 适配器、我的 LX2160ARDB 板配置、我的网络交换机... 或者来自某些软件配置。 当你告诉我 25G 连接正常时,我相信你。通常,您会要求用户发送日志,以显示他们遇到的错误。我们可以反过来吗:既然它在你这边工作,你能不能给我发一条(现有)显示它正在运行的日志(来自开机、u-boot、linux、网络配置、ping)?这样我就能很容易地看出我的系统有多大的不同。 您能提供这些日志吗? 顺便说一下,下一步我还打算尝试通过 2 个 LX2160ARDB" 之间的 25G 链路进行"网络通信,这样我就能知道问题是否出在网络交换机上。 谢谢! 🙂 Re: [LX2160ARDB-Rev C] 25G port in U-boot 您能按照 LX2160ARDB-REV2 的默认设置试试 LSDK2108 和 LSDK2412 吗? Linux 中的这两种软件都可以测试 25G 和 10G。 这样的命令: LSDK21.08, 第 65 页 自动下载 LSDK 映像并将其部署到 Linux 主机或参考 板 上的目标存储驱动 器。 Re: [LX2160ARDB-Rev C] 25G port in U-boot 只需补充有关 25G 链路何时上升或下降的更多信息: 25G 链路在调用"in112525_s03_lane_recovery(4)" ("4 "表示 "ALL_LANES")"in112525_s03_phy_init() "之后(或期间)上升。 然后,在我执行 "ping "命令时,在调用 - 到 "in112525_s03_lane_recovery(3)"(用于DPMAC5@25g-aui) - 到 "in112525_s03_lane_recovery(2)"(用于DPMAC6@25g-aui)后,我的 25G 链路就断开了。 因此,在 "车道恢复 ALL_LANES "链路上升期间,但在"单车道恢复 "链路下降后... 其他信息:在 "in112525.c "中启用调试跟踪时文件,在调用"in112525_s03_lane_recovery(ALL_LANES)" 时,我总是收到 "TX PLL 未锁定在所有车道上 "的消息,但在 ping 和 "单车道恢复 "过程中没有出现任何错误消息"TX PLL 未锁定在车道上%d\n" ,因此理论上我的 "TX PLL 已正确锁定在我们尝试使用的车道上"......但是我的 25G 出现故障。 Re: [LX2160ARDB-Rev C] 25G port in U-boot 你好, 我附上了 u-boot & linux 测试的日志文件,有 2 个二进制版本。 "MC 10.35" 日志已经完成了我当前版本的启动,从 SD 卡启动, "MC 10.24" 在 xspi 闪存中从原生 LX2160ARDB 二进制文件启动时。 关于 Linux,目前有两个版本(SD/xSPI 启动)我看不到任何网络接口和 " ls-listni ", " ls-listmac ", " ls-addni "... 返回 " 错误:找不到设备文件 "。 所以我想我需要配置一些东西,刚刚开始调查。 谢谢 🙂 Re: [LX2160ARDB-Rev C] 25G port in U-boot 请在 u-启动 中分享你的完整日志,Linux 的结果怎么样? 谢谢! Re: [LX2160ARDB-Rev C] 25G port in U-boot HI 🙂 感谢你的回答 " 如果你将 SFP-25G-SR 插入 LX2160ARDB(设置为 25G),而其他设备相同 SFP28( SFP-25G-SR ,设置为 25G),你可以将其用作 25G,则无需其他设置即可使用 。"。 现在使用两根相同的SFP-25G-SR和一根 OM4 光纤。 板配置为从我的 LX2160ARDB rev C3 上安装的原始 ATF + u-boot 启动: " BL2: v2.3 (): v2.3-lsdk-20.12 "+ "U-启动 2020.04-00006-g0f2cfcb048 (Apr 19 2021 - 22:20:08 +0530)" 。 ethprime=dpmac5 @25g-aui。 主板重启和 u-boot 启动后,我的 25G 链路出现故障。 但是,一旦我启动 “ping”(从 u-boot 开始),链接就会断开,(当然)ping 会失败。 当然,我也会尝试使用 Linux(只是为了验证我的 HW & 网络配置,我不想使用 Linux),然后也要按照你的建议使用 MC 10.38... 但是它不应该在我的 ATF & 启动 版本中 “开箱即用” 吗? 谢谢 🙂 Re: [LX2160ARDB-Rev C] 25G port in U-boot 如果你将 SFP-25G-SR 插入 LX2160ARDB(设置为 25G),而其他设备是相同的 SFP28( SFP-25G-SR ,设置为 25G),则可以将其用作 25G,则无需其他设置即可使用 。 谢谢! Re: [LX2160ARDB-Rev C] 25G port in U-boot HI 🙂 谢谢您的回答。我目前使用的是 MC 10.35 版,所以我打算试试 10.38 版。 与此同时,我想确认一下在 "本地 "25G 模式下是否一切正常。 我计划使用 LX2RDBKIT2-25G 内容描述中所示的 Mellanox MMA2P00-AS(或兼容的 FS SFP-25GSR-85)SFP28 适配器。 你能否确认在原生 25G 模式下,与这样的 SFP28(2 个 LX2160ARDB 板或一台带有 SPF28 的 LX2160ARDB + 路由器之间)的通信将 “开箱即用” 地进行? 谢谢! 🙂 Re: [LX2160ARDB-Rev C] 25G port in U-boot MC 10.38 版可能会改变 LX2160A 对 10G<-> 25G 重新配置的支持。 请参阅以下文档章节 -https://docs.nxp.com/bundle/UG10143/page/topics/Ethernet_Serdes.html 谢谢!
查看全文
IMRT1046 USB 主机连接 我在 MIMXRT1046XFQ5B 处理器中找不到 USB_OTG1_ID 引脚,这是否意味着默认情况下 USB 控制器的行为是 HOST?我们正在使用该处理器来版本自定义 USB 主机,以从其他 USB 设备获取数据。 i.MXRT Re: IMRT1046 USB Host connection 谢谢您! Re: IMRT1046 USB Host connection 你好@JACOBTHOMAS_007、 感谢您的回复。 是的,您可以选择不使用 USB Type-C CC 逻辑 IC。 当 RT1046 只需作为 USB 主机运行时,直接使用 A 型插座即可。 在软件中,请将 USB 角色明确配置为主机模式。 请确保 RT1046 板为 USB 端口提供稳定的 VBUS 电源。 顺祝商祺! MayLiu Re: IMRT1046 USB Host connection 感谢您的回复和设计文件 EVK 设计采用了 USB Type-C CC 逻辑集成电路。但是我的问题是,如果我不想使用这个 CC 逻辑 IC,默认情况下 MIMXRT1046XFQ5B 的行为会像主机一样吗?如果我只拿出 4 个 USB OTG 引脚连接到 USB A 连接器然后将 USB 设备/客户端连接到这个连接器? JACOBTHOMAS_007_0-1752533469761.png Re: IMRT1046 USB Host connection 你好@JACOBTHOMAS_007、 非常感谢您关注我们的产品并使用我们的社区。 是的,MIMXRT1046XFQ5B 处理器 USB 外设中没有 USB_OTG1_ID 引脚,但您可以使用其他芯片 IO 实现该功能。 MIMXRT1046XFQ5B 处理器中的 USB 仍支持主机或设备模式。 我建议您参考 MIMXRT1046-EVK 的设计。 https://www.nxp.com/search?keyword=rt1046&start=0 敬上 MayLiu
查看全文
链接服务器加载二进制文件 问候恩智浦支持人员 我们正在尝试自动安装我们的板(imx RT1176),我们正在使用 python 脚本中带有 MCU_LINK 的 Linkserver 命令 在 Flash 或非 中刷新和加载二进制文件,我们正在使用最小的 Flas hlo ader 烧掉几个熔丝并进行一些特定的硬件初始化,目前我们已经完成了在 Flash 中加载二进制文件的工作,但我们无法弄清楚如何使用 linkserver 将闪存加载器加载到 OCRAM1 中 C:/nxp/LinkServer_24.12.21/LinkServer.exe flash MIMXRT1176:MIMXRT1170-EVK load combined_RAW_image.bin:0x60000000 (这适用于 Flash 或非) 有什么能帮上忙的吗? 亲切的问候 Re: linkserver loading binary 感谢加文 Re: linkserver loading binary 你好@yosri_c、 该项目或许对您有所帮助: https://www.nxpic.org.cn/module/forum/thread-620172-1-1.html 它将 flashloader 制作成 bin 阵列并加载到 RAM 中,然后跳转到主函数。 致以最诚挚的问候, Gavin Re: linkserver loading binary 我想这个命令会尝试将二进制文件加载到闪存而不是内存中... Re: linkserver loading binary 您好! 要使用 LinkServer 在 i.MX RT1176 的 OCRAM1 中加载并运行最小闪存加载程序,需要使用两步流程来代替当前的闪存命令。首先,使用 LinkServer.exe flash MIMXRT1176: MIMXRT1170-EVK 加载 your_flashloader.bin: 0x2020000 将二进制传输到 OCRAM1(确认确切的地址)。然后,用 LinkServer.exe flash MIMXRT1176:MIMXRT1170-EVK go 0x20200000 执行。确保您的闪存加载器二进制文件专为直接从 RAM 执行而设计。
查看全文
EB付きフリートスに関する質問(K3用) こんにちはチーム EB 構成の freertos についてお聞きしてもよろしいでしょうか? EB 構成で freerots のセットアップを行おうとしています。 このとき、ひとつ疑問が浮かびました… S32DS freertos の例では、SYST は「vTaskStartScheduler」によって起動されます。 問題ありません。 ただし、EB(MCAL ベース)では、初期は次のようになります。 問題は MCAL 初期コードから発生しています。これらは OSIF カウンターを使用しています。 しかし、OSIF_initだけではSYSTは作成されませんでした。 たとえば、現在の値 (SYST_CVR) は 0 です。 「vTaskStartScheduler」(またはMCAL構成)の前にSYST構成をどのように行うかがわかりません。 問題は、 OSIFカウンターを蹴るにはどうすればいいですか?(EB付きフリートスの下) MCAL の初期化前に「vTaskStartScheduler」を実装しますか? ありがとう。 EB TRESOS ライセンス RTD S32DS Re: Question aobut freertos with EB(for K3) こんにちは、 これを RTD に提供したのですが、どういうわけかこの RTD リリースには到達しなかったため、解決策は正しいと思います。 よろしくお願いいたします。 George Re: Question aobut freertos with EB(for K3) こんにちは、クアン・レ ご支援ありがとうございます。 しかし、私の質問に対する答えはありませんでした。 フィードバックが失われた場合はお知らせください。 (または、このチケットではなく、Jira からのフィードバックを待つ必要がありますか?) ありがとう。 Re: Question aobut freertos with EB(for K3) こんにちは@Luke_Chun 。私の回答が役に立った場合は、「解決策として承認」をクリックしてThreadを閉じてください。 Re: Question aobut freertos with EB(for K3) こんにちは。あなたのパッチは OsIf モジュール専用なので、この Thread を RTD チームに送信しました。 彼らがあなたのソリューションをどのように使用するかを見てみましょう。 https://jira.sw.nxp.com/browse/ARTD-184603 Re: Question aobut freertos with EB(for K3) こんにちは@lequana2 K3 のケースにより、フリートスを使用した RTD の問題点がわかりました。 RTD は EB と S32CT の両方で同じ問題を示しています。 Syst の最初の問題 (私の最初の質問) は、構成シーケンスを修正できるかどうかです。 ただし、K3 を使用した RTD は、RTD 割り込みを使用した Freertos には適していません。 SO、パッチを作って貼り付けました。 このアプローチは正しい方法でしょうか? あるいはそれに関する何かガイドラインはありますか? よろしくお願いします。 Re: Question aobut freertos with EB(for K3) こんにちは@lequana2 ご返信ありがとうございます。 詳細はこちらです。 1.お客様のターゲット プロジェクトは EB に基づいていますが、お客様は AUTOSAR / OS を使用していませんでした。 お客様はfreertosの使用を希望しています。SO私は、フリートスと統合されたEBについて調べています。 わかりました。S32CT を搭載した S32DS は、マウスを数回クリックするだけで無料で使用できます。 2. S32K324、RTD 4.0.0P14 HF1、freertos バージョンは修正されていません。 私は freertos 5.0.0 を使用していましたが、freertos のバージョンが変更されるのでお知らせください... ありがとう。 Re: Question aobut freertos with EB(for K3) こんにちは、 @Luke_Chun です。私は FreeRTOS チームのメンバーです。Tresos で FreeRTOS が必要な理由を教えてください。ご覧のとおり、DS にコミットしており、うまく機能しています。そのようなCASEがあれば、今後はよりよいSUPPORTを提供でき、Tresos のサンプルも提供できる可能性があります。 OsIf に関しては、Base Bundle チームの@RaduPrunaがサポートしてくれるかもしれません。ただし、より良いサポートを提供するには、現在の環境 (どの NPI、どの RTD バージョン、どの FreeRTOS バージョン...) が必要です。 最後に、この問題に関して FreeRTOS チームが他にサポートできることはありますか?
查看全文
MIMXRT1170 中断问题 大家好, 我想问一些关于 GPIO 外部中断的问题。在 mimxrt1170_IGPIO_Input_interrupt 示例中,GPIO13_IO0 引脚被定义为输入并启用上升沿中断。我想用 GPIO8_io29 代替 GPIO13_io0。但我看不到 gpio8 的任何中断处理程序。 如何将 gpio8_29 定义为外部中断? Re: MIMXRT1170 Interrupt issue 你好@EdwinHz, ,我最近看到了你给出的这个答案,并开始怀疑这是否是真的,因为我觉得有些不对劲。 你说过 " GPIO7 到 GPIO12 都只能由 CM4 功能域 " 访问,所以我开始浏览 RM 后发现了以下内容: mimlo_0-1758538529495.png mimlo_1-1758538549273.png AIPS-4 的描述明确指出,CM7 和 CM4 内核都可以访问该内存映射范围。因此,根据我的理解,这与你前段时间的说法是矛盾的。 更重要的是,我认为你粘贴的总线图实际上是通过以下路线连接到 GPIO [12-7] 的总线(前提是我的理解是正确的): mimlo_2-1758539110096.png 根据 RM 提供的信息,这些 PGIO 是可以访问的,因此我猜测流程应该是这样的。如果我说错了,请指正我,但肯定有什么地方不对劲,我觉得应该纠正过来。 致以最崇高的敬意, Michael Re: MIMXRT1170 Interrupt issue 我也遇到了同样的问题。有什么进展吗? Re: MIMXRT1170 Interrupt issue 谢谢 Edwin,我明白了 Re: MIMXRT1170 Interrupt issue 你好,@muratokusluk、 尽管大多数引脚都可通过 CM7 功能域和 CM4 功能域访问,但 GPIO7 到 GPIO12 都只能通过 CM4 功能域访问: EdwinHz_5-1707351396046.png 因此,GPIO8 仅用于 CM4 访问,因此不存在 CM7 中断。请注意"表 4-2.参考手册中的 CM4 功能域中断摘要 " 在 IRQ 99 上有 GPIO7 到 GPIO11: EdwinHz_6-1707351403332.png 但"表 4-1.CM7 功能域中断摘要 " 改用了 CM7_GPIO2 和 CM7_GPIO3 IRQ: EdwinHz_7-1707351418503.png 也就是说,GPIO_EMC_B2_19 是路由 GPIO8_IO29 的焊盘,当使用 alt 函数 5 而不是 10 时,也会路由 GPIO_MUX2_IO29: EdwinHz_8-1707351431130.png EdwinHz_9-1707351431131.png 因此,在使用 CM4 时,可以为 GPIO8 配置 IRQ 99 的焊盘和中断;在使用 CM7 时,可以为 CM7_GPIO2 配置相同的焊盘和中断,IRQ 将继续为 IRQ 99 (CM7_GPIO2)。 如果您的项目基于 ipgio_input_interrupt_cm4,而不是 cm7,您将在 startup_mimxrt1176_cm4.c 中找到"GPIO7_8_9_10_11_IRQHandler()" 希望这能回答你的问题。 BR, Edwin.
查看全文
AUTOSAR 4.4 MCALポートモジュール構成 こんにちは、 MCAL ポート モジュールの使用についていくつか質問があります。 jwjung_0-1753244978665.png 設定では、PortPin Slew Rate は 0 に設定されますが、生成されたコードではその部分が空 SO ビルドエラーが発生します。(そしてそれはCANない) jwjung_1-1753245109044.png 2番、 PinMode と PinDirection を変更するために API を有効にしましたが、その関数を呼び出すことができません。 jwjung_2-1753245304099.png jwjung_3-1753245385753.png ポートピンの方向を変更できなかったため、GPIO出力制御が実行できませんでした。 MCAL ポート モジュールの使用に関するアドバイスをお願いします。 どうもありがとうございます。 Re: AUTOSAR 4.4 MCAL Port Module configuration こんにちは@jwjung RTD 2.0.X はすでに非常に古いバージョンです。最新の RTD バージョンが RTD 6.0.0 に更新されました。そして、S32 DS V3.4 も非常に古い IDE です。 私の提案は、S32 DS V3.6 と RTD 6.0.0 をインストールすることです。 新しいバージョンでも引き続きこれらの問題が発生する場合は、参考のためにデモをいくつかCAN作成できます。 Re: AUTOSAR 4.4 MCAL Port Module configuration hi GPIO ポートピンに PTB8 を使用しようとしています。そしてそれをLED1と名付けました。 SO、このように値を設定します。 jwjung_0-1753409327660.png 図1) ポート構成 - PortConfigSet - PortContainer_0 jwjung_6-1753410044759.png 図2) ポート構成 - PortGeneral jwjung_1-1753409339892.png 写真3)Dio設定 - DioConfig jwjung_3-1753409464470.png PIN_PORT BE は次のように生成されます。SO、以下のようなコードを記述します。 jwjung_4-1753409527815.png SO、私の質問は、 SetPinDirection および setPinMode Api を使用するように構成しましたが、使用する関数を呼び出すCANません。 Port パラメータが異なり、初期化されません。 jwjung_5-1753409786627.png このエラーを解決するにはどうすればよいですか。 Re: AUTOSAR 4.4 MCAL Port Module configuration こんにちは@jwjung どのピンを設定するか教えてください。CAN設定してスクリーンショットを撮って参考までにお渡しします。 Re: AUTOSAR 4.4 MCAL Port Module configuration こんにちは、 私のミスで、他のデータを送信してしまいました。 SW32K3_RTD4.4_R21-11_3.0.0_D2303を使用しました そして私は知りたい   jwjung_1-1753349619423.png サンプルコードでは、構成データが私のものと異なります。 たとえば、PortPin_Mode が __IN ではなく GPIO であり、PortPin Slew RAte、PortPin Level Value が私のものと異なります。 それをうまく行うためのCANをいただけますか? どうもありがとうございます。 Re: AUTOSAR 4.4 MCAL Port Module configuration こんにちは@jwjung これはエラーではないはずです。まず、「ピン」設定インターフェースでピンを選択する必要があります。 Senlent_0-1753265563780.png Re: AUTOSAR 4.4 MCAL Port Module configuration こんにちは、 RTD 2.0.2 バージョンを使用しました。 サンプル pjt を使用しようとしましたが、以下のような問題を解決CANません。 jwjung_1-1753260614440.png よろしくお願い申し上げます。 Re: AUTOSAR 4.4 MCAL Port Module configuration こんにちは@jwjung 使用している RTD のバージョンを教えていただけますか? また、S32 DS のポートに関連する例を開いて、もう一度テストしていただけますか?
查看全文
KW45 RSSI 计算 您好,NXP团队, 我正在使用 UI 应用程序接收数据,我想从发送数据包的外围计算 RSSI 值,可以吗? 我正在通过 BLE 从外设发送数据,我想计算发送 RSSI 的含义,即我们从外设发送到 UI 应用程序的数据的 RSSI 值。 我检查了 SDK 示例中的一个函数: #define Gap_ReadRssi(deviceId)\ Gap_ReadRadioPowerLevel(gRssi_c, (deviceId)) 如果在外围设备中使用,是否有效?如果没有,有没有办法从外设端计算 RSSI。   通信& 控制(I3C | I2C | SPI | FlexCAN | 以太网 | FlexIO) 开发板 Re: KW45 RSSI calculation 你好 希望你一切顺利。RSSI(接收到的信号强度指示器)是在连接的接收器端读取的,而不是在发射器上读取的。 您可以检查可与 Gap_ReadRadioPowerLevel 一起使用的不同 gapRadioPowerLevelReadType_t。 此致, 里卡多
查看全文
MCXN947: PWM SDKs コンポーネントの追加エラー NXPチームの皆様 次の例を確認しています: https://github.com/nxp-appcodehub/dm-fashion-mnist-recognition-on-mcxn947/tree/df78550534b2a30410f56311cad05eb18956ed16 この例は私の FRDM-MCXN947 でうまく動作します。「SDKs コンポーネントの管理」ツールを使用して PWM SDKs コンポーネントを 1 つ追加しようとすると、多くのエラーが発生してコンパイルが中断されます。 この状況を解決する方法はあるでしょうか? ちなみに、私はMCUXpressio IDE 24.9とSDKバージョン2.16.1を使用しています。 wklee_0-1756267213867.png ありがとうございます。 MCX N Re: MCXN947: Erros Adding PWM SDK Components こんにちは@wklee このプロジェクトに pwm ドライバを手動で追加してみませんか? BR ハリー Re: MCXN947: Erros Adding PWM SDK Components GitHub から例をダウンロードし、mcuxpresso にインポートしました。 次に、SDK マネージャを通じて PWM ドライバを追加してみます。 wklee_0-1756430416322.png ソースコードの更新を要求されたので、同意しました。その後、多くのコンパイルが中断されました。 wklee_1-1756430475616.png ありがとうございます。 Re: MCXN947: Erros Adding PWM SDK Components こんにちは@wklee 新しいプロジェクトを作成していただけますか? この問題を再現するにはCANでしょうか? BR ハリー
查看全文
S32K144 板对板 SPI 通信中的奇怪行为 大家好,我在 S32K144 板中设置 SPI 中断通信时遇到了一些问题。该项目旨在与 PC33771B 设备通信,但目前处于一种由 33664EVB 提供的环回通信中。 在大多数情况下,它似乎是有效的,但数据在我的缓冲区内的实际存储方式却很奇怪。我有一条 5 字节的消息,一般来说它遵循以下顺序: B5 0 0 0 B1 B2 B3 B4 鉴于 LPSPI 是以单词为单位工作的,我想这应该是正确的。但出于某种原因,并非每次都是这样。启动董事会时,有时顺序是: B1 B2 B3 B4 B5 0 0 0 有时只是 B1 B2 B3 B4 0 0 0 0 完全丢失第五个字节。 我做了一个小的测试代码,以便使用 CAN 进行调试。我向 SPI_1 发送我想要的信息,并接收回 SPI_0 缓冲区中结束的信息。我还在使用逻辑分析仪查看发生了什么: 第一条信息 rchust_1-1756882155720.png 首先,spi 消息遵循 S32K144 惯例,因此第五个字节将是 CRC。它还使用 cmd 进入第四个字节,我很方便地把它改成了四字节。即使我等待 SPI_0 再次准备就绪,它也会产量零的结果。这种情况只发生在第一次。 第二条信息 rchust_2-1756882331448.png 最后一个字节根本不显示。也许它不知何故丢失了,但即便如此,如果其他四个字节是由 MSB 排序的,也不应该出现在第一个单词中。 第三条信息 rchust_3-1756882533429.png 这似乎与预期的一样,能获取所有数据,而且我猜是按照预期的顺序。我说,我猜这是预期的顺序,因为在结算后,我收到的所有信息都是如此。 问题在于,它并不总是第三条消息,一条是好消息,有时是第五或第六条消息,有时第五个字节根本不出现,有时它出现在第二个单词上。一旦开始正确操作,它就会持续工作。有什么办法可以解决这个问题?下面是代码和配置: 无效 响应420(数据包* 数据包){ zc_spi_transfer(&spi_rx,&spi_to_can_packet); transfer_E2E_spi_packet(&E2E_spi、&包,&packet->temp_data[0]); memcpy(&can_response.temp_data, spi_too_can_packet.rx_buffer, 8); zc_can_send(&can,&can_response, MAILBOX_0); } void zc_spi_transfer(zc_spi_hw* hw_config、数据包* 数据包){ hw_config->数据包= 数据包; 如果(hw_config->hw_mode== 主模式){ SPI_MasterTransfer(hw_config->实例数据包>tx_buffer数据包>数据包数据包>信息字节长度*NUMBER_OF_BITS_IN_BYTE)/hw_config->主配置->帧大小); }否则{ SPI_SlaveTransfer(hw_config->实例数据包>tx_buffer数据包>数据包数据包>信息字节长度*NUMBER_OF_BITS_IN_BYTE)/hw_config->从配置->帧大小); } } void transfer_E2E_spi_packet(E2E_spi_handler* E2E_spi_handler E2E_spi_packet* 数据包、 uint8_t* 数据){ E2E_spi->保护器处理程序->保护包(E2E_spi->保护器处理程序,数据,数据包->数据包.data_length_bytes, &(数据包>raw_spi_packet.tx_buffer[0]), packet->数据包.E2E_packet_id,数据包>数据包.计数器); zc_spi_transfer(E2E_spi-)>处理程序&(packet->raw_spi_packet)); 数据包>数据包.计数器++; // 在此 CRC 格式中实际上并未使用此函数,但此函数可用于多种 CRC 格式 如果(packet->数据包.计数器> E2E_spi->保护器处理程序->溢出计数器){数据包->数据包.计数器= 0;} } response420 函数是接收 CAN 数据包的"回调" ,当 CAN 回调本身的标志上升时,主程序内部会调用该函数。CAN 部分其实并不重要,因为这个错误是在没有 CAN 的情况下发生的,我在调试器出现这个错误后尝试了 CAN,以便测试更多的输入。 一般来说,我使用的是 PAL,从函数 SPI_SlaveTransfer 和 SPI_Master 传输中可以看出这一点。这是 PAL 配置: SPI_1 config: { .baudRate = 2000000U、 .frameSize = 40U、 .bitOrder = spi_transfer_msb_first, .clockPolarity = .spi_active_high, .ssPolarity = SPI_ACTIVE_LOW, .clockPhase = 读取偶数边沿, .ssPin = 0、 .transferType = 传输类型, .rxDMAChannel = 0U、 .txDMAChannel = 0U、 .callback = NULL、 .callbackParam = NULL、 .extension = NULL } SPI_0 配置: { .frameSize = 40U、 .bitOrder = spi_transfer_msb_first, .clockPolarity = .spi_active_high, .ssPolarity = SPI_ACTIVE_LOW, .clockPhase = 读取偶数边沿, .transferType = 传输类型, .rxDMAChannel = 0U、 .txDMAChannel = 0U、 .callback = NULL、 .callbackParam = NULL、 .extension = NULL } 有人发现过类似问题吗? Re: Weird behavior in S32K144 board to board SPI communication 好的,很高兴知道。非常感谢@danielmartynek! Re: Weird behavior in S32K144 board to board SPI communication 很好,看来现在可以正常工作了。 硬件支持字节交换,但是 SDK 驱动程序不支持。 danielmartynek_0-1757591362505.png Re: Weird behavior in S32K144 board to board SPI communication 好的,我最大限度地简化了代码: uint8_tdata_too_send[8] = {0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8}; uint8_tdata_received[8]; lpspi_state_tlpspiState; int main(){ zc_clock_init(); zc_start_scheduler(); const clock_names_tclocknames[LPSPI_INSTANCE_COUNT] = FEATURE_LPSPI_CLOCKS_NAMES; clock_names_tclockname = clocknames[1]; lpspi_master_config_tspiConfig = { .bitcount = 8U、 .bitsPerSec = 20000000、 .callback = NULL、 .callbackParam = NULL、 .clkPhase = 1、 .clkPolarity = 0、 .isPcsContinuous = true, .lpspiSrcClk = 时钟名、 .lsbFirst = false、 .pcsPolarity = 0、 .rxDMAChannel = 0、 .transferType = LPSPI_USING_INTERRUPTS、 .txDMAChannel = 0、 .whichPcs = 0、 }; LPSPI_DRV_MasterInit(1,&lpspiState,&spiConfig); config_spi_pinout(spi_pinoutconfigs[1].引脚输出); 而(1){ LPSPI_DRV_MasterTransfer(1,&data_too_send[0],&data_received[0], 8); zc_delay_milliseconds(1000); } 返回0; } 如果我这样做,并将比特数设为 8,结果就是这样: rchust_0-1757584304367.png 间距是这里的问题所在,但至少与预期的效果差不多 位数 32 也是如此: rchust_1-1757584408075.png 每个单词中的字节都会反转... 最后,同样使用 64 位,看看会发生什么: rchust_2-1757584507750.png 一样的。 如果我把它放在字数组而不是 uint8_t 数组中,会发生什么情况? uint32_tdata_too_send[2] = {x001020304, 0x05060708}; uint8_tdata_received[8]; lpspi_state_tlpspiState; int main(){ zc_clock_init(); zc_start_scheduler(); const clock_names_tclocknames[LPSPI_INSTANCE_COUNT] = FEATURE_LPSPI_CLOCKS_NAMES; clock_names_tclockname = clocknames[1]; lpspi_master_config_tspiConfig = { .bitcount = 64U、 .bitsPerSec = 20000000、 .callback = NULL、 .callbackParam = NULL、 .clkPhase = 1、 .clkPolarity = 0、 .isPcsContinuous = true、 .lpspiSrcClk = 时钟名、 .lsbFirst = false、 .pcsPolarity = 0、 .rxDMAChannel = 0、 .transferType = LPSPI_USING_INTERRUPTS、 .txDMAChannel = 0、 .whichPcs = 0、 }; LPSPI_DRV_MasterInit(1,&lpspiState,&spiConfig); config_spi_pinout(spi_pinoutconfigs[1].引脚输出); 而(1){ LPSPI_DRV_MasterTransfer(1, (uint8_t*)&data_to_send[0],&data_received[0], 8); zc_delay_milliseconds(1000); } 返回0; } rchust_3-1757584645130.png 它确实有效... 这样看来,如果不使用帧大小 8,就会按字发送,而字是 Little endian 的。有办法更改字节序吗? Re: Weird behavior in S32K144 board to board SPI communication 你好@danielmartynek 我已经使用了 uint8_t 数组 Re: Weird behavior in S32K144 board to board SPI communication 嗨,@rchust、 如何定义 tx_buffer? 驱动程序希望得到一个指向 8 位数组的 8 位指针(在 LPSPI_DRV_MasterTransfer()中)。 那么,能否使用 uint8_t[5] tx_buffer 代替在此处传递字? 谢谢 Re: Weird behavior in S32K144 board to board SPI communication 你好@danielmartynek、 我使用8位帧进行了测试,它可以正常工作,按顺序发送字节。但有两个问题。 首先,在 8 位帧中,硬件按字节拆分数据,这应该是帧的定义,但将来这可能会给我带来问题,我还没有测试 PC33771 是否接受具有这些间距的消息。它应该这样做,但并不完全符合预期。 第二个问题(也是我尚未使用 PC33771 进行测试的原因)是,pal 库不允许我将连续模式设置为 true,pal 库中的 Master_init 方法只是在将其传递给LPSPI_DRV_MasterInit之前将其硬设置为 false: status_t SPI_MasterInit(态 spi_instance_t* const实例、 (const)、(const) 配置*config) { status_tstatus = STATUS_ERROR; uint8_tindex = 0; /* 通过 LPSPI 定义 SPI PAL */ #if(定义了 (SPI_OVER_LPSPI) /*!用于 LPSPI 的简短时钟名称 */ const 时钟名称g_lpspiClock[LPSPI_INSTANCE_COUNT] = FEATURE_LPSPI_CLOCKS_NAMES 如果(instance->instType== spi_inst_type_lpspi) { lpspi_master_config_tlpspiConfig; lpspiConfig.比特每秒= 配置->波特率; lpspiConfig.whichPcs= (lpspi_which_pcs_t) config->ssPin; lpspiConfig.pcsPolarity= (lpspi_signal_polarity_t)(!(bool)(config->ssPolarity)); lpspiConfig.比特数= config->帧大小; (void)CLOCK_SYS_GetFreq(g_lpspiClock[(uint32_t)实例->instIdx]&lpspiConfig.lpspiSrcClk); lpspiConfig.clkPhase= (lpspi_clock_phase_t) config->时钟相位; lpspiConfig.clkPolarity= (lpspi_sck_polarity_t) config->时钟极性; lpspiConfig.lsbFirst= config->位顺序; lpspiConfig.传输类型= (传输类型) config->传输类型; lpspiConfig.rxDMAChannel= config->rxDMAChannel; lpspiConfig.txDMAChannel= config->txDMAChannel; lpspiConfig.回调= config->回调; lpspiConfig.回调参数= config->回调参数; lpspiConfig.isPcsContinuous= false; /* 为该实例分配一个 LPSPI 状态结构 */ 索引 = SpiAllocateState(LpspiStateIsAllocated,LpspiStateInstanceMapping,instance->instIdx,no_of_lpspi_insts_for_spi); status = LPSPI_DRV_MasterInit(instance-)>instIdx, (lpspi_state_t*)(&LpspiState[index]),&lpspiConfig); } else #endif 我需要更改所有库,停止使用 pal,开始使用 DRV 方法,然后才能在连续模式下进行测试。我将这样做并更新结果,但在 8 位帧时,它似乎确实是按正确的顺序发送的。不过,没有 40 位帧仍然令人沮丧。 Re: Weird behavior in S32K144 board to board SPI communication 嗨,@rchust、 感谢您的更新。 能否使用 8 位数组作为 tx_buffer? Re: Weird behavior in S32K144 board to board SPI communication 好了,经过一些测试,我找到了问题的根源。 看来,即使我不使用 CAN,我也在配置它的引脚,其中一个引脚确实与主站的 CS 相撞。我不知道为什么会出现这样那样的问题,但在移除 CAN 配置后,大部分问题都消失了,只有一个问题除外。 出于某种原因,当我以高于 8 位的帧发送数据时,每个字中的字节会互换。如果我将一个 64 位帧的数据 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 -> 0x04 0x03 0x02 0x01 0x8 0x07 0x06 0x05。这似乎是因为 spi 在内部使用单词而我正在逐字节放置数据。也可能是 Pal 图书馆。 Re: Weird behavior in S32K144 board to board SPI communication 你好@danielmartynek、 首先你是对的,我说了我的集成开发环境版本,SDK 是 4.0.2;对不起。 我展示的代码是 CAN 回调,我将 CAN 数据复制到 SPI 缓冲区。代码是这样的,因为我们试图将其嵌入到一个自定义库中,但实际上它只是将从 CAN 读取的内容发送到 SPI(SPI1),然后再将从属设备(SPI0)读取的内容发送到 CAN。 CAN 发送 4 个字节,然后 protect 添加最后一个字节,即 CRC,因此 SPI 发送 5 个字节,然后读取 5 个字节,然后 CAN 只发送缓冲区前 8 个字节内的任何内容。缓冲区本身实际上更大,但是 SPI_MasterTransfer 只发送其中的前 5 个字节。 我检查了调试模式,发送时SPI的字节在 SPI_MasterTransfer中总是按预期顺序排列,没有间隔。它似乎总是能正确发送(或者至少保持一致性),所以问题似乎在于从属的接收。 在主拦截系统中,似乎也会出现同样的问题。我不能用从站阻塞来检查,因为这样会阻止主站发送。我还发现,把主站和从站的时钟极性都设置为低电平会使它错过很多高比特,但还是先解决接收第一条信息失灵的问题吧。 Re: Weird behavior in S32K144 board to board SPI communication 嗨,@rchust、 看来您指定的是集成开发环境(3.6.2),而不是 SDK/RTD。 如果我有版本的编号,我可以检查是否有报告的错误。 我看到您使用了非阻塞方法,能否用阻塞传递函数进行测试? 代码的可读性不强。 您在传递函数中将哪些值作为参数? 如何填充缓冲区? 在 SPI 通信中观察到的间隙是由驱动程序开销造成的--驱动程序无法足够快地填充发送 FIFO。 在 8 位模式下,驱动程序一次向 FIFO 写入一个字节的数据,这会导致连续写入之间的延迟。SPI 时钟速度越高,这种延迟越明显。 为减少这一问题,建议使用 DMA。 此致, 丹尼尔 Re: Weird behavior in S32K144 board to board SPI communication 你好,丹尼尔、 我的 SDK 是 3.6.2 版、我通过 33664EVB 板及其 TPL 使用 SPI,我没有使用芯片选择,通道分别是 SPI1_clock、SPI1_tx、TPL1_Data 和 TPL1_clock。为了避免混淆,我将在今后的图片中为它们命名。我要指出的是,我测试过将后两者直接接入 SPI0_rx 和 SPI0_clock,结果显示相同。 我在 8 位模式下进行了测试,结果如下: 第一条信息 rchust_0-1756888805291.png 第四条信息 rchust_1-1756888893698.png 首先值得注意的是,第一个词与第二个词之间的巨大差距。我还用更大的信息进行了测试,当使用 8 位时,每个字之间会出现间隙。如果我试着降低频率,间隙就会减小,直到 500 千赫左右才消失。尽管如此,33664EVB和3771应用笔记仍建议使用2MHz,通常不希望降低速度。 那么,问题虽然不完全相同,但仍然类似。起初最后一个字节根本不出现,然后它首先出现,然后是按正确顺序出现的其他字节。还需要指出的是,在 8 位模式下,数据是按照我输入的顺序发送的,而在 40 位模式下,数据在信号中交换,然后由从属设备再次交换。 如果不是因为字与字之间的巨大差距,8 位会更受欢迎,但问题依然存在。8 位 500kHz: 第一条信息: rchust_2-1756889381283.png 第二条信息 rchust_3-1756889458503.png 第三条信息,以此类推: rchust_4-1756889521919.png 这显示了两个问题,第一个是我所说的从机读取的数据不一致,然后看到TPL的时钟我们可以看到第二个问题;TPL保持脉冲宽度就好像是2MHz一样。这也是我需要这种速度的原因之一。 Re: Weird behavior in S32K144 board to board SPI communication 嗨,@rchust、 能否说明驱动程序的版本? 您使用的是什么协议?您使用芯片选择信号吗? 你能在逻辑分析器捕获中标记通道吗? LPSPI 硬件支持连续发送 8 位帧,我们的软件驱动程序与之兼容。 您可以通过将 8 位数据放入 FIFO,在连续模式下传输 40 位帧。 此外,请尝试以较低的波特率测试 SPI 通信,以消除与定时或信号完整性有关的任何潜在问题。 此致, 丹尼尔
查看全文
SPDIF トランシーバは AES3 仕様に準拠していますか? SPDIF と AES3 間の変換は非常に簡単です。 しかし、AES3 には RX と TX に対する追加のジッター要件があります。 私は、AES3 互換性/「プロフェッショナル」標準 (SPDIF ではなく) を指定する他の IC で SPDIF インターフェースを使用しました。SPDIF の場合は「コンシューマー」)。 少なくとも iMX93 に関しては、これに関する情報は見つかりません。 Re: Do the SPDIF transceivers meet AES3 specs? こんにちは@inojosh i.MX93 のSPDIF はAES3 に準拠していません。 BR
查看全文
<S32K1xx系列MCU应用指南之FlexIO模块使用详解>的样例工程 详细介绍了S32K144芯片上FlexIO模块的使用。其中使用的样例工程在哪里可以下载?特别是`S32K1xx_SDK_RTM3_0_SPIFlash_lpSPI_DMA_FlexIO_i2s`这个样例工程。
查看全文
Can the MC33775A measure negative voltages, such as -2.78V, -3.33V? I have two questions. 1. In the MC33775A datasheet, "Supports bus bars with ±5 V input voltage",can it be interpreted that it can measure negative voltage (such as -2.76V,-3.33V)? 2. What is the maximum number of MC33775A chips that can be connected in a daisy chain? Thanks! Re: Can the MC33775A measure negative voltages, such as -2.78V, -3.33V? Thanks!! Re: Can the MC33775A measure negative voltages, such as -2.78V, -3.33V? Hello, It is possible that the voltage across the busbar is negative. The cell terminal inputs (CTx pins) of the MC33775A can handle negative voltages of up to −5 V. The cell balancing inputs (CBx pins) however can handle only −0.3 V. MC33775A supports up to six daisy chains and 62 nodes per chain, please find more information in Application note AN13281
查看全文
使用 QSPI 连接使用 imxrt1170 evkb 板的传感器 大家好 , 我们正在使用 mimxrt1170 evkb 板进行开发。在此板中,QSPi 默认用于刷新理论。我想知道是否可以使用 qspi 来连接使用 qspi 进行通信的传感器(通过使用不同的闪存方法)。这在 evk 套件中是否可行,Zephyr 是否支持这一点,因为我们的最终应用程序将是 Zephyr 应用程序。 谢谢
查看全文
NTAG5 Link SRAM Offset Hi, I'm working on an application with an NTAG5-LINK (NTP53121) NFC chip. We want to use this chip in Passthrough mode. I'm using the example code from SW6090 on my board, and the Android App build from SW5870. In principle this is working OK. However, when reading the content from SRAM written by NFC (from the Android App) over I2C by the microcontroller (address 0x2000 - 0x203F), I noticed that the data written by NFC actually starts at address 0x2004... When digging into this issue I found that the Android App code mentions: Initialize SRAM data for RF->I2C mode, not possible to send the whole SRAM (256 bytes) in a RF command because of the NFC API limitation, thus the first 2 blocks of the SRAM will not be written and the final lenght is 250 bytes. [Note the 2 typos: it's 4 blocks, and final length is 240 bytes]  And indeed the cmd_writeSRAM command in the App uses offset 0x04 to start writing the SRAM data. This explains the observed behavior. However, I cannot find any reference to this 'limitation' anywhere else. Do you know where to find it? Since I couldn't find the source of this limitation, I experimented with the offset. And I indeed found that when decreasing the offset below 0x04, the microcontroller no longer gets triggered to read the data from SRAM. Details: this means that for some reason the Event Detect pin of the NTAG5 chip does not signal the reception of new data over NFC. By force reading the SRAM content, it appears no data was written to SRAM by NFC at all So it seems that indeed there is, for some reason, a limitation of sending data to the NTAG5 SRAM from an NFC device. Although I'm kind of OK with this minor limitation (now that I know about it), I would like to understand the limitation. So is there any more information available about it? Thanks in advance. Re: NTAG5 Link SRAM Offset I got an update from NXP: Please keep in mind that these apps' examples are for demonstrating purposes, and optimization of them is welcome. Since the NTAG 5's SRAM buffer is 256-byte is possible I understand that it is possible to achieve the full-length reading but, since this limit has been described, I have to recommend to please develop you application using our API limits to avoid a malfunction of the NTAG 5 IC. Not the explanation I was hoping for, but I suppose this is all I will get. So I'll have to accept as is, and live with the small limitation. Re: NTAG5 Link SRAM Offset Hello Fabian, thanks for the quick answer, and your support. It's unfortunate there is no more documentation about the limitation. I would really like to understand the background of it. It's also strange the issue is unknown to you, as it is actually in the source code of the Android App (SW5870) (and for that matter also in the iOS App (SW6133). Is there anything I can do to help you to analyse the issue? May I suggest you to try to reproduce the issue? It's just applying the hardware and SW for SW6090 with SW5870/SW6133, nothing special. When you run the sample application, you will notice 3 things: When you check the content of sramBuff (for some reason it is not copied to gSRamData in the example, but that's a minor issue), you will see the first 16 bytes are 0x00, and the data from the Android App ({ 0x00, 0x01, 0x02 ... }) starts from byte 16, which shows the offset of 4 blocks When you change the 4th byte (Block Address parameter) in cmd_writeSRAM in the App from 0x04 to something below 4, the write to SRAM from the App is not detected by the microcontroller, keeping it waiting for new data And actually you will also notice something similar in the data going the other direction: The first 4 bytes of gSRamDataFixed send by the microcontroller is not shown in the Android App. This is because the 4th byte (Block Address parameter) of cmd_readSRAM of the App is 0x01, indicating SRAM should be read from block 1. When this byte is changed to 0x00, the whole content of the SRAM is read as expected (so this actually is working for the full 256 bytes) Re: NTAG5 Link SRAM Offset Hello sir, This is Fabian, I've been assigned to support your case. I appreciate your interest in our products. Unfortunately, we don't have a statement on this limitation. Since the reading from SRAM is a custom command and feature, this is part of NXP and the developed API for interfacing directly with the NTAG 5 using the provided utilities from the SW5870. Regarding the issues you experienced when decreasing the offset, it is quite strange, we haven't had similar issues from other customers that we know about.
查看全文
如何将 libnfc-nci 库添加到 yocto imge 我打算使用 libnfc-nci 来驱动 IMX8MPLUS-EVK 上的 PN7160-EVK。我想将 libnfc-nci 添加到 yocto 图像和 imx-image-multimedia 的 sdk 中。对我而言有什么线索吗? 实际上,我无法使用imx-image-multimedia的图像在imx8mplus-evk上构建libnfc-nci。因此,我想直接将其添加到yocto图像中。 非常感谢! 回复:如何将 libnfc-nci 库添加到 yocto imge 中 谢谢您的回复。 我通过将 VBAT 电压从 3.3V 更改为 5V 解决了这个问题。此后它就起作用了。顺便说一句,如果禁用 TXLDO 检查,它还应该在 3.3V 下与 VBAT 和 VDD-PAD 一起工作。 回复:如何将 libnfc-nci 库添加到 yocto imge 中 你能告诉我你使用的是哪个版本的 BSP 吗?我明天会与我们的 NFC 工程师确认,然后向您提供最新消息。 回复:如何将 libnfc-nci 库添加到 yocto imge 中 nfcDemo 现在可以工作了,并且可以成功初始化 PN7160 模块。但由于某些 I2C 读取错误,它停止了。请参阅附件日志文件以了解更多详细信息。 回复:如何将 libnfc-nci 库添加到 yocto imge 中 谢谢您的回复。 我按照指南移植 PN7160 NFC 模块,该模块通过 I2C 接口连接到 8MPLUS-EVK。该设备由地址 0x28 处的 i2cdetect 检测到,但我无法使用 i2cdump 从 I2C 总线读取任何数据。 我也尝试运行 nfcDemo,但它也无法正常工作。日志显示 IRQ、DWD 和 VEN 引脚已成功验证,但我遇到了代码为 262 的 phTmlNfc_Init_Failed 错误。 您能提供一些建议吗?多谢! 回复:如何将 libnfc-nci 库添加到 yocto imge 中 您可以关注此 AN
查看全文