Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
关于使用FreeRTOS的问题 你好,我现在使用的是S32DS3.6.6,使用的RTD是下面这些 YangLuYao_0-1787190833199.png 我想使用FreeRTOS中间件,但是我在组件里面没搜到 YangLuYao_1-1787190897886.png 然后在扩展包管理器中也没找到相关的包 YangLuYao_2-1787190945484.png 请问 要怎么添加呢,是版本的问题吗,我使用的芯片是FS32K116LAT0MLFT,期待回复,感谢~~ Re: 关于使用FreeRTOS的问题 谢谢,按照你的提示,我安装成功了,谢谢~~~ Re: 关于使用FreeRTOS的问题 你好 请点击S32K1参考软件-> 汽车软件 - S32K1 - FreeRTOS - > SW32K1xx FreeRTOS 11.1.0版本 0.8.0 CD1 下载SW32K1xx_FreeRTOS_11.1.0_0.8.0_CD1_D2603_DesignStudio_updatesite.zip 此致敬礼, Robin
查看全文
PN7150: intermittent DISCOVERY_FAILED (0x60 07) and zeroed NDEF data with FeliCa Lite‑S (RC‑S966) Hello, I am using the PN7150 reader IC and observing unstable behavior with FeliCa Lite‑S (RC‑S966) tags. Even when the tag is placed directly on the antenna, I see repeating cycles of: Correct UID frames Correct NDEF frames Zeroed NDEF frames Empty NDEF frames 0x60 07 (DISCOVERY_FAILED) notifications Example CAN log: UID (C040041): 01 2E 54 F7 C3 59 42 3E (always stable) NDEF (C060041): Sometimes correct: D1 01 09 54 02 65 6E 48 / 65 6C 6C 6F 21 Sometimes zeroed: 00 00 00 00 00 00 00 00 / 00 00 00 00 00 Sometimes empty (DLC=0) When the tag is slightly farther away (still within normal NFC range), PN7150 frequently reports 0x60 07 and restarts discovery. My questions are Is it expected that PN7150 reports 0x60 07 when Lite‑S temporarily disables Polling or when RF field is slightly weak? Can Polling Disable cause PN7150 to return zeroed or empty NDEF data? Is there a recommended way to handle Lite‑S Polling Disable behavior in PN7150 firmware? e.g., skip presence check, delay discovery restart, retry strategy Are there any PN7150 application notes specifically addressing FeliCa Lite‑S behavior? A glance over canAnalyzer3 Mini is like this: "No";"Time (abs)";"State";"ID (hex)";"DLC";"Data (hex)";"ASCII" "3.261";"34505.380";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.262";"34505.381";" E ";" C040041";"2";"00 F1";".." "3.263";"34506.401";" E ";" C060041";"0";"";"" "3.264";"34506.645";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.265";"34506.646";" E ";" C040041";"2";"00 F1";".." "3.266";"34506.894";" E ";" C060041";"0";"";"" "3.267";"34507.143";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.268";"34507.143";" E ";" C040041";"2";"00 F1";".." "3.269";"34507.389";" E ";" C060041";"0";"";"" "3.270";"34507.930";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.271";"34507.931";" E ";" C040041";"2";"00 F1";".." "3.272";"34508.979";" E ";" C060041";"8";"00 00 00 00 00 00 00 00";"........" "3.273";"34508.980";" E ";" C060041";"5";"00 00 00 00 00";"....." "3.274";"34509.222";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.275";"34509.222";" E ";" C040041";"2";"00 F1";".." "3.276";"34509.467";" E ";" C060041";"8";"00 00 00 00 00 00 00 00";"........" "3.277";"34509.468";" E ";" C060041";"5";"00 00 00 00 00";"....." "3.278";"34509.713";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.279";"34509.714";" E ";" C040041";"2";"00 F1";".." "3.280";"34509.959";" E ";" C060041";"8";"00 00 00 00 00 00 00 00";"........" "3.281";"34509.960";" E ";" C060041";"5";"00 00 00 00 00";"....." "3.282";"34510.495";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.283";"34510.496";" E ";" C040041";"2";"00 F1";".." "3.284";"34511.516";" E ";" C060041";"0";"";"" "3.285";"34511.759";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.286";"34511.760";" E ";" C040041";"2";"00 F1";".." "3.287";"34512.005";" E ";" C060041";"0";"";"" "3.288";"34512.251";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.289";"34512.252";" E ";" C040041";"2";"00 F1";".." "3.290";"34512.497";" E ";" C060041";"0";"";"" "3.291";"34512.739";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.292";"34512.739";" E ";" C040041";"2";"00 F1";".." "3.293";"34512.985";" E ";" C060041";"8";"D1 01 09 54 02 65 6E 48";"...T.enH" "3.294";"34512.986";" E ";" C060041";"5";"65 6C 6C 6F 21";"ello!" "3.295";"34513.231";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.296";"34513.232";" E ";" C040041";"2";"00 F1";".." "3.297";"34513.477";" E ";" C060041";"8";"D1 01 09 54 02 65 6E 48";"...T.enH" "3.298";"34513.478";" E ";" C060041";"5";"65 6C 6C 6F 21";"ello!" "3.299";"34513.724";" E ";" C040041";"8";"01 2E 54 F7 C3 59 42 3E";"..T..YB>" "3.300";"34513.724";" E ";" C040041";"2";"00 F1";".."
查看全文
Obtain JCOP4 development tools and documentation We are starting development of a custom Java Card applet for an NXP JCOP4 smart card. Our existing cards are listed as: NXP S32 Debug Entry Authenticator JCOP4 Applet Version 01.04.01 We are looking for the development tools and documentation needed to build, load, install, and test our own Java Card applet on the JCOP4 platform. Specifically, we are looking for access to: JCOP Tools JCShell JCOP4 platform export files Java Card development libraries Sample applet projects CAP file build, load, install, and delete instructions GlobalPlatform Card Manager information Confirmation of the supported Java Card and GlobalPlatform versions We found NXP's training material for Common JCOP Tools, which references the JCOP Tools Eclipse plug-in and JCShell: https://www.nxp.com/design/design-center/training/TIP-SECURE-ELEMENT-COMMON-JCOP-TOOLS-PART-1 Could you please advise: How can we obtain the JCOP Tools/JCShell package for JCOP4 development? Is an NDA or other approval required? Where can we obtain the corresponding JCOP4 development libraries, platform files, and documentation? If these resources are no longer provided directly by NXP, what is the recommended way to obtain them? Re: Obtain JCOP4 development tools and documentation Hello @sameer_chawla, Hope you are doing well. Please accept my apologies, this is not the proper support path for any topic related to JCOP devices. As resources supporting JCOP are highly restricted, unfortunately, I do not have access to the information due to security levels. For further support on this part, could you please contact your local Distributor? I really apologize for the inconveniences this might cause you. Regards, Eduardo.
查看全文
MIPI-DSI on an iMX95 no clock output Software summary ------------------------------------------------------------ Bootloader: U-Boot Kernel version: 6.6.138-7.6.1-devel #1 SMP PREEMPT Fri May 8 12:46:27 UTC 2026 Kernel command line: root=PARTUUID=74fae1d2-02 ro rootwait console=tty1 console=ttyLP0,115200 Distro name: NAME="TDX Wayland with XWayland Upstream" Distro version: VERSION_ID=7.6.1-devel-20260728203137-build.0 Distro variant: - Hostname: bmr-verdin-imx95-08828817 ------------------------------------------------------------ Hardware info ------------------------------------------------------------ HW model: Toradex Verdin iMX95 WB on Verdin Development Board Toradex version: 0089 V1.0C Serial number: 08828817 Processor arch: aarch64 ------------------------------------------------------------ We have a custom carrier board with the Toradex Verdin iMX95. We are running the Toradex multimedia image with customizations (the base device tree is imx95-verdin-wifi-dev.dts). We have a custom display from YES Optoelectronics (7” 1024x600) that is a MIPI-DSI 4 lane interface. I used the device tree and driver model from the raydium rm67191 as the starting point. I am able to get the power supply timing correct on startup and the backlight comes on and the BIST works (there is a pin on the display that can be pulled high for BIST), so I believe the display is working. All four data lanes show single-ended activity but the CLK lines are at 0 volts. At power up the CLK lines start at around 200mV and then they go to 1.2 volts for a little bit but then they go to 0 volts and they stay at 0 volts. I know the verdin SoM works because I can get the RVT70HSDNWCA0 display to work on a Mallow carrier board. The driver goes through probe → add panel → get modes → prepare → enable. Am I forgetting to turn on or configure a clock somewhere maybe? What does it mean when the CLK signals (both P and N) are at 0 volts? My overlay looks like /dts-v1/; /plugin/; &mipi_dsi { status = "okay"; panel@0 { compatible = "yes,ytc700tlbd"; reg = <0>; reset-gpios = <&gpio2 17 1>;//GPIO_ACTIVE_HIGH>; power-supply = <&reg_vcc_disp_dvdd>; backlight = <&lvds_backlight>; dsi-lanes = <4>; port@0 { reg = <0>; panel1_in: endpoint { remote-endpoint = <&mipi1_panel_out>; }; }; }; ports { /delete-node/ port@1; port@1 { reg = <1>; mipi1_panel_out: endpoint { remote-endpoint = <&panel1_in>; }; }; }; }; &displaymix_irqsteer { status = "okay"; }; &dpu { assigned-clocks = <&scmi_clk 80>, //IMX95_CLK_DISP1PIX>, <&scmi_clk 18>, //IMX95_CLK_VIDEOPLL1_VCO>, <&scmi_clk 19>; //IMX95_CLK_VIDEOPLL1>; assigned-clock-parents = <&scmi_clk 19>; //IMX95_CLK_VIDEOPLL1>; assigned-clock-rates = <0>, <3360000000>, <420000000>; status = "okay"; }; &pixel_interleaver { #address-cells = <1>; #size-cells = <0>; status = "okay"; channel@0 { reg = <0>; status = "okay"; }; }; &display_pixel_link { status = "okay"; }; Can someone confirm they were able to get a MIPI-DSI display to work with the iMX95? Any help would be appreciated!  Graphics & Display Linux Multimedia Re: MIPI-DSI on an iMX95 no clock output Also, here is what my clock summary looks like. cat /sys/kernel/debug/clk/clk_summary | grep -iE "mipi|dsi|dpu|display" ldbpll_vco 0 0 0 4800000000 0 0 50000 Y 4b400000.display-controller ldb_vco ldb_pll_div7 0 0 0 342857142 0 0 50000 Y 4b400000.display-controller ldb mipiphypllbypas 0 0 0 420000000 0 0 50000 Y deviceless no_connection_id disp1pix 1 1 0 46666666 0 0 50000 Y 4b400000.display-controller pix dispapb 4 5 0 133333333 0 0 50000 Y 4b400000.display-controller apb camapb 3 6 0 133333333 0 0 50000 Y 4acf0000.dsi pclk dispocram 1 1 0 400000000 0 0 50000 Y 4b400000.display-controller ocram dispaxi 1 1 0 800000000 0 0 50000 Y 4b400000.display-controller axi mipitestbyte 0 0 0 24000000 0 0 50000 Y deviceless no_connection_id mipiphypllref 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi ref mipiphycfg 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi cfg Re: MIPI-DSI on an iMX95 no clock output The target pixel clock is 51.2MHz. Re: MIPI-DSI on an iMX95 no clock output Hi @dastotz  Please share the screen's pixel clock. Best Regards, Zhiming Re: MIPI-DSI on an iMX95 no clock output Here is my updated clock summary. cat /sys/kernel/debug/clk/clk_summary | grep -iE "mipi|dsi|dpu|display|video" ldbpll_vco 0 0 0 4800000000 0 0 50000 Y 4b400000.display-controller ldb_vco ldb_pll_div7 0 0 0 342857142 0 0 50000 Y 4b400000.display-controller ldb videopll1_vco 1 1 0 2520000000 0 0 50000 Y deviceless no_connection_id videopll1 1 1 0 252000000 0 0 50000 Y deviceless no_connection_id disp1pix 1 1 0 50400000 0 0 50000 Y 4b400000.display-controller pix 4acf0000.dsi pix mipiphypllbypas 0 0 0 252000000 0 0 50000 Y deviceless no_connection_id dispapb 4 5 0 133333333 0 0 50000 Y 4b400000.display-controller apb camapb 3 6 0 133333333 0 0 50000 Y 4acf0000.dsi pclk dispocram 1 1 0 400000000 0 0 50000 Y 4b400000.display-controller ocram dispaxi 1 1 0 800000000 0 0 50000 Y 4b400000.display-controller axi mipitestbyte 0 0 0 24000000 0 0 50000 Y deviceless no_connection_id mipiphypllref 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi ref mipiphycfg 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi cfg Re: MIPI-DSI on an iMX95 no clock output There is still no high speed video data.  The CLK signals stay at 0 volts and the DATA signals are single ended (no differential output). Does a display need to respond to a LPM command for the MIPI-DSI interface to switch to high speed mode? Re: MIPI-DSI on an iMX95 no clock output Hi @dastotz  For a 51.2 MHz pixel clock, the PLL VCO should be 1792 MHz, and the PLL OUT should be 256 MHz. You can try to update the device tree and then check the logs to see if the PLL VCO, PLL OUT, and pixel clock are correct. Best Regards, Zhiming Re: MIPI-DSI on an iMX95 no clock output You are absolutely right; this was the problem!  I chose one of those clock rates just to see if my oscilloscope would show a clock and now it does!  I will update this post with the final settings and accept this as the solution once I get a clock rate closer to my desired rate.  Thank you so much for the help! Re: MIPI-DSI on an iMX95 no clock output Hi @dastotz  Please try to use this configuration to get 51.2MHz pixel clock. &dpu { assigned-clocks = <&scmi_clk IMX95_CLK_DISP1PIX>, <&scmi_clk IMX95_CLK_VIDEOPLL1_VCO>, <&scmi_clk IMX95_CLK_VIDEOPLL1>; assigned-clock-parents = <&scmi_clk IMX95_CLK_VIDEOPLL1>; assigned-clock-rates = <0>, <3276800000>, <409600000>; }; root@imx95evk:~# cat /sys/kernel/debug/clk/clk_summary | grep -iE "mipi|dsi|dpu|display|video" ldbpll_vco 0 0 0 4800000000 0 0 50000 Y 4b400000.display-controller ldb_vco ldb_pll_div7 0 0 0 342857142 0 0 50000 Y 4b400000.display-controller ldb videopll1_vco 1 1 0 3276800000 0 0 50000 Y deviceless no_connection_id videopll1 1 1 0 409600000 0 0 50000 Y deviceless no_connection_id disp1pix 1 1 0 51200000 0 0 50000 Y 4b400000.display-controller pix 4acf0000.dsi pix But the NXP didn't verified the 1024x600. According to a recent commit to the NXP linux-imx repository, the modes verified by NXP are as follows: 3 static bool imx95_dsi_is_mode_clock_valid(unsigned int clock) 914 { 915 switch (clock) { 916 case 25200: /* 640x480@60Hz (VGA) */ 917 case 27000: /* [email protected], [email protected] (NTSC) */ 918 case 27027: /* 480p@60Hz, 720x480@60Hz */ 919 case 40000: /* 800x600@60Hz (SVGA) */ 920 case 54000: /* [email protected], 720x576@100Hz */ 921 case 54054: /* 480p@120Hz, 720x480@120Hz */ 922 case 65000: /* 1024x768@60Hz (XGA) */ 923 case 74176: /* [email protected], [email protected] */ 924 case 74250: /* 720p@60Hz, 1280x720@60Hz */ 925 case 108000: /* [email protected], 1280x1024@60Hz (SXGA) */ 926 case 108108: /* 480p@240Hz, 720x480@240Hz */ 927 case 132000: /* 1024x768@120Hz (XGA) */ 928 case 148352: /* [email protected], [email protected] */ 929 case 148500: /* 1080p@60Hz, 1920x1080@60Hz */ 930 case 297000: /* 2160p@30Hz, 1080p@120Hz, 3840x2160@30Hz (4K) */ 931 return true; 932 default: 933 return false; 934 } 935 } According to the public code from here : https://github.com/nxp-imx/linux-imx/blob/lf-6.18.20-2.0.0/drivers/gpu/drm/bridge/imx/imx95-mipi-dsi.c#L883 If the clock is not verified clocks, the DSI will not generate clock. You could try to modify this line to return MODE_OK while the mode->clock = 51200. Best Regards, Zhiming Re: MIPI-DSI on an iMX95 no clock output The issue was the imx95-mipi-dsi.c driver that I was using (it was older without some of the patches).  I patched to use the driver you suggested and set the dpu to the settings you suggested and I was able to get a 51.2MHz pixel clock.  Thank you for the help!
查看全文
S32K116 电机控制器增加了油门(电位器)以实现速度控制 我想添加ADC通道ADC0_SE13来测量电位器电压。控制电机转速。我尝试了很多方法,但仍然无法在PDB块中正确设置它。ADC 已在 ProcessorExpert 中正确配置,然后我配置了 PDB0。我尝试了很多组合,但每次在 MCAT 工具中都会出现 PDB0 错误。 以下文件我应该如何处理?我正在使用k116 FOC 2sh示例代码。 1. 要实现这一点,需要进行哪些适当的设置? 2. 处理器专家中的ADC配置? 3. 处理器专家中的PDB配置? 4. 修改 periferals_config.c 中的代码? 5.修改main.c中的代码? 6. meas_s32k.c 中的代码修改? 客观的: 1. 将电位器连接为油门控制装置,用于控制速度。 2. 通过 PDB 背靠背触发 ADC。 3. 在中断例程中读取ADC值。其中电流和电压是使用 meas.c 测量的。 4. 根据油门需求设定速度。在ADC中断例程中。速度是哪个变量决定的? 这是配置代码,我正在修改其中的几行。以及处理器专家。 void McuPdbConfig(void) { /* PDB0 模块初始化 */ PDB_DRV_Init(INST_PDB0, &pdb0_InitConfig0); /* PDB0 CH0 预触发初始化 */ PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig0); PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig1); PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig2); >>>>>//PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig3); /* 设置 PDB0 模数 */ PDB_DRV_SetTimerModulusValue(INST_PDB0, 7800); PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 0, 0); PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 1, 1200); >>>>//PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 2, 2400); 截图来自 2023-09-27 11-57-05.png Re: S32K116 Motor Control add throttle (potentiometer) for speed control 要在 S32K1xx 电机控制项目中使用 PDB 模块通过 ADC0_SE13 添加电位器油门,MCAT 工具的核心问题源于通道分配冲突或预触发序列计数未对齐。在电机控制(FOC 2-分流)中,PDB 通道 0 通常被大量用于与 PWM 重载同步的精确电流采样。添加慢速油门测量需要单独的 PDB 通道(如果可用)或将其添加为独立的预触发序列,而不会干扰主 PWM 硬件触发信号。 Re: S32K116 Motor Control add throttle (potentiometer) for speed control 问题已解决,我忘记读取 ADC 值来清除 COCO 标志。
查看全文
IMX93 M33 SDK ethosu_apps_rpmsg:モデルの結果を得るにはどうすればいいですか? SDKバージョン26では。ethosu_apps_rpmsg は、ethosu から結果を取得する方法を示しませんでした。 どうすればいいですか? InferenceProcess::InferenceJob job("job", networkModel, ifm, ofm, expectedOutput, pmuEventConfig, 0, &ethosu_drv, 0, nullptr, 0, 0, false); job.invalidate(); InferenceProcess::InferenceProcess inferenceprocess(inferenceProcessTensorArena, TENSOR_ARENA_SIZE); bool failed = inferenceprocess.runJob(job); job.clean(); この計算の出力はどうやって取得できますか? Re: imx93 m33 sdk ethosu_apps_rpmsg: how to get the result of model? 推論結果は、ジョブに渡すOFM バッファ(コンストラクタ内の ofm) に格納されます。expectedOutputはSDK例の検証パスのみを対象としています。計算結果が返される場所ではありません。i.MX93 Ethos-Uフローは、完了した推論結果を出力特徴マップバッファに書き込み、Linux/RPMsgフローではOFMが入力された後に応答をCortex-Aに返送します。 あなたのコードにとって重要な部分は次のとおりです。 InferenceProcess::InferenceJob job( 「仕事」 ネットワークモデル、     ifm、     ofm,              // <-- 出力バッファ     expectedOutput,   // <-- 参照/検証データ、結果ではない pmuEventConfig、 0、     &ethosu_drv、 0、 nullptr、 0、 0、 間違い); job.invalidate(); bool failed = inferenceprocess.runJob(job); job.clean(); (!failed)の場合 {     // ofmから結果を読み込む } 概念的には: コピー (!failed)の場合 {     // 出力テンソル 0 uint8_t *outputData = ofm[0].data(); size_t outputSize = ofm[0].size();     for (size_t i = 0; i < outputSize; i++)     { PRINTF("ofm[%u] = %d\r\n", i, outputData[i]);     } } ofmのSDKの種類によってはアクセスが少し異なる場合がありますが、ルールは同じです:InferenceJobに渡した同じofmバッファから読み込むこと。 モデル出力が量子化されている場合、ofmのバイトは通常int8_tかuint8_tで、最終的な浮動小数点数の値ではありません。出力テンソルの量子化パラメータを使用して変換します。 float real_value = (quantized_value - zero_point) * scale; 例えば、int8 の出力の場合: int8_t *out = reinterpret_cast (ofm[0].data()); for (size_t i = 0; i < outputSize; i++) { float y = (static_cast (out[i]) - output_zero_point) * output_scale; PRINTF("out[%u] q=%d real=%f\r\n", i, out[i], y); } RPMsgの場合、ethosu_apps_rpmsg主にCortex-M33のファームウェアサービスであることを覚えておいてください。Cortex-Aからのリクエストを受け取り、Ethos-Uジョブを実行し、結果をOFMバッファに書き込み、RPMsg で応答を返します。Cortex-A/Linux側では、ドキュメント化されたAPIパスはOFMバッファにアクセスするために使われています。例えばinf->getOfmBuffers()などです。 SO: M33側直接テスト: runJob()が正常に完了した後、ofm[0]を読み取ります。 Aコア/Linux RPMsg推論:出力はコンソール出力ではなく、Linux側推論オブジェクトのOFMバッファから取得ethosu_apps_rpmsg。 expectedOutputを結果として使用しないでください。これは、サンプルが正しさを比較するために使用される、基準となる出力(ゴールデン出力)にすぎません。 計算の出力はすでにOFMに入っています;runJob(job)が成功した後、ofm[0]を読み取り、モデルの出力テンソル型に従って解釈・反量子化します。
查看全文
S32K3 RTD 7.0.1における2つの問題点:括弧の構文エラーと暗号化XMLファイルの欠落 私はRTDバージョンS32K3_RTD_7_0_1_D2602_ASR_REL_4_9_REV_0000_20260206を使用しています。実行時ログには、featureDefined(`FEATURE_MEM_INFLS_HEADER`)に関連する括弧の不一致エラーが報告されています。2 つのネイティブ RTD コンポーネント行に構文エラーがあり、ステートメント getFeature(`FEATURE_MEM_INFLS_HEADER`) == `S32K388` に閉じ括弧がありません。 エラー発生箇所 どちらの不具合のある行にも、getFeature(`FEATURE_MEM_INFLS_HEADER`) == `S32K388` というコードが含まれており、末尾の閉じ括弧が欠落しています。 ファイルパスと行 1 : eclipse/mcu_data/components/PlatformSDK_S32K3/C40_Ip/C40_Ip.component行 603 ファイルパスと行 2 : eclipse/mcu_data/components/PlatformSDK_S32K3/Mem_43_INFLS/Mem_43_INFLS.component行 905 これらの構文エラーは公式のオリジナルRTDコンポーネントファイルに存在し、実行時機能定義の解析エラーを引き起こします。   2つ目の問題:暗号モジュールファイルが見つからないエラー 私はArch LinuxとS32DSでRTDバージョンS32K3_RTD_7_0_1_D2606_ASR_REL_4_9_REV_0000_20260814を使用しています。eclipse/mcu_data/processorsディレクトリのCryptoモジュールにファイルが不足している問題があります。 すべてのMCUモデルが必要な2つのCrypto設定ファイル(PlatformSDK_S32K3/common/sdk_features_rtd_crypto.xmlとPlatformSDK_S32K3/[MCU_MODEL]_[PACKAGE_TYPE]/resource_tables/RTD_CRYPTO/rtd_crypto_Crypto.xmlを含んでいるわけではありません。 上記の2つのファイルを含まずMCUモデルを選択し、 Crypto_43_HSE モジュールを追加すると、S32DSのUI例外やコード生成の失敗が発生します。これら2つの完全なXMLファイルを他の対応MCUモデルディレクトリから手動でコピーすることで、このエラーを完全に解決できます。 Re: Two Issues in S32K3 RTD 7.0.1: Unpaired Parenthesis Syntax Error and Missing Crypto XML Files こんにちは、 @chenwilsoft さん。 創刊: ご指摘ありがとうございます。ご指摘の通り、 `FEATURE_MEM_INFLS_HEADER`セクション内の C40_Ip.component および Mem_43_INFLS.component ファイルの両方ともタイプミスがあります。 `FEATURE_MEM_INFLS_SUPPORTBLOCK4PIPESELECT`セクションを参考にすると、 featureDefined の前に余分な開き括弧 "(" が誤って追加されているようです。 回避策として、以下の方法をいただけますか: 式の最後に不足している閉じ括弧「)」を追加するか、 featureDefined の前の余分な開き括弧を削除してください(これにより、ファイル内の他の場所で使用されている形式と構文が一致します)。 この問題によりご迷惑をおかけして申し訳ございません。 第2号: S32K3リアルタイム・ドライバAUTOSAR R23-11 バージョン7.0.1 QLP05を使用しているため、このリリースはソフトウェアリリースノートに記載されている通り、S32K3x4およびS32K388デバイスのみを対象としていることにご注意ください。 下の画像では、2つの異なるS32DS 3.6.xからsdk_features_rtd_crypto.xmlファイルをハイライト表示しています。インストール: オレンジ:RTD 7.0.1 QLP05がインストールされたS32DSインスタンス。 紫色:RTD 7.0.1 P02がインストールされたS32DSインスタンス。 VaneB_0-1787259680399.png RTD 7.0.1 P02パッケージはすべてのS32K3派生モデルをサポートし、RTD 7.0.1 QLP05はS32K3x4およびS32K388デバイス向けに特別に設計・検証されています。 rtd_crypto_Crypto.xml ファイルについても同様です。これらのファイルは、7.0.1 QLP05リリースですべてのS32K3派生製品に対して提供されていません。なぜなら、これらのデバイスのサポートは本パッケージの範囲外だからです。 BR、VaneB
查看全文
SmartMX2は私のプロジェクトにとって最適な選択肢でしょうか? こんにちは、皆さん。 私は、複数のトークン化された決済カードのアプレットを1チップに搭載し、各取引前にどのアプレットをアクティブ/端末に曝すかを選択できる、単体型の非接触決済デバイス(電話ではない)のセキュア要素オプションを検討しています。 SmartMX2に関する具体的な質問がいくつかあります。 1. 単一のSmartMX2チップが現実的に対応できる別々の決済アプレット/GlobalPlatformセキュリティドメインはおおよそどれくらいあるか? 2. プラットフォームは外部ホストコマンドによってトリガーされるランタイムAID選択をサポートしていますか?つまり、ホスト側ファームウェアがチップに対して、タップ前にどのプロビジョニング済みアプレットを公開するかを指示できるのか、チップが常に静的/優先順位で並んだAIDリストを表示するのではなく、 3. SmartMX2はこの種の銀行・ペイメント用途にまだ適切な製品ラインナップなのか、それともより適した新しいNXPファミリがあるのか? 公開ドキュメントや開発キット、または適切な社内チームについてのアドバイスがあれば教えていただけると助かります。ありがとう! Re: Is SmartMX2 the right choice for my project? こんにちは、 @Javierggさん ご質問に対するコメントをご覧ください。 1.NXP SmartMX2製品ページは、公開データシートや概要ドキュメントの出発点として NXP.com 良いです。 - より深い技術仕様については、製品のリファレンスマニュアル(NDAの下で入手可能)でGlobalPlatform SDの制限とAID マネジメントが記載されています。 2. 開発キットや適切なチームとの直接のやり取りについては、NXPの公式営業やFAE(フィールドアプリケーションエンジニア)チャネルを通じて連絡することをお勧めします。銀行やペイメントアプリケーションのセキュア要素専門家とつなげてくれるからです。 3. SmartMX2が新しいファミリと今でも適切なかどうかについてですが、インターフェースやフォームファクターの要件に応じてNXPのSE050やSN100シリーズも検討する価値があり、FAEはあなたの具体的な用途に応じた選択肢の比較を手伝ってくれます。
查看全文
Wi-Fi芯片组MCU控制 大家好, 我正在寻找一些具有 AP+STA 功能的 Wi-Fi 模块。例如,我找到了一些来自恩智浦半导体(NXP)、微芯科技(Microchip)和英飞凌科技(Infineon)的模块。然而,大多数模块仅通过 PCIe 和高级操作系统启用 wifi 接口。 不过,我找到了一套来自英飞凌的名为 AIROC CYW55X(系列)的 MCU+Wifi 模块。 您在集成和控制这类模块方面有经验吗?如果可以的话,您能否分享一下您之前使用过并成功与外部MCU集成的不同模块?我的目的不是将数据卸载到微控制器,而只是为了控制例如网状网络和接入点功能。 我想使用 MCU(例如 STM)对一些基本的 AI 模型进行一些推理,同时控制 wifi 模块。 谢谢大家 Re: Wi-Fi Chipset MCU Control 您好, 如果您计划使用 STM32 作为主机 MCU,我建议使用IW612或IW416作为 Wi-Fi 设备。在这种情况下,您可以使用产品网页软件部分提供的 STM32 CMSIS-Pack 驱动程序。 这些设备使用 SDIO 进行 Wi-Fi 通信,使用 UART 进行蓝牙通信。对于 IW612,如果您还计划使用 802.15.4,则主机接口为 SPI。 另一种选择是将RW612用作网络协处理器 (NCP)。由于 RW612 是一款无线 MCU,它可以处理无线连接协议栈,而外部 MCU 则专注于应用程序。 问候, 丹尼尔 Re: Wi-Fi Chipset MCU Control 正如丹尼尔提到的,RW612 会是一个不错的解决方案。 它有 3 个无线电模块,并且内置以太网 MAC——非常适合用于开发网络应用。 RW612 可以实现 AP+STA 功能。因此,您可以将该 MCU 用于网络控制和 AI 功能。 如果您正在寻找一个带有 Web UI 和内置 OTA 功能的现成项目,请查看https://mongoose.ws/wizard/ 启动一个项目,选择空目录,选择 FRDM-RW612 作为开发板目标,设置 WiFi 选项,点击“生成”,在 Xpresso 中打开项目,构建并烧录,连接串口控制台,一分钟内即可运行。 您能否详细说明一下您具体在建造什么?
查看全文
imx93 m33 sdk ethosu_apps_rpmsg: how to get the result of model? in the sdk version26.   ethosu_apps_rpmsg did not show the way to get result from ethosu. how to do it? InferenceProcess::InferenceJob job("job", networkModel, ifm, ofm, expectedOutput, pmuEventConfig, 0,                        &ethosu_drv, 0, nullptr, 0, 0, false);     job.invalidate();     InferenceProcess::InferenceProcess inferenceprocess(inferenceProcessTensorArena, TENSOR_ARENA_SIZE);     bool failed = inferenceprocess.runJob(job);     job.clean(); how can I get the output of this calculation? Re: imx93 m33 sdk ethosu_apps_rpmsg: how to get the result of model? The inference result is in the OFM buffer you pass into the job — ofm in your constructor. expectedOutput is only for the SDK example’s validation path; it is not where the calculated result is returned. The i.MX93 Ethos-U flow writes the completed inference result into the output feature-map buffer and, in the Linux/RPMsg flow, sends the response back to Cortex-A after the OFM is populated . For your code, the important part is: InferenceProcess::InferenceJob job(     "job",     networkModel,     ifm,     ofm,              // <-- output buffer(s)     expectedOutput,   // <-- reference/validation data, not the result     pmuEventConfig,     0,     &ethosu_drv,     0,     nullptr,     0,     0,     false); job.invalidate(); bool failed = inferenceprocess.runJob(job); job.clean(); if (!failed) {     // Read result from ofm } Conceptually: Copy if (!failed) {     // Output tensor 0     uint8_t *outputData = ofm[0].data();     size_t outputSize   = ofm[0].size();     for (size_t i = 0; i < outputSize; i++)     {         PRINTF("ofm[%u] = %d\r\n", i, outputData[i]);     } } Depending on the exact SDK type of ofm , the access may be slightly different, but the rule is the same: read from the same ofm buffer that you passed into InferenceJob . If your model output is quantized, the bytes in ofm are usually int8_t or uint8_t , not final floating-point values. Convert them using the output tensor’s quantization parameters: float real_value = (quantized_value - zero_point) * scale; For example, for an int8 output: int8_t *out = reinterpret_cast (ofm[0].data()); for (size_t i = 0; i < outputSize; i++) {     float y = (static_cast (out[i]) - output_zero_point) * output_scale;     PRINTF("out[%u] q=%d real=%f\r\n", i, out[i], y); } In the RPMsg case, remember that ethosu_apps_rpmsg is mainly the Cortex-M33 firmware service. It receives the request from Cortex-A, runs the Ethos-U job, writes the result into the OFM buffer, and returns the response over RPMsg . On the Cortex-A/Linux side, the documented API path is to access the OFM buffers, for example inf->getOfmBuffers() . So: M33-side direct test: read ofm[0] after runJob() completes successfully. A-core/Linux RPMsg inference: get the output from the Linux-side inference object’s OFM buffers, not from ethosu_apps_rpmsg console output. Do not use expectedOutput as result ; it is only the golden/reference output used by the sample to compare correctness. The output of your calculation is already in ofm ; after a successful runJob(job) , read ofm[0] and interpret/dequantize it according to your model’s output tensor type.
查看全文
S32K116 モーター制御 速度制御用のスロットル(ポテンショメーター)を追加 ポテンショメーター電圧を測定するためにADCチャネルADC0_SE13を追加したいです。モーターの速度を制御するため。いろいろ試してみましたが、PDBブロックに正しく設定することができませんでした。ProcessorExpertでADCを適切に設定し、その後PDB0を設定しました。いろいろ試してみましたが、毎回MCATツールでPDB0エラーが発生します。 以下のファイルでは何をすれば良いですか?私はk116 FOC 2shのサンプルコードを使用しています。 1. これを実現するために必要な適切な設定は何ですか? 2. プロセッサエキスパートでのADC構成? 3. プロセッサエキスパートでのPDB設定? 4. periferals_config.c のコード変更? 5. main.c のコード変更? 6. meas_s32k.c のコード変更? 客観的: 1. ポテンショメータを速度制御用のスロットルとして接続します。 2. PDBを介してADCを連続的にトリガーする。 3. 割り込みルーチンでADC値を読み取る。電流と電圧はmeas.cを使用して測定されます。 4. スロットル操作に応じて速度を設定する。ADC割り込みルーチン内。どの変数に速度が関係していますか? これは設定コードで、数行を修正しています。そしてプロセッサの専門家。 void McuPdbConfig(void) ヤージュ /* PDB0モジュールの初期化 */ PDB_DRV_Init(INST_PDB0, &pdb0_InitConfig0); /* PDB0 CH0 プリトリガー初期化 */ PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig0); PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig1); PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig2); >>>>>//PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig3); /* PDB0の剰余値を設定します */ PDB_DRV_SetTimerModulusValue(INST_PDB0, 7800); PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 0, 0); PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 1, 1200); >>>>//PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 2, 2400); 2023-09-27 11-57-05 のスクリーンショット.png Re: S32K116 Motor Control add throttle (potentiometer) for speed control S32K1xxモーター制御プロジェクトでPDBブロックを使ってADC0_SE13でポテンショメータースロットルを追加する場合、MCATツールの根本的な問題はチャネル割り当ての競合やトリガー前のシーケンスカウントのずれに起因します。モータ制御(FOC 2シャント)では、PDBチャネル0がPWMリロードと同期した正確な電流サンプリングに多用されます。スロースロットル測定を追加するには、別のPDBチャネル(可能であれば)か、メインPWMハードウェアトリガーを妨げずに独立したプリトリガーシーケンスとして追加する必要があります。 Re: S32K116 Motor Control add throttle (potentiometer) for speed control 問題が解決しました。COCOフラグをクリアするためにADC値を読み取るのを忘れていました。
查看全文
MCXA266: ディープパワーダウンからのウェイクアップ後、WUUウェイクアップフラグは0になります(SRS=0x4010、SSRS=0x4011)。 こんにちは、 私はFRDM-MCXA266ボードにおける、ディープパワーダウンモードからのWUUウェイクアップ動作について調査しています。 環境: - MCU:MCXA266 - 委員会:FRDM-MCXA266 - SDK例プロジェクト:frdmmcxa266_power_mode_switch_ll_mcxa - SDKバージョン:26.6.000 - 開発環境:MCUXpressoIDE_25.6.136 BOARD_InitHardware() が呼び出される前にリセットとウェイクアップの状態を読み取るために、main() の冒頭付近に以下のコードを追加しました。 /******************************************************************************* * Variables ******************************************************************************/ char *const g_modeNameArray[] = APP_POWER_MODE_NAME; char *const g_modeDescArray[] = APP_POWER_MODE_DESC; uint32_t resetCount; uint32_t resetStatus; uint32_t resetStickyStatus; uint32_t wakeupResource; uint32_t wuuWakeupPinsFlag; /******************************************************************************* * Code ******************************************************************************/ int main(void) { uint32_t freq; app_power_mode_t targetPowerMode; bool needSetWakeup = false; // --- START ADDED CODE --- resetStatus = CMC_GetSystemResetStatus(CMC); resetStickyStatus = CMC_GetStickySystemResetStatus(CMC); CMC_ClearStickySystemResetStatus(CMC, resetStickyStatus); wakeupResource = CMC_GetWakeupSource(CMC); wuuWakeupPinsFlag = WUU_GetExternalWakeUpPinsFlag(WUU0); WUU_ClearExternalWakeUpPinsFlag(WUU0, wuuWakeupPinsFlag); // --- END ADDED CODE --- BOARD_InitHardware(); // --- START ADDED CODE --- DbgConsole_Printf("CMC_GetSystemResetStatus(CMC) = 0x%x\r\n", resetStatus); DbgConsole_Printf("CMC_GetStickySystemResetStatus(CMC) = 0x%x\r\n", resetStickyStatus); DbgConsole_Printf("CMC_GetWakeupSource(CMC) = 0x%x\r\n", wakeupResource); DbgConsole_Printf("WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x%x\r\n", wuuWakeupPinsFlag); // --- END ADDED CODE --- APP_SetVBATConfiguration(); APP_SetSPCConfiguration(); APP_InitWaketimer(); 関連する出力全体は以下のとおりです。 「`」 通常起動。 ######################### ## Power Mode Switch Demo ## ######################### コアクロック = 240000000Hz 電源モード:アクティブ 希望する操作を選択してください Aを押してアクティブモードに入ります Bを押してスリープモードに入ります Cキーを押してディープスリープモードに入ります Dキーを押して電源オフモードに入ります Eキーを押してDeepPowerDownモードに入ります 電源モード選択を待っています... ディープパワーダウン:VDD_CORE電圧ドメイン全体がパワーゲートされます。 起動ソースを選択してください: Aボタンを押して、ウェイクアップソースとしてタイマーを選択してください。 Bボタンを押して、ウェイクアップボタンをウェイクアップソースとして選択します。 起動ソースの選択を待っています... ウェイクアップボタンがウェイクアップソースとして選択されました。 起動するにはSW2を押してください。 電源ドメインを分離します:VDD_USB。 CMC_GetSystemResetStatus(CMC) = 0x4010 CMC_GetStickySystemResetStatus(CMC) = 0x4011 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 通常起動。 「`」 初回起動時に、以下の値が表示されました。 CMC_GetSystemResetStatus(CMC) = 0x110 CMC_GetStickySystemResetStatus(CMC) = 0x110 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 次に、ディープパワーダウンモードを選択し、ウェイクアップソースとしてウェイクアップボタンを選択し、SW2を押しました。 MCUは正常に起動し、アプリケーションは再起動されましたが、以下の数値が印刷されました。 CMC_GetSystemResetStatus(CMC) = 0x4010 CMC_GetStickySystemResetStatus(CMC) = 0x4011 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 CMCリセットステータスに関する私の解釈は以下のとおりです。 - 0x00004010:ソフトウェアリセット + ウォームリセット - 0x00004011:ソフトウェアリセット + ウォームリセット + ディープダウンウェイクアップリセット この解釈が正しければ、固定状態はディープダウンウェイクアップリセットが最初に行われ、その後ソフトウェアウォームリセットが行われたことを示しています。 アプリケーションの起動コード、system_MCXA266.cを確認しました。例のソースは見つかりませんでしたが、NVIC_SystemReset()、SYSRESETREQ、またはSCB->AIRCRの書き込みは見つかりませんでした。 また、保持されたNOLOAD変数を使用して、SystemInitHook()にカウンターを追加しました。SystemInitHook()はウェイクアップ後に一度だけ実行されたため、SystemInit()後にソフトウェアリセットされた証拠は見つかりませんでした。 私の質問は以下のとおりです。 ディープパワーダウンからのWUUウェイクアップ後、SRS = 0x4010およびSSRS = 0x4011は想定される値ですか? MCXA266 Boot ROMやExtended Bootloaderは、アプリケーション起動前にソフトウェアウォームリセットを発行しますか? どのWUUピンがディープ・パワーダウンのウェイクアップを引き起こしたかを特定するための推奨される方法は何ですか? 私の現在のCMCリセット状態の解釈は以下の通りですが、ビットの定義を誤解していたら訂正してください。 英語は母国語ではないので、説明のどこか分かりにくい部分があれば教えてください。 よろしくお願いします。 MCXA Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) こんにちは、@ka-2020 ご質問ありがとうございます。同じ設定で私の方でもテストを再現し、動作を調査します。結果が出次第、調査結果とご質問への回答をご連絡いたします。 ご辛抱とサポートに感謝いたします。 BR アリス Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) こんにちは、 @Alice_Yang さん。 この件について調べていただき、ありがとうございます。 別のWUU外部ウェイクアップピンを使用して追加テストを実施し、その結果を共有したいと思います。 元のウェイクアップボタンの設定に加えて、以下の設定を追加しました。 WUU_SetExternalWakeUpPinsConfig(APP_WUU, 0, &wakeupButtonConfig); 次に、WUUピン0に割り当てられたピンを使用して、デバイスをディープパワーダウン状態から復帰させました。デバイスは正常に復帰しましたが、以前と同じ結果が見られました。 CMC_GetSystemResetStatus(CMC) = 0x4010 CMC_GetStickySystemResetStatus(CMC) = 0x4011 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 したがって、この動作は元のSW2 WUUピンに特有のものではないようです。 捜査の進捗状況について何か新しい情報はありますか? 追加のログ、ソースコード、レジスタ値、またはテスト結果が必要な場合は、お知らせください。 よろしくお願いします。 Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) こんにちは、@ka-2020 ご返信とご辛抱に感謝いたします。 ご要望に応じてこちら側でテストを行い、社内チームとも協議しました。ROMの動作に関する明確化にはROMチームからの確認が必要なため、調査に多少時間がかかりました。返信が遅くなり申し訳ありません。ご理解いただければ幸いです。 1. ディープパワーダウンからのWUUウェイクアップ後、SRS = 0x4010およびSSRS = 0x4011は想定される値ですか? はい。 SSRS :前回のメインコールドリセット以降にシステムリセットを生成し、かつクリアしていないすべてのシステムリセットの発生源を保存します。SSRSはコアソフトウェアのリセット後に更新されません。 SRS:メインのウォームリセットのたびに、最新のリセットの種類/発生源を示す更新情報を提供します。 2. MCXA266 Boot ROMやExtended Bootloaderは、アプリケーション起動前にソフトウェアウォームリセットを発行しますか?→いいえ。 3. どのWUUピンがディープ・パワーダウンのウェイクアップを引き起こしたかを特定する推奨方法は何ですか?->> ウェイクアップソースピンを特定するために、 WUU_GetExternalWakeUpPinsFlag() は電源ダウンモードに適しており、WUU割り込みサービスルーチンは通常通り実行できます。しかし、ディープ・パワーダウンのウェイクアップ後は、デバイスがリセットシーケンスで再起動し、WUUフラグが既にクリアされているため使用できません。 ところで、ウェイクアップピンは1つだけ使用していますか、それとも複数のウェイクアップピンを有効にしていますか? よろしくお願いします。 BR アリス Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) こんにちは、 @ka-2020さん ご返信ありがとうございます。 この問題とお客様のご要望を、社内のSEチームに最優先で報告いたしました。私たちはこの要請の重要性を十分に理解しており、積極的に対応を進めています。 もう少し調査する時間をください。最新情報をお伝えし、できるだけ早くご連絡いたします。 ご理解とご辛抱に感謝いたします。 BR アリス Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) こんにちは、 @Alice_Yang さん。 調査していただき、またご説明いただきありがとうございます。 あなたの説明によると、WUUフラグはアプリケーション開始前のディープ・ダウンリセットシーケンス中にクリアされているようです。 私のテストでは、2つのWUU外部ウェイクアップピンが有効になっていました。元のSW2ウェイクアップピンとWUU外部ウェイクアップピン0です。 念のため確認ですが、これはディープ・パワーダウン後にどのWUUピンがウェイクアップを引き起こしたかを特定するソフトウェアの方法がないということですか? よろしくお願いします。 Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) こんにちは、 @ka-2020さん ご辛抱いただきありがとうございます。 根本原因は特定されており、FUTUREサンプルチップの改良版で修正が実装される予定です。 ご迷惑をおかけして申し訳ございません。ご理解いただけますようお願い申し上げます。 よろしくお願いします。 BR アリス Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) こんにちは、 @Alice_Yang さん。 最新情報のご提供ありがとうございます。 修正はFUTUREサンプルチップのリビジョンで計画されていると理解しています。 再開まで今しばらくお待ちください。
查看全文
NXP S32K3x4EVB-Q172 的 PIL 仿真误差 你好, 我正在尝试使用 MBDT for S32K3 系列 1.1.0 版本进行简单的 PIL 仿真。在 Matlab 2021b 上。我正在使用的电路板是 NXP S32K3x4EVB-Q172。使用 SImulink SIL/PIL,我能够成功运行 SIL,然后再运行 PIL。在 PIL 过程中,我在 Simulink 中收到以下错误。有时,它还会报错,提示我向电路板发送数据而不是接收数据,如图所示。 我还尝试部署 MBDT 提供的 UART 模型示例,例如“S32K344_uart_async_s32ct”。模型已部署,但在 PuTTY 终端上再次测试,仍然无法通信。 请指导我如何解决这个问题。 谢谢 Simple_PIL_project_issue_cc.png   Re: PIL simulation error for NXP S32K3x4EVB-Q172 @mariuslucianand OpenSDA 功能是否已在 S32K344EVB-T172 板上激活,以便在 PIL 中运行,USB2Serial 功能是否已激活?? 我正在尝试运行PIL示例模型,我已经指定了PIL配置,模型构建正常,但是无法打开串口(请参见附件中的错误日志和配置设置)。 我非常感谢您能就如何解决这个问题提供任何指导。 谢谢! Re: PIL simulation error for NXP S32K3x4EVB-Q172 你好@Saurabh9 , 对于为 S32K3 MCU 创建的每个 Simulink 模型,我们的工具箱都会关联一个 S32 CT 或 EB tresos 配置项目,该项目保存板的设置并生成配置 C 代码,供 Simulink 模型在编译过程中使用。默认情况下,S32K3 工具箱关联一个 S32CT/EBT 项目,该项目配置用于另一个评估板 S32K344_Q257。 S32K3x4-Q257 EVB 和 S32K3x4-Q172 EVB 的主要区别在于,前者使用 LPUART13,而后者使用 LPUART6。 你有两种选择: 1.您可以打开外部配置工具,将封装从 Q257 更改为 Q172,并配置 LPUART6 及其所有依赖项(引脚、中断)。 2.您可以将 S32CT 配置文件替换为 s32k344_q172.mex 文件。附加到此主题(.mex)这里的扩展名与 MATLAB 的扩展名无关,它是 S32CT 格式)。 为此,您需要转到“硬件实现”、“硬件”,然后更改默认配置模板,如下所示。 mariuslucianand_0-1648251474071.png 在这两种情况下,您还需要指定 PIL 配置、要使用的 LPUART、PC 上的 COM 端口和波特率。为此,您需要前往硬件实现部门(PIL)。对我来说是 COM31,但你的配置可能不同。 mariuslucianand_1-1648251582058.png 我还附上了一个例子。 在这个特定的电路板上,OpenSDA 作为 USB2Serial 的功能尚未完全实现,因此您需要使用连接到 J44(1 到 TX,2 到 RX)接头的外部 USB2Serial 变流器,以便 PIL 能够工作。Simulink会将生成的elf文件部署到OSDA上,并通过外部USB转串口转换器进行PIL通信。 mariuslucianand_2-1648252183459.png 要测试该示例,请打开 k344_q172_h_s32ct.mdl 文件。打开参考配置,并输入您正在使用的 UAB2Serial 的 COM 端口。 请点击此处查看电路板的所有原理图:https://www.nxp.com/design/development-boards/automotive-development-platforms/s32k-mcu-platforms/s32k3x4-q172-general-purpose-development-board :S32K3X4EVB-Q172 希望这能帮到您, Marius
查看全文
MCXA266:深度掉电唤醒后,WUU 唤醒标志为 0(SRS=0x4010,SSRS=0x4011) 你好, 我正在研究 FRDM-MCXA266 板上从深度掉电模式唤醒 WUU 的行为。 环境: - MCU:MCXA266 - 电路板:FRDM-MCXA266 - SDK 示例项目:frdmmcxa266_power_mode_switch_ll_mcxa - SDK 版本:26.6.000 - 开发环境:MCUXpressoIDE_25.6.136 我在 main() 函数的开头附近添加了以下代码,以便在调用 BOARD_InitHardware() 之前读取 RESET 和唤醒状态。 /******************************************************************************* * Variables ******************************************************************************/ char *const g_modeNameArray[] = APP_POWER_MODE_NAME; char *const g_modeDescArray[] = APP_POWER_MODE_DESC; uint32_t resetCount; uint32_t resetStatus; uint32_t resetStickyStatus; uint32_t wakeupResource; uint32_t wuuWakeupPinsFlag; /******************************************************************************* * Code ******************************************************************************/ int main(void) { uint32_t freq; app_power_mode_t targetPowerMode; bool needSetWakeup = false; // --- START ADDED CODE --- resetStatus = CMC_GetSystemResetStatus(CMC); resetStickyStatus = CMC_GetStickySystemResetStatus(CMC); CMC_ClearStickySystemResetStatus(CMC, resetStickyStatus); wakeupResource = CMC_GetWakeupSource(CMC); wuuWakeupPinsFlag = WUU_GetExternalWakeUpPinsFlag(WUU0); WUU_ClearExternalWakeUpPinsFlag(WUU0, wuuWakeupPinsFlag); // --- END ADDED CODE --- BOARD_InitHardware(); // --- START ADDED CODE --- DbgConsole_Printf("CMC_GetSystemResetStatus(CMC) = 0x%x\r\n", resetStatus); DbgConsole_Printf("CMC_GetStickySystemResetStatus(CMC) = 0x%x\r\n", resetStickyStatus); DbgConsole_Printf("CMC_GetWakeupSource(CMC) = 0x%x\r\n", wakeupResource); DbgConsole_Printf("WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x%x\r\n", wuuWakeupPinsFlag); // --- END ADDED CODE --- APP_SetVBATConfiguration(); APP_SetSPCConfiguration(); APP_InitWaketimer(); 相关的完整输出结果如下: ``` 正常启动。 ######################### ## Power Mode Switch Demo ## ######################### 核心时钟频率 = 240000000Hz 电源模式:激活 选择所需的操作 按 A 键进入:运行模式 按 B 键进入:睡眠模式 按 C 键进入:深度睡眠模式 按 D 键进入:关机模式 按 E 键进入:深度关机模式 等待电源模式选择…… Deep 掉电: The whole VDD_CORE voltage domain is 掉电. 请选择唤醒源: 按 A 选择定时器作为唤醒源; 按 B 选择唤醒按钮作为唤醒源; 等待唤醒源选择... 已选择唤醒按钮作为唤醒源。 请按SW2键唤醒。 隔离功率域:VDD_USB。 CMC_GetSystemResetStatus(CMC) = 0x4010 CMC_GetStickySystemResetStatus(CMC) = 0x4011 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 正常启动。 ``` 首次启动时,打印了以下值: CMC_GetSystemResetStatus(CMC) = 0x110 CMC_GetStickySystemResetStatus(CMC) = 0x110 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 然后我选择了深度关机模式,选择了唤醒按钮作为唤醒源,并按下了 SW2。 MCU 已成功唤醒,应用程序也已重新启动,但打印出了以下值: CMC_GetSystemResetStatus(CMC) = 0x4010 CMC_GetStickySystemResetStatus(CMC) = 0x4011 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 我对 CMC RESET 状态的理解是: - 0x00004010:软件 RESET + 热 RESET - 0x00004011:软件 RESET + 热 RESET + 深度掉电唤醒 RESET 如果这种解释是正确的,则粘滞状态似乎表明首先发生了深度掉电唤醒重置,然后发生了软件热重置。 我检查了应用程序启动代码 system_MCXA266.c,以及示例源代码,但我找不到 NVIC_SystemReset()、SYSRESETREQ 或 SCB->AIRCR 写入。 我还使用保留的 NOLOAD 变量向 SystemInitHook() 添加了一个计数器。SystemInitHook() 在唤醒后只执行了一次,因此我找不到 SystemInit() 之后进行软件重置的证据。 我的问题是: 从深度掉电状态唤醒后,SRS = 0x4010 和 SSRS = 0x4011 是否正常? MCXA266 启动 ROM 或扩展启动加载程序在应用程序启动前是否会执行软件热复位? 如何确定是哪个 WUU 引脚导致了深度掉电唤醒? 我目前对 CMC RESET 状态的理解如下,但如果我对位定义的理解有误,请指正: 英语不是我的母语,所以如果我的解释有任何不清楚的地方,请告诉我。 谢谢! MCXA Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) 你好@ka-2020 谢谢你的提问。我将使用相同的设置在我的环境中重现该测试,并调查其行为。一旦我拿到结果,我会将我的发现和所有问题的答案告诉您。 感谢您的耐心和支持。 BR 爱丽丝 Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) 你好@Alice_Yang 感谢您调查此事。 我使用另一个 WUU 外部唤醒引脚进行了额外的测试,并想与大家分享结果。 除了原有的唤醒按钮配置外,我还添加了以下配置: WUU_SetExternalWakeUpPinsConfig(APP_WUU, 0, &wakeupButtonConfig); 然后我使用分配给 WUU 引脚 0 的引脚将设备从深度掉电状态唤醒。设备成功唤醒,但我观察到了与之前相同的结果: CMC_GetSystemResetStatus(CMC) = 0x4010 CMC_GetStickySystemResetStatus(CMC) = 0x4011 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 因此,这种行为似乎并非原始 SW2 WUU 引脚所特有的。 调查方面有任何最新进展吗? 如果您需要我提供任何其他日志、源代码、寄存器值或测试结果,请告诉我。 谢谢! Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) 你好@ka-2020 感谢您的回复和耐心等待。 我已根据您的要求进行了测试,并与我们的内部团队进行了讨论。由于对 ROM 行为的澄清需要 ROM 团队的确认,因此需要一些额外的时间进行调查。对于回复延迟,我深表歉意,并感谢您的理解。 1. 从深度掉电状态唤醒后,SRS = 0x4010 和 SSRS = 0x4011 是否正常? 是的。 SSRS :存储自上次主冷RESET以来所有导致系统RESET的源,以及您尚未清除的源。SSRS 在核心软件 RESET 后不会更新。 SRS:每次主热RESET时更新,以指示最近一次RESET的类型/来源。 2. MCXA266 启动 ROM 或扩展引导加载程序在应用程序启动前是否发出软件热复位?->>否。 3. 确定导致深度掉电唤醒的 WUU 引脚的推荐方法是什么?—— 对于识别唤醒源引脚, WUU_GetExternalWakeUpPinsFlag() 适用于掉电模式,在该模式下 WUU 中断服务例程可以正常执行。但是,在深度 Power-Down 唤醒后无法使用此功能,因为设备会通过 RESET 序列重新启动,并且 WUU 标志已被清除。 顺便问一下,您只使用了一个唤醒引脚,还是启用了多个唤醒引脚? 谢谢! BR 爱丽丝 Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) 你好@ka-2020 感谢您的回复。 我已经将此问题和您的需求高优先级地提交给了我们内部的软件工程团队。我们完全理解这项请求的重要性,并正在积极跟进。 请给我们一些时间进行进一步调查。我会随时向您汇报最新进展,并尽快回复您。 感谢您的耐心和理解。 BR 爱丽丝 Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) 你好@Alice_Yang , 感谢您对此事的调查和澄清。 根据您的解释,WUU 标志似乎在应用程序启动之前,在深度掉电 RESET 序列期间被清除。 在我的测试中,启用了两个 WUU 外部唤醒引脚:原始的 SW2 唤醒引脚和 WUU 外部唤醒引脚 0。 请确认一下,这是否意味着没有软件方法可以识别深度掉电后是哪个 WUU 引脚导致了唤醒? 谢谢! Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) 你好@ka-2020 感谢您的耐心等待。 根本原因已经确定,将在未来的样品芯片版本中实施修复。 由此造成的不便,我们深表歉意,并感谢您的理解。 谢谢! BR 爱丽丝 Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) 你好@Alice_Yang , 谢谢你的更新。 我了解到该修复方案计划在未来的芯片样品版本中推出。 感谢您的支持。
查看全文
Two Issues in S32K3 RTD 7.0.1: Unpaired Parenthesis Syntax Error and Missing Crypto XML Files I am using RTD version S32K3_RTD_7_0_1_D2602_ASR_REL_4_9_REV_0000_20260206. The runtime log reports an unpaired parenthesis error related to featureDefined(`FEATURE_MEM_INFLS_HEADER`). Two native RTD component lines have syntax errors, where the statement getFeature(`FEATURE_MEM_INFLS_HEADER`) == `S32K388` lacks a closing parenthesis. Error Location Both faulty lines contain the code getFeature(`FEATURE_MEM_INFLS_HEADER`) == `S32K388` and are missing a trailing closing parenthesis: File Path & Line 1: eclipse/mcu_data/components/PlatformSDK_S32K3/C40_Ip/C40_Ip.component Line 603 File Path & Line 2: eclipse/mcu_data/components/PlatformSDK_S32K3/Mem_43_INFLS/Mem_43_INFLS.component Line 905 These syntax errors exist in the official original RTD component files and cause runtime feature definition parsing failures.   Second Issue: Crypto Module File Missing Error I am using RTD version S32K3_RTD_7_0_1_D2606_ASR_REL_4_9_REV_0000_20260814 with ArchLinux and S32DS. There is a file missing issue in the Crypto module under the eclipse/mcu_data/processors directory. Not all MCU models contain the two required Crypto configuration files: PlatformSDK_S32K3/common/sdk_features_rtd_crypto.xml and PlatformSDK_S32K3/[MCU_MODEL]_[PACKAGE_TYPE]/resource_tables/RTD_CRYPTO/rtd_crypto_Crypto.xml. When selecting an MCU model without the above two files and adding the Crypto_43_HSE module, it triggers S32DS UI exceptions and code generation failures. Manually copying these two complete XML files from other supported MCU model directories to the target model directory can completely resolve this error. Re: Two Issues in S32K3 RTD 7.0.1: Unpaired Parenthesis Syntax Error and Missing Crypto XML Files Hi @chenwilsoft  First Issue: Thank you for pointing this out. You are correct, there is a typo in both the C40_Ip.component and Mem_43_INFLS.component files within the `FEATURE_MEM_INFLS_HEADER` section. Using the `FEATURE_MEM_INFLS_SUPPORTBLOCK4PIPESELECT` section as a reference, it appears that an extra opening parenthesis "(" was inadvertently added before featureDefined. As workaround, could you please either: Add the missing closing parenthesis ")" at the end of the expression, or Remove the extra opening parenthesis before featureDefined (this will make the syntax consistent with the format used elsewhere in the file) Sorry for the inconvenience this issue may have caused. Second Issue: As you are using S32K3 Real-Time Drivers AUTOSAR R23-11 Version 7.0.1 QLP05, please note that this release is intended only for S32K3x4 and S32K388 devices, as stated in the software release notes. In the image below, I highlighted the sdk_features_rtd_crypto.xml files from two different S32DS 3.6.x installations: Orange: S32DS instance with RTD 7.0.1 QLP05 installed. Purple: S32DS instance with RTD 7.0.1 P02 installed. VaneB_0-1787259680399.png The RTD 7.0.1 P02 package supports all S32K3 derivatives, whereas RTD 7.0.1 QLP05 was specifically designed and validated for S32K3x4 and S32K388 devices. The same applies to the rtd_crypto_Crypto.xml file. These files are not provided for all S32K3 derivatives in the 7.0.1 QLP05 release because support for those devices is outside the scope of this package. BR, VaneB
查看全文
NXP S32K3x4EVB-Q172のPILシミュレーションエラー こんにちは、 S32K3シリーズ用MBDTバージョン1.1.0を使用して、簡単なPILシミュレーションを試しています。Matlab 2021b 上で動作します。私が作業しているボードはNXP S32K3x4EVB-Q172です。Simulink SIL/PILを使用して、PILに移行する前にSILを正常に実行することができました。SimulinkでPILを実行すると、以下のエラーが発生します。画像に示されているように、データを受信するのではなく、ボードに送信するエラーが発生することもあります。 また、MBDTに付属しているUART用のモデル例(例えば「S32K344_uart_async_s32ct」)をデプロイしてみました。モデルは展開されますが、再びパティ端末で通信は起こりません。 どうすれば解決できるか、アドバイスをください。 よろしくお願い申し上げます。 Simple_PIL_project_issue_cc.png   Re: PIL simulation error for NXP S32K3x4EVB-Q172 @mariuslucianand PILで動作させるために、S32K344EVB-T172ボードでUSB2SerialとしてのOpenSDA機能は有効になっていますか?? PILの例モデルを実行しようとしています。PILの設定を指定しましたが、モデルは正常にビルドされるのですが、シリアルポートが開かないことが確認できます(添付のエラーログと設定をご参照ください)。 この問題を解決する方法について、何かアドバイスをいただけると大変ありがたいです。 ありがとうございます Re: PIL simulation error for NXP S32K3x4EVB-Q172 こんにちは、 @Saurabh9 さん。 S32K3 MCU用に作成されたすべてのSimulinkモデルに対して、当社のツールボックスにはS32 CTまたはEBのtresos構成プロジェクトが関連付けられており、これによりボードの設定が保持され、後のコンパイルプロセスでSimulinkモデルで使用される構成Cコードを生成します。デフォルトでは、S32K3ツールボックスは評価ボードであるS32K344_Q257向けに設定されたS32CT/EBTプロジェクトを関連付けます。 S32K3x4-Q257 EVBとS32K3x4-Q172 EVBの主な違いは、前者がLPUART13を使用するのに対し、後者はLPUART6を使用する点です。 ここでは2つの選択肢があります。 1.外部設定ツールを開き、パッケージをQ257からQ172に変更し、LPUART6の依存関係(ピン、割り込み)をすべて設定できます。 2.S32CTの設定ファイルをs32k344_q172.mexに置き換えることができます。このスレッドに添付されています(.mexここでいう拡張子はMATLABの拡張子とは全く関係なく、S32CT形式です。 そのためには、ハードウェア実装のハードウェアに行き、下記のようにデフォルト構成テンプレートを変更する必要があります。 mariuslucianand_0-1648251474071.png どちらの場合も、どのLPUARTを使うか、PCのCOMポート、ボーレートを指定する必要があります。そのためには、ハードウェア実装、PIL のセクションに進む必要があります。私の場合はCOM31でしたが、これはあなたの環境設定によって異なるでしょう。 mariuslucianand_1-1648251582058.png サンプルも添付しました。 この特定の基板では、USB2SerialとしてのOpenSDA機能はまだ完全には機能していないため、PILを動作させるにはJ44ヘッダーにコネクテッドした外部USB2Serialコンバータ(1からTX、2からRXへ)を使う必要があります。Simulinkは生成されたelfファイルをOSDA上で展開し、PILは外部のUSB2Serialコンバーターを介して通信します。 mariuslucianand_2-1648252183459.png サンプルをテストするには、k344_q172_h_s32ct.mdl を開いてください。参照されている設定ファイルを開き、使用しているUAB2SerialのCOMポート番号を入力してください。 ボードの回路図はすべてこちらにあります。https://www.nxp.com/design/development-boards/automotive-development-platforms/s32k-mcu-platforms/s32k3x4-q172-general-purpose-development-board :S32K3X4EVB-Q172 お役に立てば幸いです。 マリウス
查看全文
Is SmartMX2 the right choice for my project? Hi all, I'm evaluating secure element options for a standalone contactless payment device (not a phone) that would need to hold several tokenized payment card applets on one chip, with the ability to select which applet is active/exposed to a terminal before each transaction. A couple of specific questions on SmartMX2: 1. Roughly how many separate payment applets / GlobalPlatform Security Domains can a single SmartMX2 chip realistically support? 2. Does the platform support runtime AID selection triggered by an external host command — i.e., can host-side firmware tell the chip which provisioned applet to expose before a tap, rather than the chip always presenting a static/priority-ordered AID list? 3. Is SmartMX2 still the right product line for this kind of banking/payment use case, or is there a newer NXP family better suited to it? Any pointers to public documentation, dev kits, or the right internal team to talk to would be appreciated. Thanks! Re: Is SmartMX2 the right choice for my project? Hello @Javiergg  Please see the comments on your questions: 1. The NXP SmartMX2 product page on nxp.com is a good starting point for public datasheets and overview documentation. - For deeper technical specs, the product's reference manual (available under NDA) would cover GlobalPlatform SD limits and AID management. 2. For dev kits and direct engagement with the right team, reaching out through NXP's official sales or FAE (Field Application Engineer) channel is recommended, as they can connect you with the secure element specialists for banking/payment applications. 3. Regarding whether SmartMX2 is still the right fit vs. a newer family — NXP's SE050 or SN100 series are also worth exploring depending on your interface and form factor requirements, and an FAE can help compare options for your specific use case.
查看全文
SmartMX2 适合我的项目吗? 大家好, 我正在评估独立非接触式支付设备(不是手机)的安全元件选项,该设备需要在一个芯片上存储多个令牌化的支付卡小程序,并且能够在每次交易之前选择哪个小程序处于活动状态/对终端公开。 关于 SmartMX2,我有几个具体问题: 1. 单个 SmartMX2 芯片实际能够支持多少个独立的支付小程序/GlobalPlatform 安全域? 2. 该平台是否支持由外部主机命令触发的运行时 AID 选择——也就是说,主机端固件能否在执行 tap 操作之前告诉芯片要公开哪个已配置的小程序,而不是芯片始终呈现一个静态/优先级排序的 AID 列表? 3. SmartMX2 是否仍然是此类银行/支付用例的合适产品线,还是 NXP 有更新的产品系列更适合它? 任何关于公开文档、开发工具包或相关内部团队的线索都将不胜感激。谢谢! Re: Is SmartMX2 the right choice for my project? 你好@Javiergg 请查看您问题的评论: 1.NXP.com 上的 NXP SmartMX2 产品页面是获取公开数据表和概述文档的良好起点。 - 有关更深入的技术规格,请参阅产品参考手册(根据保密协议提供),其中涵盖了 GlobalPlatform SD 限制和 AID 管理。 2. 对于开发套件和与合适的团队直接接触,建议通过 NXP 的官方销售或 FAE(现场应用工程师)渠道联系,因为他们可以将您与银行/支付应用的安全元件专家联系起来。 3. 关于 SmartMX2 是否仍然适合与更新的系列进行比较——NXP 的 SE050 或 SN100 系列也值得考虑,具体取决于您的接口和外形尺寸要求,现场应用工程师 (FAE) 可以帮助您比较针对您具体使用情况的各种选项。
查看全文
Wi-FiチップセットMCU制御 こんにちは、みんな、 AP+STA機能を備えたWi-Fiモジュールを探していました。例えば、NXP、Microchip、Infineonなどのモジュールを見つけました。しかし、ほとんどのモジュールはPCIe経由でWiFiインターフェースを使えず、高度なOSでしか対応していません。 しかし、InfineonのAIROC CYW55X(シリーズ)というMCU+WiFiモジュールのセットを見つけました。 こういったタイプのモジュールの統合や制御に関する経験はありますか?もしそうなら、これまでに使っていて外部MCUとうまく統合できた他のモジュールを教えてもらえますか?私の意図は、データをマイクロコントローラにオフロードするのではなく、例えばメッシュやAPの機能を制御することです。 Wi-Fiモジュールを制御しながら基本的なAIモデルに対して推論を行うために、MCU(例えばSTM)を使っています。 ありがとう、みんな Re: Wi-Fi Chipset MCU Control こんにちは、 ホストMCUとしてSTM32を使う予定なら、Wi-Fiデバイスとして IW612 か IW416 を使うことをおすすめします。その場合、製品ウェブページのソフトウェアセクションにあるSTM32 CMSIS-Packドライバを使用できます。 これらのデバイスは、Wi-FiにはSDIOを、BluetoothにはUARTを使用します。IW612の場合、もし802.15.4を使う予定なら、ホストインターフェースはSPIです。 もう一つの選択肢としては 、RW612 をネットワークコプロセッサ(NCP)として使用することです。RW612はワイヤレスMCUであるため、外部MCUがアプリケーションに集中する間、無線接続スタックを処理できます。 よろしくお願いいたします。 ダニエル Re: Wi-Fi Chipset MCU Control ダニエルが述べたように、RW612は良い解決策となるでしょう。 3-ラジオ対応で、ネットワーク対応アプリケーションの作成に理想的なイーサネットMACも内蔵しています。 RW612はAP+STA対応が可能です。つまり、そのMCUはネットワーク制御とAI機能の両方に使えます。 Web UIと組み込みOTAを備えたすぐに構築できるプロジェクトをお探しなら、 https://mongoose.ws/wizard/をご覧ください。 プロジェクトを開始し、空のディレクトリを選択し、ボードターゲットとしてFRDM-RW612を選択し、WiFiオプションを設定し、「生成」をクリックし、Xpressoでプロジェクトを開き、ビルドとフラッシュを実行し、シリアルコンソールを接続すれば、すぐに動作させることができます。 具体的に何を作っているのか、もう少し詳しく教えてもらえますか?
查看全文
S32K116 Motor Control add throttle (potentiometer) for speed control I want to add ADC channel ADC0_SE13 to measure potentiometer voltage. To control speed of motor. I tried lot of things but unable to set it in PDB block properly. ADC properly configured in ProcessorExpert and then I have configured PDB0. I tried lot of combination but every time I am getting PDB0 Error in MCAT tool. What I should do in below files? I am using k116 FOC 2sh example code. 1. What is proper settings required to achieve this. 2. ADC configuration in processor expert? 3. PDB configuration in processor expert? 4. code modification in periferals_config.c ? 5. code modification in main.c ? 6. code modifications in meas_s32k.c? Objective: 1. Connect potentiometer as throttle control for speed. 2. Trigger ADC through PDB back to back. 3. Read ADC value in interrupt routine. Where current and Voltages are measured using meas.c. 4. Set speed according to throttle demand. In ADC interrupt routine. Which variable have speed? This is configuration code where I am modifying few lines. and Processor expert. void McuPdbConfig(void) { /* PDB0 module initialization */ PDB_DRV_Init(INST_PDB0, &pdb0_InitConfig0); /* PDB0 CH0 pre-trigger initialization */ PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig0); PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig1); PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig2); >>>>>//PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig3);   /* Set PDB0 modulus value */ PDB_DRV_SetTimerModulusValue(INST_PDB0, 7800); PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 0, 0); PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 1, 1200); >>>>//PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 2, 2400); Screenshot from 2023-09-27 11-57-05.png Re: S32K116 Motor Control add throttle (potentiometer) for speed control To add a potentiometer throttle via ADC0_SE13 using the PDB block in your S32K1xx motor control project, the core issue in the MCAT tool stems from channel allocation conflicts or misaligned pre-trigger sequence counts. In motor control (FOC 2-shunt), PDB channel 0 is typically heavily utilized for precise current sampling synchronized with the PWM reload. Adding a slow throttle measurement requires either a separate PDB channel (if available) or adding it as an independent pre-trigger sequence without disrupting the main PWM hardware triggers. Re: S32K116 Motor Control add throttle (potentiometer) for speed control Solved issue, I forget to read the ADC value to clear the COCO flag.
查看全文