Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
适用于 IMX8MM 的 OS02G10 MIPI CSI 摄像头传感器 大家好。 我从以下位置获取了 os02g10 的驱动程序: https://github.com/Shaggy013/kernel-5.10 我以补丁的形式添加了驱动程序。 我的设备树如下所示: csi1_bridge: csi1_bridge@32e20000 { compatible = "fsl,imx8mm-csi", "fsl,imx8mq-csi", "fsl,imx6s-csi"; reg = <0x32e20000 0x1000>; interrupts = ; clocks = <&clk IMX8MM_CLK_DISP_AXI_ROOT>, <&clk IMX8MM_CLK_CSI1_ROOT>, <&clk IMX8MM_CLK_DISP_APB_ROOT>; clock-names = "disp-axi", "csi_mclk", "disp_dcic"; power-domains = <&dispmix_pd>; status = "disabled"; }; mipi_csi_1: mipi_csi@32e30000 { compatible = "fsl,imx8mm-mipi-csi"; reg = <0x32e30000 0x1000>; interrupts = ; clock-frequency = <360000000>; clocks = <&clk IMX8MM_CLK_CSI1_CORE>, <&clk IMX8MM_CLK_CSI1_PHY_REF>, <&clk IMX8MM_CLK_DISP_AXI_ROOT>, <&clk IMX8MM_CLK_DISP_APB_ROOT>; clock-names = "mipi_clk", "phy_clk", "disp_axi", "disp_apb"; bus-width = <2>; resets = <&mipi_csi_resets>; power-domains = <&mipi_pd>; status = "disabled"; }; os02g10: os02g10@3c { compatible = "ovti,os02g10"; reg = <0x3c>; // spec (manual) says that I2c addres is 0x3d status = "okay"; pinctrl-names = "rockchip,camera_default", "rockchip,camera_sleep"; pinctrl-0 = <&pinctrl_csi_pwdn>, <&pinctrl_csi_rst>, <&pinctrl_mux_oe>; pinctrl-1 = <&pinctrl_csi_pwdn>, <&pinctrl_csi_rst>, <&pinctrl_mux_oe>; csi_id = <0>; pwdn-gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>; mux-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>; mclk = <24000000>; mclk_source = <0>; rockchip,camera-module-index = <1>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "OS02G10 camera"; rockchip,camera-module-lens-name = "1//2.9 inch 15*"; rockchip,camera-hdr-mode = <0>; // kernel-5.10\include\uapi\linux\rk-camera-module.h:307 (enum rkmodule_hdr_mode) mipi_csi; port { os02g10_ep: endpoint { remote-endpoint = <&mipi1_sensor_ep>; }; }; }; }; &csi1_bridge { fsl,mipi-mode; status = "okay"; port { csi1_ep: endpoint { remote-endpoint = <&csi1_mipi_ep>; }; }; }; &mipi_csi_1 { status = "okay"; port { #address-cells = <1>; #size-cells = <0>; mipi1_sensor_ep: endpoint@1 { reg = <1>; remote-endpoint = <&os02g10_ep>; data-lanes = <2>; csis-hs-settle = <13>; csis-clk-settle = <2>; csis-wclk; }; csi1_mipi_ep: endpoint@2 { reg = <2>; remote-endpoint = <&csi1_ep>; }; }; }; &clk { init-on-array = ; }; 我修改了相机驱动程序和 mxc_mipi-csi.c 的探测函数,mx6s-csi.c 之前我遇到过两次格式匹配错误,但我添加了 mx6s-csi { .name = "RAWRGB10 (SBGGR10)", .fourcc = V4L2_PIX_FMT_SBGGR10, .pixelformat = V4L2_PIX_FMT_SBGGR10, .mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, .bpp = 1, } 并添加到 mxc_mipi-csi.c { .code = MEDIA_BUS_FMT_SBGGR10_1X10, .fmt_reg = MIPI_CSIS_ISPCFG_FMT_RAW10, .data_alignment = 8, } v4l2 API 工作正常,没有错误。以下是我获取图片的命令 v4l2-ctl -d /dev/video0 --verbose --set-fmt-video=width=1920,height=1080,pixelformat=BG10 --stream-mmap --stream-count=1 --stream-to=bb001.raw 结果以及我的调试信息 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_s_power os02g10 3-003c: in function: os02g10_s_power os02g10 3-003c: in function: os02g10_runtime_resume os02g10 3-003c: in function: __os02g10_power_on os02g10 3-003c: OS02G10_REG_SOFTWARE_RESET mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_clk_enable mxc_mipi-csi 32e30000.mipi_csi: enable mipi_clk returns: 0 mxc_mipi-csi 32e30000.mipi_csi: enable phy_clk returns: 0 mxc_mipi-csi 32e30000.mipi_csi: enable disp_axi returns: 0 mxc_mipi-csi 32e30000.mipi_csi: enable disp_apb returns: 0 VIDIOC_QUERYCAP: ok VIDIOC_G_FMT: ok mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_enum_mbus_code os02g10 3-003c: in function: os02g10_enum_mbus_code mxc_mipi-csi 32e30000.mipi_csi: camera sensor format (media-bus-format.h): 0x3007 mxc_mipi-csi 32e30000.mipi_csi: supported format0 by mipi-csi driver: 0x2008 mxc_mipi-csi 32e30000.mipi_csi: supported format1 by mipi-csi driver: 0x2007 mxc_mipi-csi 32e30000.mipi_csi: supported format2 by mipi-csi driver: 0x3001 mxc_mipi-csi 32e30000.mipi_csi: supported format3 by mipi-csi driver: 0x3007 mx6s-csi 32e20000.csi1_bridge: in function: mx6s_vidioc_enum_fmt_vid_cap - format RAWRGB10 (SBGGR10) mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_fmt VIDIOC_S_FMT: ok Format Video Capture: Width/Height : 1920/1080 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_enum_mbus_code os02g10 3-003c: in function: os02g10_enum_mbus_code mxc_mipi-csi 32e30000.mipi_csi: camera sensor format (media-bus-format.h): 0x3007 mxc_mipi-csi 32e30000.mipi_csi: supported format0 by mipi-csi driver: 0x2008 mxc_mipi-csi 32e30000.mipi_csi: supported format1 by mipi-csi driver: 0x2007 mxc_mipi-csi 32e30000.mipi_csi: supported format2 by mipi-csi driver: 0x3001 mxc_mipi-csi 32e30000.mipi_csi: supported format3 by mipi-csi driver: 0x3007 mx6s-csi 32e20000.csi1_bridge: in function: mx6s_vidioc_enum_fmt_vid_cap - format RAWRGB10 (SBGGR10) Pixel Format : 'BG10' (10-bit Bayer BGBG/GRGR) Field : None Bytes per Line : 1920 Size Image : 2073600 Colorspace : sRGB Transfer Function : Default (maps to sRGB) YCbCr/HSV Encoding: ITU-R 601 Quantization : Full Range Flags: mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_s_stream mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_clear_counters mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_start_stream mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_sw_reset: REG CMN_CTRL 0x32E30004 = 0x00004000 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_params mxc_mipi-csi 32e30000.mipi_csi: in function: __mipi_csis_set_format mxc_mipi-csi.0: fmt: 0x3007, 1920 x 1080 mxc_mipi-csi 32e30000.mipi_csi: in function: __mipi_csis_set_format: REG ISPRESOL_CH0 0x32E30044 = 0x04380780 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_hsync_settle: REG DPHYCTRL 0x32E30024=0x0d800000 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_params: REG CMN_CTRL 0x32E30004 = 0x00004104 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_system_enable: REG CMN_CTRL 0x32E30004=0x00004105 VIDIOC_REQBUFS returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_system_enable: REG DPHYCTRL 0x32E30024=0x0d800007 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_enable_interrupts: REG CSIS_INTMSK 0x32E30010 = 0xf00fffff mxc_mipi-csi.0: --- mipi_csis_start_stream --- mxc_mipi-csi.0: 0x04 CMM CTRL : 0x00004105 mxc_mipi-csi.0: 0x08 CLK CTRL : 0x000f0000 mxc_mipi-csi.0: 0x10 INT MASK0: 0xf00fffff mxc_mipi-csi.0: 0x14 INT SRC0 : 0x00000000 mxc_mipi-csi.0: 0x18 INT MASK1: 0x00000000 mxc_mipi-csi.0: 0x1c INT SRC1 : 0x00000000 mxc_mipi-csi.0: 0x20 PHY STAT : 0x000000f1 mxc_mipi-csi.0: 0x24 PHY CTRL : 0x0d800007 mxc_mipi-csi.0: 0x30 PHY M/S-L: 0x000001f4 mxc_mipi-csi.0: 0x34 PHY M/S-H: 0x00000000 mxc_mipi-csi.0: 0x38 PHY S-CTL: 0x00000000 mxc_mipi-csi.0: 0x3C PHY S-CTH: 0x00000000 mxc_mipi-csi.0: 0x40 ISP CONF : 0x000000ac mxc_mipi-csi.0: 0x44 ISP RESOL: 0x04380780 mxc_mipi-csi.0: 0x48 ISP SYNC : 0x04380780 os02g10 3-003c: in function: os02g10_s_stream os02g10 3-003c: in function: __os02g10_start_stream os02g10 3-003c: in function: __os02g10_start_stream __v4l2_ctrl_handler_setup returns: 0 os02g10 3-003c: in function: os02g10_s_stream: unlock_and_return VIDIOC_STREAMON returned 0 (Success) 之后什么都不会发生,只有等待、等待,什么也不会发生。 我用20MHz示波器观察不到MIPI DATA和MIPI CLK线上的任何信号。(我知道带宽很低,但对于数据线路来说,任何变化都应该能被察觉,然而却一片寂静。) 我不确定clk节点是否正确,也许没有与mipi_csi时钟名称匹配的&clk节点。有人用过吗? 我能做些什么 ? i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: Camera sensor os02g10 MIPI CSI for IMX8MM 您好,您可以使用我们已向上游提交的 Linux 驱动程序。 我们已在基于 i.mx8mp 的 debix 平台上进行了测试。 这是我们的司机。 https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=263d0fa1d46ac1ae2eebc5a5490fec58233c69ad 这是我们的DT https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a4d0f0c88ae8185315afbc1eb68c978ed710f759 -- 鲁特维 SiliconSignals Re: Camera sensor os02g10 MIPI CSI for IMX8MM 我成功了。 .bpp必须等于 2 但主要问题出在硬件上。
記事全体を表示
Camera sensor os02g10 MIPI CSI for IMX8MM Hi all. I got the driver for os02g10 from: https://github.com/Shaggy013/kernel-5.10 I added driver as a patch. My DeviceTree looks that: csi1_bridge: csi1_bridge@32e20000 { compatible = "fsl,imx8mm-csi", "fsl,imx8mq-csi", "fsl,imx6s-csi"; reg = <0x32e20000 0x1000>; interrupts = ; clocks = <&clk IMX8MM_CLK_DISP_AXI_ROOT>, <&clk IMX8MM_CLK_CSI1_ROOT>, <&clk IMX8MM_CLK_DISP_APB_ROOT>; clock-names = "disp-axi", "csi_mclk", "disp_dcic"; power-domains = <&dispmix_pd>; status = "disabled"; }; mipi_csi_1: mipi_csi@32e30000 { compatible = "fsl,imx8mm-mipi-csi"; reg = <0x32e30000 0x1000>; interrupts = ; clock-frequency = <360000000>; clocks = <&clk IMX8MM_CLK_CSI1_CORE>, <&clk IMX8MM_CLK_CSI1_PHY_REF>, <&clk IMX8MM_CLK_DISP_AXI_ROOT>, <&clk IMX8MM_CLK_DISP_APB_ROOT>; clock-names = "mipi_clk", "phy_clk", "disp_axi", "disp_apb"; bus-width = <2>; resets = <&mipi_csi_resets>; power-domains = <&mipi_pd>; status = "disabled"; }; os02g10: os02g10@3c { compatible = "ovti,os02g10"; reg = <0x3c>; // spec (manual) says that I2c addres is 0x3d status = "okay"; pinctrl-names = "rockchip,camera_default", "rockchip,camera_sleep"; pinctrl-0 = <&pinctrl_csi_pwdn>, <&pinctrl_csi_rst>, <&pinctrl_mux_oe>; pinctrl-1 = <&pinctrl_csi_pwdn>, <&pinctrl_csi_rst>, <&pinctrl_mux_oe>; csi_id = <0>; pwdn-gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>; mux-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>; mclk = <24000000>; mclk_source = <0>; rockchip,camera-module-index = <1>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "OS02G10 camera"; rockchip,camera-module-lens-name = "1//2.9 inch 15*"; rockchip,camera-hdr-mode = <0>; // kernel-5.10\include\uapi\linux\rk-camera-module.h:307 (enum rkmodule_hdr_mode) mipi_csi; port { os02g10_ep: endpoint { remote-endpoint = <&mipi1_sensor_ep>; }; }; }; }; &csi1_bridge { fsl,mipi-mode; status = "okay"; port { csi1_ep: endpoint { remote-endpoint = <&csi1_mipi_ep>; }; }; }; &mipi_csi_1 { status = "okay"; port { #address-cells = <1>; #size-cells = <0>; mipi1_sensor_ep: endpoint@1 { reg = <1>; remote-endpoint = <&os02g10_ep>; data-lanes = <2>; csis-hs-settle = <13>; csis-clk-settle = <2>; csis-wclk; }; csi1_mipi_ep: endpoint@2 { reg = <2>; remote-endpoint = <&csi1_ep>; }; }; }; &clk { init-on-array = ; }; I modified probe function for camera driver and for mxc_mipi-csi.c, mx6s-csi.c Before I had 2 times format match error but I added to the mx6s-csi { .name = "RAWRGB10 (SBGGR10)", .fourcc = V4L2_PIX_FMT_SBGGR10, .pixelformat = V4L2_PIX_FMT_SBGGR10, .mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, .bpp = 1, } and added to mxc_mipi-csi.c { .code = MEDIA_BUS_FMT_SBGGR10_1X10, .fmt_reg = MIPI_CSIS_ISPCFG_FMT_RAW10, .data_alignment = 8, } and v4l2 API works, there is no error. Below my command to get picture v4l2-ctl -d /dev/video0 --verbose --set-fmt-video=width=1920,height=1080,pixelformat=BG10 --stream-mmap --stream-count=1 --stream-to=bb001.raw and the result with my debug messages mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_s_power os02g10 3-003c: in function: os02g10_s_power os02g10 3-003c: in function: os02g10_runtime_resume os02g10 3-003c: in function: __os02g10_power_on os02g10 3-003c: OS02G10_REG_SOFTWARE_RESET mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_clk_enable mxc_mipi-csi 32e30000.mipi_csi: enable mipi_clk returns: 0 mxc_mipi-csi 32e30000.mipi_csi: enable phy_clk returns: 0 mxc_mipi-csi 32e30000.mipi_csi: enable disp_axi returns: 0 mxc_mipi-csi 32e30000.mipi_csi: enable disp_apb returns: 0 VIDIOC_QUERYCAP: ok VIDIOC_G_FMT: ok mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_enum_mbus_code os02g10 3-003c: in function: os02g10_enum_mbus_code mxc_mipi-csi 32e30000.mipi_csi: camera sensor format (media-bus-format.h): 0x3007 mxc_mipi-csi 32e30000.mipi_csi: supported format0 by mipi-csi driver: 0x2008 mxc_mipi-csi 32e30000.mipi_csi: supported format1 by mipi-csi driver: 0x2007 mxc_mipi-csi 32e30000.mipi_csi: supported format2 by mipi-csi driver: 0x3001 mxc_mipi-csi 32e30000.mipi_csi: supported format3 by mipi-csi driver: 0x3007 mx6s-csi 32e20000.csi1_bridge: in function: mx6s_vidioc_enum_fmt_vid_cap - format RAWRGB10 (SBGGR10) mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_fmt VIDIOC_S_FMT: ok Format Video Capture: Width/Height : 1920/1080 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_enum_mbus_code os02g10 3-003c: in function: os02g10_enum_mbus_code mxc_mipi-csi 32e30000.mipi_csi: camera sensor format (media-bus-format.h): 0x3007 mxc_mipi-csi 32e30000.mipi_csi: supported format0 by mipi-csi driver: 0x2008 mxc_mipi-csi 32e30000.mipi_csi: supported format1 by mipi-csi driver: 0x2007 mxc_mipi-csi 32e30000.mipi_csi: supported format2 by mipi-csi driver: 0x3001 mxc_mipi-csi 32e30000.mipi_csi: supported format3 by mipi-csi driver: 0x3007 mx6s-csi 32e20000.csi1_bridge: in function: mx6s_vidioc_enum_fmt_vid_cap - format RAWRGB10 (SBGGR10) Pixel Format : 'BG10' (10-bit Bayer BGBG/GRGR) Field : None Bytes per Line : 1920 Size Image : 2073600 Colorspace : sRGB Transfer Function : Default (maps to sRGB) YCbCr/HSV Encoding: ITU-R 601 Quantization : Full Range Flags: mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_s_stream mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_clear_counters mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_start_stream mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_sw_reset: REG CMN_CTRL 0x32E30004 = 0x00004000 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_params mxc_mipi-csi 32e30000.mipi_csi: in function: __mipi_csis_set_format mxc_mipi-csi.0: fmt: 0x3007, 1920 x 1080 mxc_mipi-csi 32e30000.mipi_csi: in function: __mipi_csis_set_format: REG ISPRESOL_CH0 0x32E30044 = 0x04380780 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_hsync_settle: REG DPHYCTRL 0x32E30024=0x0d800000 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_set_params: REG CMN_CTRL 0x32E30004 = 0x00004104 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_system_enable: REG CMN_CTRL 0x32E30004=0x00004105 VIDIOC_REQBUFS returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QUERYBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) VIDIOC_QBUF returned 0 (Success) mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_system_enable: REG DPHYCTRL 0x32E30024=0x0d800007 mxc_mipi-csi 32e30000.mipi_csi: in function: mipi_csis_enable_interrupts: REG CSIS_INTMSK 0x32E30010 = 0xf00fffff mxc_mipi-csi.0: --- mipi_csis_start_stream --- mxc_mipi-csi.0: 0x04 CMM CTRL : 0x00004105 mxc_mipi-csi.0: 0x08 CLK CTRL : 0x000f0000 mxc_mipi-csi.0: 0x10 INT MASK0: 0xf00fffff mxc_mipi-csi.0: 0x14 INT SRC0 : 0x00000000 mxc_mipi-csi.0: 0x18 INT MASK1: 0x00000000 mxc_mipi-csi.0: 0x1c INT SRC1 : 0x00000000 mxc_mipi-csi.0: 0x20 PHY STAT : 0x000000f1 mxc_mipi-csi.0: 0x24 PHY CTRL : 0x0d800007 mxc_mipi-csi.0: 0x30 PHY M/S-L: 0x000001f4 mxc_mipi-csi.0: 0x34 PHY M/S-H: 0x00000000 mxc_mipi-csi.0: 0x38 PHY S-CTL: 0x00000000 mxc_mipi-csi.0: 0x3C PHY S-CTH: 0x00000000 mxc_mipi-csi.0: 0x40 ISP CONF : 0x000000ac mxc_mipi-csi.0: 0x44 ISP RESOL: 0x04380780 mxc_mipi-csi.0: 0x48 ISP SYNC : 0x04380780 os02g10 3-003c: in function: os02g10_s_stream os02g10 3-003c: in function: __os02g10_start_stream os02g10 3-003c: in function: __os02g10_start_stream __v4l2_ctrl_handler_setup returns: 0 os02g10 3-003c: in function: os02g10_s_stream: unlock_and_return VIDIOC_STREAMON returned 0 (Success) After that nothing is going to happen, just waiting and waiting and nothing. I can not observe any traffic on MIPI DATA and MIPI CLK lines by 20MHz oscilloscope. (I know the bandwidth is low but for data lines there should be anything seen - any change but there is completely silence)  Im not sure if clk node is correct and maybe there is no match &clk node with mipi_csi clocks by clock names. Has anyone experience with it? What can I do ? i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: Camera sensor os02g10 MIPI CSI for IMX8MM Hi, you can use our linux upstreamed driver,  we have tested this on i.mx8mp based debix platform.  Here is our driver  https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=263d0fa1d46ac1ae2eebc5a5490fec58233c69ad Here is our DT https://web.git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a4d0f0c88ae8185315afbc1eb68c978ed710f759 -- Rutvij  SiliconSignals Re: Camera sensor os02g10 MIPI CSI for IMX8MM I got it to work. .bpp has to be = 2 but main issue was with hardware
記事全体を表示
MFRC630 和 CLRC663 可以互换吗? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 目前我们的产品使用了两颗 CLRC663。它们的阻抗匹配度为 50 欧姆,因此无法利用 CLRC663 的“大电流”能力。展望未来,我们希望节省生产成本,只使用一个 CLRC663(因为它必须支持 14443 和 15693)和一个 MFRC630(第二个读卡器只需要 mifare)。 我已成功在两款产品上测试了我们自己的库,它们似乎都能正常工作,即使是“可变”的uid芯片类型也是如此。 出色地。所以这应该不是软件问题。我猜测MFRC630只是固件版本与CLRC630不同,所以才不支持ISO15693。 封装尺寸和引脚排列相同 我唯一想知道的就是匹配方面的问题。 与 mifare 匹配的 CLRC663 能否在不改变匹配网络的情况下,被即插即用的 MFRC630 取代? NFC 控制器解决方案 NFC 前端解决方案 Re: MFRC630 and CLRC663 Interchangeability? 我假设你已经找到了答案,但为了方便可能看到这条信息的人,这里有一份应用笔记( https://www.nxp.com/docs/en/application-note/AN11256.pdf ),其中指出无需进行任何更改。 我目前也在做一个使用 MFRC630 的项目,但为了开发,我使用的是 CLRC663,因为有相应的开发板。项目完成后,我将在此处发布一篇帖子,确认迁移是否像应用笔记中所说的那样顺利。 Re: MFRC630 and CLRC663 Interchangeability? 你好@jof , 是的,这些集成电路是“调谐”兼容的。虽然芯片相同,但MFRC660仅支持MIFARE技术(ISO 14443,A型),而CLRC663支持所有技术,包括A型、B型、ISO15693等。 BR 托马斯
記事全体を表示
The larger the CCLK for LPC1778 IAP programming, the slower the programming speed. Hello, when I was using the IAP mode of the LPC1778 to burn the program, I found that the larger the CCLK, the slower the burning process became. Most IAP instructions can accept the CCLK parameter, which is described in the manual as: Param3: CPU Clock Frequency (CCLK) in kHz. When debugging the LPC1778, I changed the default CCLK value of the driver from 12000 (12MHz) to 4000 (4MHz), and found that the burning speed actually increased. I tried several values and found that the larger the CCLK parameter, the slower the burning process. What could be the reason for this? What frequency does CCLK refer to? 回复: LPC1778 IAP烧录CCLK越大反而烧录越慢 Hi @BianHaopeng1 In the LPC1778/LPC178x documentation, CCLK refers to the ARM processor clock frequency / Main CPU clock, which is the core CPU clock. The IAP erase command explicitly requires the CPU Clock Frequency (CCLK) to be passed in kHz. The reason is most likely not that "a lower CCLK results in faster physical Flash writes," but rather that the IAP ROM routine treats the CCLK you pass in as the current CPU frequency to calculate the Flash erase/write timings/wait times. Therefore, if the actual CPU is still running at a higher frequency, and you only change the parameter passed to IAP from 12000 to 4000, IAP will generate a shorter latency/timing based on 4 MHz, resulting in faster burning; however, this means that an incorrect clock is being passed to IAP, and the reliability of Flash erase/write, temperature/voltage boundaries, and long-term stability are not guaranteed. The correct approach is to fill in the actual CPU clock speed at the time of the IAP call, in kHz, for the CCLK parameter. BR Harry Re: LPC1778 IAP烧录CCLK越大反而烧录越慢 On the LPC1778, CCLK means the actual CPU core clock frequency (in kHz), not the crystal/XTAL frequency. The IAP bootloader uses the CCLK parameter to calculate its internal timing, particularly for flash programming and UART communication. If the value you provide does not match the MCU’s real CPU clock—or if the clock is configured differently from what the IAP code expects—the timing calculations can become incorrect, causing slower programming or communication. Therefore, make sure the CCLK parameter exactly matches the CPU clock after PLL/divider configuration (e.g., 120 MHz should be specified as 120000 kHz, not 12000).
記事全体を表示
[SPSDK][i.MX95] nxpele 读取公共熔丝失败 您好, 我正在研究如何在 IMX95 19x19 EVK 板上启用安全启动。我已经使用 SPSDK 成功对我的镜像进行了签名。现在,在写入熔丝之前,我想使用 `nxpele` 读取它们,但我遇到了以下错误。 ``` $ nxpele -f mimx9596 -d uboot_serial -p /dev/ttyUSB2 read-common-熔丝 --index 136 SPSDK解析错误:SPSDK:响应中的消息大小无效:0x4 请查看调试日志文件:/home/user/.local/state/spsdk/3.11.0/log/debug.log 获取更多信息 ``` 日志中显示以下内容: ``` $ tail -60 /home/user/.local/state/spsdk/3.11.0/log/debug.log raise SPSDKParsingError(f"响应中的消息 SIZE 无效:{hex(size)}") spsdk.exceptions.SPSDKParsingError: SPSDK: 响应中的消息大小无效: 0x4 调试:spsdk:***************************************************(自启动以来已耗时 206 毫秒,spsdk_logger.py:212) DEBUG:spsdk:* SPSDK 调试日志记录已启动 2026-09-03 15:58:44 * (自启动以来耗时 207 毫秒,spsdk_logger.py:213) 调试信息:spsdk:* SPSDK 版本:3.11.0* (自启动以来耗时 207 毫秒,spsdk_logger.py:215) 调试信息:spsdk:* Python 版本:3.14.4* (自启动以来耗时 207 毫秒,spsdk_logger.py:216) 调试:spsdk:* 操作系统版本:Linux-6.12.95+deb13-amd64-x86_64-with-glibc2.43 * (自启动以来耗时 208 毫秒,spsdk_logger.py:217) DEBUG:spsdk:* 最后一条命令:['/usr/bin/../lib/spsdk/bin/nxpele', '-f', 'mimx9596', '-d', 'uboot_serial', '-p', '/dev/ttyUSB2', 'read-common-熔丝', '--index', '136'] * (自启动以来已过去 208 毫秒,spsdk_logger.py:218) 调试:spsdk:***************************************************(自启动以来已运行 208 毫秒,spsdk_logger.py:219) 跟踪:spsdk.uboot.uboot:Uboot写入 -> 无效(自开始以来已耗时 210 毫秒, __init__ .py:50) 调试:spsdk.uboot.uboot:Uboot读取直到 <- => (自启动以来已过去 210 毫秒,uboot.py:271) 调试:spsdk.uboot.uboot:正在检查如果串口控制台因发送无效命令而打开:“无效\r\n未知命令‘无效’ - 请尝试‘帮助’\r\nu-boot=>”(自启动以来 224 毫秒,uboot.py:209) 调试:spsdk.utils.database:当前数据库指纹哈希值:f0f0598d4e6ae6c755d693693f232e30537cfb3b(自启动以来耗时 226 毫秒,database.py:1967) 调试信息:spsdk.utils.database:已加载从缓存读取数据库:/tmp/spsdk-cache-1001/spsdk/3.11.0/db_data_25a661a55aac_3.11.0.cache(自启动以来耗时 226 毫秒,database.py:1976) 调试:spsdk.utils.misc:正在加载从 /usr/lib/spsdk/lib/python3.14/site-packages/spsdk/data/devices/mimx9596/database.yaml 读取文本文件(自启动以来耗时 226 毫秒,misc.py:312) 信息:spsdk.ele.ele_comm:ELE通信器在 mimx9596 中使用 92800000 地址处的 196608 B 大小的缓冲区,版本:最新目标。 调试:spsdk.ele.ele_comm:ELE消息 0x92800000 0x30000 0602971788000000 (自启动以来已过去 245 毫秒,ele_comm.py:502) 跟踪:spsdk.uboot.uboot:Uboot写入 -> ele_message 0x92800000 0x30000 0602971788000000 (自开始以来耗时 246 毫秒, __init__ .py:50) 调试:spsdk.uboot.uboot:Uboot读取直到 <- => (自启动以来 246 毫秒,uboot.py:271) 调试:spsdk.ele.ele_comm:原始ELE消息输出: ele_message 0x92800000 0x30000 0602971788000000 060497e1d60000000000000000000200u-boot=> (自启动以来 256 毫秒,ele_comm.py:422) 调试:spsdk.ele.ele_comm:已剥离输出:060497e1d600000000000000(自启动以来耗时 256 毫秒,ele_comm.py:460) 调试:spsdk.apps.utils.utils:SPSDK:响应中的消息大小无效:0x4(自启动以来耗时 257 毫秒,utils.py:182) 回溯(最近一次调用): 文件“/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/utils/utils.py”,第 172 行,包装纸 retval = function(*args, **kwargs) 文件“/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/nxpele.py”,在 safe_main 函数的第 2189 行 sys.exit(main()) # pylint: disable=no-value-for-parameter ~~~~^^ 文件“/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py”,第 1631 行,在__call__ 返回 self.main(*args,**kwargs) ~~~~~~~~~^^^^^^^^^^^^^^^^^ 文件“/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py”,第 1552 行,主线 rv = self.invoke(ctx) 文件“/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py”,第 2032 行,在 invoke 中 返回 _process_result(sub_ctx.command.invoke(sub_ctx)) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ 文件“/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py”,第 1415 行,在 invoke 中 返回 ctx.invoke(self.callback,**ctx.params) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py”,第 910 行,在 invoke 中 返回回调函数(*args, **kwargs) 文件“/usr/lib/spsdk/lib/python3.14/site-packages/click/decorators.py”,第 46 行,在 new_func 中 返回 f(get_current_context().obj, *args, **kwargs) 文件“/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/nxpele.py”,第 575 行,在 cmd_read_common_fuse 中 ele_read_common_fuse(handler, index) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ 文件“/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/nxpele.py”,第 588 行,在 ele_read_common_fuse 中 ele_handler.send_message(read_common_fuse_msg) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 文件“/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/ele/ele_comm.py”,第 519 行,在 send_message 函数中 msg.decode_response(response) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ 文件“/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/ele/ele_message.py”,第 1235 行,在 decode_response 中 super().decode_response(response) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ 文件“/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/ele/ele_message.py”,第 346 行,在 decode_response 中 raise SPSDKParsingError(f"响应中的消息 SIZE 无效:{hex(size)}") spsdk.exceptions.SPSDKParsingError: SPSDK: 响应中的消息大小无效: 0x4 ``` 注:我使用的是 `SPSDK 3.11.0` 我已在 SPSDK 的 GitHub 页面上创建了一个 issue: https://github.com/nxp-mcuxpresso/spsdk/issues/116#issue-5346231614 非常感谢您的帮助。 谢谢! BR, Re: [SPSDK][i.MX95] nxpele read-common-fuse fails 嗨joanxie 我使用的是 Linux 电路板支持包 版本 LF6.18.20_2.0.0 (yocto wrynose) 以下是 nxpele get-info 的输出结果 $ nxpele -f mimx9596 -d uboot_serial -p /dev/ttyUSB2 get-info ELE get info ends successfully: Command: 0xda Version: 4 Length: 256 SoC ID: SocId:Unknown_0x9590 - 0x9590 SoC version: B000 Life Cycle: OEM_OPEN - 0x0010 SSSM state: 4 Attest API version: 0 UUID: bc193865d65e45f193b55cc234303a0f SHA256 ROM PATCH: d5d2cdc98cb54b64bffb00687edcd994ebfdd762275a66a858d928ae2fcff494 SHA256 FW: 525f972dbb772acd9f461bfc148d29beb5dc2f2e9693ff1b9ace182a8ffd8131 Advanced information: OEM SRKH: 0000000000000000000000000000000000000000000000000000000000000000 CSAL state: EdgeLock secure enclave random context initialization succeed - 0x02 TRNG state: TRNG entropy is valid and ready to be read - 0x03 OEM PQC SRKH: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Re: [SPSDK][i.MX95] nxpele read-common-fuse fails 请问您执行此命令时使用的是哪个 EL 固件版本?让我再确认一下。 Re: [SPSDK][i.MX95] nxpele read-common-fuse fails 我重现了这个问题,并检查了内部数据库,确认这是一个已存在的问题,将在 spsdk 3.12.0 中修复。
記事全体を表示
S32K3x4EVB-T172 PIL通信エラー/タイムアウト(MBDT S32K3xx 1.4.0使用時) こんにちは、 MATLAB 2023a上で、MBDT S32K3xx (v1.4.0)を使用してPIL S32CTのサンプルを実行してみました。私のセットアップは、S32K3x4EVB-T172をオンボードのOpenSDAポートに接続しています。 試み1(OpenSDA COM): 生成されたターゲットモデルのフラッシュは成功しますが、PIL実行はすぐに以下のエラーで失敗します。 「通信チャネルが開かれませんでした」(添付のエラーメッセージのスクリーンショット参照) 試み2(外部USB2シリアルコンバータ) OpenSDAポートはフラッシュ用に繋いだままにしつつ、外部USB2SirealコネクタをJ44(1からTX、2からRX)に接続してPIL通信を行い、ハードウェア設定でCOMポートを更新しました。モデルは正常にフラッシュしますが、実行時にタイムアウトするとエラーがあります。 エラー:rtiostreamインターフェースからのデータ受信に10秒のタイムアウトが超過しました。この通信障害には複数の原因が考えられます。 あなたは以下のことをすべきです: (a) ターゲットハードウェア構成が正しいか、例えばバイトの順序が正しいかを確認します。 (b) ターゲットアプリケーションがターゲットハードウェア上で動作していることを確認。 (c) アプリケーションの実行時障害(例:例外で割り算、誤ったカスタムコード統合など)の可能性を考慮します。 注(c):実行時の失敗の原因を特定するために、シグナルハンドラとデバッグをサポートするSILの使用を検討してください。 解決策が見つからない場合は、rtw.connectivity.RtIOStreamHostCommunicatorのsetTimeoutRecvSecs方法を使ってタイムアウト値を増加させることを検討してください。   質問: 1.S32K3x4EVB-T172ボードはPIL用に外部USB2Serialコンバータが必要ですか?それとも内蔵のOpenSDAポート経由でPILを動かせますか? 2. 外部USB-シリアル変換が必要な場合、想定されるハードウェアUART構成は具体的にどのようなものですか? 3. 何か設定が抜けているのでしょうか? どんなアドバイスでも大変ありがたく思います! Re: S32K3x4EVB-T172 PIL Communication Error/ Timeout with MBDT S32K3xx 1.4.0 こんにちは、 @PruthviB さん、 さらに調査する前に、なぜ MBDT S32K3xx v1.4.0を使っているのか、もう少し詳しく教えていただけますか?最新のリリースはv1.8.0で、いくつかの修正と改善が含まれています。まずはバージョン1.8.0にアップグレードして、問題が再現するかどうかを確認することをお勧めします。 あなたの構成についてですが、S32K3X4EVB-T172のPIL通信には外部のUSB-シリアル変換器は必須ではありません。オンボードの OpenSDAインターフェースはすでにホスト-ターゲット通信に使われるターゲットUARTへのアクセスを提供しているため、同じUSB接続でプログラミングとPIL通信の両方に使用できます。 OpenSDAはUARTピンに直接アクセスできるため、追加のUSBからシリアルアダプターへの接続は一般的に不要であり、複数のシリアルインターフェースが同時に動作している場合には設定競合を引き起こすことさえあります。 以下のような例を試してみていただけますか: MBDT S32K3xx v1.8.0 オンボードのOpenSDA USB接続のみ ハードウェア設定で選択された、OpenSDAによって公開されるCOMポート よろしくお願いします、 ドラゴス Re: S32K3x4EVB-T172 PIL Communication Error/ Timeout with MBDT S32K3xx 1.4.0 やあ、 @dragostoma OpenSDAのオンボードインターフェースに関するご案内ありがとうございます。 バージョンに関しては、MBDT for BMSではMBDT v1.4.0が推奨バージョンでした。v1.4.0でのPILシミュレーションの実行についてのガイダンスを教えていただけますか? よろしくお願いいたします。 プルートヴィ Re: S32K3x4EVB-T172 PIL Communication Error/ Timeout with MBDT S32K3xx 1.4.0 こんにちは、 @PruthviB さん、 確かに、おっしゃる通りです。BMS Toolboxには、S32K3 Toolboxバージョン1.4.0が必要です。最初の議論ではBMSツールボックスについて言及されていなかったので、問題は古いバージョンのS32K3ツールボックスを使用していることに関連していると考えました。 バージョン1.4.0におけるPILシミュレーションに関しては、ワークフローに変更はありません。ツールボックスに付属する例モデルは、 LPUARTインスタンスを使用し、そのRXおよびTX信号がOpenSDAインターフェースを通じてルーティングされるように設定されています。専用の USBからシリアルコンバータを使用する場合は、別のLPUARTインスタンスを設定し、コネクテッドする受信および送信ピンを割り当てる必要があります。 要約すると: OpenSDAインターフェースの使用:ツールボックスに付属する例モデルは、追加の修正なしで動作するはずです。必要なLPUARTインスタンスと関連するRX/TXピンは既に設定済みです。 専用のUSBからシリアルコンバータを使用する場合:コンバーターは対象機器の特定のRXピンおよびTXピンに接続する必要があります。したがって、これらのピンは構成され、利用可能なLPUARTインスタンスにマッピングされる必要があり、それに伴いプロジェクト構成も更新する必要があります。 USB2Serialコンバーターを使用する際は、正しいCOMポートを使用し、J44のRXピンとTXピンが設定されているか確認してください。 どのように機能するか教えてください。 ドラゴス
記事全体を表示
Audifort Review: Does It Really Stop Tinnitus Overnight? Audifort Review: Does It Really Stop Tinnitus Overnight? If you are dealing with a non-stop ringing, buzzing, or clicking sound in your ears every single day, you know how desperate the search for relief can get. When looking for solutions online, you may come across aggressive advertisements for liquid dietary drops like Audifort that imply instant results or overnight relief from tinnitus. The short answer is no: Audifort does NOT stop tinnitus overnight. No oral supplement or natural drop can instantly cure chronic tinnitus or rebuild damaged auditory nerves in 24 hours. However, that does not mean the formula is useless. When evaluated realistically as a natural dietary supplement rather than a miracle cure, Audifort provides supportive nutrients that nourish inner ear blood vessels and calm overactive nerve signals over time. In this Audifort review, we look beyond the sales marketing to analyze how the drops actually work, its core ingredients, realistic expectation timelines, potential side effects, and how to avoid fake online listings.
記事全体を表示
i.MX95 Neutron:同じINT4 LLMで4問中1回答でNPU/CPUの不一致が発生します 概要 i.MX95 上で量子化された ONNX を 1 つ実行します。1 つは CPUExecutionProvider の下、もう 1 つは ニュートロン実行プロバイダー。2つの腕は同じ答えを出しません:2,466対 選択式問題では25.7%が異なる答えを返します(MMLUでは43.6%)。無料で 世代ごとに同じことが起こります - MMLU プロンプトでは、19 世代のうち 13 世代で 異なる回答の手紙。 これは言葉遣いの違いではありません。それはモデルが答える内容の違いです。一方、総合的なベンチマーク精度はわずか-1.8ポイントの変動にとどまった。 私たちは、Neutronランタイムが数値的に何をして生成するかを理解したいのです この大きさが予想されるかどうかも重要です。 設定 あなたの側で再現可能:モデルは表2からUG10166、量子化は 自分だけのレシピ、修正なし。 - ボード:i.MX95 19x19 EVK(IMX95LPD5EVK-19)、LPDDR5 - BSP: LF6.18.2_1.0.0、デバイスツリー imx95-19x19-evk-neutron.dtb - ランタイム:BSP + NeutronExecutionProviderからのONNX Runtime 1.22.0 - Neutron コンバータ:3.1.3 - モデル:meta-llama/Llama-3.2-1B-Instruct - 量子化:NXP/eiq-olive rev aae820e、 例/Llama3/llama3_2-1B_Spinquant_RTN_ONNX_4bits.json - 変換:convert_ort_models_to_neutron.py、CPU Armのモデルに適用されます。onnx - 環境: NEUTRON_CMA_512SLOTS=6 両方のArmは1つの量子化されたモデルから来ています。NPUアームはそのモデルを通過させるものです convert_ort_models_to_neutron.py。ソースのSHA-256を記録します - グラフ と 外部重み - 換算時に測定し、測定のたびに再確認します。 2回目の量子化実行や2回目のエクスポートはありません。 私たちが観察すること 1.4つの項目のうち1つは異なる回答が得られる。 MMLU、ARC-Challenge、PIQAからの2,466組のペアアイテム、0ショット、対数尤度でスコアリング 候補者の継続については、候補者ごとに1つのフォワード、生成なし、サンプリングなし。 各ベンチマークについて、ANSWER が変化した項目の割合、次に、 正確性が変更されました: - MMLU(4つの選択肢):回答変更率43.6%、正誤変更率27.1% - ARCチャレンジ(4つの選択肢):回答変更率21.3%、正誤変更率13.3% - PIQA(2つの選択肢):回答変更率9.4%、正誤変更率9.4% - 合計:回答変更率25.7%、正誤変更率17.3% 2つの数字が異なるのは、変更の3分の1(634件中208件)が1つの間違いから移動しているためです。 別の間違った答えへの答え - 正確さを失わせる真の行動の変化 手つかず。PIQAはバイナリであるため、そのような盲点はなく、2つの数値は一致する。 その通り。 2. 自由生成の場合も同様で、答え自体が変わります。 プロンプト数50、貪欲解読、トークン数64。MMLUプロンプトでは期待される出力が始まります 回答文字を含んで、その答えは世代から直接読み取ることができます (n = 19): - 両Arm間で異なる回答文字:19件中13件 - CPUで正解:19中7 - Neutronで正解:19題中6題 - 両Armが間違っていて、異なる誤答が出る意見の相違:13回中6回 回答の3分の2が変わったが、点数はほぼ同じだった(7対6)。 サンプル数は少ないので、ここでは例として報告します。上記の2,466項目の測定結果 これは定量的なものです。 以下に、一字一句そのままの例を示します。プロンプトには 4 つの選択肢がリストされており、文字を求められ、 期待される答えは 😧 CPU: " A\n説明: 式 9(9m + 3t) は 81m + 27t と同等です。 正解はAです。 NPU:「C\n正解はCです。」 どちらも間違っているが、その間違い方は異なり、それを記録できるベンチマークスコアは存在しない。 3. 乖離は累積ではなく、最初のフォワードで発生します。 このレター形式では、最初に生成されたトークンが答えであり、生成の 60% が 既に違いが生じているのは、デコードを行う前の、プリフィルパスのみで生成されたトークンである。 ステップ。50のプロンプトすべてにおいて、乖離曲線は急激に上昇した後、平坦化する。84%は トークン4、トークン64による98%。これが初期差分の伝播の様子です 貪欲なデコードの場合、KVキャッシュを通じてエラーが蓄積されることはありません。 4. 集計精度はそれらすべてを隠してしまう。 CPUは50.28%、Neutronは48.50%、-1.78ポイント差、そして 3つのベンチマークは個別に重要です。634項目に限定して 意見は異なっています。CPUは37.1%の確率で正しかったのに対し、Neutronは30.1%、235%の確率で正解です。 決定された項目のうち191、すなわち対称ノイズが50/50となる場合、55/45です。 除外したもの - サイレントCPUフォールバック: ORTプロファイリングレポートでは、80/80 MatMulNBitsが NeutronExecutionProvider、CPU使用率0。部分的な配置はできません。 - 2つの異なるモデル:同じソースファイル、グラフのSHA-256および外部重み コンバージョン時に記録され、得点前に再確認されました。 - サンプリング: 全体を通して貪欲なデコード。温度、トップk、トップpは使用しません。 - 異なる入力:両方のアームが同じアイテムファイルを同じ順序で消費します。 同じ固定シードです。 - 成果物のスコアリング:ボードはトークンごとの対数確率のみを捉えます;すべての決定 ロジックはホスト側でオフラインで動作し、両アームで同じように動作します。 - NPUのラン・トゥ・ランノイズ:同じNeutronセッション内で同じ項目を再生すること ビット同一の対数確率が得られます。NPUアームは再現可能であり、その不一致 それはCPUに対してであり、自分自身に対してではありません。 私たちの質問 これはニュートロンSのINT4経路に期待される挙動でしょうか?もしそうなら、どのようにすべきでしょうか NPU上でのLLM展開を検証し、集計ベンチマーク精度を明確に示します 表面に浮かび上がらない? 私たちは欠陥を想定しているわけではありません。浮動小数点CPUカーネルと 整数のNPU経路は通常であり、どのくらいの大きさを考えているのか知りたいです 通常、そしてどの基準でNEUTRONへのLLMポートを受け入れますか?もし 回答の4分の1が変わるのは期待内であり、それは私たちにとって有益なことです 知っていて、それを中心に設計する。 Re: i.MX95 Neutron: NPU/CPU discrepancy on one answer in four with the same INT4 LLM 迅速なご回答ありがとうございます! DS Re: i.MX95 Neutron: NPU/CPU discrepancy on one answer in four with the same INT4 LLM こんにちは、 @DamienSCHNEBELEN さん。 IMX95 NPUはmatmulしか動作できず、NPUでのLLMのパフォーマンスは実際には平均的なレベルです。したがって、あなたが観察した現象は予測可能な範囲内であり、NPU上でLLMモデルを動かすことは推奨しません。 B.R
記事全体を表示
i.MX RT1064 - PEmicro Connection Assistant Error and Boot Configuration Changing Unexpectedly Hi, I am using an i.MX RT1064 controller and debugging/flashing through the PEmicro Multilink interface in MCUXpresso IDE. Occasionally, I encounter the attached "PEmicro Connection Assistant" error while attempting to connect to the target. The issue appears to occur randomly; I have not identified any specific software activity, code change, or hardware event that consistently triggers it. What I have observed is that when this error occurs, the controller's boot configuration appears to have changed unexpectedly. In this state, I am unable to flash or debug the device. The only way I have been able to recover is by restoring the boot configuration to its original settings - Internal Flash Mode, after which flashing and debugging work normally again. A few additional details: MCU: i.MX RT1064 Debug Probe: PEmicro Multilink Universal Rev E IDE: MCUXpresso IDE Has anyone encountered a similar issue? I would appreciate any guidance on: What could cause the boot configuration to change unexpectedly. Whether there are known scenarios in which the debugger or application code could affect the boot configuration. Recommended methods to prevent this from happening. Can the boot configuration be changed through software without manual change I've attached a screenshot of the error message for reference. Thank you. i.MXRT 106x Re: i.MX RT1064 - PEmicro Connection Assistant Error and Boot Configuration Changing Unexpectedly Hi, Could you help me with the following questions? Are you using a custom board or the EVK? What version of the SDK and IDE are you using? Have you burned any fuses? You mentioned that you need to restore the boot configuration to internal flash mode—what boot configuration are you currently using? Best Regards, Pablo Re: i.MX RT1064 - PEmicro Connection Assistant Error and Boot Configuration Changing Unexpectedly I am using a custom board, but this issue was also observed on the EVK. SDK Version : 26.03.00 IDE Version : 25.6.136 We haven't burned any fuse. We usually use Internal Boot mode to flash our code and normal operation, but it causes some unexpected issues randomly, so we change it to Serial Download Mode, erase the flash and then change it back to Internal Boot mode before flashing code again. Please find attached image for boot configuration info. Re: i.MX RT1064 - PEmicro Connection Assistant Error and Boot Configuration Changing Unexpectedly Hi @Subhasri_S, The BOOT_MODE register is initialized by sampling the BOOT_MODE0 and BOOT_MODE1 inputs on the rising edge of POR_B. After these inputs are sampled, their subsequent state does not affect the contents of the internal BOOT_MODE register. If BT_FUSE_SEL = 0, the specific boot configuration parameters can be set using the GPIO pins instead of eFuses. Could you help me measure the BOOT_MODE and BT_CFG pins during reset when the issue occurs? Another possible conclusion for this issue is described in the following knowledge base article: Knowledge Base : RT board recovery for debugger connect issues "When the flash contains an app that is abnormal(access memory does not exist, memory is corrupted, misconfiguration of the clocks, etc.), it will cause the board to end up in an unknown state, then the debugger can’t take control over the core. But, when put the core in serial downloader mode, then it will put the core in a known state, this way, the debugger will be able to take control of the core. So, when meeting the debugger issues in the RT board, try to mass erase the external flash in serial download mode, then it will recover the board debugger to a normal situation." Best Regards, Pablo Re: i.MX RT1064 - PEmicro Connection Assistant Error and Boot Configuration Changing Unexpectedly Hi, please find the recorded BOOT_MODE and BOOT_CFG Pin values when the issue occurs.
記事全体を表示
minimal configuration to negotiate higher current limit on USB I have a device that can be powered over USB with an MCXN947 processor on it.  I don't currently have the USB configured, just pulling 5V.  However, I would like to raise the current limit which seems to default to 100mA. What's the minimal configuration I can do to raise the current limit?  In MCUXpresso config tools, I tried setting up USBFS.  It requires at least one interface, so I tried to set up DFU.  I managed to get things to build mostly, but the config tools generate a file timer_queue.c that defines a SysTick_Handler that conflicts with the FreeRTOS port.c SysTick_Handler. 1) Is there something better I can do to try to raise the current limit? 2) If setting up this DFU interface is as good as anything else, how should I resolve conflicts between autogenerated code and the FreeRTOS port? Re: minimal configuration to negotiate higher current limit on USB Hello @robert_hines  Yes, a USB device must declare its required power in the bMaxPower field during USB enumeration. To draw more than 100 mA, I recommend configuring your device as a USB HID or USB CDC device, as these are generally easier to implement than DFU.   Thank you.   BR Alice
記事全体を表示
最小配置即可协商更高的 USB 限流 我有一个可以通过USB供电的设备,它搭载了MCXN947处理器。我目前还没有配置USB,只是直接取5V电源。但是,我想提高限流,它的默认值似乎是 100mA。 我只需做哪些最少的配置就能提高限流?我在MCUXpresso配置工具中尝试设置USBFS。它至少需要一个接口,所以我尝试设置DFU模式。大部分东西都编译成功了,但是配置工具生成了一个名为 timer_queue.c 的文件。它定义了一个与 FreeRTOS port.c 冲突的 SysTick_Handler。SysTick_Handler。 1)我还能做些什么来提高限流? 2) 如果设置此 DFU 接口与其他方法一样好,我应该如何解决自动生成的代码和 FreeRTOS 端口之间的冲突? Re: minimal configuration to negotiate higher current limit on USB 你好@robert_hines 是的,USB 设备必须在 USB 枚举期间在 bMaxPower 字段中声明其所需的功率。 如果要消耗超过 100 mA 的电流,我建议将设备配置为 USB HID 或 USB CDC 设备,因为这些通常比 DFU 更容易实现。   谢谢!   BR 爱丽丝
記事全体を表示
i.MX RT1064 - PEmicro Connection Assistant エラーおよび起動設定の予期しない変更 こんにちは、 i.MX RT1064コントローラーを使い、MCUXpresso IDEのPEmicro Multilinkインターフェースを通じてデバッグやフラッシュを行っています。 ターゲットへの接続を試みる際に、添付の「PEmicro Connection Assistant」エラーが発生することがあります。この問題はランダムに発生するようです。特定のソフトウェア活動、コード変更、ハードウェアイベント情報で継続的にトリガーされるものは特定していません。 私が観察したのは、このエラーが起こると、コントローラーの 起動設定が予期せず変更されているように見えることです。この状態では、デバイスのフラッシュやデバッグを行うことができません。唯一回復できた方法は、起動設定を元の設定(内部フラッシュモード)に戻すことで、その後はフラッシュやデバッグが正常に動作します。 追加情報: MCU:i.MX RT1064 デバッグプローブ: PEmicro Multilink Universal Rev E IDE:MCUXpresso IDE 同様の問題に遭遇した方はいらっしゃいますか? 以下の点についてご助言いただければ幸いです。 なぜ起動設定が予期せず変わるのでしょうか。 デバッガやアプリケーションコードがブート設定に影響を与える既知のシナリオがあるかどうか。 これを防ぐための推奨方法。 CAN 手動変更なしでソフトウェアで起動設定を変更することはできますか 参考までに、エラーメッセージのスクリーンショットを添付しました。 よろしくお願いします。 i.MXRT 106x Re: i.MX RT1064 - PEmicro Connection Assistant Error and Boot Configuration Changing Unexpectedly こんにちは、 以下の質問に答えてもらえますか? カスタムボードを使用していますか、それともEVKを使用していますか? SDKとIDEのバージョンは何を使っていますか? ヒューズを焼いてしまったことはありますか? 起動設定を内部フラッシュモードに復元する必要があるとおっしゃっていましたが、現在どのブート設定を使っていますか? よろしくお願いします、 パブロ Re: i.MX RT1064 - PEmicro Connection Assistant Error and Boot Configuration Changing Unexpectedly 私はカスタムボードを使用していますが、この問題はEVKでも確認されています。 SDK バージョン : 26.03.00 IDEバージョン:25.6.136 ヒューズは一つも切っていない。 通常は内部ブートモードでコードをフラッシュし、通常の動作をしますが、予期せぬ問題がランダムに起こるため、シリアルダウンロードモードに変え、フラッシュを消去してから再び内部ブートモードに戻してから再度コードをフラッシュします。 ブート設定情報については、添付画像をご覧ください。 Re: i.MX RT1064 - PEmicro Connection Assistant Error and Boot Configuration Changing Unexpectedly こんにちは、 @Subhasri_S さん。 BOOT_MODEレジスタは、POR_Bの立ち上がりエッジでBOOT_MODE0とBOOT_MODE1の入力をサンプリングすることによって初期化されます。これらの入力がサンプリングされた後、その後の状態は内部のBOOT_MODEレジスタの内容に影響を与えません。 BT_FUSE_SEL = 0の場合、特定のブート設定パラメータはeFuseの代わりにGPIOピンで設定できます。 問題が起きたときにリセット時にBOOT_MODEとBT_CFGピンの測定を手伝ってもらえますか? この問題に関する別の可能性のある結論については、以下のナレッジベース記事に記載されています。 ナレッジベース:デバッガー接続の問題に対するRTボードの復旧 「フラッシュに異常なアプリ(アクセスメモリが存在しない、メモリが破損している、クロックの誤設定など)が含まれていると、ボードが未知の状態に陥り、デバッガがコアを制御できなくなります。しかし、コアをシリアルダウンローダーモードにすると、コアは既知の状態になり、デバッガーがコアを制御できるようになります。 SO、RTボードでデバッガの問題が発生した場合は、シリアルダウンロードモードで外部フラッシュを一括消去してみてください。そうすればボードデバッガは通常の状態に復元されます。」 よろしくお願いします、 パブロ Re: i.MX RT1064 - PEmicro Connection Assistant Error and Boot Configuration Changing Unexpectedly こんにちは。問題が発生した際に記録されたBOOT_MODEとBOOT_CFGのピン値を確認してください。
記事全体を表示
关于 HSE FW 2.40.0 和 2.55.0 中 GCM IV 长度支撑的问题 你好, 我有一个关于 S32K358 上 HSE 的 GCM 操作的问题。 在 HSE 服务 API 参考手册的 AEAD 服务描述中,HSE FW 2.40.0 和 2.55.0 都对 GCM 进行了如下规定: GCM: 1 <= ivLength <= 2^32-1。建议大小为 12 字节或更大。 但是,HSE FW 2.40.0 手册包含以下附加说明,而 HSE FW 2.55.0 手册中没有此说明: 在 GCM 操作中,建议使用正好 12 字节的 IV 值。对于任何非 12 字节的 IV 大小,GCM 加密操作生成的认证标签可能不正确。在 GCM 解密操作中,身份验证检查可能会失败。 在此,我想澄清以下几点: 1. 当 IV 长度不是 12 字节时,HSE FW 2.40.0 中 GCM 操作能否正常使用? 2. 当使用 12 字节以外的 IV 长度时,HSE FW 2.40.0 和 2.55.0 在 GCM 操作方面是否存在行为差异? 3. 当使用 12 字节以外的 IV 长度时,HSE FW 2.40.0 和 2.55.0 的 GCM 操作可靠性是否存在差异? 在我们的测试中,即使 IV 长度不是 12 字节,GCM 加密和解密也能成功执行,并且认证结果也正确。 因此,我想确认 HSE FW 2.40.0 是否完全支持使用 12 字节以外的 IV 长度,以及在这种情况下与使用 HSE FW 2.55.0 相比是否存在任何功能差异。 谢谢你的解释。 Re: Question about GCM IV Length Support in HSE FW 2.40.0 and 2.55.0 嗨@wodudwo 从技术上讲,ivLength 可以配置为不同的长度;但是,不建议这样做,因为不能保证其行为可靠。正如您正确指出的那样,文档中说明,对于 GCM 解密操作,当使用 12 字节以外的 IV 长度时,身份验证检查可能会失败。 虽然使用不同长度的静脉输液管进行的测试可能通过了,但这并不能保证手术一定会成功。换句话说,某个测试用例的成功结果不应被解释为表明该配置完全受支持或在所有情况下都能稳定运行。 此外,如果您查看这两个固件版本的发行说明,您会发现限制列表包含相同的建议:使用正好为 12 字节的 IV 值。 虽然从 HSE 固件 2.55.0 版本开始,HSE 服务 API 参考手册中已删除该注释,但限制本身仍然存在。 BR,VaneB
記事全体を表示
GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only Board/BSP: i.MX8M Plus, aarch64 Galcore version 6.4.11.p2.745085 ONNX Runtime with VSINPUExecutionProvider (statically linked against libtim-vx.so) Vivante OpenCL ICD present and functional (Vivante.icd → libVivanteOpenCL.so) Goal: Run ResNet50 inference benchmarks (MLPerf loadgen harness) on the GC7000UL 3D GPU core specifically, as a comparison point against existing NPU (VIP8000Nano) and CPU benchmark results already collected. What's confirmed working: clGetPlatformIDs/clGetDeviceIDs via the Vivante OpenCL ICD cleanly enumerates two independent devices under one platform: Device 0: GC7000UL.6204.0000 Device 1: VIP8000Nano-S+I.8002.0000 Both report CL_DEVICE_TYPE_ACCELERATOR, no errors, confirmed via a minimal C test program linked against libOpenCL.so → libGAL.so. What's blocking GPU dispatch via ORT: ort.get_available_providers() returns only ['VSINPUExecutionProvider', 'CPUExecutionProvider'] — no OpenCL-based EP. VSINPUExecutionProvider is statically linked to libtim-vx.so (OVXLIB/vsi_nn_* API). Symbol/string dump of both libtim-vx.so and libGAL.so shows no DEVICE_INDEX/DEVICE_ID-style env var or config surface — only behavior toggles (VIV_VX_ENABLE_SHADER, VSI_NN_ENABLE_*, etc). libGAL.so does export gcoHAL_SetDeviceIndex/gcoHAL_GetCurrentDeviceIndex at the raw HAL layer, but there's no visible plumbing from OVXLIB/TIM-VX down to that call which is  suggesting the graph compiler used by VSINPU may be hardcoded to target the NPU core only, regardless of device index. Specific question: Does TIM-VX / OVXLIB on this BSP (galcore 6.4.11.p2) support compiling and dispatching a graph to the GC7000UL as a general-compute target, or is the graph compiler NPU-only by design in this build, and how can I verify if it is possible to run it that way ?  If GPU-target graph compilation is supported upstream in TIM-VX but not enabled in this NXP-shipped build, is there a build flag / SDK component that exposes it? If there is no supported path through TIM-VX/ORT, is there an NXP-recommended way to run generic  inference on the GC7000UL directly (e.g. via the OpenCL/OpenVX layer, since that portion of the stack is confirmed functional) ,  a sample app, SDK component, or reference implementation we should be building against instead? as a currently a student, and trying to work on this implementation and running an ORT on TOP of the GPU, is there any way, or any other way to be able use the GPU for inference ?  Thank you very much  IMX8MPLUS  #GC7000UL Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only HI @WaleedO, Thank you for contacting NXP Support. To run inference on the GPU, you should use the GPU delegate, which enables supported operations to be accelerated by the GPU instead of running entirely on the CPU. I recommend reviewing our Machine Learning User Guide to better understand the available execution backends, delegate configuration, supported frameworks, and example applications. The guide also includes step-by-step examples that can help you validate that the GPU delegate is being loaded correctly and that your model is executing as expected. If you encounter any issues during setup or execution, please share the model, BSP version, and the commands you are using, and I will be happy to assist further. Best regards, Alejandro Garcia Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only Hello @Chavira  Nice to meet you. After checking the documentation, the GPU delegate and the OpenCL path is used within  i.MX 95/952 GPU (Arm Mali G310). I am curently working on The IMX8MPLUS .  the imx8m Plus have this stack:  VX delegate ==> TIM-VX ==>  GPU/NPU (unified driver)  ==> I.MX 8 series NPU and GPU (GC7000,GC7000L, GC7000UL).  as per the documentation.  Currently, I am working with ONNX and ORT. When I run the execution, It is per default running on the NPU. Is there any way to use the OpenCL to work ont the IMX8MPLUS  GPU ? or if there is any manual override, or technique that I can implement, so that I can manually set the compilation toward either NPU or/And  GPU ?  Thank Your very much for your reply.  Kind regards,  IMX8MPLUS  #TIM-VX #VX-delegate Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only Hello, Yes there is still a possible path, but I would not try to force VSINPU Execution Provider to use the GC7000UL. Your results strongly suggest that the current NXP TIM-VX/OVXLIB build is wired primarily for the VIP8000 NPU. gcoHAL_SetDeviceIndex() in libGAL.so alone doesn't mean TIM-VX can redirect NN graphs to the GPU. First test TIM-VX/OpenVX directly, outside ONNX Runtime, with a small model. Check whether your specific OVXLIB exposes a GC7000UL/GPU NN target. Compare your NXP TIM-VX build with upstream TIM-VX, especially its multi-device/platform support. If TIM-VX cannot compile for GC7000UL, use the Vivante OpenCL/OpenVX stack directly for the GPU benchmark. For your MLPerf project, you don't necessarily need ORT for the GPU path. You can make a separate GC7000UL backend and connect it to the same LoadGen harness used for CPU/NPU. So I would structure it as: MLPerf LoadGen → ResNet50 GPU backend → OpenCL/OpenVX → GC7000UL rather than: MLPerf → ORT → VSINPU → somehow force GPU Best Regrad, fesaji
記事全体を表示
USBの電流制限を引き上げるための最小限の設定 USB経由で電源が供給できるデバイスがあり、MCXN947プロセッサを搭載しています。現在USBは設定しておらず、5V電源のみを供給しています。しかし、デフォルトで100mAに設定されている電流制限値を引き上げたいと考えています。 電流制限を上げるために最低限の設定は何でしょうか?MCUXpressoの設定ツールで、USBFSの設定を試みました。少なくとも1つのインターフェースが必要なので、DFUを設定してみました。なんとかほとんどのものはビルドできたのですが、設定ツールがtimer_queue.cというファイルを生成します。FreeRTOS port.c と競合する SysTick_Handler を定義するSysTick_Handler。 1) 電流制限を上げるためにもっと良い方法はありますか? 2) このDFUインターフェースの設定が他のどんな方法と同じくらい良い場合、自動生成コードとFreeRTOSポート間の競合はどう解決すればよいでしょうか? Re: minimal configuration to negotiate higher current limit on USB こんにちは、 @robert_hines さん。 はい、USBデバイスはUSB列挙時にbMaxPowerフィールドで必要な電力を宣言する必要があります。 100mAを超える電流を消費する場合は、デバイスをUSB HIDまたはUSB CDCデバイスとして構成することをお勧めします。これらは一般的にDFUよりも実装が容易です。   よろしくお願いします。   BR アリス
記事全体を表示
Question about GCM IV Length Support in HSE FW 2.40.0 and 2.55.0 Hello, I have a question regarding the GCM operation of the HSE on the S32K358. In the AEAD service description of the HSE Service API Reference Manual, both HSE FW 2.40.0 and 2.55.0 specify the following for GCM: GCM: 1 <= ivLength <= 2^32-1. Recommended 12 bytes or greater. However, the HSE FW 2.40.0 manual contains the following additional note, which is not present in the HSE FW 2.55.0 manual: In GCM operations, it is recommended to use IV values of exactly 12 bytes. For any IV size different from 12 bytes, the authentication tag generated by the GCM encryption operation might not be correct. In GCM decryption operations, the authentication check might fail. In this regard, I would like to clarify the following: 1. Can GCM operations be used normally in HSE FW 2.40.0 when the IV length is not 12 bytes? 2. Is there any behavioral difference in GCM operations between HSE FW 2.40.0 and 2.55.0 when using an IV length other than 12 bytes? 3. Is there any difference in the reliability of GCM operations between HSE FW 2.40.0 and 2.55.0 when using an IV length other than 12 bytes? In our tests, GCM encryption and decryption were performed successfully even when the IV length was not 12 bytes, and the authentication results were also correct. Therefore, I would like to confirm whether using an IV length other than 12 bytes is fully supported in HSE FW 2.40.0, and whether there is any functional difference compared to using HSE FW 2.55.0 in this case. Thank you for your clarification. Re: Question about GCM IV Length Support in HSE FW 2.40.0 and 2.55.0 Hi @wodudwo  Technically, ivLength can be configured with a different length; however, doing so is not recommended because the behavior is not guaranteed to be reliable. As you correctly pointed out, the documentation states that for GCM decryption operations, the authentication check may fail when IV lengths other than 12 bytes are used. While your test may have passed using a different IV length, this does not guarantee that the operation will always succeed. In other words, a successful result in a particular test case should not be interpreted as an indication that the configuration is fully supported or will work consistently in all scenarios.  Additionally, if you review the release notes for both firmware versions, you will find that the List of Limitations includes the same recommendation: use IV values of exactly 12 bytes. Although the note was removed from the HSE Service API Reference Manual starting with HSE FW 2.55.0, the limitation itself remains unchanged.  BR, VaneB
記事全体を表示
リファレンス ドキュメントの請求:S32DSにおけるCody ChatとのAIツール統合 親愛なるNXPコミュニティチームの皆様、 現在はS32 Design Studioを使っていて、IDEにあるCody Chat機能を使っています。 OpenAI、ChatGPT、Anthropic Claude のような外部AIモデルを S32 Design StudioのCody Chatセクションに 統合することが可能かどうか知りたい です。 私の要件は、S32DS内でAIアシスタントを直接使用して、次のような作業を行うことです。 C/C++コードの生成と解説 組み込みC言語開発 コンパイラとリンカーのエラーのデバッグ CAN、SPI、I2C、UART、ADCの開発 S32K3/S32K344の開発 現在のS32DSプロジェクトの状況を理解し、それに基づいて作業を行う 公式のSourcegraph Codyドキュメントでは、OpenAIとAnthropicの両方のモデルをサポートし、モデル設定やBring Your Own Key(BYOK)オプションが含まれていることがわかりました。 もう少し詳しく教えていただけますか: S32 Design Studioで使われているCody統合は、ChatGPT/OpenAIやClaudeなどの外部AIプロバイダーと接続可能でしょうか? Cody Chatのセクションで、これらのAIプロバイダ向けに独自のAPIキーを設定CANできますか? 公式のNXPドキュメント、S32DSのドキュメント、Codyのドキュメント、またはS32DSで外部AIモデルをCodyで構成・統合する方法を説明する例プロジェクトはありますか? もしこの機能が現在のS32DSバージョンで直接サポートされていない場合、Cody/Eclipseプラグインを外部のAIプロバイダーに拡張する公式な方法はありますか? S32DS版Codyの実装には、標準のSourcegraph版Codyの実装と比較して、何か制限事項はありますか? 参考までに、サポートされているLLMとモデル構成に関する以下のSourcegraphドキュメントを見つけました: 支援対象のLLM(法学修士)課程 コーディモデル構成 コーディモデルの構成例 これをS32DSで実装するための適切なNXP参照ドキュメントや推奨手順を教えていただけますか? 再開まで今しばらくお待ちください。 よろしくお願いします、 アラヴィンド・トガラリ Re: Request for Reference Documentation: Integrating Ai tools with Cody Chat in S32DS こんにちは、 外部利用用のドキュメント付きAIツールのリリースは9月26日に予定されています。
記事全体を表示
在 i.MX8M Plus 和 TIM-VX/VSINPU 上,GC7000UL 通用计算推理路径似乎仅支持 NPU。 板/电路板支持包。: i.MX8M Plus,aarch64 Galcore 版本 6.4.11.p2.745085 ONNX 运行时,带有 VSINPUExecutionProvider(静态链接到 libtim-vx.so) Vivante OpenCL ICD 已存在且功能正常(Vivante.icd → libVivanteOpenCL.so) 目标: 专门在 GC7000UL 3D GPU 核心上运行 ResNet50 推理基准测试(MLPerf loadgen 测试框架),以便与已收集的现有 NPU(VIP8000Nano)和 CPU 基准测试结果进行比较。 已确认有效的功能: 通过 Vivante OpenCL ICD 使用 clGetPlatformIDs/clGetDeviceIDs 可以清晰地枚举同一平台下的两个独立设备: 设备 0:GC7000UL.6204.0000 设备 1:VIP8000Nano-S+I.8002.0000 两者都报告 CL_DEVICE_TYPE_ACCELERATOR,没有错误,通过链接到 libOpenCL.so → libGAL.so 的最小 C 测试程序确认。 是什么阻碍了通过 ORT 进行 GPU 调度: ort.get_available_providers() 仅返回 ['VSINPUExecutionProvider', 'CPUExecutionProvider'] — 没有基于 OpenCL 的 EP。 VSINPUExecutionProvider 静态链接到 libtim-vx.so(OVXLIB/vsi_nn_* API)。libtim-vx.so 和 libGAL.so 的符号/字符串转储显示没有 DEVICE_INDEX/DEVICE_ID 风格的环境变量或配置表面——只有行为切换(VIV_VX_ENABLE_SHADER、VSI_NN_ENABLE_* 等)。 libGAL.so 确实在原始 HAL 层导出了 gcoHAL_SetDeviceIndex/gcoHAL_GetCurrentDeviceIndex,但是从 OVXLIB/TIM-VX 到该调用没有明显的管道,这表明 VSINPU 使用的图形编译器可能被硬编码为仅针对 NPU 核心,而不管设备索引如何。 具体问题: 此电路板支持包 (galcore 6.4.11.p2) 上的 TIM-VX / OVXLIB 是否支持将图编译并分发到 GC7000UL 作为通用计算目标?或者,此版本中的图编译器是否设计为仅限 NPU?我如何验证是否可以以这种方式运行它? 如果 TIM-VX 上游支持 GPU 目标图编译,但 NXP 提供的版本中未启用,是否有构建标志/SDK 元器件可以启用它? 如果无法通过 TIM-VX/ORT 获得支持,NXP 是否有推荐的方法可以直接在 GC7000UL 上运行通用推理(例如通过 OpenCL/OpenVX 层,因为该部分协议栈已被确认功能正常),或者是否有示例应用程序、SDK 组件或参考实现可供我们参考? 我目前是一名学生,正在尝试进行这项实现,并在 GPU 上运行 ORT,请问是否有任何方法或途径可以使用 GPU 进行推理? 非常感谢 IMX8MPLUS #GC7000UL Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only 嗨@WaleedO , 感谢您联系恩智浦技术支持。 要在 GPU 上运行推理,您应该使用 GPU 委托,它允许由 GPU 加速支持的操作,而不是完全在 CPU 上运行。 我建议您查看我们的机器学习用户指南,以便更好地了解可用的执行后端、委托配置、支持的框架和示例应用程序。该指南还包含逐步示例,可以帮助您验证 GPU 委托是否已正确加载以及您的模型是否按预期执行。 如果在安装或执行过程中遇到任何问题,请分享您的模型、BSP 版本以及您正在使用的命令,我将很乐意为您提供进一步的帮助。 此致, 亚历杭德罗·加西亚 Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only 你好@Chavira 很高兴见到你。 查阅文档后发现,GPU 委托和 OpenCL 路径是在 i.MX 95/952 GPU(Arm Mali G310)中使用。我目前正在研究IMX8MPLUS。IMX8M Plus 的架构如下:VX 代理 ==> TIM-VX ==> GPU/NPU(统一驱动程序) ==> I.MX 8 系列 NPU 和 GPU(GC7000、GC7000L、GC7000UL)。根据文件记载。 目前我正在使用 ONNX 和 ORT。当我运行该程序时,它默认在 NPU 上运行。是否有办法使用 OpenCL 在IMX8MPLUS GPU 上工作?或者是否有任何手动覆盖或我可以实现的技术,以便我可以手动将编译目标设置为 NPU 或/和 GPU? 非常感谢您的回复。 亲切的问候, IMX8MPLUS #TIM-VX #VX-delegate Re: GC7000UL general-compute inference path on i.MX8M Plus and TIM-VX/VSINPU appears NPU-only 你好, 是的,还有一条可能的途径,但我不会尝试强制 VSINPU 执行提供程序使用 GC7000UL。 您的结果强烈表明,当前的 NXP TIM-VX/OVXLIB 版本主要针对 VIP8000 NPU 进行了布线。libGAL.so 中的 gcoHAL_SetDeviceIndex() 函数本身并不能将 NN 图重定向到 GPU。 首先在 ONNX 运行时环境之外,使用小型模型直接测试 TIM-VX/OpenVX。 检查您的特定 OVXLIB 是否公开了 GC7000UL/GPU NN 目标。 将您的 NXP TIM-VX 版本与上游 TIM-VX 版本进行比较,特别是其多设备/平台支持。 如果 TIM-VX 无法为 GC7000UL 编译,则直接使用 Vivante OpenCL/OpenVX 堆栈进行 GPU 基准测试。 对于你的 MLPerf 项目,GPU 路径不一定需要 ORT。您可以创建一个单独的 GC7000UL 后端,并将其连接到用于 CPU/NPU 的同一 LoadGen 线束。 所以我会这样组织它: MLPerf 负载生成器 → ResNet50 GPU 后端 → OpenCL/OpenVX → GC7000UL 而不是: MLPerf → ORT → VSINPU → 以某种方式强制 GPU 致以最诚挚的问候, 费萨吉
記事全体を表示
[SPSDK][i.MX95] nxpele read-common-fuse が失敗する こんにちは、 私はIMX95 19x19 EVKボードでセキュアブートを有効にする作業に取り組んでいます。SPSDKを使用して画像に署名することに成功しました。さて、ヒューズを書き込む前に、`nxpele` を使用してそれらを読み取ろうとしたのですが、以下のエラーが発生します。 ``` $ NXPELE -f MIMx9596 -d uboot_serial -p /dev/ttyUSB2 read-common-fuse --index 136 SPSDKParsingError: SPSDK: レスポンスのメッセージSIZEが無効: 0x4 詳細はデバッグログファイル /home/user/.local/state/spsdk/3.11.0/log/debug.log を参照してください ``` ログには次のように記載されています。 ``` $ tail -60 /home/ユーザー/.local/state/spsdk/3.11.0/log/debug.log raise SPSDKParsingError(f"レスポンスのメッセージサイズが無効です: {hex(size)}") spsdk.exceptions.SPSDKParsingError: SPSDK: レスポンスのメッセージサイズが無効です: 0x4 DEBUG:spsdk:*************************************************** (開始から206ms、spsdk_logger.py:212) DEBUG:spsdk:* SPSDK デバッグログ記録開始 2026-09-03 15:58:44 * (開始から 207ms、spsdk_logger.py:213) DEBUG:spsdk:* SPSDK バージョン: 3.11.0* (開始から207ms、spsdk_logger.py:215) デバッグ:spsdk:* Python バージョン: 3.14.4* (開始から207ms、spsdk_logger.py:216) DEBUG:spsdk:* OS バージョン: Linux-6.12.95+deb13-amd64-x86_64-with-glibc2.43 * (開始から208ms、spsdk_logger.py:217) DEBUG:spsdk:* 最後のコマンド: ['/usr/bin/../lib/spsdk/bin/nxpele', '-f', 'mimx9596', '-d', 'uboot_serial', '-p', '/dev/ttyUSB2', 'read-common-fuse', '--index', '136'] * (開始から 208ms、spsdk_logger.py:218) DEBUG:spsdk:*************************************************** (開始から208ms、spsdk_logger.py:219) TRACE:spsdk.uboot.uboot:Uboot書き込み -> 無効 (開始から 210ms、 __init__ .py:50) デバッグ:spsdk.uboot.uboot:UbootREAD UNTIL <- => (開始から210ms、uboot.py:271) DEBUG:spsdk.uboot.uboot:チェック中無効なコマンドを送信してシリアルコンソールを開いた場合: "invalid\r\n不明なコマンド 'invalid' - 'help' を試してください\r\nu-boot=> " (開始から 224ms、uboot.py:209) デバッグ:spsdk.utils.database:現在データベースフィンガープリントハッシュ: f0f0598d4e6ae6c755d693693f232e30537cfb3b (開始から226ms、database.py:1967) デバッグ:spsdk.utils.database:ロード済みキャッシュからのデータベース: /tmp/spsdk-cache-1001/spsdk/3.11.0/db_data_25a661a55aac_3.11.0.cache (開始から226ms、database.py:1976) デバッグ:spsdk.utils.misc:読み込み中/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/data/devices/mimx9596/database.yaml からのテキストファイル (開始から 226ms、misc.py:312) INFO:spsdk.ele.ele_comm:ELEコミュニケーターは、mimx9596のアドレス92800000で196608 Bサイズのバッファを使用しています。リビジョン:最新ターゲット。 デバッグ:spsdk.ele.ele_comm:ELEmsg 0x92800000 0x30000 0602971788000000 (開始から245ms、ele_comm.py:502) TRACE:spsdk.uboot.uboot:Uboot書き込み -> ele_message 0x92800000 0x30000 0602971788000000 (開始から246ms、 __init__ .py:50) デバッグ:spsdk.uboot.uboot:UbootREAD UNTIL <- => (開始から246ms、uboot.py:271) デバッグ:spsdk.ele.ele_comm:RawELEメッセージ出力: ele_message 0x92800000 0x30000 0602971788000000 060497e1d600000000000000000000200u-boot=> (開始から256ms、ele_comm.py:422) DEBUG:spsdk.ele.ele_comm:Stripped出力: 060497e1d600000000000000 (開始から256ms、ele_comm.py:460) デバッグ:spsdk.apps.utils.utils:SPSDK:応答メッセージのサイズが無効です: 0x4 (開始から257ms、utils.py:182) トレースバック(最新の呼び出し): ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/utils/utils.py",172行目、ラッパー内 retval = function(*args, **kwargs) ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/nxpele.py",safe_main の 2189 行目 sys.exit(main()) # pylint: disable=no-value-for-parameter ~~~~^^ ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py",1631行目、 __call__ return self.main(*args,**kwargs) ~~~~~~~~~^^^^^^^^^^^^^^^^^ ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py",1552行目、メイン rv = self.invoke(ctx) ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py"、2032行目、invoke内 return _process_result(sub_ctx.command.invoke(sub_ctx)) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py",1415行目、invoke内 return ctx.invoke(self.callback,**ctx.params) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py",910行目、invoke内 return callback(*args, **kwargs) ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/decorators.py",46行目、new_func内 return f(get_current_context().obj, *args, **kwargs) ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/nxpele.py",575行目、cmd_read_common_fuse内 ele_read_common_fuse(handler, index) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/nxpele.py",588行目、ele_read_common_fuse内 ele_handler.send_message(read_common_fuse_msg) ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/ele/ele_comm.py",send_message 関数の 519 行目 msg.decode_response(response) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/ele/ele_message.py",decode_response の 1235 行目 super().decode_response(response) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/ele/ele_message.py",decode_response の 346 行目 raise SPSDKParsingError(f"レスポンスのメッセージサイズが無効です: {hex(size)}") spsdk.exceptions.SPSDKParsingError: SPSDK: レスポンスのメッセージサイズが無効です: 0x4 「`」 注:私は`SPDK 3.11.0`を使用しています。 SPSDKのGitHubページにも問題を報告しました。https://github.com/nxp-mcuxpresso/spsdk/issues/116#issue-5346231614 どんなご支援でも大変ありがたく思います。 ありがとうございました。 BR、 Re: [SPSDK][i.MX95] nxpele read-common-fuse fails こんにちは、ジョアンクシー 私はLinux BSPバージョンLF6.18.20_2.0.0(yocto wrynose)を使っています そして、これが nxpele get-info の出力です。 $ nxpele -f mimx9596 -d uboot_serial -p /dev/ttyUSB2 get-info ELE get info ends successfully: Command: 0xda Version: 4 Length: 256 SoC ID: SocId:Unknown_0x9590 - 0x9590 SoC version: B000 Life Cycle: OEM_OPEN - 0x0010 SSSM state: 4 Attest API version: 0 UUID: bc193865d65e45f193b55cc234303a0f SHA256 ROM PATCH: d5d2cdc98cb54b64bffb00687edcd994ebfdd762275a66a858d928ae2fcff494 SHA256 FW: 525f972dbb772acd9f461bfc148d29beb5dc2f2e9693ff1b9ace182a8ffd8131 Advanced information: OEM SRKH: 0000000000000000000000000000000000000000000000000000000000000000 CSAL state: EdgeLock secure enclave random context initialization succeed - 0x02 TRNG state: TRNG entropy is valid and ready to be read - 0x03 OEM PQC SRKH: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Re: [SPSDK][i.MX95] nxpele read-common-fuse fails このコマンドでどのELEのFWバージョンを使っているか教えてもらえますか?もう一度確認させてください Re: [SPSDK][i.MX95] nxpele read-common-fuse fails この問題を再現し、内部データベースを確認したところ、これは既知の問題であり、spsdk 3.12.0で修正される予定です。
記事全体を表示
88W8887 RF準拠試験 親愛なる、 私たちは88W8887チップセットをベースにしたWi-Fi/Bluetoothモジュールを使用しています。製品準拠のために、連続パケットの送信や受信モードなどのRFテストを行う必要があります。別のモジュール88W8997については、以下のアプリケーションノードAN14114をたどっています。しかし、アプリケーションノートには88W8887がサポートされているとは記載されていません。 アプリケーションノートにはmwifiexドライバを使用しています。コードを見る限り、88W8887はドライバーがサポートしているはずです。残念ながら、ドライバにはファームウェアファイルsd8887_wlan_a2.binが必要ですが、私たちは見つけることができませんでした。 88W8887でRFテストを行う推奨方法(ANに記載されているものと似ています)は何ですか?NXPはまだこのユースケースをサポートしていますか? 敬具 ヨシ Re: 88W8887 RF compliance testing こんにちは@shaun_wu 提供されたリンクにアクセスできません。アクセスを得るために自分の側で何かやるべきことはありますか? 敬具 ヨシ Re: 88W8887 RF compliance testing こんにちは、 @YoshiDev さん。 8887はrf_test_modeをサポートしていません。mfg_modeを使えばいい。以下のリンクを参照できる https://www.nxp.com/webapp/Download?colCode=88W8887-LABTOOL-USER-GUIDER0_1&appType=license よろしくお願いいたします。 ショーン Re: 88W8887 RF compliance testing こんにちは、 @YoshiDev さん。 この文書は機密情報です。NDAチームにチケットを提出してアクセス権を得ることもできます。 よろしくお願いいたします。 ショーン
記事全体を表示