Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
DPAA2 DPDK RSS Hash on MPLS Inner IP Hello, I'm testing DPAA2 RSS capabilities with DPDK on a SolidRun LX2160A Clearfog CX. I've found that it is able to hash on MPLS labels and PPPoE inner IP for example. However it seems to not be able to hash on MPLS inner IP, am I right on this ? This surprise me a bit because: - It know what is a MPLS header because it is able to hash on MPLS labels - It know how to get inner IP because it is able to hash on PPPoE inner IP Could you confirm if it is supported or not to hash on MPLS inner IP ? I'm quite newbie with NXP DPAA2 and NXP in general, so can you please explain your technical words. Thanks. Re: DPAA2 DPDK RSS Hash on MPLS Inner IP Yes — your understanding is correct for the DPDK DPAA2 PMD as used from testpmd today : hashing on the MPLS label itself is supported, and hashing on inner IP after PPPoE can work, but MPLS inner IP RSS is not clearly exposed as a ready-to-use DPDK RSS mode . The important nuance is this: DPAA2 hardware is capable enough : the LX2160A parser can recognize MPLS, walk through an MPLS label stack, and then continue parsing to IPv4/IPv6 under some conditions. DPAA2 key extraction also has “inner/last IP” fields : the distribution key mechanism can use HDR_INDEX = 0xFF , meaning “most inner / last header,” and the hardware defines IPSRC_N / IPDST_N for the last IP header. But the public DPDK DPAA2 PMD documentation only says RSS is supported in general , and lists limitations like fixed RSS key and non-configurable RETA; it does notas a supported RSS combination. The Linux/SDK-facing hashing documentation lists ordinary fields such as Ethernet destination, VLAN, L3 protocol, IPv4 source/destination, and L4 ports, but not “IP after MPLS” as a selectable hash mode. So: not a silicon limitation, but likely a software/driver exposure limitation in the DPDK DPAA2 PMD path you are using.   What you can try First confirm that DPAA2 sees the packet as “MPLS + inner IP” If the hardware parser does not mark the inner IPv4 header as present, RSS on inner IP cannot work. In DPDK, enable DPAA2 PMD logs: Copy --log-level=pmd.net.dpaa2:debug Also check whether received packets get meaningful packet type information in your application or with testpmd , for example whether packets are classified only as MPLS or as MPLS plus inner IPv4. If the packet type stops at MPLS, the RSS hash cannot use inner IPv4 because, from the driver’s point of view, inner IPv4 was not parsed. Try being explicit in the flow pattern If you only configured RSS type mpls , that will naturally hash MPLS fields. Try a pattern that explicitly includes the inner IPv4 header: Copy flow create 0 ingress \   pattern eth / mpls / ipv4 / end \   actions rss queues 0 1 end types ipv4 end / end If you want source/destination IP specifically, also try: Copy flow create 0 ingress \   pattern eth / mpls / ipv4 / end \   actions rss queues 0 1 end types ip ipv4 end / end If that is rejected or accepted but still does not distribute based on the inner IPv4 addresses, then the PMD is probably not programming the DPAA2 distribution key as “last/inner IP.” Try MPLS label values that help the parser If your MPLS traffic uses ordinary service labels, the parser may not know the payload is IPv4. For a controlled test, try MPLS Explicit NULL labels: MPLS label 0 means IPv4 Explicit NULL. MPLS label 2 means IPv6 Explicit NULL. The DPAA2 documentation says label 0 maps to IPv4 and label 2 maps to IPv6 when MPLS label interpretation is enabled . If RSS on inner IP works only with label 0 , then the problem is not RSS itself; the issue is that the parser was not being told that your MPLS payload is IP. If you need this feature, the real fix is likely PMD work The DPAA2 hardware has the concepts needed for this: HDR_INDEX = 0xFF means “use the most inner header”. IPSRC_N and IPDST_N are the source/destination address of the last IP header. The MPLS parser can advance beyond MPLS to IP when configured appropriately. So a driver-level implementation would likely need to program the DPNI distribution profile to extract: inner/last IPv4 source address, inner/last IPv4 destination address, possibly inner L4 ports, after an MPLS parse path. In practical terms: this may require changing the DPAA2 DPDK PMD , not just changing a testpmd command. My conclusion: DPAA2 hardware can in principle reach “inner/last IP” fields, but MPLS-inner-IP RSS does not appear to be a ready-supported DPDK DPAA2 PMD feature on your stack; if explicit eth / mpls / ipv4 RSS rules fail, the likely solution is a PMD/parser/distribution-profile change rather than a different testpmd command.
View full article
s32k344、LPSPI、連続シーケンスのフレーム間のクロックギャップが小さい - NXP MCU S32K344 LPSPIモジュール(コントローラ)とHolt HI-35930(ペリフェラル)間の通信に問題が発生しています。 このコードは、それぞれ8ビットのワードである2つのフレームを書き込みます。LPSPI経由でARINC通信デバイスHI-35930へ送信する。設定がすべて正しいことを確認しました。cpol = 0、cpha = 0、LSBF = MSB、BYSW=no、RXMSK、TXMSK =0、TCR[FRMSZ]=7。 このコードは、TRC[CONT] および TRC[CONTC] ビットを使用して PCS を制御します。PCSは2フレームのシーケンス全体にわたって主張されたままです(図を参照)。時計も同様に、2つのフレームにわたって脈動する。SOUT信号には期待されるデータが含まれており、フレーム1はオペコード0x80、フレーム2はダミーデータ0x00です。 問題はSINにある。データがありません。(オペコード0x80はレジスタを読み取るためのもので、少なくとも1ビットがハイになっていることを期待していました。) RXCOUNTは各フレームで増加し、最大で2になります。 -同じ設定を使用して、同じオペコードとデータを1つの16ビットフレームに連結し、フレームが1つしかないためTRC[CONT]とTRC[CONTC]を0に設定します。TRC[FRMSZ]=15。送信は正常に機能し、SINは実際のデータを返します。 何が問題だと思いますか? 黄色 - PCS信号 ピンク - クロック信号 ブルー - MCUにとって罪 グリーン - MCUのSOUT   Re: s32k344, LPSPI small clock gap between frames of a continuous sequence MOSIとMISOのデータは空です。正しいSPIバスのハードウェア回路図設計はありますか? Re: s32k344, LPSPI small clock gap between frames of a continuous sequence こんにちは、 @ekmas-19 さん。 あなたは、送信されたデータは2バイト(0x80と0x00)であると説明しました。しかし、オシロスコープには、8ビットのフレームが2つではなく、わずかな間隔で区切られた32ビットのワードが2つはっきりと表示されている。これを詳しく説明してもらえますか? フレーム間の間隔については、これは想定される動作です。CONT = 1 は、フレーム間で CS/PCS をアサートするだけであり、SCK には影響しません。クロックはCONT = 0の場合とまったく同じように動作します。 よろしくお願いいたします。 ダニエル
View full article
Version 2 issues: C code generation, preview Hi! I started testing GUI Guider version 2, and I found a couple of issues (starting with an empty template, Windows simulator). I started defining the content of the top layer putting an image button, creating an event handler to switch state when the button is long pressed. The generated the code has some errors, like: gg_event_layer_top.c:   static void lv_layer_top()_event_handler(lv_event_t * e) {     ...   } void gg_event_init_layer_top(gg_ui_t * ui😞   lv_obj_add_event_cb(ui->layer_top.lv_layer_top(),  lv_layer_top()_event_handler, LV_EVENT_ALL, ui); (parenthesis create a parsing error) Manually removing the parenthesis, the error below is generated: .../generated/events/gg_event_layer_top.c:59:38: error: 'gg_layer_top_t' has no member named 'lv_layer_top' (gg_layer_top_t definition doesn't include that member) Am I missing some definition to make a correct generation of those functions? Re: Version 2 issues: C code generation, preview Hi @poldo  May i ask how can i reproduce this issue? Harry_Zhang_0-1783917409079.png BR Harry Re: Version 2 issues: C code generation, preview Hi @Harry_Zhang , thank you for your reply. This is what I did: - On layer_top (clickable flag added, is this necessary?) I created a container for my buttons (no clickable flag added)  - Inside the container I created an image button (clickable flag added)  - I attached the event "Long Pressed" to the button poldo_0-1784023768341.png Generated code contains the syntax errors above. // In gg_event_layer_top.c static void lv_layer_top()_event_handler(lv_event_t * e) { gg_ui_t * ui = lv_event_get_user_data(e); lv_event_code_t code = lv_event_get_code(e); switch(code) { default: break; } } void gg_event_init_layer_top(gg_ui_t * ui) { lv_obj_add_event_cb(ui->layer_top.lv_layer_top(), lv_layer_top()_event_handler, LV_EVENT_ALL, ui); lv_obj_add_event_cb(ui->layer_top.Keypad_btnEnable, Keypad_btnEnable_event_handler, LV_EVENT_ALL, ui); } Removing the parenthesis the syntax error is about the member lv_layer_top not existing: // In custom.h typedef struct { lv_obj_t * Keypad; lv_obj_t * Keypad_btnEnable; } gg_layer_top_t; BR Poldo Re: Version 2 issues: C code generation, preview Hi @poldo  I tried to reproduce this issue. Harry_Zhang_0-1784102463813.png The generated code is correct. Harry_Zhang_1-1784102495298.png May I ask what I missed? BR Harry Re: Version 2 issues: C code generation, preview Hi @Harry_Zhang . The issue is when you create objects on the top layr. I'm attaching my file for your review and test. Re: Version 2 issues: C code generation, preview Hi @poldo  Thanks for your project, we have reproduced this issue. This is a bug. We will fix it in the next version. Thank you for your understanding. BR Harry Re: Version 2 issues: C code generation, preview Thank you, @Harry_Zhang . Is there a workaround that could be used while waiting for the update? BR Re: Version 2 issues: C code generation, preview This is a bug, and the fix is simple. Find your guiguider file and open it in text mode. Locate the event_list, remove any extra content, and then use the guider to reload the project. The generated code will return to normal.
View full article
MRF13750H 输入匹配设计仿真 您好! 我正在尝试使用 Usimmics 模拟 MRF13750H-915MHz 参考电路板的输入匹配网络(我没有 ADS 或 AWR)。 我使用了与 NXP 数据手册中相同的宽度和长度的走线,但结果与 915MHz 不符。有人知道我哪里做错了吗? 最好的, 路易斯·维拉纽瓦 射频 Re: MRF13750H Input Matching Design Simulation 谢谢你提供的信息! Re: MRF13750H Input Matching Design Simulation 你好 Luis_V 再会! 很遗憾,我没有使用过你正在使用的模拟器,所以无法进行全面比较,但就我所见,我可以告诉你以下几点: 在 ADS/AWR 中,原始布局包括: T型不连续点, 斜接弯头, 开放式效果, 耦合效应。 您的原理图使用了直接连接的理想 MLIN 段。 此外,我了解到 AWR 仿真“考虑”了封装中可能存在的寄生效应。 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你今天过得愉快,一切顺利。
View full article
S32K118 FlexIO Hello. I would like to consult about implementing both-edge detection for motor Hall sensor signals using the FlexIO module on S32K118. Currently, I need to capture both rising and falling edges of three Hall feedback signals from the BLDC motor. I am trying to configure FlexIO pins as input capture channels. However, I am confused about how to set FlexIO to detect both rising and falling edges simultaneously. Could you share the proper FlexIO timer and shifter configuration workflow for dual-edge capture。Besides.I also want to know if interrupts can be triggered on every edge, and whether there are known limitations or precautions when using FlexIO for Hall signal sampling on the S32K118 platform. Thank you very much. Re: S32K118 FlexIO Hello @Niuyanlin, If application is Hall sensor in BLDC motor feedback, I suggest looking into the FTM module instead. The following application note mentions how to configure the module for single and dual edge capture, and how to generate a capture interrupt: AN5303: Features and Operation Modes of FlexTimer Module on S32K – Application Note. "The Hall sensors are connected to the channels of the independent FTM (FTM_CHx). The FTM can then detect both the falling and rising edges of the Hall sensor signals and generate a capture interrupt." FlexIO, by contrast, requires constructing input capture behavior indirectly through timer-decrement modes, and it can work, but in my opinion, FTM module is better suited. Best regards, Julián Re: S32K118 FlexIO Hello, Julian, Thank you very much for your prompt reply and valuable suggestions. I recognize that FTM is a superior choice for feedback from BLDC motor Hall sensors. However, due to insufficient peripheral resources in the project, we had to implement input capture functionality using FlexIO. We would greatly appreciate it if you could provide a detailed software implementation plan related to FlexIO for our reference. Best regards, Niu Yanlin Re: S32K118 FlexIO Hello @Niuyanlin, Since FlexIO does not have the dedicated input capture capability, most of the documentation is based on communication emulation. The main suggestion I can give is to refer to S32K1's reference manual chapter 54. You can refer to the following application notes, which detail how to configure shifters and timers, along with the respective interrupts: AN14284: Timing Parameter Tuning for FlexIO Emulated Interface | NXP Semiconductors AN12174: Using FlexIO to emulate communications and timing peripherals – Application Note Understanding FlexIO The FlexIO module can generate an interrupt from 3 sources: Shifter error, Shifter status flag and Timer status flag. To enable the interrupts, you need to set the bits in the SHIFTSIEN, SHIFTEIEN and TIMIEN. However, there are no routines for input capture or BLDC motor control. I apologize for the inconveniences. Best regards, Julián
View full article
i.MX 8QuadXPlus / i.MX 8DualXPlus でサイドバンド ECC エラーインジェクションをテストする方法は? NXPチームの皆様、こんにちは。 私は i.MX 8QuadXPlus / i.MX 8DualXPlusプラットフォーム(40ビットDDR3Lインターフェース、32ビットデータ+8ビットECC)でDDRサイドバンドECC機能をテストしています。 AN13566によると、ECC_REGION_PARITY_LOCKを通じてECCパリティ領域をアンロックし、ECCパリティビットを修正することでインラインECCエラーを注入できます。しかし、サイドバンドECCに関する詳細なエラー注入や検証手順は見つかりませんでした。 AN13566、サイドバンドECCは追加のECCバイトを使用し、コントローラーがDDR読み込み時にこのバイトを確認すると述べています。また、サイドバンドECCは修正可能な単一ビットエラーを検出した後に自動スクラブRMW操作をサポートすることも記載されています。 サイドバンドECCのテスト方法について教えていただけますか? サイドバンドECCには、ハードウェアエラー注入レジスタやデータポイズニングレジスタはありますか? ソフトウェアはどのようにして1ビットの訂正可能な誤りを注入できるのでしょうか? ソフトウェアはどうやって二ビットの修正不可能なエラーを注入できるのでしょうか? どのECCステータスレジスタと割り込み信号をチェックすべきですか? サイドバンドECCのスクラブ操作がデータを修正し、書き戻したことをどうやって確認できますか? 例のコード、テスト手順、またはDDRコントローラーのレジスタシーケンスはありますか? 当社の構成は以下のとおりです。 SoC: i.MX 8QuadXPlus / i.MX 8DualXPlus DDRタイプ:DDR3L DDRインターフェース:40ビット、32ビットデータ+8ビットECC ありがとうございます。 Re: How to test Sideband ECC error injection on i.MX 8QuadXPlus / i.MX 8DualXPlus? こんにちは、 @kkfly IMX8DXL RMドキュメントのECCレジスタの説明を参照してください。 https://www.nxp.com/products/iMX8XLite 特に、 ECC構成レジスタ0(ECCCFG0)とECC構成レジスタ1(ECCCFG1)のレジスタ。 pengyong_zhang_0-1784880352446.png BR Re: How to test Sideband ECC error injection on i.MX 8QuadXPlus / i.MX 8DualXPlus? ドキュメントには「注:このSoCではECCデータポイズニングはサポートされていません」と記載されています。このビット設定は必ず0にしてください。』ということは、IMX8DXLとIMX8QXPはECCエラー注入をサポートしていないということですか?
View full article
i.MX8QXPでの直接フレームバッファ書き込みのサポート こんにちは、NXP チームの皆様、   Soc : iMX8qxpC0mek Linux OS : yocto [Scarthgap L6.6.5] i.MX8QXP Yocto Linuxプラットフォーム上で、ディスプレイへの直接フレームバッファ書き込みがサポートされているかどうかを確認したいと思います。 私たちの要件は、Weston/WaylandコンポジターとHMIアプリケーションが初期化される前の初期起動段階で、グラフィックや画像を直接表示することです。 もう少し詳しく教えていただけますか: /dev/fb0のような直接フレームバッファアクセスがサポートされているかどうか。 Westonを起動せずにDRM/KMSを使って直接ディスプレイを更新できるかどうか。 NXPが直接表示レンダリングのためのリファレンスアプリケーションやサンプルコードを提供するかどうか 必要なカーネル構成、デバイスツリーの変更、またはディスプレイドライバの設定。 コンポジタが後から起動した際に、直接フレームバッファアクセスがWestonと競合する可能性があるかどうか。 i.MX8QXPプラットフォームでの早期表示出力実装の推奨方法を共有してください。 Re: Support for Direct Framebuffer Write to Display on i.MX8QXP こんにちは、@Ram2さん お元気でお過ごしのことと思います。 1. /dev/fb0 (fbdev) はサポートされていますか? いいえ、i.MX 8ではネイティブではありません。NXP i.MX Linux リファレンスマニュアル には、第6.2.2章のフレームバッファが明示されています: フレームバッファドライバーは i.MX 6と i.MX 7でサポートされていますが、i.MX 8ではサポートされていません 2. ウェストンを使わずに直接DRM/KMSアクセス はい、これは正しい、そして推奨されるアプローチです。 i.MX 8では、WestonはDRMバックエンドを使用しているため、アプリケーションが直接DRM/KMSにアクセスする際にはWestonが稼働していない必要があります。 UG10163の第7.3.10.7章のcamテストアプリケーションをご覧ください。 3. NXPリファレンスアプリケーション/サンプルコード SDK_2_9_0_MEK-MIMX8QX\boards\mekmimx8qx\driver_examples\dpu\characterの例を見てみてください。MCUXpresso SDKからダウンロードしてください。 4. カーネル設定、デバイスツリー、ディスプレイドライバ設定 カーネル設定(imx_v8_defconfig内): CONFIG_DRM=y # DRM framework CONFIG_DRM_IMX=y # i.MX DPU DRM driver (drivers/gpu/drm/imx) CONFIG_DRM_IMX_DPU=y # DPU-specific DRM module CONFIG_DRM_IMX_MIPI_DSI_NORTHWEST=y # MIPI DSI (for OLED panel support) CONFIG_DRM_IMX_LDB=y # LVDS Display Bridge 表10をご覧ください。RN00210のカーネルおよびデバイスツリー構成(ビデオディスプレイのセクション)。 5. ウェストンとの対立が後から始まる場合 はい、対立は存在します。 早期起動のDRM/KMSアプリケーションとWestonは/dev/dri/card0の独占制御を争うため、早期アプリケーションはWestonが開始する前にDRMマスターをリリースしなければなりません。 U-Bootのロゴで表示を試してみるのもいいですよ。U-BootはDRM/simplefbでレンダリングされたBMP画像をサポートしています。これによりLinux層間の競合を完全に回避し、可能な限り早いスプラッシュ画面を生成します。 よろしくお願いいたします。 サラス。
View full article
FRDM-S32K344 手动错误 你好, FRDM-A-S32K344 开发板手册( UM12406 )第 11 页有错误。我发布这条评论是为了帮助社区,也为了帮助任何遇到和我一样问题的人。 具体来说,电阻 R43 默认是安装的,以使 FS26 保持在调试模式。要启用正常模式,必须移除 R43,并换上 R42。 应该是: 具体来说,电阻 R43 默认是安装的,以使 FS26 保持在调试模式。要启用正常模式,必须移除 R43。而R42则必须填充内容。 或者: 具体来说,电阻 R43 默认是安装的,以使 FS26 保持在调试模式。要启用正常模式,必须移除 R43。R42必须填充内存才能进入OTP模拟模式。 Re: FRDM-S32K344 manual error HI 感谢您的报告! 当移除 R43 并安装R42 时, FS26_VDEBUG的电压将处于 FS26 数据手册规定的VOTP (OTP 仿真模式)范围内。因此,我同意你的观点,我认为第二个说法更全面。 我将联系作者报告这个问题。 此致敬礼, Robin
View full article
FRDM S32K344MINI-EVB I Have Purchased S32k344mini-EVB Board & Installed sd32 Design Studio,  downloading  this file  S32DS_3.6.0_win32.x86_64.EXE. & Please guide me what others applications needs to be Installed. Thanks & Regards, Ravi Re: FRDM S32K344MINI-EVB Hi @ravirke  All the software required to get started with this device is included in the FRDM Automotive Bundle. Any additional tools that may be needed will depend on the specific features and functionality you plan to implement in your application. BR, VaneB
View full article
S32K118 FlexIO こんにちは、 FlexIOモジュールをS32K118でモーターホールセンサー信号の両端検出を実装する件について相談したいです。 現在、BLDCモーターからの3つのホールフィードバック信号の立ち上がりエッジと立ち下がりエッジの両方を取得する必要があります。FlexIOピンを入力キャプチャチャネルとして設定しようとしています。しかし、FlexIOで立ち上がりエッジと立ち下がりエッジを同時に検出するように設定する方法がよくわかりません。 デュアルエッジキャプチャのための適切なFlexIOタイマーとシフターの設定ワークフローを共有してもらえますか?それに、割り込みがすべてのエッジでトリガーできるのか、またS32K118 FlexIOをホール信号サンプリングに使う場合に既知の制限や注意点があるのかも知りたいです。どうもありがとうございます。 Re: S32K118 FlexIO こんにちは、 @Niuyanlin さん、 もし**アプリケーション**がBLDCモーターフィードバックのホールセンサーなら、FTMモジュールを検討することをお勧めします。 以下の適用ノートでは、シングルエッジおよびデュアルエッジキャプチャの設定方法とキャプチャ割り込みの生成方法が記載されています:AN5303: S32KにおけるFlexTimerモジュールの機能と動作モード – アプリケーションノート。 「ホールセンサーは独立したFTM(FTM_CHx)のチャンネルに接続されています。FTMはホールセンサー信号の降下エッジと上昇エッジの両方を検出し、キャプチャ割り込みを生成します。" 一方、FlexIOはタイマー減衰モードを通じて間接的に入力キャプチャ動作を構築する必要があり、動作は可能ですが、私の意見ではFTMモジュールの方が適しています。 よろしくお願いします、 ジュリアン Re: S32K118 FlexIO こんにちは、 @Niuyanlin さん、 FlexIOには専用の入力キャプチャ機能がないため、ほとんどのドキュメントは通信エミュレーションに基づいています。私が主に提案できるのは、S32K1のリファレンスマニュアル第54章を参照することです。 シフターやタイマーの設定方法、そしてそれぞれの割り込みについて詳述した以下のアプリケーションノートを参照してください。 AN14284: FlexIOエミュレーテッドインターフェースのタイミングパラメータチューニング |NXPセミコンダクターズ AN12174:FlexIOを用いた通信およびタイミング**ペリフェラル**のエミュレーション – アプリケーションノート FlexIOを理解する FlexIOモジュールは3つのソースから割り込みを生成できます:シフターエラー、シフターステータスフラグ、タイマーステータスフラグです。割り込みを有効にするには、SHIFTSIEN、SHIFTEIEN、TIMIENのビットを設定する必要があります。 しかし、入力キャプチャやBLDCモーター制御のルーチンはありません。ご迷惑をおかけして申し訳ございません。 よろしくお願いします、 ジュリアン Re: S32K118 FlexIO こんにちは、ジュリアンさん。 迅速なご返信と貴重なご提案をいただき、誠にありがとうございました。 FTMがBLDCモーターホールセンサーからのフィードバックとしては優れていることは認識しています。しかし、プロジェクト内のペリフェラルリソースが不足していたため、FlexIOを用いた入力キャプチャ機能を実装せざるを得ませんでした。 FlexIOに関連する詳細なソフトウェア実装計画をご提供していただけると大変ありがたいです。 よろしくお願いします、 牛燕林
View full article
版本 2 问题:C 代码生成、预览 你好! 我开始测试 GUI Guider 版本 2,发现了一些问题(从空白模板和 Windows 模拟器开始)。 我开始定义顶层的内容,添加了一个图像按钮,并创建了一个事件处理程序,以便在长按按钮时切换状态。 生成的代码存在一些错误,例如: gg_event_layer_top.c: static void lv_layer_top()_event_handler(lv_event_t * e) { ... } void gg_event_init_layer_top ( gg_ui_t * ui😞 lv_obj_add_event_cb(ui->layer_top.lv_layer_top(), lv_layer_top()_event_handler, LV_EVENT_ALL, ui); (括号会导致解析错误) 手动删除括号后,会出现以下错误: .../generated/events/gg_event_layer_top.c:59:38: 错误:'gg_layer_top_t' 没有名为 'lv_layer_top' 的成员 (gg_layer_top_t 定义中不包含该成员) 我是否遗漏了某些定义,导致无法正确生成这些函数? Re: Version 2 issues: C code generation, preview 嗨@poldo 请问如何重现这个问题? Harry_Zhang_0-1783917409079.png BR 哈里 Re: Version 2 issues: C code generation, preview 您好@Harry_Zhang ,感谢您的回复。 我这样做了: - 在 layer_top 上(添加了可点击标志,这是必要的吗?)我创建了一个用于放置按钮的容器(没有添加可点击标志)。 - 我在容器内创建了一个图像按钮(添加了可点击的标志) 我已将“长按”事件附加到按钮上。 poldo_0-1784023768341.png 生成的代码包含上述语法错误。 // In gg_event_layer_top.c static void lv_layer_top()_event_handler(lv_event_t * e) { gg_ui_t * ui = lv_event_get_user_data(e); lv_event_code_t code = lv_event_get_code(e); switch(code) { default: break; } } void gg_event_init_layer_top(gg_ui_t * ui) { lv_obj_add_event_cb(ui->layer_top.lv_layer_top(), lv_layer_top()_event_handler, LV_EVENT_ALL, ui); lv_obj_add_event_cb(ui->layer_top.Keypad_btnEnable, Keypad_btnEnable_event_handler, LV_EVENT_ALL, ui); } 去掉括号后,语法错误是关于成员 lv_layer_top 不存在的: // In custom.h typedef struct { lv_obj_t * Keypad; lv_obj_t * Keypad_btnEnable; } gg_layer_top_t; BR 波尔多 Re: Version 2 issues: C code generation, preview 嗨@poldo 我尝试重现这个问题。 Harry_Zhang_0-1784102463813.png 生成的代码是正确的。 Harry_Zhang_1-1784102495298.png 请问我错过了什么? BR 哈里 Re: Version 2 issues: C code generation, preview 嗨@Harry_Zhang 。 问题出在顶层创建对象时。我附上文件供您审阅和测试。 Re: Version 2 issues: C code generation, preview 这是一个漏洞,修复起来很简单。找到你的 guiguider 文件,并以文本模式打开它。找到 event_list,删除任何多余的内容,然后使用指南重新加载项目。生成的代码将恢复正常。 Re: Version 2 issues: C code generation, preview 嗨@poldo 感谢您提供的项目,我们已经重现了这个问题。 这是个漏洞。 我们将在下一个版本中修复这个问题。 感谢您的理解。 BR 哈里 Re: Version 2 issues: C code generation, preview 谢谢你, @Harry_Zhang 。 在等待更新期间,有没有什么变通方法可以使用? BR
View full article
FRDM S32K344MINI-EVB 我购买了 S32k344mini-EVB 板并安装了 sd32 Design Studio,下载了此文件 S32DS_3.6.0_win32.x86_64.EXE。请指导我还需要安装哪些其他应用程序。 谢谢,此致敬礼! 拉维 Re: FRDM S32K344MINI-EVB 嗨@ravirke FRDM 汽车套装中包含了开始使用此设备所需的所有软件。所需的其他工具将取决于您计划在应用程序中实现的具体特性和功能。 BR,VaneB
View full article
FRDM-S32K344 manual error Hello, There is a mistake on page 11 of FRDM-A-S32K344 development board manual (UM12406) . I'm posting this comment for the community and for anyone who runs into the same problem I did. "Specifically, resistor R43 is populated by default to keep the FS26 in debug mode. To enable normal mode, R43 must be removed and R42 must be populated instead." Should be: "Specifically, resistor R43 is populated by default to keep the FS26 in debug mode. To enable normal mode, R43 must be removed. and R42 must be populated instead." or: "Specifically, resistor R43 is populated by default to keep the FS26 in debug mode. To enable normal mode, R43 must be removed. R42 must be populated to enter in OTP emulation mode." Re: FRDM-S32K344 manual error Hi Thank you for the report! When R43 is removed and R42 is populated, the voltage of FS26_VDEBUG will be within the VOTP (OTP emulation mode) range of the FS26 DataSheet. Therefore, I agree with your point of view, and I think the second statement is more comprehensive. Let me contact the author to report this issue. Best Regards, Robin
View full article
FRDM S32K344MINI-EVB S32k344mini-EVBボードを購入し、SD32 Design Studioをインストールし、このファイルをダウンロードしましたS32DS_3.6.0_win32.x86_64.EXE。そして、他のアプリケーションをインストールする必要がある場合についてご案内ください。 よろしくお願いいたします。 ラヴィ Re: FRDM S32K344MINI-EVB こんにちは、 @ravirke さん。 このデバイスを使うために必要なすべてのソフトウェアは FRDMオートモーティブバンドルに含まれています。追加で必要になるツールは、アプリケーションに実装予定の具体的な機能や機能によって異なります。 BR、VaneB
View full article
Design tool TEA173X flyback SMPS design tool. Request for send me Power solution Re: Design tool USB-PD3.0 / QC4.0 Smart Charging Design Tool | NXP Semiconductors Design tool for TEA173X is no available currently. You can refer to above link for flyback design.
View full article
バージョン2の問題点:Cコード生成、プレビュー こんにちは! GUI Guiderバージョン2のテストを始め、いくつかの問題(まずは空のテンプレート、Windowsシミュレータ)に気づきました。 トップレイヤーの内容を定義し、画像ボタンを入れ、ボタンを長押ししたときに状態を切り替えるイベントハンドラを作成し始めました。 生成されたコードには、次のようなエラーがあります。 gg_event_layer_top.c: 静的虚無 lv_layer_top()_event_handler(lv_event_t * e) { ... } void gg_event_init_layer_top ( gg_ui_t * ui😞 lv_obj_add_event_cb(ui->layer_top.lv_layer_top(), lv_layer_top()_event_handler, LV_EVENT_ALL, ui); (括弧は構文解析エラーの原因となります) 括弧を手動で削除すると、以下のエラーが発生します。 .../generated/events/gg_event_layer_top.c:59:38: エラー:「gg_layer_top_t」に「lv_layer_top」という名前のメンバーがいません (gg_layer_top_t の定義にはそのメンバーは含まれていません) これらの関数を正しく生成するために必要な定義が何か見落とされているのでしょうか? Re: Version 2 issues: C code generation, preview こんにちは、 @poldo さん。 この問題を再現するにはどうすればよいか教えていただけますか? Harry_Zhang_0-1783917409079.png BR ハリー Re: Version 2 issues: C code generation, preview こんにちは、 @Harry_Zhang さん、ご返信ありがとうございます。 私がやったことはこうです。 - layer_top にクリック可能なフラグを追加しましたが、これは必要でしょうか?ボタン用のコンテナを作成しました(クリック可能なフラグは追加していません) - コンテナ内で画像ボタンを作成しました(クリック可能なフラグが追加されました) - 「Long Pressed」というイベントをボタンに付けました poldo_0-1784023768341.png 生成されたコードには上記の構文エラーが含まれています。 // In gg_event_layer_top.c static void lv_layer_top()_event_handler(lv_event_t * e) { gg_ui_t * ui = lv_event_get_user_data(e); lv_event_code_t code = lv_event_get_code(e); switch(code) { default: break; } } void gg_event_init_layer_top(gg_ui_t * ui) { lv_obj_add_event_cb(ui->layer_top.lv_layer_top(), lv_layer_top()_event_handler, LV_EVENT_ALL, ui); lv_obj_add_event_cb(ui->layer_top.Keypad_btnEnable, Keypad_btnEnable_event_handler, LV_EVENT_ALL, ui); } 括弧を削除すると、構文エラーはメンバーlv_layer_topが存在しないことに関するものです。 // In custom.h typedef struct { lv_obj_t * Keypad; lv_obj_t * Keypad_btnEnable; } gg_layer_top_t; BR ポルド Re: Version 2 issues: C code generation, preview こんにちは、 @poldo さん。 この問題を再現しようと試みました。 Harry_Zhang_0-1784102463813.png 生成されたコードは正しいです。 Harry_Zhang_1-1784102495298.png 私が何か見逃した点があれば教えていただけますか? BR ハリー Re: Version 2 issues: C code generation, preview こんにちは、 @Harry_Zhang さん。 問題は、最上層にオブジェクトを作成する場合です。レビューとテストのためにファイルを添付します。 Re: Version 2 issues: C code generation, preview こんにちは、 @poldo さん。 プロジェクトをありがとうございます。この問題を再現できました。 これはバグです。 次期バージョンで修正します。 ご理解いただきありがとうございます。 BR ハリー Re: Version 2 issues: C code generation, preview これはバグであり、修正方法は簡単です。guiguiderファイルを見つけて、テキストモードで開いてください。event_list を見つけて、不要なコンテンツを削除してから、ガイドを使用してプロジェクトを再読み込みしてください。生成されたコードは正常に戻ります。 Re: Version 2 issues: C code generation, preview ハリー・チャンさん、ありがとうございます。 アップデートを待つ間に使える回避策はありますか? BR
View full article
S32K118 FlexIO 您好。 我想咨询一下关于在 S32K118 上使用 FlexIO 模块实现电机霍尔传感器信号的双边沿检测的问题。 目前,我需要捕获来自 BLDC 电机的三个霍尔反馈信号的上升沿和下降沿。我正在尝试将 FlexIO 引脚配置为输入捕获通道。但是,我不太清楚如何设置 FlexIO 以同时检测上升沿和下降沿。 能否分享一下用于双边沿捕获的 FlexIO 定时器和移位器的正确配置流程?此外,我还想知道是否可以在每个边沿触发中断,以及在 S32K118 平台上使用 FlexIO 进行霍尔信号采样时是否存在已知的限制或注意事项。非常感谢。 Re: S32K118 FlexIO 你好@Niuyanlin , 如果应用场景是无刷直流电机反馈中的霍尔传感器,我建议考虑使用 FTM 模块。 以下应用笔记介绍了如何配置模块以进行单边沿和双边沿捕获,以及如何生成捕获中断: AN5303:S32K 上 FlexTimer 模块的特性和操作模式 – 应用笔记。 “霍尔传感器连接到独立FTM(FTM_CHx)的通道。FTM可以检测霍尔传感器信号的下降沿和上升沿,并生成捕获中断。 ” 相比之下,FlexIO 需要通过定时器递减模式间接构建输入捕获行为,虽然它也能工作,但在我看来,FTM 模块更合适。 此致, 朱利安 Re: S32K118 FlexIO 你好@Niuyanlin , 由于 FlexIO 没有专门的输入捕获功能,因此大部分文档都是基于通信仿真的。我能给出的主要建议是参考 S32K1 的参考手册第 54 章。 您可以参考以下应用笔记,其中详细介绍了如何配置移位器和定时器以及相应的中断: AN14284:FlexIO 仿真接口的时序参数调优 | 恩智浦半导体 AN12174:使用 FlexIO 模拟通信和定时外设 – 应用笔记 了解 FlexIO FlexIO 模块可以从三个来源产生中断:移位器错误、移位器状态标志和定时器状态标志。要启用中断,您需要设置 SHIFTSIEN、SHIFTEIEN和 TIMIEN 中的相应位。 但是,没有用于输入捕获或 BLDC 电机控制的程序。给您带来的不便,敬请谅解。 此致, 朱利安 Re: S32K118 FlexIO 你好,朱利安。 非常感谢您的及时回复和宝贵建议。 我认识到,对于来自 BLDC 电机霍尔传感器的反馈而言,FTM 是一个更优的选择。然而,由于项目中外围资源不足,我们不得不使用 FlexIO 来实现输入捕获功能。 如果您能提供一份与 FlexIO 相关的详细软件实施方案供我们参考,我们将不胜感激。 此致, 牛艳琳
View full article
FRDM-S32K344 マニュアルエラー こんにちは、 FRDM-A-S32K344開発ボードマニュアル(UM12406)の11ページに誤りがあります。このコメントは、コミュニティの皆さんと、私と同じ問題に遭遇した方々のために投稿します。 具体的には、FS26をデバッグモードに保つために、抵抗器R43はデフォルトで取り付けられています。通常モードを有効にするには、R43を取り外し、代わりにR42に部品を取り付けなければなりません。 正しくは: 具体的には、FS26をデバッグモードに保つために、抵抗器R43はデフォルトで取り付けられています。通常モードを有効にするには、R43を取り外す必要があります。そして代わりにR42にデータを入力する必要がある。」 または: 具体的には、FS26をデバッグモードに保つために、抵抗器R43はデフォルトで取り付けられています。通常モードを有効にするには、R43を取り外す必要があります。OTPエミュレーションモードに入るには、R42にデータを入力する必要があります。 Re: FRDM-S32K344 manual error ハイ ご報告ありがとうございます! R43を取り外し、R42を取り付けると、 FS26_VDEBUGの電圧はFS26データシートのVOTP (OTPエミュレーションモード)の範囲内になります。したがって、私はあなたの見解に賛成しますし、2番目の主張の方がより包括的だと思います。 この問題を報告するために著者に連絡させてください。 よろしくお願いいたします ロビン
View full article
s32k344,LPSPI 连续序列帧之间的小时钟间隙 - 我在NXP MCU S32K344 LPSPI模块(控制器)和Holt HI-35930(外设)之间通信时遇到问题。 该代码正在写入 2 个帧,每个帧为 8 位字。通过 LPSPI 连接到 ARINC 通信设备 HI-35930。我已确认所有设置均正确。cpol = 0,cpha = 0,LSBF = MSB,BYSW=否,RXMSK,TXMSK =0,TCR[FRMSZ]=7。 该代码使用 TRC[CONT 和 TRC[CONTC] 位来控制 PCS。PCS 在整个 2 帧序列中保持钳位,请参见图片。同样,时钟在这两帧画面中脉动。SOUT 信号包含预期数据,帧 1 = 操作码 0x80,帧 2 = 虚拟数据 0x00 问题出在SIN上。没有备份数据。(操作码 0x80 用于读取寄存器,我预期其中至少有一位设置为高电平)。 RXCOUNT 在每一帧都会递增,最大值为 2。 -使用相同的设置,我将相同的操作码和数据连接成一个 16 位帧,设置 TRC[CONT 和 TRC[CONTC] = 0,因为只有一个帧 TRC[FRMSZ]=15。传输正常,SIN 返回真实数据。 你觉得这里出了什么问题? 黄色 - PCS信号 粉色 - 时钟信号 蓝色 - SIN 至 MCU 绿色 - 来自 MCU 的 SOUT   Re: s32k344, LPSPI small clock gap between frames of a continuous sequence MOSI 和 MISO 的数据为空。你的SPI总线硬件原理图设计正确吗? Re: s32k344, LPSPI small clock gap between frames of a continuous sequence 你好@ekmas-19 , 你描述这次传输发送了 2 个字节——0x80 和 0x00。然而,示波器清楚地显示为 2 个 32 位字,中间有很小的间隙,而不是 2 个 8 位帧。你能解释一下吗? 关于帧间间隙——这是预期行为。CONT = 1 仅保持帧间 CS/PCS 钳位;它不影响 SCK。时钟的行为与 CONT = 0 时完全相同。 此致, 丹尼尔
View full article
s32k344, LPSPI small clock gap between frames of a continuous sequence - I am having a problem communicating between an NXP MCU S32K344 LPSPI module (Controller) and a Holt HI-35930 (Peripheral). The code is writing 2 frames, each an 8 bit word. over the LPSPI to an ARINC communication device HI-35930.  I verified all settings are correct. cpol = 0, cpha = 0,  LSBF = MSB, BYSW=no, RXMSK, TXMSK =0, TCR[FRMSZ]=7. The code uses the TRC[CONT and TRC[CONTC] bits to control the PCS. The PCS stays asserted for the entire sequence of 2 frames, see picture. The clock, likewise pulses over the 2 frames. The SOUT signal has the expected data on it, frame 1 = opcode 0x80, frame 2 - dummy data 0x00 The problem is with SIN. There is no data back. ( opcode 0x80 is to read a register where I was expecting at least one bit set high). The RXCOUNT does increment on each frame to a max of 2. -Using the same settings, I concatenate the same opcode and data into one 16-bit frame, set TRC[CONT and TRC[CONTC] = 0 since there is one frame TRC[FRMSZ]=15. The transmission works and SIN returns real data. What do you think is wrong here? Yellow - PCS signal Pink - Clock signal Blue - SIN to the MCU Green - SOUT from the MCU   Re: s32k344, LPSPI small clock gap between frames of a continuous sequence The data for MOSI and MISO is empty. Do you have right SPI bus hardware schematics design? Re: s32k344, LPSPI small clock gap between frames of a continuous sequence Hi @ekmas-19, You described the transmission as sending 2 bytes — 0x80 and 0x00. However, the oscilloscope clearly shows 2 x 32-bit words separated by a small gap, not 2 x 8-bit frames. Can you clarify this? Regarding the inter-frame gap — this is expected behaviour. CONT = 1 only keeps CS/PCS asserted between frames; it does not affect SCK. The clock behaves exactly as it would with CONT = 0. Regards, Daniel
View full article