Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
AR1335 相机传感器驱动程序 @kerryzhou 我想知道您是否使用过这种摄像头传感器:AR1335 与任何恩智浦 MCU 配合使用。如果是,请与我分享驱动程序源代码。 此致, 法里德 Re: AR1335 camera sensor driver 你好,法比奥, ,我正在使用 yocto。 您可以在此处找到最新的 ar1335 传感器内核驱动程序: https://github.com/nxp-imx/isp-vvcam/tree/lf-5.15.y_2.0.0/vvcam/v4l2/sensor/ar1335 如果使用 Yocto,除了上述isp-vvcam之外,还需要 isp-imx: 如果对源代码感兴趣,可以在 Ubuntu 主机上下载并执行 bin 文件获取: https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/isp-imx-4.2.2.20.0.bin 用你在电路板支持包中使用的版本替换版本(这里我们使用 v20) 以下是如何为另一个传感器部署驱动程序的示例:https://www.nxp.com/docs/en/application-note/AN13712.pdf Re: AR1335 camera sensor driver 你好,谢谢。我是新手,所以我的问题可能很愚蠢。 您使用的是 Debian 还是 Yocto?能否提供股票驱动程序的链接? Re: AR1335 camera sensor driver 你好,法比奥, 是的,我可以使用原版驱动程序。 到目前为止,我使用的是高清 1080p 分辨率。 计划过几天还将尝试 4K 及以上的分辨率。 Re: AR1335 camera sensor driver 您好。 我想知道你们是否成功地将 AR1335 摄像机与 Mx8 plus 相连接。 请 法比奥 Re: AR1335 camera sensor driver 嗨,迈克尔、 >>我已经使用恩智浦 iMX8M Mini SoC 运行了这个传感器 我对此非常感兴趣。你有可能提供源代码和设备树文件吗? 我正试图让iMX8M-plus 也能这样做,因为它与 iMX8M-plus 非常相似。 谢谢 MC Re: AR1335 camera sensor driver 嗨,迈克-帕特黑、 已经请我们的内部专家进行了仔细检查,并在您的新帖中给您回复。 如有任何新问题,请关注该新帖。 顺祝商祺! kerry Re: AR1335 camera sensor driver 谢谢你,凯瑞!我开设了一个新主题来讨论这个问题: https://community.nxp.com/t5/i-MX-RT/RT1170-Using-MIPI-CSI-with-grayscale-or-raw-image-sensors/m-p/1270310#M14031 Re: AR1335 camera sensor driver 嗨,迈克-帕特黑、 从 AE 的内部描述来看,是芯片 MIPI CSI 无法支持,而不是 SDK 的问题。 因此,参考手册将来会添加相关描述。 但如果要使用原始数据,则需要使用并行 CSI 接口,而不是 mipi-csi。 很抱歉给您带来不便。 顺祝商祺! kerry Re: AR1335 camera sensor driver 嗨,凯瑞、 这是否意味着 RT1176(准确地说是 OV9281,数据格式为 RAW8)无法使用 8 位单色灰度图像传感器?这是硬件的基本限制,还是 SDK 的问题,将来会得到修复? 我已经使用恩智浦 iMX8M Mini SoC 运行了这个传感器,它似乎使用了类似的 MIPI CSI 外设,但需要移植到 RT1176。 贝斯特,迈克尔 Re: AR1335 camera sensor driver 适用于 Jetson nano 的 AR1335 Linux 设备驱动程序: https://www.arducam.com/docs/camera-for-jetson-nano/mipi-camera-modules-for-jetson-nano/driver-installation/ Re: AR1335 camera sensor driver 你好,fmabrouk、 很抱歉迟迟没有回复。 只要得到内部的 AE 回复,这对你来说确实是一个悲惨的故事:由于 VIDEO_MUX 错误,MIPI-CSI2 无法支持原始数据,这些信息将添加到 RT1170 参考手册中。 因此,请检查外部 AR1335 是否可以配置为支持,例如RGB? 现在是 10bit 原始数据,确实没有解决方法。 很抱歉回复晚了,非常感谢你们的努力。 顺祝商祺! kerry Re: AR1335 camera sensor driver 论坛其他成员或恩智浦团队对我的问题是否有任何反馈。我真的没时间了,需要解决这个问题!如果可以,请提供帮助。 Re: AR1335 camera sensor driver @kerryzhou 我希望你一切都好!我只是想跟进一下,看看你们是否对我的问题有任何更新。 我再次需要帮助配置 CSI 驱动程序,这样我才能捕获每个输出像素数据的 10 位原始数据。捕获数据后,我可以使用自己的软件将数据转换为 RGB 888 格式。 谢谢! Re: AR1335 camera sensor driver 你好,凯瑞、 还有一件事我想告诉你,相机传感器的输出格式是 RAW10(10 位):RAW10(10 位),而在当前的恩智浦 CSI/相机驱动程序中,我没有看到支持这种格式。我只看到这些: /*!@brief 像素格式定义。*/ typedef enum _video_pixel_format { /* RGB */ kVIDEO_PixelFormatXRGB8888 = FSL_VIDEO_FOURCC('X','R','2','4'),/*!< 32 位 XRGB8888。*/ kVIDEO_PixelFormatRGBX8888 = FSL_VIDEO_FOURCC('R','X','2','4'),/*!< 32 位 RGBX8888。*/ kVIDEO_PixelFormatXBGR8888 = FSL_VIDEO_FOURCC('X','B','2','4'),/*!< 32 位 XBGR8888。*/ kVIDEO_PixelFormatBGRX8888 = FSL_VIDEO_FOURCC('B','X','2','4'),/*!< 32 位 BGRX8888。*/ kVIDEO_PixelFormatRGB888 = FSL_VIDEO_FOURCC('R','G','2','4'),/*!< 24 位 RGB888。*/ kVIDEO_PixelFormatBGR888 = FSL_VIDEO_FOURCC('B','G','2','4'),/*!< 24 位 BGR888。*/ kVIDEO_PixelFormatRGB565 = FSL_VIDEO_FOURCC('R','G','1','6'),/*!< 16 位 RGB565。*/ kVIDEO_PixelFormatBGR565 = FSL_VIDEO_FOURCC('B', 'G', '1', '6'), /*!< 16 位 BGR565。*/ kVIDEO_PixelFormatXRGB1555 = FSL_VIDEO_FOURCC('X','R','1','5'),/*!< 16 位 XRGB1555。*/ kVIDEO_PixelFormatRGBX5551 = FSL_VIDEO_FOURCC('R','X','1','5'),/*!< 16 位 RGBX5551。*/ kVIDEO_PixelFormatXBGR1555 = FSL_VIDEO_FOURCC('X','B','1','5'),/*!< 16 位 XBGR1555。*/ kVIDEO_PixelFormatBGRX5551 = FSL_VIDEO_FOURCC('B','X','1','5'),/*!< 16 位 BGRX5551。*/ kVIDEO_PixelFormatXRGB4444 = FSL_VIDEO_FOURCC('X','R','1','2'),/*!< 16 位 XRGB4444。*/ kVIDEO_PixelFormatRGBX4444 = FSL_VIDEO_FOURCC('R','X','1','2'),/*!< 16 位 RGBX4444。*/ kVIDEO_PixelFormatXBGR4444 = FSL_VIDEO_FOURCC('X','B','1','2'),/*!< 16 位 XBGR4444。*/ kVIDEO_PixelFormatBGRX4444 = FSL_VIDEO_FOURCC('B','X','1','2'),/*!< 16 位 BGRX4444。*/ /* YUV。*/ kVIDEO_PixelFormatYUYV = FSL_VIDEO_FOURCC('Y', 'U', 'Y', 'V'), /*!< YUV422, Y-U-Y-V.*/ kVIDEO_PixelFormatYVYU = FSL_VIDEO_FOURCC('Y','V','Y','U'),/*!< YUV422, Y-V-Y-U.*/ kVIDEO_PixelFormatUYVY = FSL_VIDEO_FOURCC('U','Y','V','Y'),/*!< YUV422, U-Y-V-Y.*/ kVIDEO_PixelFormatVYUY = FSL_VIDEO_FOURCC('V','Y','U','Y'),/*!< YUV422, V-Y-U-Y.*/ kVIDEO_PixelFormatXYUV = FSL_VIDEO_FOURCC('X', 'Y', 'U', 'V'), /*!< YUV444, X-YU-V.*/ kVIDEO_PixelFormatXYVU = FSL_VIDEO_FOURCC('X','Y','V','U'),/*!< YUV444, X-Y-V-U.*/ } video_pixel_format_t; 能否在应用程序代码中将 Raw10 转换为 RGB888? 我附上了一些数据表供你参考。 Re: AR1335 camera sensor driver 你好,fmabrouk、 感谢您提供的信息。 请耐心等待,我将检查您的代码的更多细节,并与我们内部的 CSI 专家核实。 在我得到任何有价值的信息后,我会尽快通知你们。 请再给我一些时间,非常感谢! 顺祝商祺! kerry Re: AR1335 camera sensor driver @kerryzhou @jingpan 我用示波器验证了相机传感器正在流式传输数据;在调试代码时我能够捕获 CSI 读取寄存器:请参阅随附的屏幕截图。但是,我无法获得全帧缓冲区 CSI 中断。这还是与我初始化 MIPI CSI 的方式有关,你或其他人能否根据我在上一封邮件中说明的图像要求,帮我正确设置一下? 干杯 Re: AR1335 camera sensor driver @kerryzhou 以下是我感兴趣的图像参数摘要:; [PLL 参数] ;目标 Vt 像素频率:220 MHz ;输入时钟频率:24 MHz;实际 Vt 像素时钟:220 MHz ;实际操作像素时钟:110 MHz ;pll_multiplier(M 值)= 55 ;pll_clk_div2(N 值)= 2 ;pll_multiplier2(M2 值)= 55;pll_clk_div2(N2 值)= 55 ;pll_clk_div2(N2 值)= 55 2 ;Fpfd = 12 MHz;Fvco = 660 MHz;Fvco2 = 660 MHz;Vt 系统分频器 = 1 ;Vt Pix 分频器 = 3 ;运算系统分频器 = 1;运算像素分频器 = 6 ;;[图像参数];每个请求的帧数 第二:30 ;输出列:640;输出行数:480 ;使用 Y 求和:未选中 ;仅限 X 的分箱:未选中 ;允许跳过:选中 ;空白计算:HB 最大,然后 VB ;;最大帧时间:33.3333 毫秒 ;最大帧时钟:7333333.3 clocks ; 读出模式:1,YSum:无,XBin: ; Horiz clks: 640 active + 1688 blank = 2328 total ; Vert rows:480 活动 + 2674 空白 = 总计 3154 ; 输出列:640 ; 输出行:480 ; FOV Cols:640 ; FOV 行:480 ; 实际帧时钟:7342512 个时钟 ; 行时间:10.582 usec / 2328 个时钟 ; 积分时间:33 毫秒。 ;帧时间:33.375055 毫秒 ;允许的最大帧速率:191.739fps ;每秒帧数:29.962 fps Re: AR1335 camera sensor driver @kerryzhou 我在 imx RT1170 上使用 mipi CSI2 演示代码从 AR1335 获取 480x640 图像。 我发现该相机传感器的输出格式为:10 位。我需要在 CSI 驱动程序中进行哪些更改才能捕获我需要的图像。 我使用制造商的工具生成了配置文件,但由于错误配置了 CSI 驱动程序,我还远远没有获得图像。 你能否建议需要在演示代码 CSI 驱动程序中修改哪些内容才能从 AR1335 捕获图像。 此致敬礼, Re: AR1335 camera sensor driver 你好,fmabrouk、 到目前为止,我们还没有关于导入其他相机传感器的直接文件。 据我所知,照相机传感器也应该有配置工具,可以进行配置并生成代码。 您的 AR1335 是否已经从自己的公司获得了相关驱动程序? 我还检查了内部,直到现在才找到 AR1335 RT 的相关驱动程序。 顺祝商祺! kerry Re: AR1335 camera sensor driver @kerryzhou 我正在使用这个摄像头传感器:imX RT1170 板上的 AR1335 而不是 OV5640。AR1335 只发送 10 位图像。我相信 OV5640 像素数据总线是 16 位。 如何修改恩智浦 SDK 随附的 mipi csi 演示代码,以便用该传感器获取图像? 我希望能有一些文档,指导如何将另一个相机传感器导入该演示代码。 非常感谢!   Re: AR1335 camera sensor driver 你好,fmabrouk、 关于你提到的时钟,你可以从 RT1170 参考手册中找到: 希望它能帮到你! 顺祝商祺! kerry Re: AR1335 camera sensor driver @kerryzhou @jingpan 除了我上面提出的问题外,如果我需要将像素时钟设置为 80MHz。在 imx RT1170 的 CSI2 mipi 演示代码中,我应该更改哪些寄存器? 谢谢! Re: AR1335 camera sensor driver @jingpan @kerryzhou 我仍在尝试将 AR1335 摄像头驱动程序移植到 ImX RT1170 CCI2 mipi 演示代码中。 在 CS2 mipi 代码中,我发现了这些时钟: CLOCK_SetRootClock(kCLOCK_Root_Csi2,&csi2CClockConfig); CLOCK_SetRootClock(kCLOCK_Root_Csi2_Esc,&csi2EscClockConfig); CLOCK_SetRootClock(kCLOCK_Root_Csi2_Ui,&csi2UiClockConfig); 谁能解释一下这些钟是用来做什么的? 谢谢! Re: AR1335 camera sensor driver 你好,fmabrouk、 到目前为止,我还没有找到有关 AR1335 的 RT 芯片驱动程序,我也在内部搜索过,但没有找到。 也许您可以从互联网上搜索,某些第三方可能有 AR1335 驱动程序。 Nxp 官方那边没有找到,直到现在,RT 主要使用 MT9M114 或 OV7725 摄像头模块。 很抱歉给您带来不便,并感谢您的理解。 顺祝商祺! kerry
View full article
i.MX8Qを例に、gpioget/gpiosetでGPIO(libgpiod)を使用する方法 GPIO制御におけるgpiogetおよび「cat /sys/class/gpio」の違い。 gpioget : これは、 libgpiod ライブラリが提供するコマンドライン・ユーティリティです。最新のLinux GPIOキャラクタ・デバイス・インターフェース( /dev/gpiochipN )を介して、GPIOラインとやり取りするように設計されています。 /sys/class/gpio : これは、LinuxのGPIO制御のためのsysfsレガシー・インターフェースを指します。このインターフェースは、かつて広く使用されていましたが、Linuxカーネルバージョン6.0以降、 libgpiod キャラクタ・デバイス・インターフェースが採用され、正式に非推奨になりました。 以下は、i.MX8Q-MEK、L6.12.3 BSPでテストされたlibgpiodの例です。 デバイスツリーの設定: この例では、GPIO1-05およびGPIO1-06を使用します。GPIO pinctrlを「gpio_test」のような特定のグループ、または「gpio-keys」のようなドライバの下に置くことができます。 gpio_test: gpio-test { pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_gpio_test_default>; pinctrl-1 = <&pinctrl_gpio_test_sleep>; status = "okay"; }; gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_gpio_example_default>; pinctrl-1 = <&pinctrl_gpio_example_sleep>; key_wakeup2{ label = "wakeup_key"; gpios = <&lsio_gpio2 1 GPIO_ACTIVE_LOW>; linux,code = ; wakeup-source; }; pinctrl_gpio_test_default: gpiotestgrp_default { fsl,pins = < IMX8QM_LVDS0_I2C0_SDA_LSIO_GPIO1_IO07 0x06000061 IMX8QM_QSPI1A_DATA0_LSIO_GPIO4_IO26 0x06000041 IMX8QM_MIPI_CSI1_I2C0_SCL_LSIO_GPIO2_IO00 0x06000021 IMX8QM_LVDS0_I2C0_SCL_LSIO_GPIO1_IO06 0x06000021 >; }; pinctrl_gpio_test_sleep: gpiotestgrp_sleep { fsl,pins = < IMX8QM_LVDS0_I2C0_SDA_LSIO_GPIO1_IO07 0x07800061 IMX8QM_QSPI1A_DATA0_LSIO_GPIO4_IO26 0x07800041 IMX8QM_MIPI_CSI1_I2C0_SCL_LSIO_GPIO2_IO00 0x07800021 IMX8QM_LVDS0_I2C0_SCL_LSIO_GPIO1_IO06 0x07800021 >; }; pinctrl_gpio_example_default: gpioexamplegrp_default { fsl,pins = < IMX8QM_LVDS0_GPIO01_LSIO_GPIO1_IO05 0x06000021 IMX8QM_MIPI_CSI1_I2C0_SDA_LSIO_GPIO2_IO01 0x06000021 >; }; pinctrl_gpio_example_sleep: gpioexamplegrp_sleep { fsl,pins = < IMX8QM_LVDS0_GPIO01_LSIO_GPIO1_IO05 0x07800021 IMX8QM_MIPI_CSI1_I2C0_SDA_LSIO_GPIO2_IO01 0x07800021 >; }; GPIO機能をテストするためのカーネル・コマンド: gpiodetect および gpioinfo コマンド: root@imx8qmmek:~# gpiodetect gpiochip0 [5d080000.gpio] (32 lines) gpiochip1 [5d090000.gpio] (32 lines) gpiochip2 [5d0a0000.gpio] (32 lines) gpiochip3 [5d0b0000.gpio] (32 lines) gpiochip4 [5d0c0000.gpio] (32 lines) gpiochip5 [5d0d0000.gpio] (32 lines) gpiochip6 [5d0e0000.gpio] (32 lines) gpiochip7 [5d0f0000.gpio] (32 lines) root@imx8qmmek:~# gpioinfo -c 1 gpiochip1 - 32 lines: line 0: unnamed input line 1: unnamed input line 2: unnamed input line 3: unnamed input line 4: unnamed input line 5: unnamed input line 6: unnamed output line 7: unnamed output line 8: unnamed input line 9: unnamed input line 10: unnamed input line 11: unnamed input line 12: unnamed input line 13: unnamed output consumer=regulator-pcie line 14: unnamed input line 15: unnamed input line 16: unnamed input line 17: unnamed input line 18: unnamed input line 19: unnamed input line 20: unnamed input line 21: unnamed input line 22: unnamed input line 23: unnamed input line 24: unnamed input line 25: unnamed input line 26: unnamed input line 27: unnamed input line 28: unnamed input line 29: unnamed input line 30: unnamed input line 31: unnamed input GPIO1-05およびGPIO1-06が設定される前の現在のGPIO設定を表示するには、 cat /sys/kernel/debug/gpio を使用します。 root@imx8qmmek:~# cat /sys/kernel/debug/gpio gpiochip0: GPIOs 512-543, parent: platform/5d080000.gpio, 5d080000.gpio: gpio-526 ( |scl ) out lo gpio-527 ( |sda ) in lo gpiochip1: GPIOs 544-575, parent: platform/5d090000.gpio, 5d090000.gpio: gpio-557 ( |regulator-pcie ) out hi gpiochip2: GPIOs 576-607, parent: platform/5d0a0000.gpio, 5d0a0000.gpio: gpio-577 ( |wakeup_key ) in hi ACTIVE LOW gpiochip3: GPIOs 608-639, parent: platform/5d0b0000.gpio, 5d0b0000.gpio: gpio-618 ( |spi1 CS0 ) out hi ACTIVE LOW gpiochip4: GPIOs 640-671, parent: platform/5d0c0000.gpio, 5d0c0000.gpio: gpio-641 ( |enable ) out hi ACTIVE LOW gpio-643 ( |regulator-usbotg1-vb) out lo gpio-647 ( |usdhc2-vmmc ) out hi gpio-667 ( |enable ) out lo ACTIVE LOW gpio-668 ( |host-wake ) in hi ACTIVE LOW gpio-669 ( |PCIe reset ) out hi ACTIVE LOW gpiochip5: GPIOs 672-703, parent: platform/5d0d0000.gpio, 5d0d0000.gpio: gpio-673 ( |mux ) out hi gpio-693 ( |wp ) in lo gpio-694 ( |cd ) in lo ACTIVE LOW gpiochip6: GPIOs 704-735, parent: platform/5d0e0000.gpio, 5d0e0000.gpio: gpiochip7: GPIOs 736-767, parent: platform/5d0f0000.gpio, 5d0f0000.gpio: gpioset コマンドを使用してGPIO出力を設定します。また、GPIOの方向を変更することもできます(入力→出力)。 #set gpiochip1-5 and 1-6 root@imx8qmmek:~# gpioset -c gpiochip1 6=1 & [1] 700 root@imx8qmmek:~# gpioset -c gpiochip1 5=1 & [2] 702 上記のコマンドの変更点を cat /sys/kernel/debug/gpio および gpioinfo -c 1 で確認してください。 root@imx8qmmek:~# cat /sys/kernel/debug/gpio gpiochip0: GPIOs 512-543, parent: platform/5d080000.gpio, 5d080000.gpio: gpio-526 ( |scl ) out lo gpio-527 ( |sda ) in lo gpiochip1: GPIOs 544-575, parent: platform/5d090000.gpio, 5d090000.gpio: gpio-549 ( |gpioset ) out hi gpio-550 ( |gpioset ) out hi gpio-557 ( |regulator-pcie ) out hi gpiochip2: GPIOs 576-607, parent: platform/5d0a0000.gpio, 5d0a0000.gpio: gpio-577 ( |wakeup_key ) in hi ACTIVE LOW gpiochip3: GPIOs 608-639, parent: platform/5d0b0000.gpio, 5d0b0000.gpio: gpio-618 ( |spi1 CS0 ) out hi ACTIVE LOW gpiochip4: GPIOs 640-671, parent: platform/5d0c0000.gpio, 5d0c0000.gpio: gpio-641 ( |enable ) out hi ACTIVE LOW gpio-643 ( |regulator-usbotg1-vb) out lo gpio-647 ( |usdhc2-vmmc ) out hi gpio-667 ( |enable ) out lo ACTIVE LOW gpio-668 ( |host-wake ) in hi ACTIVE LOW gpio-669 ( |PCIe reset ) out hi ACTIVE LOW gpiochip5: GPIOs 672-703, parent: platform/5d0d0000.gpio, 5d0d0000.gpio: gpio-673 ( |mux ) out hi gpio-693 ( |wp ) in lo gpio-694 ( |cd ) in lo ACTIVE LOW gpiochip6: GPIOs 704-735, parent: platform/5d0e0000.gpio, 5d0e0000.gpio: gpiochip7: GPIOs 736-767, parent: platform/5d0f0000.gpio, 5d0f0000.gpio: root@imx8qmmek:~# gpioinfo -c 1 gpiochip1 - 32 lines: line 0: unnamed input line 1: unnamed input line 2: unnamed input line 3: unnamed input line 4: unnamed input line 5: unnamed output consumer=gpioset line 6: unnamed output consumer=gpioset line 7: unnamed output line 8: unnamed input line 9: unnamed input line 10: unnamed input line 11: unnamed input line 12: unnamed input line 13: unnamed output consumer=regulator-pcie   レガシーGPIO SYSFS(L6カーネル以上ではデフォルトで無効)を有効にする方法 このコミットのコメントを参照してください。 https://github.com/nxp-imx/linux-imx/commit/3b4feb21158f873269ff3fbe2fe8d23a88d64b24 commit 3b4feb21158f873269ff3fbe2fe8d23a88d64b24 Author: Linus Walleij Date: Tue Nov 10 15:27:24 2020 +0100 gpio: sysfs: Enforce character device If users select sysfs support they get the character device as well so that end-users cannot complain that they "only have sysfs on my system". They should have the character device at all times. If someone is in so dire need of stripping out the character device while still enabling the sysfs ABI they can very well patch the kernel. Also only show this obsolete option to expert users. Signed-off-by: Linus Walleij Link: <> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 5d4de5cd6759..4dd566f7ea39 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -59,8 +59,9 @@ config DEBUG_GPIO that are most common when setting up new platforms or boards. config GPIO_SYSFS - bool "/sys/class/gpio/... (sysfs interface)" + bool "/sys/class/gpio/... (sysfs interface)" if EXPERT depends on SYSFS + select GPIO_CDEV # We need to encourage the new ABI help Say Y here to add the legacy sysfs interface for GPIOs. パッチから、GPIO_SYSFSを有効にするための最良の方法は、CONFIG_EXPERT= y、次に、CONFIG_GPIO_SYSFS= Yを有効にします。パッチを元に戻す必要はありません。 SYSFSは、LinuxのGPIO制御のためのレガシー・インターフェースです。このインターフェースは、かつて広く使用されていましたが、Linuxカーネルバージョン6.0以降、libgpiodキャラクタ・デバイス・インターフェースが採用され、正式に非推奨になりました。 i.MX Processors
View full article
[技術ノート] i.MX RT1170 JEDEC互換性 この記事ではi.MXRT1170を例に挙げていますが、ルールはi.MX RTシリーズにも適用されます。 1. 背景と質問 データシート(例:RT1170A、RT1170B)には 'NON JEDEC' パッケージが以下のように示されていますが、製品品質ページ(例:MIMXRT1172AVM8A)では WSL 3 (Moisture Sensitivity Level 3)としてマークされており、これはJEDEC-STD-020で定義された湿度感度レベルの1つです。 矛盾はあるのでしょうか? 製品はJEDEC-STD-020に準拠していますか? 2. JEDEC-STD-020とは何ですか? JEDEC-STD-020は、リフローはんだ付け工程中の表面実装デバイス(SMD)における湿度感度レベル(MSL)および事前条件要求事項を定義した規格です。 この規格に準拠しているということは、リフローはんだ付け前のデバイスの保管および取り扱いが業界仕様に適合しており、自動化製造環境での使用に適していることを意味します。 3. WSL 3およびJEDEC-STD-020準拠 NXPの製品品質ページでは、一部のi.MX RT1170バリアントがWSL 3(Moisture Sensitivity Level 3)としてマークされており、これはJEDEC-STD-020で定義された湿度感度レベルの1つです。これは次のことを意味します。 デバイスはリフローはんだ付け前に168時間まで周囲環境にさらすことができます。 また、乾燥梱包で保管する必要があります。 JEDEC-STD-020の取り扱いおよび処理要件に準拠しています。 これは、i.MX RT1170シリーズがJEDEC-STD-020に従ってテストおよび認定されていることを示しています。NXP製品ページからの主なパラメータ: MSL(吸湿感度レベル):3 ピークパッケージ本体温度:260°C ピーク時の時間:40秒 4. データシートにおける「NON JEDEC」パッケージ i.MX RT1170データシートでは、一部のパッケージタイプが「NON JEDEC」とラベル付けされており、通常は以下を意味します。 パッケージの寸法やレイアウトがJEDEC標準のアウトラインに厳密には従っていない デバイスが正式なJEDEC-STD-020認証プロセスを経ていない 例えば、IMXRT1170BCEC Rev.1データシートでは以下のように記載されています。 パッケージ情報:プラスチックパッケージ 289ピン MAPBGA、14 x 14 mm、0.8 mmピッチ パッケージタイプ:NON JEDEC [1] これはパッケージがJEDEC標準の機械的アウトラインではないことを示しています。ただし、必ずしもデバイスがJEDEC-STD-020で定義された湿度感度要件を満たしていないことを意味するわけではありません。 5. まとめ 「NON JEDEC」は機械的形状のみを指し、信頼性規格には関係ありません。 データシート上の「NON JEDEC」の表示は物理的なパッケージアウトラインを指しており、製品品質ページのMSL 3評価は、JEDECの試験方法に基づいて決定された信頼性および取り扱い仕様を示しています。 JEDEC-STD-020は非密閉型表面実装デバイスにおける湿度感度レベルの試験規格です。i.MX RTは、MSL評価がJEDEC-STD-020の試験プロセスに基づいていることを明確に示しています。 パッケージがJEDEC標準(例えばMO-220)に準拠しているかどうかは、JEDEC-STD-020で試験可能かどうかに直接関係しません。 ‘NON JEDEC’是指物理封装中的机械形式,不是可靠性标准。 JEDEC-STD-020 是针对非气密性表面贴装器件的湿敏等级测试标准; NXP 明确表示i.MX RT产品 MSL 等级是依据 JEDEC-STD-020 测试流程; 封装是否为 JEDEC 标准(如 MO-220)与是否能进行 JEDEC-STD-020 测试无直接关系。 6. 参考資料 NXP i.MX RT1170製品ページ: https://www.nxp.com/part/MIMXRT1172AVM8A  i.MX RT1170 データシート: https://www.nxp.com/docs/en/data-sheet/IMXRT1170CEC.pdf JEDEC-STD-020規格: https://www.jedec.org/document_search/field_doc_type/151?search_api_views_fulltext=%E2%80%8BJ-STD-020&order=title&sort=asc     
View full article
S32K144 FlexCAN 擬似ネットワーキング STOP モードテストの例 S32DS.ARM.2.2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** 詳細説明: FlexCAN 0 の Pretended Networking モードを利用し、FlexCAN モジュールが MCU を STOP モードからウェイクアップする方法を示します。 タイムアウト イベントおよびマッチ イベントによるウェイクアップが有効です。 また、ピン割り込みを使用して STOP モードを解除することも可能です。 MCU は SW3 ボタンの押下で STOP モードに移行します。 MCU は次のいずれかが発生すると STOP モードを終了します: - 8 秒間 CAN メッセージが受信されない (CAN PN タイムアウト イベント) - 標準 ID 0x554 または 0x555 のメッセージが受信される (CAN PN マッチ イベント) - SW2 ボタンが押下される (PTC12 割り込み) RUN モードでは青色 LED が減光し、ウェイクアップ要因ごとに減光速度が異なります。 ------------------------------------------------------------------------------ テストハードウェア: S32K144 EVB‑Q100 MCU: FS32K144UAVLL 0N57U Fsys: 160 MHz デバッガ: Lauterbach, OpenSDA ターゲット: internal_FLASH ******************************************************************************** 全般
View full article
s32k3 eMIOS IMP 模式 你好、 我目前正试图在 s32k3 微型计算机上使用 eMIOS IPM 模式读取输入信号频率。在等待状态寄存器告诉我它已捕获测量值后,我先读取 A 寄存器,然后读取 B 寄存器,并对两种情况(正常情况和溢出情况)执行周期计算。但是,计算结果给出的是"High Time" 或"Low time" ,而不是信号的周期。看来IPM模式给我的是高/低占空比,而不是周期。有什么好办法解决这个问题吗?我已确认控制寄存器使用了正确的模式。 谢谢! Re: s32k3 eMIOS IMP Mode @VaneB你好, ,我也遇到了类似的问题,你能分享一下我如何配置 EMIOS 来测量频率吗? Re: s32k3 eMIOS IMP Mode 你好@jfranklin 如果可能的话,能否与我们分享一下您的配置? Re: s32k3 eMIOS IMP Mode 你好,这是我们自己的软件。我们的目标是不使用提供的图形界面。基本上,我只是想读取频率输入的周期。尽管 IPM 模式应该只在上升沿或下降沿更新,但它似乎在上升沿和下降沿都更新。 Re: s32k3 eMIOS IMP Mode 你好@jfranklin 您使用的是 RTD 控制器还是定制软件?能否提供有关您申请的更多信息? BR、VaneB
View full article
FRDM-IMXRT1186 I want to use FRDM-IMXRT1186. Application 1 > Board Should work with Internal 1.5MB RAM and with External QSPI Flash. A> Ethernet 1 MII port (Named with Label ECAT0) can be configured with TCP/IP MODBUS Master ?  B> Ethernet 2 MII port (Named with Label ECAT1) can be configured with ETHERCAT Master ? Application 2 > Board Should work with Internal 1.5MB RAM and with External QSPI Flash. Arduino & MC Interface connector. A> Ethernet 1 MII port (Named with Label ECAT0) & Ethernet 2 MII port (Named with Label ECAT1) can be used for Ethercat Slave & Arduino & MC Interface connector Analog/Digital GPIO ? Re: FRDM-IMXRT1186 Hi @sarikaautomations , Thanks for your interest in NXP MIMXRT series! 1. A: It's recommend using J56A/J56B (RGMII ports for ETH0/ETH2) for TCP/IP/Modbus communication. Using J57A (ECAT0 port) is not advised. B: No. The RT1180 integrates ESC, not an ECAT master. 2. Yes, this is supported. For more detailed information, please refer to this guide: UM12450: FRDM-IMXRT1186 Board User Manual Best regards, Gavin
View full article
i.MX 91 - LPDDR4 Memory Compatibility Guide The purpose of this document is to provide extended guidance for the selection of compatible LPDDR4 memory devices that are supported by the i.MX 91 series of processors. In all cases, it is strongly recommended to follow the DRAM layout guidelines outlined in the NXP Hardware Developer's Guides for the specific SoCs. Memory devices with binary densities (e.g., 1 GB, 2 GB, 4 GB) are preferred because they simplify memory management by aligning with system addressing schemes and reducing software complexity. LPDDR4 - Maximum Supported Densities SoC Max Data bus width Maximum density Assumed memory organization Notes i.MX 91 (i.MX 91xx) 16-bit 16 Gb / (2 GB) single rank, single channel device with 17-row addresses (R0 - R16) 1, 2, 3 LPDDR4 - List of Validated Memories The validation process is an ongoing effort - regular updates of the table are expected. SoC Density Memory Vendor Validated Memory Part# Notes i.MX 91 16 Gb / (2 GB) Micron MT53E1G16D1FW-046 AAT:A MT53E1G16D1ZW-046 AAT:C 5  2 Gb / (256 MB)  Winbond  W66BP6NBHAHJ 4 8 Gb / (1 GB) Nanya NT6AN512M16AV-J1I   4 Gb / (512 MB) Nanya NT6AN256M16AV-J1I 4 8 Gb / (1 GB) ISSI IS43LQ16512B-046BLI 4 12 Gb / (1.5 GB) Micron MT53E768M16D1ZW-046 4 16 Gb / (2 GB) Intelligent Memory IMAG16L4KBBG 4 2 Gb / (256 MB) Nanya NT6AN128M16AV-J1 4 4 Gb / (512 MB) UniIC SCB11N4G160BF-04ZI 4 4 Gb / (512 MB) ISSI IS43LQ16256B-053BLI 4 4 Gb / (512 MB) Winbond W66CP6RBHAHJ 4 Note: This device supports operation with LPDDR4 memories only. LPDDR4x operation is not supported. Dual‑mode memories that support both LPDDR4 and LPDDR4x are allowed as long as the device can operate in LPDDR4 mode, including using LPDDR4 I/O voltage levels and initialization sequences. NOTE: LPDDR4 devices from certain memory vendors may not support operation at low speeds and in addition, DQ ODT may not be active, which can impact signal integrity at these speeds. If low-speed operation is planned in the use case, please consult with the memory vendor about the configuration aspects and possible customization of the memory device so correct functionality is ensured. Note 1: The numbers are based purely on the IP documentation for the DDR Controller and the DDR PHY, on the settings of the implementation parameters chosen for their integration into the SoC, SoC reference manual and on the JEDEC standards JESD209-4B (LPDDR4). Therefore, they are not backed by validation, unless said otherwise and there is no guarantee that an SoC with the specific density and/or desired internal organization is offered by the memory vendors. Should the customers choose to use the maximum density and assume it in the intended use case, they do it at their own risk. Note 2: Byte-mode LPDDR4 devices (x16 channel internally split between two dies, x8 each) of any density are not supported therefore, the numbers are applicable only to devices with x16 internal organization (referred to as "standard" in the JEDEC specification). Note 3: The SoC also supports dual rank single channel devices therefore, 16Gb/2GB density can be also achieved by using a dual rank single channel device with 16-row addresses (R0 - R15). Note 4: The memory part number did not undergo full JEDEC verification however, it passed all functional testing items. Note 5: The memory part number is not recommended for new designs and superseded by a new part number
View full article
RTD- Need support for using Wdg(watchdog )driver for saf9000 RTD driver version (R23-11 v1.0.0) We are from the Quantum rfp team, working for the SAF9000 chip. We are trying to use RTD's-Wdg (watchdog) driver and see some issues like wdg calls trying to suspend all interrupts and then resuming interrupts.This is affecting some of the features. So wanted some support to help identify root cause/proper usage of wdg and fix the issues we are facing. Could you please support. Current RTD Configuration we are trying to use are attached (wdg and platform xdm files): wdg- in enable direct service mode. using below calls:  For initialization:  Wdg_43_Instance0_Init((Wdg_ConfigType*)NULL_PTR); //since using post build variant   For toggle/feeding watchdog regularly we are using: Wdg_43_Instance0_SetMode(WDGIF_FAST_MODE); Let me know in direct service mode the calls to be used to initialize and feed watch dog are correct or not? Will any of these calls disturb any other interrupt, causing us other functionality issues? RTD Re: RTD- Need support for using Wdg(watchdog )driver for saf9000 Thanks Cuong. To start with we started using indirect servicing, but since we were using GptChannelConfiguration_0 for some other timer purpose already, we could not use the same in wdg configuration for "Wdg External Trigger Counter  " . We tried defining  GptChannelConfiguration_1 in addition and tried to use it for "Wdg External Trigger Counter  " in wdg tresos configuration, but it was not allowing it for some reasons(was getting red cross mark). That is when we switched to direct mode. As per your suggestion i will try using   function Wdg_43_Instance0_Service function. If problem persists then i will again try to use indirect servicing, and for configuration problem, i will approach you. Re: RTD- Need support for using Wdg(watchdog )driver for saf9000 Hi @renukasc  I see that you used SetMode to feeding watchdog is wrong. With direct service: use Wdg_43_Instance0_Service function With indirect service: use Wdg_43_Instance0_SetTriggerCondition function. Please check our example in Wdg module to refer how we use Wdg_43_Instance0_SetTriggerCondition  Path: \plugins\Wdg_TS_T40D34M50I0R0\examples Furthermore: Wdg_43_Instance0_Init((Wdg_ConfigType*)NULL_PTR) -> Using with Precompile, not Post-built Re: RTD- Need support for using Wdg(watchdog )driver for saf9000 i could try using Wdg_43_Instance0_Service. Watchdog functionality fine as said before.If not fed , watchdog isr is triggering as expected.But problem is when watchdog apis are used,i could see it affecting all our other functinalities.Looks like it is affecting interrupts. Could you please provide one WDT example application, that has timer and other ISR like UART in which WDT is not affecting these ISRs using direct service mode .   Re: RTD- Need support for using Wdg(watchdog )driver for saf9000 One more update, as indicated earlier when wachdog calls are used in our app, looks like other interrupts like timer(gpt) are not getting served, we dont get isrs triggering for this any more. Tried changing priority of the interrupts,not helping. Also tried commenting OsIf_SuspendAllInterrupts(), OsIf_ResumeAllInterrupts()  in /RTD/eclipse/plugins/Rte_TS_T40D94M10I0R0/src/SchM_Wdg.c . This is also not helping. Could you please provide one WDT example application, that has timer and other ISR like UART in which WDT is not affecting these ISRs using direct service mode.   Re: RTD- Need support for using Wdg(watchdog )driver for saf9000 Below is the flow when WDG service is called:  Wdg_43_Instance0_Service()   → Wdg_ChannelService(WDG_IPW_INSTANCE0)       → Wdg_Ipw_Service(Instance)           → Swt_Ip_Service(Instance)               → SchM_Enter_Wdg_WDG_EXCLUSIVE_AREA_09();   // This can call OsIf_SuspendAllInterrupts()               → ...               → SchM_Exit_Wdg_WDG_EXCLUSIVE_AREA_09();    // This can call OsIf_ResumeAllInterrupts() So, If you call Wdg_43_Instance0_Service and in your RTE, the definition of SchM_Enter_Wdg_WDG_EXCLUSIVE_AREA_09 and SchM_Exit_Wdg_WDG_EXCLUSIVE_AREA_09 are call OsIf_SuspendAllInterrupts/OsIf_ResumeAllInterrupts then yes it could affect to interrupt. However, after call this function, the interrupt should be back to normal.  Do you mean that even exit this function Wdg_43_Instance0_Service, interrupts still cannot be triggered? Can you share me how do you implemented OsIf_SuspendAllInterrupts(), OsIf_ResumeAllInterrupts()  in your project?   Re: RTD- Need support for using Wdg(watchdog )driver for saf9000 @renukasc  When "Development Error Detection" is enabled, Wdg APIs use Wdg_ChannelValidateGlobalCall and Wdg_ChannelEndValidateGlobalCall. These functions use SchM_Enter/Exit_Wdg_WDG_EXCLUSIVE_AREA_06 and SchM_Enter/Exit_Wdg_WDG_EXCLUSIVE_AREA_07. Please verify in your SchM implementation how SuspendAllInterrupts and ResumeAllInterrupts behave. In particular: after ResumeAllInterrupts is called, do all interrupts return to their normal state? Re: RTD- Need support for using Wdg(watchdog )driver for saf9000 what we finally observed when debugged is the normal timer interrupt will stop and will not resume if Wdg_43_Instance0_Init and Wdg_43_Instance0_Service calls are made with tresos configuration "Development Error Detection " is set. When we disabled 'Development Error Detection ' in tresos, we observe that other interrupts are fine when enabled with wdg calls.  
View full article
MCUXpresso IDE 上的 ITM 与 UART 打印。 1. 简介 在嵌入式系统开发中,调试和日志输出对于确保代码正确性和优化性能至关重要。通过实时监控系统状态、捕获异常行为并记录关键数据,开发人员能够快速发现问题并验证功能。在资源受限的嵌入式环境中,选择合适的调试工具和方法显著影响开发效率。 MCXN947 是恩智浦上市的高性能微控制器,提供多种调试和记录解决方案,其中最常用的是ITM(仪器跟踪宏单元)和UART打印。ITM 利用 Cortex-M 内核的调试功能,通过调试接口高速传输数据,使其适用于具有严格实时要求的场景。UART 打印则通过 UART 外设输出日志,具有很强的通用性,适合生产环境。 本文解释了如何在MCUXpresso IDE 中使用这两种输出方法,以提高开发效率和系统可靠性。 2. ITM 和 UART 打印的原理和特点 2.1 ITM – 原理与特点 工作原理: ITM(Instrumentation Trace Macrocell)是 Cortex-M 内核提供的一项调试功能。它通过调试接口(例如 SWD/JTAG)使用 SWO 实时传输数据。开发人员可以使用 ITM_SendChar() 函数将调试信息发送到 ITM端口,然后由调试器捕获并显示在 IDE 的调试控制台中。 优势: 高速传输:ITM 利用调试接口的带宽,速度远超 UART(通常超过 10 Mbps)。 低 CPU 占用: ITM 由硬件处理,几乎不消耗 CPU 资源。 无额外外设: 不依赖 UART 或其他外设,节省硬件资源。 劣势: 调试器依赖: 需要连接调试器(如 MCU-Link、J-Link),不能直接用于生产环境。 配置复杂:需要正确的 ITM 端口和调试器设置,这对初学者来说可能具有挑战性。 2.2 UART 打印——原理和特点 工作原理: UART 打印通过 UART 外设将调试信息发送到串行终端。开发人员通常将 printf 函数重定向到UART,从而使标准库函数用于日志输出。数据通过 TX/RX 引脚传输,可以使用串行工具(例如 PuTTY、Tera Term)在 PC 上查看。MCUXpresso IDE 还内置了一个用于 UART 调试的终端。 优势: 高度通用:几乎所有嵌入式板都支持UART,使其广泛适用。 生产就绪:不需要调试器,可以直接在生产环境中使用。 易于实施:配置简单,非常适合初学者和快速原型制作。 劣势: 低速: 受限于 UART 波特率,导致传输效率降低。 外围资源使用: 占用 UART 外设和引脚,可能影响其他功能。 实时性能差: 由于中断延迟和波特率限制,不适合高实时场景。 2.3 对比总结 下表总结了 ITM 与 UART 打印的主要特点: 特性 ITM UART 打印 传输速度 高(10 Mbps 或更高) 低(通常为 115200 bps) CPU 开销 低 更高 外围依赖 无 需要 UART 外设和引脚 调试器依赖 需要 不需要 生产适用性 不合适 合适 配置复杂性 复杂 Simple 实时性能 高 低 使用场景: ITM: 非常适合开发阶段调试,且实时需求高(如电机控制、信号处理)。 UART 打印: 适合生产日志、初学者友好的设置以及一般调试需求。 3. 在 MCUXpresso IDE 中的实施步骤 3.1 使用 ITM 打印 硬件需求: 确保芯片的 SWO 引脚连接到调试器的 SWO 接口。 软件配置: 1)创建新项目时,选择“Redirect printf/scanf to ITM”以将 printf/scanf 重定向到 ITM。   2) 配置跟踪时钟: /*!< Switch TRACE to TRACE_DIV */ CLOCK_AttachClk(kTRACE_DIV_to_TRACE); /*!< Set up dividers */ /*!< Set TRACECLKDIV divider to value 3 */ CLOCK_SetClkDiv(kCLOCK_DivTraceClk, 3U);   3)在 MCUXpresso 集成开发环境中,打开 SWO ITM 控制台,配置核心时钟和跟踪时钟设置。     4)在 ITM 控制台中查看输出结果。 3.2 使用 UART 打印 1)创建新项目时,选择 SDK 调试控制台为 UART,设置 DebugConsole 使用 UART。          2)使用 MCUXpresso IDE 的外设工具配置 DebugConsole-UART。   3)使用引脚工具配置 UART TX/RX 引脚。 4)连接串行硬件,并在终端中查看输出结果。 4. 结论 ITM 和 UART 打印各有其优势。开发人员应根据项目需求选择合适的方法。ITM 更适合在开发过程中进行高实时调试,而 UART 打印则更适合生产环境和一般调试。
View full article
PN7642 RF 设计导入使用技巧和窍门 先决条件: PN7642 设计导入建议   1// 阻抗调谐 PN76系列天线设计指南 目标阻抗是根据目标应用来选择的。如果需要全功率(如 POS 终端)。建议目标阻抗为15-17 Ω 。 对于使用ULPCD的低功率应用,通常偏好较高阻抗,30-50 Ω(对称调谐)。   2// 动态功率控制 PN7642 - 使用 DPC 进行基本射频功率限制   3// H场检查 存在规定的极限值,尤其是读取器辐射的最大 H 场。超过这些限制可能会导致 NFC 卡或 NFC 标签损坏。 可以借助测试设备测量 H 场,例如: ISO 10373-6测试PICC EMVCo 3.0 测试 PICC 仅供参考,客户可使用如下所示的“智能”场强度探头:     4// 高频衰减器值 请开启 RF 场,并确保 DPC 已在上一步设置并启用 请读取 CLIF_RXCTRL_STATUS 寄存器,并查看 HF_ATT_VAL,如下所示。 满功率下“无载”状态的值应约为 35-45dec。 如果该值超出此范围,客户需调整 Rx 电阻以达到目标值。 5// 接收器设置 使用 NXP 提供的默认设置,检查“功率”范围和通信范围。 功率范围 -> NFC 标签仍能生成响应信号,但 NFC 读卡器无法接收到它的距离。 通信范围 -> NFC 标签仍能与 NFC 读卡器通信的距离 理想情况下,功率范围 ≈ 通信范围 此外,NFC 读卡器不应产生任何错误通信,例如 “HAL COLLISION ERROR”。 接收机的优化可以通过以下方式进行: 进入 DPC 校准 进入 “ARC” 菜单,选择“禁用”ARC 算法。 这将强制IC使用以下寄存器/EEPROM中的RX设置 SIGPRO_RM_TECH_REG DGRM_RSSI_REG   5.1// SIGPRO_RM_TECH_REG(RM_MF_GAIN 参数) 该参数主要用于定义输入放大器的增益。 选择 SIGPRO_RM_TECH_REG 将“操作”切换至 EEPROM,并选择所需的技术。 将 RM_MF_GAIN 增加至 0x021(具体数值视设置而定)。     5.2// DGRM_RSSI_REG(DGRM_SIGNAL_DETECT_TH_OVR_VAL 参数) 该参数定义了内部逻辑开始解码输入信号的阈值。 如果阈值过低或非常接近噪声底,系统可能会将噪声检测为NFC通信。 因此,阈值 + 裕量 > 噪声底限 最佳做法是执行“信号检测阈值”分析。此操作可借助 NFC Cockpit 实现(详见 PN7642 设计导入建议) 因此,用户可以根据插入的"边界值",获得"噪声"的平均值,并建议的"DGRM_SIGNAL_DETECT_TH_OVR_VAL"门限。 标记 (m) + 噪声平均值 (μ) = 阈值 6+16=23 然后,将该数值按如下方式写入 “DGRM_RSSI_REG” EEPROM。   6// ULPCD 设置 默认值通常是很好的起点。在第一阶段,用户需要注意 RSSI 阈值和 ULPCD VDDPA。 ULPCD VDDPA 的选择应确保高频衰减器值不为0x00!ULPCD 中高频衰减器的典型值约为0x05-0x0B。   6.1// RSSI阈值评估 为了正确选择 RSSI 阈值,建议执行 ULPCD 校准,例如 20 次,并检查设备的 RSSI 信号的“抖动”情况。 如果您发现 RSSI 值出现抖动,例如如上所示抖动5 个单位。这种情况下的绝对最小阈值为6 。一般来说, 2个单位的裕量就足够了。因此,在这种情况下,最佳阈值为7 。
View full article
PN7161 同时移除标签时的 NFC 发现阻塞问题 我正在使用 PN7161 芯片识别 NFC 卡。 当我同时标记 MIFARE Classic 卡和智能手机的 NFC 时,然后同时移除它们,函数NxpNci_WaitForDiscoveryNotification 就会被阻止。 打印 " WAITING FOR 设备 DISCOVERY " 后,程序无法继续打印 " test_1 "。 我使用的是 SW6705。 /////////////////////////////////////////////////////////////// /* 开始探索 */ 如果(::NxpNci_StartDiscovery(RW_DiscoveryTechnologies, sizeof(RW_DiscoveryTechnologies)) != NFC_SUCCESS) { LOG_ERR("无法开始发现"); 返回; } 虽然(_nfcRfMode == NFC_RF_MODE_RW) { LOG_INF( " 等待设备发现 "); /* 等待,直到发现对等设备 */ 而(::NxpNci_WaitForDiscoveryNotification(&RfInterface) != NFC_SUCCESS) { 日志文件("test_1"); 如果(_nfcRfMode != NFC_RF_MODE_RW) { ::NxpNci_StopDiscovery(); 日志文件("模式已更改,退出 RW 模式"); 返回; } } 如果((RfInterface.ModeTech & MODE_MASK) == MODE_POLL) { ////////////////////////////////////////////////////////////////////////////// 以下是出现问题时显示的 NCI 信息。之后,即使将卡靠近,也无法识别。只有在关闭电源并重新打开后,才能再次识别该卡。 [00:03:24.623,321] Iso14443_4Handler: === ISO14443-4 Scenario Complete === NCI>> 2f 11 00 NCI<< 4f 11 01 00 [00:03:25.265,533] NfcManager:CARD REMOVED NCI>> 21 06 01 00 NCI<< 6f 11 01 00 NCI<< 41 06 01 00 NCI>> 21 03 07 03 00 01 01 06 01 NCI<< 61 06 02 00 00 NCI>> 21 03 07 03 00 01 01 06 01 NCI<< 41 03 01 00 [00:03:25.288,543] nfcManager:等待设备发现 NCI < < 41 03 01 a0 NCI < < 60 07 01 a1 a1 NCI < > 21 06 01 03 NCI < < 41 06 01 00 NCI < < 61 06 02 03 00 NC I < < 61 03 0f 01 80 00 0a 04 00 04 aa 4e 46 0e 0e 01 08 00 02 NC I < < 61 03 0f 02 00 04 00 04 08 c0 b9 fa 01 20 00 02 02 02 02 04 00 04 04 08 c0 fa 01 20 00 01 //////////////////////////////////////////////////////////////////////////// 是否有人遇到过这个问题,或者是否有建议的方法来处理同时删除标签的问题,以避免在发现通知功能中阻塞? Re: PN7161 NFC Discovery Blocking Issue with Simultaneous Tag Removal 你好@Jaden_jung 希望你一切顺利。 能否请您提供有关设置的更多详细信息?您使用的主机平台是什么?你使用的智能手机是iOS设备,还是安卓设备? 我使用 SW6705 Rev 1.2(使用未修改的 LPC55S6x RW 演示)、OM27160、LPCXpresso55S69 并同时移除 Pixel 3 和 MIFARE Classic,都无法重现这种行为。您能否使用 PN7160 开发套件 (OM27160) 重现这种行为? Eduardo。 Re: PN7161 NFC Discovery Blocking Issue with Simultaneous Tag Removal 照片显示了症状再现时的电流值。据怀疑,即使在取出卡之后,系统仍无法恢复到轮询状态。 Re: PN7161 NFC Discovery Blocking Issue with Simultaneous Tag Removal 主机是 nrf52840,手机是安卓手机。(Samsung Galaxy s25 和 flip) 同时访问两张 MIFARE 经典卡时没有问题。 将 OM27160 板与树莓派搭配使用(使用 linux_libnfc-nci)时没有问题。 定义 REMOVE_P2P_SUPPORT 可以解决问题。 出现问题时,它是否按照下面的流程工作? 0. at 946line if (Answer[1] == 0x05) // true { pRfIntf->Interface = Answer[4]; // = 0x02 = INTF_ISODEP pRfIntf->Protocol = Answer[5]; // = 0x04 = PROT_ISODEP ...... NCI<< 61 05 19 01 02 04 01 ff 01 0c 0b 64 c6 b2 a3 00 00 00 80 81 71 01 00 00 02 01 00 1.在 WaitForDiscoveryNotification 处分支(第 962-963 行): 在未定义 REMOVE_P2P_SUPPORT 时执行分支。 NCI>> 21 06 01 03 (NxpNci_HostTransceive) NCI<< 41 06 01 00 (NxpNci_WaitForReception) 2.从 do-while 循环退出: 收到以下通知后,循环终止(第 966 行): NCI<< 61 06 02 03 00(成功退出循环) 3.多张卡片检测(找到 2 张卡片): 该设备可识别野外两个目标: 目标 1:61 03 0f 01 80 00 0a 04 00 04 aa 4e 46 0e 0e 01 08 00 02 目标 2:61 03 0f 02 04 00 0a 04 00 04 04 08 c0 b9 fa 01 20 00 02 02 02 04 04 08 c0 b9 fa 01 20 00 01 4.处理条件分支:(第 986 行) 由于接收到的响应与条件不符(Answer[0] == 0x61&& Answer[1] == 0x05),逻辑会跳转到 if (AnswerSize != 0) 块。 5.第 989 行的潜在阻塞: 在第 989 行,条件 while(Answer != 0) 似乎总是为真,导致潜在的无限循环或阻塞状态。这似乎是启用 P2P 支持时系统挂起的根本原因。
View full article
i.MX RT1064:在 GPIO_AD_B1_09 上启用 FlexPWM 的问题 我正在使用 i.MX RT1064,并尝试在以下引脚上生成 PWM 信号。尽管通过 MCUXpresso SDK 配置了 IOMUX 并初始化了 FlexPWM 模块,但我在引脚上看不到任何输出。 GPIO_AD_B1_09:配置为 ALT1 (FLEXPWM4_PWM1_A) 当前设置: 我正在按照 SDK 中的示例——exkmimxrt1064_pwm 作为设置 PWM 的参考。 我使用标准的 50% 占空比进行测试。 问题 RT1064 上的这些特定引脚是否存在已知的内部冲突? 对于GPIO_AD_B1_09,是否需要特定的焊盘属性(DSE、速度)来覆盖默认的 USDHC 功能? 另外,我想在 GPIO_SD_B1_04 和 GPIO_AD_B1_05 上启用 PWM,但在 FlexPWM 下看不到这些引脚,有没有办法在这些引脚上也启用 PWM? 感谢您的帮助。 i.MX RT106x Re: i.MX RT1064: Issues enabling FlexPWM on GPIO_AD_B1_09 您好 ,对于 GPIO_AD_B1_09,请确保 IOMUXC_FLEXPWM4_PWMA1_SELECT_INPUT = IOMUXC_FLEXPWM4_PWMA1_SELECT_INPUT_GPIO_AD_B1_09_ALT1; 已被设置(值为 0x00000001),否则输出将被 GPIO_EMC_02(默认值)取代。 确保驱动设置 IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_09 设置为启用驱动强度,因为将其设置为 0 不会启用输出驱动。 GPIO_SD_B1_04 和 GPIO_AD_B1_05 没有柔性定时器功能: 在此查看 1064 引脚复用器电子表格: https://www.utasker.com/iMX/iMXRT1064/iMX_RT_1064.xls Regards Mark Re: i.MX RT1064: Issues enabling FlexPWM on GPIO_AD_B1_09 你好@shreya1、 你使用的是自定义板还是 EVK?我知道您是根据示例代码将引脚初始化为 PWM,但您修改了示例代码的哪些具体部分?此外,还可以让 ConfigTools 将 GPIO_AD_B1_09 引脚配置为 PWM,甚至整个 PWM 模块。 BR, Edwin. Re: i.MX RT1064: Issues enabling FlexPWM on GPIO_AD_B1_09 嗨 @EdwinHz, 我使用的是自定义板,从示例代码中我根据自己的密码更改了 PWM 编号、子模块和通道。我尝试了另一种方法,也使用了外设工具,让它来管理整个配置,但我没有看到任何输出。 你好@mjbcswitzerland, ,我确保完成了你提到的两项设置,但仍然看不到任何输出。我确定引脚已被路由,因为在将其配置为 GPIO 时,我看到了切换。 Re: i.MX RT1064: Issues enabling FlexPWM on GPIO_AD_B1_09 你好@shreya1、 感谢您的澄清。如果你能分享代码,我可以看一看,以便更好地理解初始化,更好地确定问题是与软件还是硬件有关。 BR, Edwin.
View full article
MPXV5050GC6U <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - 该部件是否可以清洗(使用无铅、可水洗的焊料)? 压力传感器 Re: MPXV5050GC6U <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 谢谢。我也是这么想的,但想核实一下。 Re: MPXV5050GC6U <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,辛迪、 任何进入传感器压力开口的清洁剂都可能对设备产生不利影响。因此,绝对建议使用卡普顿胶带密封部件上的检修孔。也可以在清洗前用盖子堵住部件。 此致, 托马斯 PS: I如果我的回答有助于解决您的问题,请标记为"正确" 或 "有帮助"。谢谢。
View full article
imx93 m33 rpmsg hello_world 测试 板/设置 CPU:i.mx93 启动媒体:SD (mmc 1) 目标:运行 CM33 RPMSG-Lite 字符串回声演示并从 Linux (A55) 进行通信 问题摘要我也想启动 Cortex-M33 RPMSG 演示: : 当尝试访问某些 CM33 别名地址(例如0x1ffe0000 / 0x0ffc0000) Linux remoteproc 试图加载 rpmsg_lite_str_echo_rtos_remote.bin,但以错误 -2 失败(未找到文件),然后退回到 sysfs 回退。 我不确定 i.MX93 上的 CM33 的正确内存复制地址和启动地址应该是多少(系统地址与别名地址),以及如何使 U‑Boot boot bootaux 流程与 Linux remoteproc 流程保持一致。 我测试的 SD 分区布局和启动文件 U‑Boot 显示 SD 是 mmc 1: u-boot= > mmc 列表 FSL_SDHC:0 (eMMC) FSL_SDHC:1 (SD) 分区表: u-boot= > 零件清单 mmc 1 MMC 设备 1 的分区图-分区类型:DOS 部件起始扇区号扇区 UUID 类型 1 16384 681574 076c4a2a-01 0c 启动 2 704512 5769534 076c4a2a-02 83 启动分区内容包括 DTB 和 mcore-demos/ 目录: u-boot= > fatls mmc 1:1... mcore-demo/... 我可以加载演示版: u-boot= > fatload mmc 1:1 ${loadaddr} mcore-demos/rpmsg_lite_str_echo_rtos_remote.bin 3 毫秒内读取 39004 字节 u-boot= > echo ${loadaddr} 0x80 400000 u-boot= > echo ${filesize} 985c 前两个字看起来像一个有效的 CM33 向量表: u-boot= > md.l ${loadaddr} 2 80400000:2001e000 0ffe0595 读取 0x1ffe0000 会导致中止: Linux 端:remoteproc 固件加载失败 在 Linux 中,remoteproc0 开机后会尝试加载固件: [ 84.714629] remoteproc remoteproc0: powering up imx-rproc [ 84.721926] remoteproc remoteproc0: Direct firmware load for rpmsg_lite_str_echo_rtos_remote.bin failed with error -2 [ 84.732549] remoteproc remoteproc0: Falling back to sysfs fallback for: rpmsg_lite_str_echo_rtos_remote.bin 这里是预留内存: reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; linux,cma { compatible = "shared-dma-pool"; reg = <0 0x88000000 0 0x04000000>; /* 64 MB @ 0x8800_0000 */ reusable; linux,cma-default; }; /* Ethos-U: move away from the kernel boot (32 MB) */ ethosu_mem: ethosu_region@8c000000 { compatible = "shared-dma-pool"; reg = <0 0x8c000000 0 0x02000000>; no-map; }; vdev0vring0: vdev0vring0@84000000 { reg = <0 0x84000000 0 0x00008000>; no-map; }; vdev0vring1: vdev0vring1@84008000 { reg = <0 0x84008000 0 0x00008000>; no-map; }; vdev1vring0: vdev1vring0@84010000 { reg = <0 0x84010000 0 0x00008000>; no-map; }; vdev1vring1: vdev1vring1@84018000 { reg = <0 0x84018000 0 0x00008000>; no-map; }; rsc_table: rsc-table@2021e000 { reg = <0 0x2021e000 0 0x00001000>; no-map; }; /* OCRAM */ vdevbuffer: vdevbuffer@84020000 { compatible = "shared-dma-pool"; reg = <0 0x84020000 0 0x00100000>; /* 1 MB */ no-map; }; ele_reserved: ele-reserved@90000000 { compatible = "shared-dma-pool"; reg = <0 0x90000000 0 0x00100000>; /* 1 MB @ 0x9000_0000 */ no-map; }; }; ethosu { compatible = "arm,ethosu"; fsl,cm33-proc = <&cm33>; memory-region = <&ethosu_mem>; power-domains = <&mlmix>; }; 从 U-Boot 在 i.MX93 上启动 CM33 RPMsg 演示的正确步骤是什么? 如果 CM33 由 U-Boot (bootaux) 启动,建议的 Linux 配置是什么? Re: imx93 m33 rpmsg hello_world test 你好,电路板支持包 版本是 VERSION= " 6.6-scarthgap(scarthgap)" 我使用内存为 512MB 的 imx93 自定义板但没有 hello_world .elf 这些都在 /lib/firmware 下 imx93-11x11-evk_m33_TCM_low_power_wakeword.elf imx93-11x11-evk_m33_TCM_power_mode_switch.elf imx93-11x11-evk_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.elf imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.elf imx93-11x11-evk_m33_tcm_sai_low_power_audio.elf 经过测试 u-boot= > fatload mmc 1:1 80000000 mcore-demos/rpmsg_lite_str_echo_rtos_remote.bin 在 3 毫秒内读取 39004 字节 (12.4 MiB/s) u-boot= > cp.b 0x80000000 0x201e0000 0x10000 u-boot= > bootaux 0x1ffe0000 0 ## 启动辅助内核 addr = 0x1ffe0000... 它无法启动,它会冻结。 Re: imx93 m33 rpmsg hello_world test 您好, 感谢您对恩智浦半导体产品的关注, 使用预建的 Cortex-M 演示版是一个很好的起点,你使用的是 i.MX 93 EVK 还是带有预建映像的自定义板? 你在用什么电路板支持包? 要在 u-boot 中运行 Cortex-M 演示,你可以使用以下代码片段: u-boot=> fatload mmc 1:1 80000000 sdk20-app.bin u-boot=> cp.b 0x80000000 0x201e0000 0x10000 u-boot=> bootaux 0x1ffe0000 0 RPMSG 必须在 Linux RPROC 框架下运行,因为您必须在 DTB 中为 RPMSG 预留内存,而且 Cortex-A RPMSG 通信是通过 Linux 驱动程序进行的。 root@imx93evk:~# echo hello_world.elf > /sys/class/remoteproc/remoteproc0/ firmware root@imx93evk:~# echo start > /sys/class/remoteproc/remoteproc0/state 此致 Re: imx93 m33 rpmsg hello_world test 你好,@bora、 请尝试使用 imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.elf 这是你正在测试的二进制文件,请参阅 SDK 中的可用示例: SDK_24_12_00_MCIMX93-EVK\板\mcimx93evk\多核_示例 - rpmsg_lite_pingpong_rtos_linux - rpmsg_lite_str_echo_rtos 此致 Re: imx93 m33 rpmsg hello_world test 您好, 我试过了结果就是这样, root @imx93 -11x11-lpddr4x-evk:~# echo start > /sys/class/remoteproc/remoteproc0/state [105.274513] remoteproc remoteproc remoteproc 0/state [105.274513] remoteproc remoteproc remoteproc 0/state [105.274513] remoteproc remoteproc remoteproc 0:启动 imx93-11x11-EVKK _m33_tcm_rpmsg_lite_str_echo_ rtos.elf, size 59028 [ 105.294019] remoteproc remoteproc0: Registered carveout doesn't fit len request [ 105.301405] rproc-virtio: probe of rproc-virtio.1.auto失败,错误 -12 [ 105.309101] remoteproc remoteproc0: 注册的分割不适合 len 请求 [ 105.316561] rproc-virtio: probe of rproc-virtio.2.auto failed with error -12 [ 105.830361] remoteproc remoteproc0: 远程处理器 imx-rproc 现在已启动 Re: imx93 m33 rpmsg hello_world test 您好, 我可以在 LF-6.12.49 EVK 上通过以下步骤重现该功能 Cortex-A U-启动 Hit any key to stop autoboot: 0 u-boot=> fatload mmc 0:1 ${loadaddr} mcore-demos/imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.bin 19816 bytes read in 18 ms (1 MiB/s) u-boot=> cp.b ${loadaddr} 0x201e0000 0x20000 u-boot=> bootaux 0x1ffe0000 0 ## Starting auxiliary core addr = 0x1FFE0000... u-boot=> pri mmcargs mmcargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=${mmcroot} u-boot=> editenv m mfgtool_args mmcargs mmcautodetect mmcboot mmcdev mmcpart mmcroot u-boot=> editenv mmcargs edit: setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=${mmcroot} clk_ignore_unused u-boot=> boot Cortex-A Linux root@imx93evk:~# lsmod | grep -i imx_rpmsg_tty root@imx93evk:~# modprobe imx_rpmsg_tty 从 U-boot 到 Linux 的 Cortex-M RPMSG String Echo FreeRTOS RTOS API Demo... Nameservice sent, ready for incoming messages... Get Message From Master Side : "hello world!" [len : 12] 此致 Re: imx93 m33 rpmsg hello_world test 我也进行了测试,但没有结果,我仍然无法与 m33 通信。我用的是自定义板而不是 imx93-11x11-evk,我用 uart1 没有 uart2,对于 m33 我有 JTAG。 Re: imx93 m33 rpmsg hello_world test 我也没有在 /dev 下看到任何 ttyRPMSG 文件 Re: imx93 m33 rpmsg hello_world test 在 u-boot 上我开始工作了但是在 linux 中是通过 .elf文件,我得到 imx_rproc_kick:失败 (0, err:-62)
View full article
关于 encrypted_xip_platform_*.c(在 mcuboot 中)的文档 你好, 在 mcuboot 源代码中,可以找到恩智浦提供的许多文件来处理加密 xip:sdk_25_06_00_evk-mimxrt1020/中间件/mcuboot_opensource/启动/nxp_mcux_SDK/Encrypted_XIP/ 在我的项目中,我使用 RT117x、RT105x 和 RT102x,因此要处理 BEE 和 OTFAD 外设。 我搜索了这些文件的文档和示例,例如https://mcuxpresso.nxp.com/mcuxsdk/latest/html/middleware/mcuboot_opensource/README.html#,但没有找到我要找的东西。 我需要知道 特性 用法示例 API 参考 我的使用案例如下: 图像 0 是第二阶段引导加载程序。它实现了 USB 主机大容量存储堆栈,这是更新设备的唯一方法。 图片 1 是实际应用。 我认为两幅图像都需要加密,但我并不确定。 你能告诉我在哪里可以找到使用这些来源的参考设计吗? 此外,由于有两个图像,我需要 mcuboot 2.2.0(2.1.0对多幅图像无效)。 如此处所示,2.1.0 版已集成到最后一个 SDK 中: 顺祝商祺! 最大值 Re: doc about encrypted_xip_platform_*.c (in mcuboot) 你好@mastupristi 很抱歉延迟回复。 作为替代方案,目前我们有基于 MCUboot 的SBL,可以实现加密 XIP。不过,它是基于旧版本的 MCUBoot。 我一直在内部检查,我的 SDK 团队说 SDK 现在内置了最新版本的 MCUboot。 基本上,您希望获得的附加信息包括......: 特性 用法示例 API 参考 但用于加密应用程序,对吗?我们是否可以说,关于将片上 OTFAD 与 MCUBoot 结合使用的示例目前对您有用? 迪亚戈
View full article
EIQ Software Application based on OpenCV Neural Network Framework on Layerscape Platforms NXP created eIQ machine learning software for QorIQ Layerscape applications processors, a set of ML tools which allows developing and deploying ML applications on the QorIQ Layerscape family of devices. OpenCV is an open-source computer vision library. It offers a unitary solution for both the neural network inference (DNN module) and the standard machine learning algorithms (ML module). It includes many computer vision functions, making it easier to build complex machine learning applications in a short amount of time and without being dependent on other libraries. This document describe applications YOLO object detection, Image segmentation, Image colorization, Image classification, Human pose estimation and Text detection developed based on OpenCV DNN framework.
View full article
LVGL基准测试性能优化   1 背景 2 开发设置 2.1 软件 2.2 硬件 3 性能优化 3.1 基准性能 3.2 优化 1:编译器优化 3.3 优化 2:外部同步动态随机存取存储器(SDRAM) 3.4 优化 3:VGLite 加速 3.5 优化比较 4 结论 5 参考 1. 背景 LVGL(轻量级通用图形库)是一个高性能、低资源的嵌入式图形库。由于其强大的开源生态系统和广泛的操作系统兼容性,它支持从低功耗的 ARM Cortex-M 微控制器(时钟速度低至 100 MHz)到运行 Linux 的高性能 MPU 的各种硬件平台,使其成为嵌入式开源解决方案的首选。许多芯片供应商现在提供对 LVGL 的“开箱即用”支持。 NXP 为其主流平台(包括 MCX、i.MX RT 和 LPC 系列)提供了现成的软硬件示例,并将 LVGL 示例集成到 MCUXpresso SDK。这些示例包含不同场景下的量化基准指标。然而,由于软硬件配置和规格存在差异,实际性能可能会显著不同,通常需要针对具体场景进行调优。 本文档基于 i.MX RT1170 平台的实际经验,旨在帮助 NXP 用户快速掌握并应用合适的优化策略,以提升 LVGL 应用性能。 @Smartling Language Service   4. 结论 本文档对 NXP 官方 LVGL 基准测试示例进行了逐步优化,并在 CPU 使用率、FPS、渲染时间和刷新时间方面进行了量化提升。以Widgets 演示为例: CPU使用率从96%→12%下降 FPS 从 2 提升至 59 这些优化技术(不仅限于 LVGL)广泛适用于 i.MX RT 平台上的系统级性能调优。
View full article
AUT-N1798 統合型 MagniV ソリューションによるアプリケーションの小型化 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> シングルダイ・ソリューションを備えた統合型ミックスド・シグナル・マイクロコントローラにより、システム設計を簡素化し、市場投入までの時間を短縮します。この講義では、NXP MagniVポートフォリオの概要を説明し、アプリケーションを縮小するためのソリューションを提供します。 ビデオプレゼンテーションを見る <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> シングルダイ・ソリューションを備えた統合型ミックスド・シグナル・マイクロコントローラにより、システム設計を簡素化し、市場投入までの時間を短縮します。この講義では、NXP MagniVポートフォリオの概要を説明し、アプリケーションを縮小するためのソリューションを提供します。 ビデオプレゼンテーションを見る
View full article
使用 J-Link 与 MIMXRT1170-EVKB 注意:有关类似的 EVK,请参阅: 使用 J-Link 与 MIMXRT1060-EVKB 或 MIMXRT1040-EVK 使用 J-Link 与 MIMXRT1060-EVK 或 MIMXRT1064-EVK 使用 J-Link 与 MIMXRT1160-EVK 或 MIMXRT1170-EVK 本文介绍了在该 EVK 上使用 J-Link 调试探针的详细方法。有两种方式:将板载 MCU-Link 调试探针更新为 Segger J-Link 固件,或将外部 J-Link 调试探针连接到 EVK。使用板载调试电路可免去对额外调试探针的需求。本文将详细介绍上述任一 J-Link 方式的使用步骤。 MIMXRT1170-EVKB jumper locationsMIMXRT1170-EVKB 跳线位置 使用外部 J-Link 调试探针 Segger 提供多种J-Link 探针选项。要使用这些探针配合这些 EVK,请按以下配置设置 EVK: 在JP5上安装一个跳线,以断开 SWD 信号与板载调试电路的连接。默认情况下,此跳线处于断开状态。 为EVK供电:默认选项是将电源连接到桶形插孔J43,并将电源开关SW5设置为开启位置 (3-6)。当EVK正常供电时,SW5旁边的绿色LED D16将会亮起。 将 J-Link 探头连接到 J1,20 针双排 0.1 英寸排针。 使用板载 MCU-Link 搭配 J-Link 固件 安装 MCU-Link 安装程序以获取驱动程序和固件更新工具 断开 EVK 上的所有 USB 连接线 为EVK供电:默认选项是将电源连接到桶形插孔J43,并将电源开关SW5设置为开启位置 (3-6)。当EVK正常供电时,SW5旁边的绿色LED D16将会亮起。 在 JP3 处安装跳线以强制 MCU-Link 进入 ISP 模式 将 USB 电缆连接到 J86,连接到 MCU-Link 调试器 转到 MCU-Link 软件包安装中的脚本目录,并双击运行 program_JLINK.cmd (Windows) 或 program_JLINK (Linux/MacOS) 脚本。按照屏幕上的说明操作。在 Windows 中,此脚本通常安装在 C:\nxp\MCU-LINK_installer_3.122\scripts\program_JLINK.cmd。 拔下 J86 处的 USB 线缆 移除 JP3 处的跳线 将 USB 线缆重新连接到 J86。现在,MCU-Link 调试器应以 J-Link 模式启动。 移除跳线 JP5,以连接来自 MCU-Link 调试器的 SWD 信号。默认情况下,此跳线处于断开状态。
View full article
TPMS お客様向けの NDA を取得できますか? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXP様 私はNXPの代理店であるZLGのメンバーです。Anjia は現在バス TPMS を開発中であり、詳細な情報が必要です (FXTH871511DT1 REG #: R691261)。NDAの申請を手伝っていただけますか? Anjiaの情報は次のとおりです。 公司名(中文): 佛山市安驾科技有限公司 会社名:FoShan Angel Technology Co,.Ltd. 公司地址(中文):广东省佛山市南海区獅山镇北园中路王氏车灯西门装配车间2楼 住所:中国広東省仏山市南海区石山鎮北園中路王石ランプ西門組立工場2階 連絡先担当者:陈琼霓(Chen Qiongni) 職種: ソフトウェアエンジニア 電話:13727457848 企業メールボックス:chenqn@aj-cx.com プロジェクト: バスTPMS ありがとう! よろしくお願いします オーウェン 圧力センサ
View full article