Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
NXP i.MX93 EVK 运行时功耗 我正在使用NXP i.MX93 EVK,想要监控运行时功耗,请问如何获取这些数据? 议程是监测人工智能模型推理过程中的功率使用情况。如何监测功率指标? 如何仅使用软件(无需任何外部硬件)来监测功率指标? Re: NXP i.MX93 EVK POWER consumption at runtime i.MX93 EVK 包含板载功率监控电路,并支持通过软件工具进行功率测量。 针对 i.MX93 EVK,NXP 提供了 AN13917:i.MX 93 功耗测量, https://docs.nxp.com/bundle/AN13917/page/topics/power_measurement_of_the_imx_93_processor.html 它描述了如何使用板载测量电路和 BCU(板载控制实用程序)工具来测量功耗。 谢谢!
View full article
カメラセンサーOS02G10 MIPI CSI for IMX8MM こんにちは、みんな。 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 以前はフォーマット一致エラーが2回発生しましたが、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 -- ルトヴィイ シリコンシグナルズ Re: Camera sensor os02g10 MIPI CSI for IMX8MM うまくいきました。 .bpp2でなければならない しかし主な問題はハードウェアにあった
View full article
IFCインターフェースのPCB設計ガイドを教えていただけLS1021A こんにちは、 私のボードでは、LS1021AのIFCインターフェースが2つのフラッシュ、2つのPHYとMCUインターフェース付き、そして2倍のバッファ(SN74LVC1624 5A)に直接接続されます。PCBの配線は非常に複雑になります。SO,  1. SIの観点から受け入れられるルーティングトポロジーはどのようなものか? 2. IFCインターフェースのPCB設計ガイドを教えていただけますかLS1021A よろしくお願いします! よろしくお願いいたします! ジェイソン QorIQ LS1デバイス Re: Could you please provide me the PCB design guide for IFC interface of LS1021A こんにちは、ジューンさん。 下の図に示すように、私の回路は少し複雑です。IFCバスは、いくつかのバッファを介して合計8個のチップを駆動します。IFCインターフェースは非同期モードを使用するため、IFCのレートは高くありません。Yiping.wang からもらったイーサネットインターフェースのような一般的なルートガイドはありますか? Jason_in_job_0-1789111004993.pngJason_in_job_0-1789111004993.png よろしくお願いいたします! よろしくお願いいたします! ジェイソン Re: Could you please provide me the PCB design guide for IFC interface of LS1021A トポロジーの詳細を共有してください。 1. 2つのSN74LVC16245Aデバイスは、IFCアドレス/データバスのバッファリングまたは分離のために使用されますか? 2. IFCインターフェースに接続されるフラッシュデバイス(NORフラッシュ、NANDフラッシュなど)はどのようなものですか? 3. 2つのPHYデバイスはどのようにIFCインターフェースに接続されているのか?彼らはGPCMモードを使用していますか? 4. IFCの完全な読み込みを確認していただけますか?2つのFlashデバイスと2つのMCUインターフェースPHYデバイスで構成されていますか? よろしくお願いします。
View full article
IMX95 datasheet Hello, How can I get imx95 datasheet with register maps, peripherals, etc.? Regards, Artur Re: IMX95 datasheet Thank you and have a nice day Regards, Artur Re: IMX95 datasheet The datasheet alone does not contain the full register maps and peripheral descriptions. For that, you need the https://www.nxp.com/docs/en/reference-manual/IMX95RM.pdf. Thanks
View full article
a replacement product for MCF51JE256 I would like to ask for your recommendation on an MCU chip that meets the following requirements: 32-bit data bus/transfer Program memory space of 1 MByte or larger Integrated with at least one I2C bus controller Integrated with at least two SPI bus controllers At least six or more A/D analog-to-digital conversion channels Integrated with at least a 3×3 matrix keyboard controller Integrated with at least two or more timers Integrated with TOD (Time-of-Day) timer interrupts and other external interrupts Integrated with a USB interface controller That is all — thank you for your help. We hope to find a chip that can replace the functionality of the MCF51JE256, which is our current chip. If you'd like, I can also help you search for specific MCU recommendations that match these requirements. Analog(ADC|CMP|DAC|OpAmps) Audio(PDM | I2S | SAI) Communication & Control(I3C | I2C | SPI | FlexCAN | Ethernet | FlexIO)
View full article
MCXN947 HPDACバックポート Zephyrのnxp_hpdacドライバをMCXN947ベースのボード用にZephyr 4.3にバックポートしています。 アップストリームドライバーはデバイスinitコールバックを使用しません。しかし、Zephyr 4.3では、ペリフェラルを使う前にDAC2クロック、SPCアナログモジュールを明示的に初期化し、リセットしないとHPDACが正しく動作しません。 以下の手順を実行するnxp_hpdac_init()関数を追加しました。 CLOCK_SetClkDiv(kCLOCK_DivDac2Clk, 1U) CLOCK_AttachClk(kFRO_HF_to_DAC2) CLOCK_EnableClock(kCLOCK_Dac2) SPC_EnableActiveModeAnalogModules(SPC0, kSPC_controlDac2) SPC_EnableLowPowerModeAnalogModules(SPC0, kSPC_controlDac2) RESET_PeripheralReset(kDAC2_RST_SHIFT_RSTn) DAC14_DoSoftwareReset() DAC14_DoFIFOReset() SPC_EnableActiveModeAnalogModules(SPC0, kSPC_controlVref) これらの初期化手順は、MCXN947リファレンスマニュアルに基づいており、対応するMCUX SDK APIを使用して実装されました。 初期化関数は、DEVICE_DT_INST_DEFINE() を介してデバイス初期化コールバックとして登録されます。これらの変更により、HPDACは正常に動作するようになりました。 また、Zephyr MCUXのSYSCONクロックコントロールドライバーとmcux_lpc_syscon_clock.hも確認しましたバインディングは使っていますが、このペリフェラルのHPDAC/DAC2クロック識別子やクロック制御実装が見つからなかったため、現在はMCUX SDKのクロック、SPC、リセットAPIを直接使っています。 私の質問は以下のとおりです。 1. MCXN947 HPDACドライバーをバックポートする際、この方法は正しいのでしょうか? 2. 新しいZephyrバージョンでは、これらのリソースは別の場所で初期化されているのか、それとも上流nxp_hpdacドライバーはすでに設定済みだと想定しているのか? 3. HPDACデバイスのinitコールバックがこのMCXN947固有の初期化の正しい場所でしょうか?それともこれらのステップはZephyrの他の部分で処理すべきでしょうか? 参考までに完全なバックポートドライバを添付しました。 アナログ(ADC|CMP|DAC|オペアンプ) クロック|タイマー MCX N
View full article
NXP i.MX93 EVK POWER consumption at runtime I am using NXP i.MX93 EVK and want to monitor the POWER consumption at runtime how can I get this data ? The agenda is to monitor the power during the inference of AI-models. How can I monitor the power metrics ?  How can I monitor power metrics using only software, without any external hardware? Re: NXP i.MX93 EVK POWER consumption at runtime The i.MX93 EVK includes onboard power monitoring circuitry and supports power measurement through software tools. For i.MX93 EVK, NXP provides AN13917: i.MX 93 Power Consumption Measurement, https://docs.nxp.com/bundle/AN13917/page/topics/power_measurement_of_the_imx_93_processor.html It describes how to measure power consumption using the onboard measurement circuitry together with the BCU (Board Control Utility) tool. Thanks
View full article
IMX95 数据手册 你好, 如何获取包含寄存器映射、外设等信息的imx95数据手册? 问候, 阿图尔 Re: IMX95 datasheet 谢谢,祝您愉快! 问候, 阿图尔 Re: IMX95 datasheet 单凭数据手册无法包含完整的寄存器映射和外设描述。 为此,您需要https://www.nxp.com/docs/en/reference-manual/IMX95RM.pdf 。 谢谢!
View full article
Could you please provide me the PCB design guide for IFC interface of LS1021A Hi, On my board,  IFC interface of LS1021A will directly connect to two Flash、two PHY with MCU interface and 2x buffer( SN74LVC16245A)。PCB routing will be very complicated. So,  1. What kind of routing topology could be accepted from SI point of view? 2. Could you please provide me the PCB design guide for IFC interface of LS1021A Thanks in advacnce! Best regards! Jason QorIQ LS1 Devices Re: Could you please provide me the PCB design guide for IFC interface of LS1021A Hi, June: Like below figure shown, my circuit is a little complicated. IFC bus will drive total 8x chips through some buffers.  Cause IFC interface use asynchronous mode, the rate of IFC is not high. Do you have general route guide for IFC interface like ethernet one given me by Yiping.wang? Jason_in_job_0-1789111004993.pngJason_in_job_0-1789111004993.png Thanks in advance! Best regards! Jason Re: Could you please provide me the PCB design guide for IFC interface of LS1021A Please share the details of your topology 1. Will the two SN74LVC16245A devices be used to buffer or isolate the IFC address/data bus? 2. What type of Flash devices will be connected to the IFC interface (NOR Flash, NAND Flash, etc.)? 3. How are the two PHY devices connected to the IFC interface? Are they using GPCM mode? 4. Could you please confirm the complete IFC loading? Is it comprised of two Flash devices and two MCU-interface PHY devices? Thanks
View full article
适用于 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 但主要问题出在硬件上。
View full article
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
View full article
NXP i.MX93 EVK 実行時の消費電力 私はNXP i.MX93 EVKを使っていて、実行時の消費電力を監視したいのですが、このデータをどうやって取得すればいいですか? 目的はAIモデルの推論中のパワーを監視することです。電力指標はどうやって監視できますか? 外部ハードウェアを使わずにソフトウェアだけで電力指標を監視するにはどうすればいいですか? Re: NXP i.MX93 EVK POWER consumption at runtime i.MX93 EVKはオンボードの電力監視回路を搭載し、ソフトウェアツールによる電力測定もサポートしています。 i.MX93 EVK については、NXP は AN13917: i.MX 93 消費電力測定を提供しています。 https://docs.nxp.com/bundle/AN13917/page/topics/power_measurement_of_the_imx_93_processor.html 本書では、オンボード測定回路とBCU(ボード制御ユーティリティ)ツールを組み合わせて消費電力を測定する方法について説明します。 よろしくお願いします。
View full article
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.
View full article
S32DS activation code The software version is S32DS_ARM_Win32_v2018.R1_b180326. Could you provide the activation code? PEG GUI
View full article
S32DSアクティベーションコード ソフトウェアのバージョンはS32DS_ARM_Win32_v2018.R1_b180326です。アクティベーションコードをご提供いただけますでしょうか? PEG GUI
View full article
CodeWarrior 5.1 デバッガー。「ステップ実行時にマスク可能なISRを無効にする」Iビットが9S12XEQ512で永続的に設定されます。 環境: IDE: CodeWarrior 5.1(HC(S)12Xコンパイラ) ターゲット: MC9S12XEQ512 バスクロック: 49.777 MHz BDMインターフェース:USB Multilink Universalで再現可能;Cyclone Proでは確認されていません ホストOS: Windows 10とWindows 11の両方で確認されました メモリモデル:大規模モデルでは再現可能;バンクモデルでは再現性が低いか、それ以下です 使用した設定: 「HC12MultilinkCyclonePro」→「セットアップ...」→「デバッグオプション」→「ステップ実行時にマスク可能なISRを無効にする」— 有効。 説明: デバッガで一定回数のステップ操作(シングルステップまたはステップオーバー)を実行すると、マスク可能な割り込み(CCRのIビット)が永久的に無効になります。割り込みは、実行を継続した後(実行/ゴー)でも再開されず、CCRレジスタビューでIビットを手動でクリアするまでマスクされたままになります。この挙動は、USB Multilink Universal BDMインターフェースを用いたLargeメモリモデルでも、Windows 10およびWindows 11のホスト上で一貫して再現可能です。同じプロジェクト設定のCyclone Proインターフェースでも、バンクメモリモデルでも同様の問題は見られていません 現在使用されている回避策: CCRレジスタビューでIビットがスタックした場合、手動でIビットをクリアします。 リクエスト: これは、S12Xコア上のCode Warrior 5.1のステップエミュレーションと組み合わせたUSB Multilink Universalのファームウェア/ドライバの既知の問題でしょうか?固定されたマルチリンクユニバーサルのファームウェアバージョンや、このデバイス/インターフェースの組み合わせで割り込み駆動の大規模モデルプロジェクトをデバッグするための推奨代替ワークフローはありますか? よろしくお願い申し上げます。 Re: CodeWarrior 5.1 debugger. "Disable maskable ISR's when stepping" I-bit permanently set こんにちは、 あなたが見ている挙動は現実的で、あなたが気づいたインターフェースの違い(Multilink Universalは影響を受けていますが、Cyclone Proは影響を受けていません)は有益な観察です。発生する割り込みの種類によって選択肢が異なるため、それに基づいて実践的なガイダンスを提供させていただきます。 タイマーベースの割り込みの場合 もしアプリケーションがタイマーオーバーフローや出力比較、またはペリフェラルで生成される割り込みを使っている場合、デバッグ時に「ステッピング時にマスク可能なISRを無効化する」機能が実際には必要ありません。ほとんどのS12Xタイマーおよびペリフェラルモジュールには、デバイスがBDMアクティブモードに入るとモジュールをフリーズするFRZビットがあり、これは停止や単一ステップの間自動的に動作します。FRZが設定されると、タイマーはステップ中にカウントを停止し、ステップ間で割り込みを発生させることはできません。これはデバッガインターフェースとは独立してハードウェアレベルで動作し、このクラスの割り込みに対してよりクリーンな解決策となります。 外部割り込みおよびキーボード割り込み(KBI)の場合 この点に関しては、状況はより限定的である。外部IRQおよびKBI割り込みは非同期の外部信号であり、それらに対するハードウェアフリーズ機構はありません。BDMインターフェースはハードウェアレベルでそれらを抑制できません。「ステップ実行時にマスク可能なISRを無効にする」機能は、まさにこのギャップを埋めるために存在し、各ステップ中にCCR Iビットを介してそれらをマスクします。 お使いの環境では、この機能がUSB Multilink Universalを使用してIビットを正しく復元しないため、これらの割り込みソースを使用するコードのデバッグには、既に正しく動作することが確認されているCyclone Proを使用するのが最も確実な方法です。 試してみる価値あり もしCodeWarrior 5.2にアクセスできるなら、試す価値はあります。このバージョンではデバッガ側の変更があり、USB Multilink Universalを用いたLargeメモリモデルでのIビット復元動作は改善される可能性がありますが、保証はありません。 これで選択肢が明確になれば幸いです。 ラディスラフ
View full article
FRDM-RW612 (Zephyr) — CTIMER0 MAT0/GPIO0 PWM 不切换,MAT1/MAT2 工作正常 开发板/SDK: FRDM-RW612,NXP-Zephyr v4.3.0 将板载 RGB LED(GPIO0=蓝色,GPIO1=红色,GPIO12=绿色)配置为 CTIMER0 上的 pwm-leds,通道分别为 0/1/2,使用共享 pinctrl-0 组中的 IO_MUX_CT0_MAT0_OUT_IO0、IO_MUX_CT0_MAT1_OUT_IO1、IO_MUX_CT0_MAT2_OUT_IO12。运行测试应用程序,对所有三个通道进行占空比循环测试。 红色和绿色 LED 的 PWM 工作正常(已使用 Saleae 逻辑分析仪确认——GPIO1 和 GPIO12 上的波形干净)。蓝色 LED (GPIO0/MAT0) 完全熄灭——逻辑分析仪显示一条直线,在任何占空比 (0–100%) 下都不会切换。数字GPIO(非PWM)切换GPIO0工作正常, 只有 CTIMER0 MAT0 通道无法输出 PWM;同一定时器实例上的 MAT1/MAT2 可以正常工作。 我们需要: 确认在 Zephyr 下,FRDM-RW612 上的 GPIO0/CT0_MAT0 是否为已知可用的 PWM 组合。 关于 RW612 上 CTIMER0 通道 0 的任何勘误/限制的指导。 任何可用的 .overlay例如,通过 CTIMER 对 GPIO0 进行 PWM 控制,以便我们进行比较。 frdm_rw612.overlay ``` #include / { pwm_outputs { 兼容 = "pwm-leds"; pwm_gpio0:pwm_gpio0 { pwms = <&ctimer0_pwm 0 PWM_KHZ(1) PWM_POLARITY_NORMAL>; }; pwm_gpio1:pwm_gpio1 { pwms = <&ctimer0_pwm 1 PWM_KHZ(1) PWM_POLARITY_NORMAL>; }; pwm_gpio12:pwm_gpio12 { pwms = <&ctimer0_pwm 2 PWM_KHZ(1) PWM_POLARITY_NORMAL>; }; }; 别名 { pwm-gpio0 = &pwm_gpio0; pwm-gpio1 = &pwm_gpio1; pwm-gpio12 = &pwm_gpio12; }; }; ctimer0_pwm: &ctimer0 { 兼容 = "nxp,ctimer-pwm"; 状态 = "好的" clk-source = <5>; clocks = <&clkctl1 MCUX_CTIMER0_CLK>; #pwm-cells = <3>; 模式 = <0>; 预缩放 = <0>; pinctrl-0 = <&pinmux_ctimer0_pwm>; pinctrl-names = "default"; }; &pinctrl { pinmux_ctimer0_pwm:pinmux_ctimer0_pwm { group0 { pinmux = < IO_MUX_CT0_MAT0_OUT_IO0 IO_MUX_CT0_MAT1_OUT_IO1 IO_MUX_CT0_MAT2_OUT_IO12 >; 转换速率 = "正常"; }; }; }; ``` 评估板
View full article
FRDM-RW612 (Zephyr) — CTIMER0 MAT0/GPIO0 PWM not toggling, MAT1/MAT2 work fine Board/SDK: FRDM-RW612, NXP-Zephyr v4.3.0 Configured on-board RGB LED (GPIO0=Blue, GPIO1=Red, GPIO12=Green) as pwm-leds on CTIMER0, channels 0/1/2 respectively, using IO_MUX_CT0_MAT0_OUT_IO0, IO_MUX_CT0_MAT1_OUT_IO1, IO_MUX_CT0_MAT2_OUT_IO12 in a shared pinctrl-0 group. Ran a test app cycling duty cycle on all three channels. Red and Green LEDs PWM correctly (confirmed with Saleae logic analyzer — clean waveforms on GPIO1 and GPIO12). Blue LED (GPIO0/MAT0) stays completely off — logic analyzer shows a flat line, no toggling at any duty cycle (0–100%). Digital GPIO (non-PWM) toggle on GPIO0 works fine, Only CTIMER0 MAT0 channel fails to output PWM; MAT1/MAT2 on the same timer instance work. What we need: Confirmation whether GPIO0/CT0_MAT0 is a known-working PWM combination on FRDM-RW612 under Zephyr. Guidance on any erratum/limitation for CTIMER0 channel 0 on RW612. Any working .overlay example that PWMs GPIO0 via CTIMER, for us to diff against. frdm_rw612.overlay ``` #include / { pwm_outputs { compatible = "pwm-leds"; pwm_gpio0: pwm_gpio0 { pwms = <&ctimer0_pwm 0 PWM_KHZ(1) PWM_POLARITY_NORMAL>; }; pwm_gpio1: pwm_gpio1 { pwms = <&ctimer0_pwm 1 PWM_KHZ(1) PWM_POLARITY_NORMAL>; }; pwm_gpio12: pwm_gpio12 { pwms = <&ctimer0_pwm 2 PWM_KHZ(1) PWM_POLARITY_NORMAL>; }; }; aliases { pwm-gpio0 = &pwm_gpio0; pwm-gpio1 = &pwm_gpio1; pwm-gpio12 = &pwm_gpio12; }; }; ctimer0_pwm: &ctimer0 { compatible = "nxp,ctimer-pwm"; status = "okay"; clk-source = <5>; clocks = <&clkctl1 MCUX_CTIMER0_CLK>; #pwm-cells = <3>; mode = <0>; prescale = <0>; pinctrl-0 = <&pinmux_ctimer0_pwm>; pinctrl-names = "default"; }; &pinctrl { pinmux_ctimer0_pwm: pinmux_ctimer0_pwm { group0 { pinmux = < IO_MUX_CT0_MAT0_OUT_IO0 IO_MUX_CT0_MAT1_OUT_IO1 IO_MUX_CT0_MAT2_OUT_IO12 >; slew-rate = "normal"; }; }; }; ``` Evaluation Board
View full article
CodeWarrior 5.1 debugger. "Disable maskable ISR's when stepping" I-bit permanently set on 9S12XEQ512 Environment: IDE: CodeWarrior 5.1 (HC(S)12X compiler) Target: MC9S12XEQ512 Bus clock: 49.777 MHz BDM interface: reproducible with USB Multilink Universal; not observed with Cyclone Pro Host OS: observed on both Windows 10 and Windows 11 Memory model: reproducible in Large model; not (or much less) reproducible in Banked model Setting used: "HC12MultilinkCyclonePro" → "Setup..." → "Debug otions " → "Disable maskable ISR's when stepping" — enabled. Description: After a number of step operations (single step or step over) in the debugger, the maskable interrupts (I bit in CCR) become permanently disabled. Interrupts do not resume even after continuing execution (Run/Go) — they remain masked until the I bit is manually cleared in the CCR register view. This behavior is consistently reproducible in the Large memory model using the USB Multilink Universal BDM interface, on both Windows 10 and Windows 11 hosts. The issue has not been observed with the Cyclone Pro interface under otherwise identical project settings, nor (or much less) in the Banked memory model Workaround currently in use: Manually clearing the I bit in the CCR register view after it becomes stuck. Request: Is this a known issue with the USB Multilink Universal firmware/driver in combination with CodeWarrior 5.1's stepping emulation on the S12X core? Is there a fixed Multilink Universal firmware version, or a recommended alternative workflow for debugging interrupt-driven Large-model projects on this device/interface combination? Thank you Re: CodeWarrior 5.1 debugger. "Disable maskable ISR's when stepping" I-bit permanently set Hi, The behavior you are seeing is real and the interface difference you noticed (Multilink Universal affected, Cyclone Pro not) is a useful observation. Let me give you some practical guidance based on the type of interrupts involved, because the options differ. For timer-based interrupts If your application uses timer overflow, output compare, or similar peripheral-generated interrupts, you do not actually need the "Disable maskable ISR's when stepping" feature to handle them during debugging. Most S12X timer and peripheral modules have a FRZ bit that freezes the module when the device enters BDM active mode, which happens automatically during any halt or single step. With FRZ set, the timer stops counting during stepping and cannot generate an interrupt between steps. This works at the hardware level, independent of the debugger interface, and is the cleaner solution for this class of interrupt. For external interrupts and keyboard interrupts (KBI) This is where the situation is more limited. External IRQ and KBI interrupts are asynchronous external signals and there is no hardware freeze mechanism for them. The BDM interface cannot suppress them at the hardware level. The "Disable maskable ISR's when stepping" feature exists precisely to cover this gap by masking them through the CCR I bit during each step. Since this feature is not restoring the I bit correctly with the USB Multilink Universal in your setup, the most reliable option for debugging code that uses these interrupt sources is to use the Cyclone Pro, which you have already confirmed behaves correctly. Worth trying It is also worth testing with CodeWarrior 5.2 if you have access to it. There were some debugger-side changes in that version and the I-bit restoration behavior under the Large memory model with the USB Multilink Universal may be improved, though this cannot be guaranteed. Hope this helps clarify the options. Ladislav
View full article
FRDM-RW612(Zephyr) — CTIMER0 MAT0/GPIO0 PWMが切り替えられず、MAT1/MAT2は問題なく動作します ボード/SDK: FRDM-RW612、NXP-Zephyr v4.3.0 搭載のRGB LED(GPIO0=青、GPIO1=赤、GPIO12=緑)をpwm-ledとしてCTIMER0、それぞれチャネル0/1/2として、IO_MUX_CT0_MAT0_OUT_IO0、IO_MUX_CT0_MAT1_OUT_IO1、IO_MUX_CT0_MAT2_OUT_IO12を共用pinctrl-0グループで構成しました。3チャネルすべてでテストアプリをサイクルサイクルで実行しました。 赤色および緑色のLEDは正しくPWM制御されています(Saleaeロジックアナライザで確認済み - GPIO1およびGPIO12の波形は正常です)。青色LED(GPIO0/MAT0)は完全に消灯したままで、ロジックアナライザは平坦な線を示し、デューティサイクル(0~100%)のいずれにおいてもトグルは発生しません。GPIO0のデジタルGPIO(非PWM)トグルは問題なく動作します。 CTIMER0 MAT0チャネルのみがPWM出力に失敗します。同じタイマーインスタンス上のMAT1/MAT2は動作します。 必要なもの: GPIO0/CT0_MAT0がZephyrのFRDM-RW612上で既知の動作PWM組み合わせであるかどうかの確認。 RW612のチャネル0 CTIMER0に関するエラタムや制限に関するガイダンスがあります。 動作する.overlay例として、CTIMER を介して GPIO0 を PWM する例を挙げ、それと比較します。 frdm_rw612.オーバーレイ 「`」 #include < zephyr/dt-bindings/pwm/pwm.h> / { pwm_outputs { compatible = "pwm-leds"; pwm_gpio0: pwm_gpio0 { pwms = <&ctimer0_pwm 0 PWM_KHZ(1) PWM_POLARITY_NORMAL>; }; pwm_gpio1: pwm_gpio1 { pwms = <&ctimer0_pwm 1 PWM_KHZ(1) PWM_POLARITY_NORMAL>; }; pwm_gpio12: pwm_gpio12 { pwms = <&ctimer0_pwm 2 PWM_KHZ(1) PWM_POLARITY_NORMAL>; }; }; エイリアス { pwm-gpio0 = &pwm_gpio0; pwm-gpio1 = &pwm_gpio1; pwm-gpio12 = &pwm_gpio12; }; }; ctimer0_pwm: &ctimer0 { compatible = "nxp,ctimer-pwm"; ステータス = "okay" clk-source = <5>; クロック = <&clkctl1 MCUX_CTIMER0_CLK>; #pwm-cells = <3>; モード = <0>; プリスケール = <0>; pinctrl-0 = <&pinmux_ctimer0_pwm>; pinctrl-names = "default"; }; &pinctrl { pinmux_ctimer0_pwm: pinmux_ctimer0_pwm { グループ0 { pinmux = < IO_MUX_CT0_MAT0_OUT_IO0 IO_MUX_CT0_MAT1_OUT_IO1 IO_MUX_CT0_MAT2_OUT_IO12 >; スルーレート = "通常"; }; }; }; 「`」 評価ボード
View full article