Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
GD3160 SPI 配置 根据数据手册,如果我要配置 GD3160,需要先将 MODE_2 中的 CONFIG_EN 位设置为 1。既然如此,MODE_2 的第一位(Rb/W)应该是 0 还是 1? Re: GD3160 SPI 配置 了解后请看下面: 正确的解释确实是: 0 = 读取 1 = 写入   Re: GD3160 SPI 配置 是的,另外除了下图中说的 CONFIG1 to 7 registers, the MODE1 and 2 registers, the RMSK1 and RMSK2 registers, and the MSK1 and 2 registers ,这些寄存器的写受MODE_2的CONFIG_EN控制,其余寄存器只要bit23为1的情况就会进行配置吗? henh_0-1781578575329.png Re: GD3160 SPI 配置 guoweisun_0-1781578136768.png 你说的是bit23吗?
View full article
P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability I have old P1013NSE2MHB components on dev boards.  I want to work to under clock them to reduce the thermal load on the component and use the communication clock for PCIe and SPI standard from the P1013NSE2LFB component, It is what I am most familiar with. Essentially, I want to have the P1013NSE2MHB use the P1013NXE2LFB PLL clocking setup, i.e, CPU/CCB/DDR final clock rates of the P1013NSE2MHB to be 1067/533/533 MHz.  Based on the AN4343 Section 6 both components should be able to support the 1067/533/533 clock speeds.  The only concern that I have is that the CCB limit of the P1013NSE2MHB is supposedly 480MHz. I can find no reasoning for this besides that only CCB clocks 400 and 480 MHz can use the built in PLL settings to get to the maximum of 1200MHz. (See AN4343 Section 6.2.1 Table 16) I just want the CPU to have a core clock of 1067MHz.  Both the P1013NSE2MHB use the P1013NXE2LFB are from the exact same line and should share the same architecture, the improvement in the CPU maximum clock to 1200MHz should not prevent the previously implemented CCB architecture from being used to reach a lower CPU clock speed. Unless the CCB bus was redesigned, which would be a massive waste of resources, to support the new CPU even though it isn't radically different.  Thanks for any insights. QorIQ P1 Devices Re: P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability It seems the architecture may be different according to the data below, the CPU/CCB/DDR may not share the same trend CPU/CCB/DDR frequency (MHz) LF=1067/533/667    MH=1200/480/800 But this is old device so may need to check with NXP internal team for the explaination Re: P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability The T2080/T2081 are not the processors I am asking about. I am looking at the P1013/P1022 processors. Re: P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability Hello, Yes — the documentation supports your observation that CPU/core, platform/CCB, and DDR do not have to follow the same scaling trend on T2080/T2081, because they are generated by different PLL domains and the memory bus is explicitly dictated by its own PLL . Core and platform clocks are generated by different PLLs , and the T2080/T2081 clocking map exposes separate status/control points for core-cluster PLLs, the platform PLL, and the DDR PLL ( Clocking_PLLCnGSR , Clocking_PLLPGSR , Clocking_PLLDGSR ) The hardware specs also state directly that the memory bus clock speed is dictated by its own PLL. So the architectural explanation is: CPU/core frequency comes from the core cluster PLL(s) and may run at PLL/1, /2, or /4 depending on configuration. Platform/CCB frequency is a separate platform clock domain with its own allowed SYSCLK ratios. DDR frequency is separate again, and the memory bus clock is half the DDR data rate and is controlled by its own PLL That is why a non-monotonic-looking pair such as: LF = 1067 / 533 / 667 MH = 1200 / 480 / 800 is architecturally plausible in principle: the three domains are not required to rise and fall together. However, I could not find those exact two T2080 frequency triplets documented in the available T2080/T2081 material.   Regards
View full article
GD3160 SPI 構成 データシートによると、GD3160を設定するには、まずMODE_2のCONFIG_ENビットを1に設定する必要があります。その場合、MODE_2の最初のビットであるRb/Wは0であるべきか、それとも1であるべきか? Re: GD3160 SPI 配置 理解済み请次を参照: 正しい解釈は確かに次の通りです。 0 = 読み取り 1 = 書く   Re: GD3160 SPI 配置 はい、下の図に示されているCONFIG1~7レジスタ、MODE1およびMODE2レジスタ、RMSK1およびRMSK2レジスタ、MSK1およびMSK2レジスタ(これらの書き込みはMODE_2のCONFIG_ENによって制御されます)に加えて、ビット23が1である限り、他のレジスタも設定されますか? henh_0-1781578575329.png Re: GD3160 SPI 配置 guoweisun_0-1781578136768.png 23番目のビットのことですか?
View full article
S32K311におけるECUコア構成の明確化 こんにちは、 @danielmartynek さん、そしてチームの皆さん。 コア構成に関して質問が1つあります。S32K311(シングルコア)では、生成されたコードで以下のように定義されます。 DET_NO_ECU_CORES = 4 コア数 = 4 RAMの制約に直面しているため: これらを安全に1に減らすことは可能でしょうか? MCAL/DETに副作用はありますか? また、生成されたファイルを手動で編集するのではなく、NXPの設定ツールやその他の設定ツールでこれを設定する方法はありますか? よろしくお願いいたします。 ユスプ・カーンS32K3 S32DS-ARM S32K31XEVB-Q100 Re: ECU Core Configuration Clarification on S32K311 こんにちは、@yusupkhan241 さん。 RTDソフトウェア開発チームが提供したこちらの回答を参照してください。 https://community.nxp.com/t5/S32K/RTD-memory-occupation/td-p/2148479 このパラメータは設定ツールでは設定できず、現時点ではそのような機能をサポートする予定もありません。 よろしくお願いいたします。 ダニエル
View full article
无法通过主机接口(I2C)对 PN7642 进行烧录 你好 我正在尝试使用 LPC55S16 配套主板通过 i2C 在 PN7642 中刷新自定义固件。 我已经使用 Host Crypto Scripts (01.03) 生成了 esfwu 文件,将 C101 芯片的文件用作传输密钥(我们已经重新设计了 EVK 板来焊接新的 C101 芯片) PN7642通过主机接口更新用户固件的分步指南  自定义(不安全)更新因错误代码 0x01 而失败。  如果我刷入 NXP 固件(安全版),版本 03.00,就能正常工作。 我怀疑HostScript配置文件对某位客户的防火墙来说有问题。 我只是将其修改了一下,将 aes_key 从 C100 传输密钥改成了 C101 传输密钥。 能帮我一下吗? 此致, Re: Cannot flash a PN7642 with Host Interface (I2C) 你好@V_Palacio 对于 C101,您应该选择项目: KaiLi_0-1781878068922.png 要更新自定义固件,您应该将自定义固件放在正确的路径中,然后选择“6”。 Re: Cannot flash a PN7642 with Host Interface (I2C) 你好@V_Palacio 或者您能否将您的固件文件分享给我们,让我在我的网站上测试一下? Re: Cannot flash a PN7642 with Host Interface (I2C) 您好, 附件是我的固件文件。生成的文件名为esfwu,但为了方便上传,我已将其重命名。 我还附上了我的 toml 文件和原始的 .bin 文件。FW。 如果你们那边运行正常,请告诉我。 此致, Re: Cannot flash a PN7642 with Host Interface (I2C) 嗨@KaiLi , 我估计这不是问题所在,因为它连接正常,而且我通过 I2C 使用 LPC 更新 NXP 安全固件也没有遇到任何问题。 此致, Re: Cannot flash a PN7642 with Host Interface (I2C) 你好, 关于这个问题,大家有什么想法吗? 问候,
View full article
GD3160 SPI 配置 According to the data sheet, if I want to configure the GD3160, I need to first set the CONFIG_EN bit in MODE_2 to 1. In that case, should the first bit of MODE_2, Rb/W, be 0 or 1? Re: GD3160 SPI 配置 了解了请看下面: The correct interpretation is indeed: 0 = Read 1 = Write   Re: GD3160 SPI 配置 Yes, and in addition to the CONFIG1 through 7 registers, the MODE1 and 2 registers, the RMSK1 and RMSK2 registers, and the MSK1 and 2 registers shown in the figure below—writing to these registers is controlled by CONFIG_EN in MODE_2—will the remaining registers be configured whenever bit 23 is set to 1? henh_0-1781578575329.png Re: GD3160 SPI 配置 guoweisun_0-1781578136768.png Are you talking about bit23?
View full article
使用 OV5648 的 IMX8MP 在拍照时会锁定 你好我正在尝试将OV5648传感器添加到IMX8MP 上。以下是我的 dts 配置 ov5648_osc: camera-clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; clock-output-names = "ov5648_xvclk"; }; ... ov5648_0: cam_ov5648_0@36 { compatible = "ovti,ov5648"; reg = <0x36>; clocks = <&ov5648_osc>; clock-names = "xvclk"; powerdown-gpios = <&io_expander 1 GPIO_ACTIVE_LOW>; dovdd-supply = <&ov5648_0_dovdd>; dvdd-supply = <&ov5648_0_dvdd>; status = "okay"; csi_id = <0>; #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; ov5648_0_mipi_ep: endpoint { remote-endpoint = <&mipi_csi_0_in>; link-frequencies = /bits/ 64 <210000000 168000000>; data-lanes = <1 2>; clock-lanes = <0>; }; }; }; ... &mipi_csi_0 { status = "okay"; clock-frequency = <168000000>; port { mipi_csi_0_in: endpoint { remote-endpoint = <&ov5648_0_mipi_ep>; // imx8-mipi-csi2-sam.c doesn't care it's usually <1 2>... data-lanes = <2>; csis-hs-settle = <13>; csis-clk-settle = <2>; csis-wclk; }; }; }; ... &isi_0 { status = "okay"; cap_device { status = "okay"; }; m2m_device { status = "disabled"; }; }; 我正在尝试使用以下命令拍摄照片 v4l2-ctl -d /dev/video2 -v width=1280,height=720,pixelformat=YUYV --stream-mmap --stream-count=1 --stream-to=photo.raw 我还向 dmesg 中添加了一些调试输出。 [ 224.928864] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1107 [ 224.940895] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2472 on 1 [ 224.950246] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_resume:2434 [ 224.959057] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_power:1870 on 1 [ 225.004545] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_init:1797 [ 225.037496] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2480 ov5648_resume ret 0 [ 225.053146] input fmt RGB4 [ 225.055866] output fmt YUYV [ 225.058682] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1118 mxc_isi_config_parm ret 0 f[ 225.073740] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1124 vb2_ioctl_streamon ret 0 [ 225.087962] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:124 media_graph_walk_init ret 0 [ 225.102609] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_stream:2146 enable 1 [ 225.112697] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 ov5648 2-0036 ov5648 2-0036 [ 225.140978] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 mxc-mipi-csi2.0 mxc-mipi-csi2.0 [ 225.158893] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret -515 mxc_isi.0 mxc_isi.0 [ 225.175873] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1136 mxc_isi_pipeline_enable ret -515 [ 225.190760] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3145 info->func() ret 0 [ 225.200349] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3490 trace() [ 225.208805] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3515 in_compat_syscall() [ 225.218306] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3532 video_put_user() [ 225.227569] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3438 [ 225.235336] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3458 check_array_args() [ 225.244760] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3482 func() [ 225.253136] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3133 info->func() 该日志的末尾显示了 v4l 命令处于等待状态时,代码在何处被锁定。我还使用 strace 运行了该命令,结果如下: ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=2, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=3, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, fmt.pix_mp={width=1280, height=720, pixelformat=v4l2_fourcc('Y', 'U', 'Y', 'V') /* V4L2_PIX_FMT_YUYV */, field=V4L2_FIELD_NONE, colorspace=V4L2_COLORSPACE_SRGB, plane_fmt=[{sizeimage=1843200, bytesperline=2560}], num_planes=1}}) = 0 ioctl(3, VIDIOC_STREAMON, [V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE]) = 0 pselect6(4, NULL, NULL, [3], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) ioctl(3, VIDIOC_DQBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE 你可以看到它正在等待 VIDIOC_DQBUF。我确信相机能正确地从LP模式切换到HS模式。 看来 MIPI CSI 从未发出过数据已接收的信号。 我正在使用 linux-imx 内核中的 staging 驱动程序。 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: IMX8MP with OV5648 lock on taking photo 我发现,当我启动流时,CSI中断计数器会增加 25: 365486 0 0 0 GICv3 49 Level 32e40000.csi 26: 0 0 0 0 GICv3 48 Level 32e00000.isi 不过,ISI中断仍保持为0。 我还启用了mxc-mipi-csi2上的调试输出,看起来SOT上出现了错误。 [ 2231.150985] mxc-mipi-csi2.0: mipi_csis_s_stream: 1, state: 0x0 [ 2231.151200] mxc-mipi-csi2.0: mipi_csis_imx8mp_phy_reset: bus fmt is 8 bit! [ 2231.151240] mxc-mipi-csi2.0: fmt: 0x3001, 1280 x 720 [ 2231.151270] mxc-mipi-csi2.0: SOT Error: 1 [ 2231.151275] mxc-mipi-csi2.0: status: 00030000 [ 2231.151294] mxc-mipi-csi2.0: SOT Error: 2 [ 2231.151298] mxc-mipi-csi2.0: status: 00030000 [ 2231.151317] mxc-mipi-csi2.0: SOT Error: 3 [ 2231.151321] mxc-mipi-csi2.0: status: 00030000 [ 2231.151337] mxc-mipi-csi2.0: SOT Error: 4 [ 2231.151341] mxc-mipi-csi2.0: status: 00030000 [ 2231.151360] mxc-mipi-csi2.0: SOT Error: 5 [ 2231.151367] mxc-mipi-csi2.0: status: 00010000 [ 2231.151383] mxc-mipi-csi2.0: SOT Error: 6 [ 2231.151389] mxc-mipi-csi2.0: status: 00010000 [ 2231.151407] mxc-mipi-csi2.0: SOT Error: 7 [ 2231.151413] mxc-mipi-csi2.0: status: 00010000 [ 2231.151440] mxc-mipi-csi2.0: SOT Error: 8 [ 2231.151444] mxc-mipi-csi2.0: status: 00010000 Re: IMX8MP with OV5648 lock on taking photo 您需要根据所连接的摄像头模块的日期速率更新 dts 中的 csis-hs-settle 属性。更多详情请参阅应用笔记 AN13857,第 3.2.5 节。 https://www.nxp.com/webapp/Download?colCode=AN13857
View full article
IMX8MP with OV5648 lock on taking photo Hello. I'm trying to add OV5648 sensor to IMX8MP. Here is my dts setup ov5648_osc: camera-clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; clock-output-names = "ov5648_xvclk"; }; ... ov5648_0: cam_ov5648_0@36 { compatible = "ovti,ov5648"; reg = <0x36>; clocks = <&ov5648_osc>; clock-names = "xvclk"; powerdown-gpios = <&io_expander 1 GPIO_ACTIVE_LOW>; dovdd-supply = <&ov5648_0_dovdd>; dvdd-supply = <&ov5648_0_dvdd>; status = "okay"; csi_id = <0>; #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; ov5648_0_mipi_ep: endpoint { remote-endpoint = <&mipi_csi_0_in>; link-frequencies = /bits/ 64 <210000000 168000000>; data-lanes = <1 2>; clock-lanes = <0>; }; }; }; ... &mipi_csi_0 { status = "okay"; clock-frequency = <168000000>; port { mipi_csi_0_in: endpoint { remote-endpoint = <&ov5648_0_mipi_ep>; // imx8-mipi-csi2-sam.c doesn't care it's usually <1 2>... data-lanes = <2>; csis-hs-settle = <13>; csis-clk-settle = <2>; csis-wclk; }; }; }; ... &isi_0 { status = "okay"; cap_device { status = "okay"; }; m2m_device { status = "disabled"; }; }; I'm trying to take photo with following command v4l2-ctl -d /dev/video2 -v width=1280,height=720,pixelformat=YUYV --stream-mmap --stream-count=1 --stream-to=photo.raw I have also added some debug prints to dmesg. [ 224.928864] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1107 [ 224.940895] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2472 on 1 [ 224.950246] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_resume:2434 [ 224.959057] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_power:1870 on 1 [ 225.004545] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_init:1797 [ 225.037496] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2480 ov5648_resume ret 0 [ 225.053146] input fmt RGB4 [ 225.055866] output fmt YUYV [ 225.058682] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1118 mxc_isi_config_parm ret 0 f[ 225.073740] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1124 vb2_ioctl_streamon ret 0 [ 225.087962] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:124 media_graph_walk_init ret 0 [ 225.102609] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_stream:2146 enable 1 [ 225.112697] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 ov5648 2-0036 ov5648 2-0036 [ 225.140978] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 mxc-mipi-csi2.0 mxc-mipi-csi2.0 [ 225.158893] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret -515 mxc_isi.0 mxc_isi.0 [ 225.175873] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1136 mxc_isi_pipeline_enable ret -515 [ 225.190760] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3145 info->func() ret 0 [ 225.200349] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3490 trace() [ 225.208805] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3515 in_compat_syscall() [ 225.218306] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3532 video_put_user() [ 225.227569] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3438 [ 225.235336] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3458 check_array_args() [ 225.244760] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3482 func() [ 225.253136] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3133 info->func() End of this log shows where the code locks while v4l command waits on. I have also started the command with strace and I see: ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=2, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=3, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, fmt.pix_mp={width=1280, height=720, pixelformat=v4l2_fourcc('Y', 'U', 'Y', 'V') /* V4L2_PIX_FMT_YUYV */, field=V4L2_FIELD_NONE, colorspace=V4L2_COLORSPACE_SRGB, plane_fmt=[{sizeimage=1843200, bytesperline=2560}], num_planes=1}}) = 0 ioctl(3, VIDIOC_STREAMON, [V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE]) = 0 pselect6(4, NULL, NULL, [3], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) ioctl(3, VIDIOC_DQBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE You can see it waits on the VIDIOC_DQBUF. I'm sure camera transitions from the LP mode into HS mode correctly. Looks like the MIPI CSI never signals that the data has been received. I'm using staging drivers from linux-imx kernel. i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: IMX8MP with OV5648 lock on taking photo I'm seeing that the csi interrupt counter goes up when i start the stream 25: 365486 0 0 0 GICv3 49 Level 32e40000.csi 26: 0 0 0 0 GICv3 48 Level 32e00000.isi The ISI interrupts however stay at 0. I have also enabled debug prints on the mxc-mipi-csi2 and it looks like I'm getting errors on the SOT [ 2231.150985] mxc-mipi-csi2.0: mipi_csis_s_stream: 1, state: 0x0 [ 2231.151200] mxc-mipi-csi2.0: mipi_csis_imx8mp_phy_reset: bus fmt is 8 bit! [ 2231.151240] mxc-mipi-csi2.0: fmt: 0x3001, 1280 x 720 [ 2231.151270] mxc-mipi-csi2.0: SOT Error: 1 [ 2231.151275] mxc-mipi-csi2.0: status: 00030000 [ 2231.151294] mxc-mipi-csi2.0: SOT Error: 2 [ 2231.151298] mxc-mipi-csi2.0: status: 00030000 [ 2231.151317] mxc-mipi-csi2.0: SOT Error: 3 [ 2231.151321] mxc-mipi-csi2.0: status: 00030000 [ 2231.151337] mxc-mipi-csi2.0: SOT Error: 4 [ 2231.151341] mxc-mipi-csi2.0: status: 00030000 [ 2231.151360] mxc-mipi-csi2.0: SOT Error: 5 [ 2231.151367] mxc-mipi-csi2.0: status: 00010000 [ 2231.151383] mxc-mipi-csi2.0: SOT Error: 6 [ 2231.151389] mxc-mipi-csi2.0: status: 00010000 [ 2231.151407] mxc-mipi-csi2.0: SOT Error: 7 [ 2231.151413] mxc-mipi-csi2.0: status: 00010000 [ 2231.151440] mxc-mipi-csi2.0: SOT Error: 8 [ 2231.151444] mxc-mipi-csi2.0: status: 00010000 Re: IMX8MP with OV5648 lock on taking photo You need to update csis-hs-settle property in the dts according to the date rate of the connected camera module. More details can be found in the application note AN13857, section 3.2.5. https://www.nxp.com/webapp/Download?colCode=AN13857
View full article
IMX8MP、OV5648ロックオンで撮影 こんにちは。IMX8MPにOV5648センサーを追加しようとしています。これが私のDTS設定です ov5648_osc: camera-clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; clock-output-names = "ov5648_xvclk"; }; ... ov5648_0: cam_ov5648_0@36 { compatible = "ovti,ov5648"; reg = <0x36>; clocks = <&ov5648_osc>; clock-names = "xvclk"; powerdown-gpios = <&io_expander 1 GPIO_ACTIVE_LOW>; dovdd-supply = <&ov5648_0_dovdd>; dvdd-supply = <&ov5648_0_dvdd>; status = "okay"; csi_id = <0>; #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; ov5648_0_mipi_ep: endpoint { remote-endpoint = <&mipi_csi_0_in>; link-frequencies = /bits/ 64 <210000000 168000000>; data-lanes = <1 2>; clock-lanes = <0>; }; }; }; ... &mipi_csi_0 { status = "okay"; clock-frequency = <168000000>; port { mipi_csi_0_in: endpoint { remote-endpoint = <&ov5648_0_mipi_ep>; // imx8-mipi-csi2-sam.c doesn't care it's usually <1 2>... data-lanes = <2>; csis-hs-settle = <13>; csis-clk-settle = <2>; csis-wclk; }; }; }; ... &isi_0 { status = "okay"; cap_device { status = "okay"; }; m2m_device { status = "disabled"; }; }; 以下のコマンドで写真を撮ろうとしています v4l2-ctl -d /dev/video2 -v width=1280,height=720,pixelformat=YUYV --stream-mmap --stream-count=1 --stream-to=photo.raw dmesgにデバッグ用の出力もいくつか追加しました。 [ 224.928864] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1107 [ 224.940895] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2472 on 1 [ 224.950246] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_resume:2434 [ 224.959057] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_power:1870 on 1 [ 225.004545] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_init:1797 [ 225.037496] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2480 ov5648_resume ret 0 [ 225.053146] input fmt RGB4 [ 225.055866] output fmt YUYV [ 225.058682] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1118 mxc_isi_config_parm ret 0 f[ 225.073740] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1124 vb2_ioctl_streamon ret 0 [ 225.087962] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:124 media_graph_walk_init ret 0 [ 225.102609] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_stream:2146 enable 1 [ 225.112697] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 ov5648 2-0036 ov5648 2-0036 [ 225.140978] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 mxc-mipi-csi2.0 mxc-mipi-csi2.0 [ 225.158893] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret -515 mxc_isi.0 mxc_isi.0 [ 225.175873] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1136 mxc_isi_pipeline_enable ret -515 [ 225.190760] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3145 info->func() ret 0 [ 225.200349] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3490 trace() [ 225.208805] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3515 in_compat_syscall() [ 225.218306] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3532 video_put_user() [ 225.227569] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3438 [ 225.235336] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3458 check_array_args() [ 225.244760] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3482 func() [ 225.253136] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3133 info->func() このログの末尾には、v4l コマンドが待機している間にコードがロックされる箇所が示されています。straceコマンドも実行してみたところ、以下のようになりました。 ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=2, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=3, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, fmt.pix_mp={width=1280, height=720, pixelformat=v4l2_fourcc('Y', 'U', 'Y', 'V') /* V4L2_PIX_FMT_YUYV */, field=V4L2_FIELD_NONE, colorspace=V4L2_COLORSPACE_SRGB, plane_fmt=[{sizeimage=1843200, bytesperline=2560}], num_planes=1}}) = 0 ioctl(3, VIDIOC_STREAMON, [V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE]) = 0 pselect6(4, NULL, NULL, [3], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) ioctl(3, VIDIOC_DQBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE VIDIOC_DQBUFで待機していることがわかります。カメラがLPモードからHSモードに正しく切り替わることは間違いないと思います。 MIPI CSIは、データが受信されたことを決して通知しないようです。 私はlinux-imxカーネルのステージングドライバを使用しています。 i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: IMX8MP with OV5648 lock on taking photo ストリームを開始すると、CSI割り込みカウンタが上昇することがわかります。 25: 365486 0 0 0 GICv3 49 Level 32e40000.csi 26: 0 0 0 0 GICv3 48 Level 32e00000.isi しかし、ISI割り込みは0のままです。 mxc-mipi-csi2 のデバッグ出力も有効にしましたが、SOT でエラーが発生しているようです。 [ 2231.150985] mxc-mipi-csi2.0: mipi_csis_s_stream: 1, state: 0x0 [ 2231.151200] mxc-mipi-csi2.0: mipi_csis_imx8mp_phy_reset: bus fmt is 8 bit! [ 2231.151240] mxc-mipi-csi2.0: fmt: 0x3001, 1280 x 720 [ 2231.151270] mxc-mipi-csi2.0: SOT Error: 1 [ 2231.151275] mxc-mipi-csi2.0: status: 00030000 [ 2231.151294] mxc-mipi-csi2.0: SOT Error: 2 [ 2231.151298] mxc-mipi-csi2.0: status: 00030000 [ 2231.151317] mxc-mipi-csi2.0: SOT Error: 3 [ 2231.151321] mxc-mipi-csi2.0: status: 00030000 [ 2231.151337] mxc-mipi-csi2.0: SOT Error: 4 [ 2231.151341] mxc-mipi-csi2.0: status: 00030000 [ 2231.151360] mxc-mipi-csi2.0: SOT Error: 5 [ 2231.151367] mxc-mipi-csi2.0: status: 00010000 [ 2231.151383] mxc-mipi-csi2.0: SOT Error: 6 [ 2231.151389] mxc-mipi-csi2.0: status: 00010000 [ 2231.151407] mxc-mipi-csi2.0: SOT Error: 7 [ 2231.151413] mxc-mipi-csi2.0: status: 00010000 [ 2231.151440] mxc-mipi-csi2.0: SOT Error: 8 [ 2231.151444] mxc-mipi-csi2.0: status: 00010000 Re: IMX8MP with OV5648 lock on taking photo コネクテッドカメラモジュールの日付レートに応じてDTSのcsis-hs-settleプロパティを更新する必要があります。詳細はアプリケーションノートAN13857、セクション3.2.5に記載されています。 https://www.nxp.com/webapp/Download?colCode=AN13857
View full article
S32K312 迷你板不可用 S32K312 迷你板在 S32 设计工作室 3.6 的示例代码中不可用。我也已经安装了所有的驱动程序。请帮帮我。 Re: S32K312 mini board is not available 嗨,@Turtledove  根据您共享的屏幕截图,目前似乎没有安装任何软件包。 S32K3 设备的 RTD 可以从 S32K3 标准软件中下载,位于: 汽车软件-S32K3/S32M27x-Cortex-M 的实时驱动程序。下载完成后,可按照《如何使用 S32 Design Studio 3.6.0 下载、安装和配置 RTD 5.0.0》主题中描述的步骤进行安装。 关于 FRDM-A-S32K312 的示例,RTD 封装中目前没有专门针对该主板提供的示例。此外,在最新版本中,没有针对 S32K312 设备的专用示例。但是,您仍然可以使用其他 S32K3 衍生物的示例作为参考。 尽管 RTD 包中未提供示例,但应用程序代码中心提供了 FRDM-A-S32K312 的应用程序示例。你可以在那里搜索这个特定的设备,将显示所有可用的示例。   BR、VaneB
View full article
PN7462AU FreeRTOS: Unable to switch from heap_3 to heap_4, system stuck + heap usage visibility Hi Team, I am using the PN7462AU platform with FreeRTOS, and the SDK example is configured to use heap_3.c. I am facing memory overflow issues and would like to better understand the heap configuration. Since heap_3 uses the standard library's malloc()/free(), functions such as xPortGetFreeHeapSize() and heap statistics are not available. To gain visibility into heap usage and potentially increase the available heap, I tried switching from heap_3.c to heap_4.c by disabling heap_3.c and enabling heap_4.c. However, the application gets stuck during startup after making this change. I have the following questions: Is it safe and recommended to switch from heap_3 to heap_4 on PN7462AU? How can I determine the amount of memory currently available to heap_3? Since heap_3 does not support xPortGetFreeHeapSize(), what are the recommended methods to monitor heap usage and detect memory exhaustion? What additional configuration changes are required when migrating from heap_3 to heap_4 (e.g., configTOTAL_HEAP_SIZE, linker script changes, memory regions, etc.)? Any guidance or examples specific to PN7462AU and FreeRTOS would be appreciated. Thank you Core and Memory Re: PN7462AU FreeRTOS: Unable to switch from heap_3 to heap_4, system stuck + heap usage visibility Hello @uday_gowda, The NFC reader library offers examples that shows the implementation of FreeRTOS with the PN7462 that could be helpful. Also, I can recommend see the AN11784, it provides guidance on integrating an RTOS with the PN7462, that you can take by reference. MCUXpresso IDE also includes several debugging features for FreeRTOS based applications. In particular, the "Heap Usage view" can help you in this case. Additional details are available in the chapter 3.6 of MCUXpresso IDE 25.06 FreeRTOS Debug Guide. Finally, please take in mind that the PN7462 only have 12k of the SRAM. BR Habib
View full article
AM/FM tuner tef6686 application circuit needed I need AM/FM tuner tef6686 application circuit, could you give me, also could you give all related information, I am designing a circuit based on it -Thanks -Alok  Re: AM/FM tuner tef6686 application circuit needed Dear Ahmishra, I have a confidential TEF668XA datasheet with an example application circuit. This can be shared only under a valid NDA with NXP. Please create a new ticket here with your company email and also share your NDA number. If you do not have the NDA yet, and you would like to sign a new one, please create a new request for the NDA here and our representative for NDA matters will help you with the process.  With Best Regards, Jozef
View full article
MPC5647 Flash Inaccessibility We are using the MPC5647 device. Using Trace32, we programmed an application into the internal Flash memory area. Immediately after the programming process started (or just after it completed), the power to the target hardware was turned off. After this event, the Flash memory in the application area could no longer be accessed. When accessing the Flash through Trace32, the memory contents appear as either "????????" or "FFFFFFFF". We suspect that the power was removed before the Flash programming operation had completely finished. In this condition, the application Flash area becomes unusable, and the Flash can only be recovered by performing the factory recovery procedure described in AN4521_MPC56xx C90FL Flash Recovery.pdf. After executing the recovery procedure, the Flash becomes usable again. We would like to understand the following: What could cause this behavior? Why does an unexpected power-off during Flash programming result in the Flash block becoming inaccessible? Why is it not possible to simply reprogram the Flash? Why is the recovery/factory initialization procedure required before the Flash can be programmed again? Is this related to an invalid ECC state, an incomplete erase operation, or another internal Flash controller condition? Any detailed explanation regarding the internal Flash mechanism would be greatly appreciated. Re: MPC5647 Flash Inaccessibility Hello, After this event, the Flash memory in the application area could no longer be accessed. When accessing the Flash through Trace32, the memory contents appear as either "????????" or "FFFFFFFF". We suspect that the power was removed before the Flash programming operation had completely finished. That points to corrupted flash scenario. In this condition, the application Flash area becomes unusable, and the Flash can only be recovered by performing the factory recovery procedure described in AN4521_MPC56xx C90FL Flash Recovery.pdf. After executing the recovery procedure, the Flash becomes usable again. Definitely a flash corruption cause by power loss during programming. Flash is full of ECC faults that is why you see ????? in Trace. Why does an unexpected power-off during Flash programming result in the Flash block becoming inaccessible? Simply if you do not finish programming or erase you will have miss match in flash data with ECC syndrome. Why is the recovery/factory initialization procedure required before the Flash can be programmed again? Standard program command expects a clean erased block After interruption: controller sees invalid state → rejects commands So: erase/program sequence never starts correctly access may be blocked or return dummy data Is this related to an invalid ECC state, an incomplete erase operation, or another internal Flash controller condition? to ECC due to power loss. Best regards, Peter
View full article
S32K312 mini board is not available S32K312 mini board is not available in example code of S32 design studio 3.6.  I have installed all the drivers as well. Kindly help me out. Re: S32K312 mini board is not available Hi @Turtledove  Based on the screenshot you shared, it appears that no software packages are currently installed. The RTD for S32K3 devices can be downloaded from S32K3 Standard Software, under: Automotive SW - S32K3/S32M27x - Real-Time Drivers for Cortex-M. Once downloaded, it can be installed following the steps described in the thread How To Download, Install and Configure the RTD 5.0.0 with S32 Design Studio 3.6.0. Regarding examples for the FRDM-A-S32K312, there are currently no examples specifically provided for this board within the RTD package. Also, in the most recent release, there are no dedicated examples for the S32K312 device. However, you can still use examples from other S32K3 derivatives as a reference. Although examples are not provided within the RTD packages, application examples for the FRDM-A-S32K312 are available in the Application Code Hub. You can search for this specific device there, and all available examples will be displayed.   BR, VaneB
View full article
AM/FMチューナーtef6686アプリケーション回路が必要 AM/FMチューナーのTEF6686アプリケーション回路図が必要なのですが、提供していただけませんか?また、関連するすべての情報も提供していただけると助かります。それを基に回路を設計しています。 -ありがとう -アロック Re: AM/FM tuner tef6686 application circuit needed 親愛なるアミシュラ様、 私は、TEF668XAの機密データシートと、それに記載されているアプリケーション回路例を所有しています。これは、NXPとの有効な秘密保持契約(NDA)の下でのみ共有可能です。会社のメールアドレスを使用して、こちらから新規チケットを作成してください。また、NDA番号も併せてご共有ください。まだNDAをお持ちでない場合、または新規にNDAに署名をご希望の場合は、こちらからNDAの新規申請を作成してください。NDA担当者が手続きをサポートいたします。 敬具、 ヨゼフ
View full article
FRDM-MCXA156 “MCU-LINK”端口无法工作 你好。 我刚收到 FRDM-MCXA156。当我将USB线插入MCU-Link端口时,我的Windows 10系统没有任何反应。我已经检查了系统的设备管理器;没有显示任何新设备。 LED D12 和 D6 在闪烁;D7 亮着。 我已经安装了 LinkServer_26.5.59。 还有其他我可以做的事情吗? 谢谢。 蔡。 开发板 MCXA Re: FRDM-MCXA156 'MCU-LINK' port not work 你好@phantomgz, 感谢您的发帖。  请参照 UM12121 文档中“"”第 3.4 节的内容,更新 mcu-link 固件。使用固件更新工具" 更新 MCU-Link 固件: Celeste_Liu_0-1781605664353.png 建议您使用 Linkserver_26.3.123 中的最新脚本: Celeste_Liu_1-1781605748462.png 希望对您有帮助。 BR 塞莱斯特 Re: FRDM-MCXA156 'MCU-LINK' port not work 用于安装 3.3 MCU-Link 固件更新实用程序的 UM12121 FRDM-MCXA156 主板用户手册 UG10219 LinkServer 与 MCUXpresso IDE 的集成
View full article
FRDM-MCXA156 'MCU-LINK' port not work Hi. I just got FRDM-MCXA156. When I plug the USB cable into the MCU-Link port, my Windows 10 system doesn't have any response. I have checked the system's Device Manager;  there isn't any new device shown up.   LEDs D12 and D6 are blinking; D7 is on. I have installed LinkServer_26.5.59. does any other thing I can do? thx. Cai. Development Board MCXA Re: FRDM-MCXA156 'MCU-LINK' port not work Hello @phantomgz , Thanks for your post.  Please update the mcu-link firmware with referring to UM12121, section "3.4 Updating MCU-Link firmware using firmware update utility": Celeste_Liu_0-1781605664353.png I recommend you using the latest script in Linkserver_26.3.123: Celeste_Liu_1-1781605748462.png Hope it helps. BR Celeste Re: FRDM-MCXA156 'MCU-LINK' port not work UM12121 FRDM-MCXA156 Board User Manual for 3.3 MCU-Link firmware update utility installation UG10219 LinkServer Integration with MCUXpresso IDE
View full article
MPC5647 フラッシュへのアクセス不可 私たちはMPC5647というデバイスを使用しています。 Trace32を使用して、アプリケーションを内部フラッシュメモリ領域にプログラムしました。プログラミング処理が開始された直後(または完了した直後)、対象ハードウェアへの電源が切断された。 この事象発生後、アプリケーション領域のフラッシュメモリにアクセスできなくなった。Trace32 を介して Flash にアクセスすると、メモリの内容は「???????」または「FFFFFFFF」と表示されます。フラッシュメモリへのプログラミング処理が完全に完了する前に電源が切断されたのではないかと推測されます。 この状態では、アプリケーションフラッシュ領域は使用できなくなり、フラッシュはAN4521_MPC56xx C90FL Flash Recovery.pdfに記載されている工場出荷時復旧手順を実行することによってのみ復旧できます。復旧手順を実行すると、フラッシュメモリは再び使用可能になります。 私たちは以下の点について理解を深めたいと考えています。 この現象の原因は何でしょうか? フラッシュプログラミング中に予期せぬ電源オフが発生すると、なぜフラッシュブロックにアクセスできなくなるのでしょうか? なぜフラッシュメモリを単純に再プログラムすることができないのでしょうか? フラッシュメモリを再度プログラムする前に、リカバリ/工場出荷時設定への初期化手順が必要なのはなぜですか? これは、無効なECC状態、不完全な消去操作、またはその他の内部フラッシュコントローラの問題に関連していますか? 内部フラッシュ機構に関する詳細な説明をいただければ大変ありがたいです。 Re: MPC5647 Flash Inaccessibility こんにちは、 この事象発生後、アプリケーション領域のフラッシュメモリにアクセスできなくなった。Trace32 を介して Flash にアクセスすると、メモリの内容は「???????」または「FFFFFFFF」と表示されます。フラッシュメモリへのプログラミング処理が完全に完了する前に電源が切断されたのではないかと推測されます。 それはフラッシュメモリの破損を示唆している。 この状態では、アプリケーションフラッシュ領域は使用できなくなり、フラッシュはAN4521_MPC56xx C90FL Flash Recovery.pdfに記載されている工場出荷時復旧手順を実行することによってのみ復旧できます。復旧手順を実行すると、フラッシュメモリは再び使用可能になります。 間違いなく、プログラミング中の停電によってフラッシュメモリが破損した原因です。フラッシュメモリにはECC障害がたくさんあるため、トレースに「????」と表示されます。 フラッシュプログラミング中に予期せぬ電源オフが発生すると、なぜフラッシュブロックにアクセスできなくなるのでしょうか? 簡単に言うと、プログラミングや消去を完了しないと、フラッシュデータに不一致が生じ、ECC症候群が発生します。 フラッシュメモリを再度プログラムする前に、リカバリ/工場出荷時設定への初期化手順が必要なのはなぜですか? 標準プログラムコマンドは、完全に消去されたブロックを想定しています。 中断後: コントローラが無効な状態を検出したため、コマンドを拒否します。 SO: 消去/プログラムシーケンスが正しく開始されない アクセスがブロックされるか、ダミーデータが返される場合があります。 これは、無効なECC状態、不完全な消去操作、またはその他の内部フラッシュコントローラの問題に関連していますか? 停電によりECCに切り替わります。 よろしくお願いいたします。 ピーター
View full article
MCXN547 - 运行时从IFR(CMPA)加载以太网MAC地址的最佳方法是什么? 你好 我们正在基于 MCXN547 芯片并采用 Zephyr RTOS 4.3.0 开发一款产品。作为出厂配置流程的一部分,我们使用 MCUXpresso 安全配置工具将每单位唯一的 EUI64 编程到 IFR 的 CMPA 区域(地址为 “0x01004190”)。从这个 EUI64 中,我们得出了 6 字节的以太网 MAC 地址。 我们希望以太网驱动程序在启动时自动使用这个 MAC 地址,而不是设备树中的静态 “本地 mac 地址”。 我们已验证,位于 `0x01004190` 的 CMPA 区域可在运行时通过内存映射访问直接读取(`devmem` 已确认这一点)。 我们的问题是:有什么推荐的方法,可以让 `nxp,enet-qos-mac` 驱动程序(MCXN547 使用的)在启动时从 IFR/CMPA 中的自定义位置读取 MAC 地址? 我们了解到,经典的 `nxp,enet-mac` 驱动程序支持 `nvmem-cells` 功能,但我们不确定 `nxp,enet-qos-mac` 驱动程序是否也支持或能够实现此功能,以及 MCXN547 的正确设备树配置应如何设置。 如果能得到恩智浦(NXP)或社区的任何指导或示例,我们将不胜感激。 运行环境: - MCU:MCXN547 - Zephyr:4.3.0(恩智浦分支 nxp-v4.3.0) -驱动程序:`驱动程序/以太网/eth_nxp_enet_qos/eth_nxp_enet_qos/eth_nxp_enet_qos_mac.c`-IDE:VS Code + mcuxPresso 扩展程序-配置:M CUXpresso 安全配置工具 MCX N Re: MCXN547 - Best approach to load Ethernet MAC address from IFR (CMPA) at runtime? 如果你愿意尝试其他方案,可以试试内置 TCP/IP 协议栈的 Mongoose。Mongoose 允许您将 MG_SET_MAC_ADDRESS 重新定义为您自己的自定义函数。 尝试一下, 1. 在项目配置中禁用 Zephyr TCP/IP 2. 创建 mongoose/ 目录,并将 mongoose.c 文件复制到该目录。和 mongoose.h来自https://github.com/cesanta/mongoose 3. 创建 mongoose_config.h 文件由此: #实用主义 // 请参阅https://mongoose.ws/documentation/#build-options #define MG_ARCH MG_ARCH_ARMGCC #define MG_OTA MG_OTA_MCXN #define MG_ENABLE_TCPIP 1 #define MG_ENABLE_DRIVER_MCXN 1 #define MG_ENABLE_CUSTOM_MILLIS 1 // extern void my_function(unsigned char *mac); // #define MG_SET_MAC_ADDRESS(mac) my_function(mac) 4. 实现“uint64_t mg_millis(void)”函数,返回自启动以来经过的毫秒数。 创建一个运行 mongoose 的 Zephyr 任务,并为其分配 8kb 的堆栈空间: struct mg_mgr mgr; mg_mgr_init(&mgr); for (;;) mg_mgr_poll(&mgr, 1); 就到此为止吧。将 printf 重定向到 UART 以查看调试日志。此外,Mongoose 还内置了支持 CRA 的 OTA 更新功能, https://mongoose.ws/ota/ 有一个针对略有不同的MCU的版本测试项目, https://github.com/cesanta/mongoose/tree/master/tutorials/nxp/frdm-mcxn947-make-baremetal-builtin- 关闭 mongoose 仓库,然后在该目录中输入“make”进行构建,这需要安装 make 和 ARM GCC。 Re: MCXN547 - Best approach to load Ethernet MAC address from IFR (CMPA) at runtime? 嗨@Jorini 谢谢你的帖子! 您可以按照 Zephyr 文档中的说明,选择在运行时更改 MAC 地址: MAC 地址配置 — Zephyr 项目文档 请告诉我这些信息是否有帮助! Re: MCXN547 - Best approach to load Ethernet MAC address from IFR (CMPA) at runtime? 谢谢你们两位的建议! 关于 mac_config.html 方法:我们研究过,并认为这是 Zephyr 实现此功能的“简洁”方法。但是,这需要修改 eth_nxp_enet_qos_mac.c 以调用 net_eth_mac_load(),向 nxp,enet-qos-mac 绑定添加 nvmem-cells 支持,并为 CMPA/IFR 区域提供 nvmem 提供程序——这些在 Zephyr 4.3 的 MCXN547 中都不存在。所以,虽然这是正确的长期方向,但今天并不直接适用。 关于 Mongoose:对于从零开始的新项目来说,这是一个有趣的选择,但就我们而言,这意味着要替换整个 Zephyr 网络协议栈并重写我们所有的网络代码(DHCP、TLS、HTTP、OTA、基于套接字的云通信)。鉴于我们已经有了可行的解决方案,这个成本并不合理。 我们最终采用的方案(在生产环境中运行良好)是在应用程序代码中使用两个 SYS_INIT 钩子,而无需对驱动程序进行任何更改: 1. POST_KERNEL 优先级 83:在驱动程序以优先级 82 初始化后立即覆盖 ENET QoS 硬件寄存器(MAC_ADDRESS0_HIGH/LOW,地址为 0x40100300/304)。这样可以确保 MAC 芯片过滤掉地址正确的帧。 2. 应用程序优先级 1:更新 Zephyr 软件网络接口表(net_if link_addr)。如果没有这第二步,Zephyr 的 IP 协议栈会默默地丢弃所有传入的帧,因为软件 MAC 地址与硬件 MAC 地址不匹配。 感谢您
View full article
FRDM-MCXA156の「MCU-LINK」ポートが動作しません こんにちは。 FRDM-MCXA156を入手しました。USBケーブルをMCU-Linkポートに接続しても、Windows 10システムは全く反応しません。システムのデバイスマネージャーを確認しましたが、新しいデバイスは表示されていませんでした。 LED D12とD6が点滅しています。D7は点灯しています。 LinkServer_26.5.59をインストールしました。 他に私にできることはありますか? THX。 蔡。 開発ボード MCXA Re: FRDM-MCXA156 'MCU-LINK' port not work こんにちは、 @phantomgz さん、 投稿ありがとうございます。 UM12121の「3.4」の項を参照して、mcu-linkファームウェアを更新してください。ファームウェアアップデートユーティリティを使用したMCU-Linkファームウェアのアップデート: Celeste_Liu_0-1781605664353.png Linkserver_26.3.123 の最新スクリプトを使用することをお勧めします。 Celeste_Liu_1-1781605748462.png お役に立てば幸いです。 BR セレステ Re: FRDM-MCXA156 'MCU-LINK' port not work UM12121 FRDM-MCXA156ボードユーザーマニュアル(3.3 MCU-Linkファームウェアアップデートユーティリティのインストール用) UG10219 LinkServerとMCUXpresso IDEの統合
View full article