Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
frdm-rw610 の「wlan_init」が非常に遅い 私はRW610 をSDK バージョン 25.9 で使用しています。 電力を観察していると、Wi-Fi の初期化が非常に遅いことに気づきました。 これが当社側の実装の問題ではないことを確認するために、wifi_wpa_supplicant に切り替えて、そこで起動を検査しました。   「wlan_init」と「wlan_start」の合計時間はどちらも約5秒です。これは正常でしょうか? 非同期オプションも使用しましたが、同じ時間がかかり、アプリケーションですぐに WLAN が必要になるため、起動時間の短縮には役立ちませんでした。 コードを少し調べてみたところ、2.5~3秒あたりに最初の「遅い部分」が見つかりました。 関数内: sb3_fw_download_impl // Wait for fw activation for 1s. Return fail if wait_count is used up. while (wait_count != 0) { if (IMU_SYNC_MAGIC_PATTERN != *((volatile uint32_t *)magic_pattern_addr)) { // 5 ms delay sb3_DelayUs(1000 * 5); wait_count--; if (wait_count == 0) { status = kStatus_Fail; } } else { status = kStatus_Success; break; } } このコード部分は10:57:33:146に入力されたことに気付きました。 10:57:36:340に帰還しました 3秒以上ですか?上記のコメントでは 1 秒以上待機すべきではないと述べられているため、これは異常な動作であると強く想定しています。 待機時間を 1 秒に短縮すると、コードは失敗します。デバッグしてその前に待機すると、これも即座に実行されるSO、私の結論は、「fw アクティベーション」は機能しているが、示されているよりもはるかに遅いということです。 WLAN の初期化を高速化するにはどのようなオプションがありますか?
查看全文
MPC5777C VDDEH1 引脚(B1 和 P4)建议电压范围 516 BGA 上的 MPC5777C VDDEH1 引脚(B1 和 P4)通常使用什么电压?在 3.3 V 电压下运行它们是否可以接受,还是认为超出了规格?
查看全文
S32G3 – BSP Linuxを消去せずにS32フラッシュツールでアプリケーションをフラッシュする方法 こんにちは、 .binをフラッシュしようとしていますS32 Design Studio で生成されたファイルをボードにコピーします。 SD カードにはすでに Linux BSP がフラッシュされており、プログラムのログを視覚化するために使用したいので (UART またはコンソール経由など)、これを保持したいと思います。 ただし、フラッシュ ツールを使用して、Destination = Flash を選択すると、BSP を含む SD 全体が上書きされるようです。 私の質問は次のとおりです: .binをフラッシュする正しい方法は何ですかSD カード上の既存の BSP を消去せずにアプリケーションを実行することはできますか? 選択する必要がある特定のオプションまたはメモリ領域はありますか? あるいは、Linux を保持するためにアプリケーションを別の場所 (RAM や外部 QSPI/NOR など) にフラッシュする必要がありますか? よろしくお願いいたします! Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux こんにちは、 @MrAlexIV ご確認いただきありがとうございます。 EVB3 では、次の操作を試すことができます。 1. ネットワーク ケーブルを次のインターフェースに接続します。   2. 起動したら、イメージを転送する前に、デフォルトのインターフェースをeth0に設定します。 3. TFTP サービス経由で PC から EVB3 にイメージを転送してみます。 お役に立てれば幸いです。 BR チェイン Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux こんにちは。回答は次のとおりです。 1) 38.0 2) はい、まさにそのボードです(現在写真にCANできません) 3) 実はまだそれに集中しているところです。しかし、.elfを実行する方法を見つけました私のSDでは、これはA53コア用であり、M7用ではありません。また、例(FlexCANのものなど)はM7用です。 Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux こんにちは、 @MrAlexIV ご返信ありがとうございます。 前の問題は、u-boot で tftp 経由で PC からボードにイメージを転送するときに転送が失敗することだと理解しています。結果として、代わりに gmac0 を使用してイメージを転送することをお勧めします。 しかし、共有していただいたログによると、それは Linux にあるため、現在の状態についてはわかりません。 より正確で直接的なサポートを提供するために、まず以下の点についてご説明いただけますでしょうか。 1.使用したBSPのバージョンは何ですか? 2. ログを見ると、S32G3EVB3 が使用されているようですね。可能であれば、使用済みのボードの写真を共有していただけますか? 3. uboot での M7 バイナリの転送問題に対処するために、先週の木曜日に提起された問題にまだ重点を置いているかどうかを教えていただけますか? BR チェイン Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux eth0 をアップしようとすると、次のメッセージが表示されます: root@s32g399aevb3:~# ifconfig lo: flags=73 mtu 65536 inet 127.0.0.1 ネットマスク 255.0.0.0 inet6 ::1 プレフィックス長 128 スコープID 0x10 loop txqueuelen 1000 (ローカルループバック) RXパケット 82バイト 6220 (6.0 KiB) RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0 送信パケット 82 バイト 6220 (6.0 KiB) 送信エラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0 pfe2: flags=4163 mtu 1500 inet 192.168.128.249 ネットマスク 255.255.255.0 ブロードキャスト 192.168.128.255 inet6 fe80::201:beff:febe:ef33 プレフィックスレン 64 スコープ ID 0x20 ether 00:01:be:be:ef:33 txqueuelen 1000 (イーサネット) RXパケット 0 バイト 0 (0.0 B) RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0 送信パケット 17 バイト 1386 (1.3 KiB) 送信エラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0 デバイスメモリ 0x46000000-46ffffff root@s32g399aevb3:~# sudo ifconfig eth0 アップ SIOCSIFFLAGS: そのようなデバイスはありません root@s32g399aevb3:~# sudo ip link set eth0 up RTNETLINKの回答: そのようなデバイスはありません Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux こんにちは、 @MrAlexIV ご返信ありがとうございます。 Gmac は uboot の eth0 ですが、通常はデフォルトで直接使用できますか?問題がある場合は、セットアップと操作中のログを提供していただけますか? どの BSP を使用していますか? どの種類の S32G ボードですか? BR チェイン Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux 改めて感謝申し上げます。 GMAC0 を使用しようとしましたが、インターフェースが表示されませんでした。eth0 はありましたが、セットアップCANませんでした。何か特別なことをする必要がありますか? ありがとう。 Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux こんにちは、 @MrAlexIV ご返信ありがとうございます。 PFE を u-boot で機能させるには追加の構成が必要になる可能性があるため、PFEX ではなく GMAC0 を使用してバイナリを転送することをお勧めします。 BR チェイン Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux こんにちは、 ご返信ありがとうございます。私は tftp 経由で u-boot に bin を取得しようとしています。ただし、いくつか問題があり、具体的には次のメッセージが表示されます: => tftp ${loadaddr} FlexCAN_Ip_Example_S32G399A_M7_blob2.bin pfe0 に添付 eth_pfengデバイスの使用 サーバー 192.168.128.244 からの TFTP;私たちのIPアドレスは192.168.128.249です ファイル名「FlexCAN_Ip_Example_S32G399A_M7_blob2.bin」。 ロードアドレス: 0x80000000 読み込み中: * ARP再試行回数を超えました。再度開始します。 私のPC(192.128.168.244)でサーバーを起動しました u-boot では次の構成を適用しました: setenv ipaddr 192.168.128.249 setenv サーバーのIPを 192.168.128.244 に設定します setenv ネットマスク 255.255.255.0 setenv ゲートウェイIP 192.168.128.1 setenv ethaddr 00:04:9F:09:6D:07 (イーサネットケーブルをPFE_MAC2に接続したため) 192.168.128.244にpingも通らないし、ファイアウォールも無効にしている Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux こんにちは、 @MrAlexIV ご返信ありがとうございます。 Linux 経由で M コア アプリケーションを起動する方法がわかりません。 可能な方法としては、まず完全な BSP を SD カードにフラッシュし、ボードを直接起動します。次に、u-boot で停止し、ネットワーク接続を使用して M コア イメージを DDR に転送します (または、起動前に M コア アプリケーションを QSPI/eMMC にフラッシュし、uboot でそれを QSPI から DDR にロードします)。その後、uboot を使用して M7 アプリケーションを実行し、次に Linux で起動します。 BR チェイン Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux こんにちは、 M7 Cortexです。実際のところ、どんな方法でも歓迎します。Linux 経由でログを確認できるように bin をフラッシュしたいだけです。現時点では、SD カード上の bin にフラグを立てると、実行中はアクセスできません (Putty 経由)。SO、SD に BSP Linux をフラッシュしたところ、SD の実行中でもアクセスできるようになりました。どのような解決策でも歓迎します。私の最終目標は、Linux経由でアプリケーションのログを読むことです Re: S32G3 – How to flash application with S32 Flash Tool without erasing BSP Linux こんにちは、 @MrAlexIV ご投稿ありがとうございます。 bin ファイルは M コアまたは A コアで実行するために使用されるのでしょうか? デザインからどのように、どこで実行/呼び出すことができますか? SD カードにフラッシュするためにフラッシュ ツールのみを使用するか、または他の方法も許容されるか教えてください。 BR チェイン
查看全文
NTAG424:ChangeKeyを使用してKeyNo0の値を変更した後 こんにちは、 AN12196 ドキュメントの例と、NTAG 424 DNA - Secure NFC T4T 準拠 IC ドキュメントを組み合わせると、ChangeKey の実装時に次の問題が発生しました。 1)存在するCASE2: 変更するキー番号 = 現在認証されているセッションのキー番号(ドキュメントAN12196の例では、KeyNo0の値を変更すると、変更されたキー値がAuthenticeEV2Firstに使用されます。AuthenticeEV2First のパート 2 によって返される応答コードは 91AE です。変更されたキー値が初期のデフォルトの 16 バイト 0 に設定されている場合でも、認証は失敗します。その理由は何でしょうか? その他の質問: 1)ミラーリング時にプレースホルダーを設定するにはどうすればいいですか?なぜ 0 なのですか? 他にプレースホルダーはありますか? 2)SDMMACInputOffsetの設定には設定CANる間隔範囲があるようです。異なる値は何らかの影響を与えますか? 皆様のサポートをお待ちしております。 ありがとう! Re: NTAG424:After using ChangeKey to modify the value of KeyNo0 メールで返信しました。ありがとうございます。 Re: NTAG424:After using ChangeKey to modify the value of KeyNo0 こんにちは@Queenie1 ぜひあなたのコードを私たちと共有してください。 また、具体的にどのようなタイプのリーダーを使用していますか?NXPからですか?
查看全文
アーキテクチャとレジスタレベルのコード NXP s32k311のこのようなアーキテクチャ図が欲しいです。そうすれば、どのように動作するのかが分かります。また、すべてのペリフェラルとモジュールのレジスタレベルのベアメタルコードも作成したいと思っています。どうか助けてください。 Re: architecture and register level code こんにちは@piyush1 マイクロコントローラ プラットフォームは、最大 120 MHz で動作するシングル コア ARM Cortex-M7 をベースとしており、次のような主な機能を備えています。 NVIC – ネストされたベクター割り込みコントローラ FPU – 浮動小数点ユニット MPU – メモリ保護ユニット DSP – デジタル信号プロセッシング機能 キャッシュとTCM メモリ構成には以下が含まれます。 ECC(エラー訂正コード)付き 1 MB PFlash ECC 付き 64 KB DFlash ECC付き128KB RAM バス アーキテクチャはわかりやすくするために色分けされています。 AHB(Advanced High-performance Bus):緑と水色 APB(Advanced ペリフェラル Bus):濃い青 AIPS(AHB-ペリフェラル間ブリッジ):赤と茶 – AHBをペリフェラルにブリッジします AXBS (Advanced Crossbar Switch): プライマリ相互接続。バス・マスタとスレーブ ポート間の通信を管理し、複数のバス・マスタが同じスレーブにアクセスするときに調停を処理します。 セキュリティは HSE-B (ハードウェア セキュリティ エンジン - タイプ B) によって処理されます。暗号化サービスとセキュア ブート機能を提供します。 統合について: プラットフォーム上のコンポーネントはコアと緊密に結合されています (AXBS、eDMA 制御/ステータス、XRDC など)。 プラットフォーム外のコンポーネントは通常、コアに直接結び付けられていないペリフェラルモジュール (ADC、通信インターフェースなど) です。 追加の参照図については、S32K3xx データシート Rev. 11 の図 2 を参照してください。 Re: architecture and register level code わかりました。リファレンス・マニュアルから図を入手しました。このアーキテクチャについて詳しく説明してください。すべてを理解し、クロック制御設定、周辺機器、バス、メモリアドレス、レジスタレベルのプログラミングを構成できます。 Re: architecture and register level code こんにちは@piyush1 同一の図はありませんが、デバイスの簡略化されたブロック図を提供します。S32K3xx リファレンス マニュアル Rev. 10 の図 5 を参照してください。 S32K3 ファミリの各機能の動作をより深く理解するには、すべての機能が詳細に説明されている S32K3xx リファレンス マニュアルを確認することをお勧めします。さらに、役に立つトレーニング プレゼンテーションやアプリケーション ノートも用意されています。これらのリソースは、S32K3 製品ページ (オートモーティブ汎用 S32K3 マイクロコントローラ) のドキュメント セクションにあります。 S32K3 デバイスに現在使用できる唯一の SDK は、 S32K3xx 標準ソフトウェア から取得できる リアルタイム・ドライバ (RTD) であることに注意してください。 BR、ヴェインB
查看全文
このコードは超音波センサを i.mx93 (Cortex-m33) に接続するのに正しいですか? /* * 著作権 (c) 2015、Freescale Semiconductor, Inc. * 著作権 2016-2021 NXP * 無断転載を禁じます。 * * SPDXライセンス識別子: BSD-3条項 */ #include "fsl_debug_console.h" #include "board.h" #include "app.h" #include "fsl_tpm.h" #include "fsl_rgpio.h" /**************************************************************************************** * 定義 **********************************************************************************/ /**************************************************************************************** * プロトタイプ **********************************************************************************/ /**************************************************************************************** * 変数 **********************************************************************************/ 揮発性ブールtpmIsrFlag = false ; 揮発性uint32_t立ち上がり時間 = 0 ; 揮発性uint32_t落下時間 = 0 ; 揮発性ブールgotRisingEdge = false ; /**************************************************************************************** * コード **********************************************************************************/ voidセットアップ( void ) { rgpio_pin_config_t out_config ={         kRGPIO_デジタル出力、         0 , };     /* トリガーピン */ RGPIO_PinInit( BOARD_RGPIO 、 TRIG_PIN 、 &out_config); RGPIO_PinWrite( BOARD_RGPIO , TRIG_PIN , 0 ); } void SendTrigPulse( void ) { RGPIO_PinWrite( BOARD_RGPIO 、 TRIG_PIN 、 1 ); SDK_DelayAtLeastUs( 10 , SystemCoreClock); RGPIO_PinWrite( BOARD_RGPIO , TRIG_PIN , 0 ); } void TPM_INPUT_CAPTURE_HANDLER ( void ) {     uint32_tステータス = TPM_GetStatusFlags( DEMO_TPM_BASEADDR );     if (ステータス & TPM_CHANNEL_FLAG )     {         uint32_tキャプチャされた値 = TPM_GetChannelValue( DEMO_TPM_BASEADDR 、 BOARD_TPM_INPUT_CAPTURE_CHANNEL );         // PRINTF("キャプチャされた値: %u\r\n",capturedValue);         if (!gotRisingEdge) { 立ち上がり時間 = キャプチャされた値; gotRisingEdge = true ;             // TPM_SetupInputCapture(DEMO_TPM_BASEADDR、BOARD_TPM_INPUT_CAPTURE_CHANNEL、kTPM_FallingEdge);      }         それ以外 { 落下時間 = キャプチャされた値; tpmIsrFlag = true ; gotRisingEdge = false ;             // TPM_SetupInputCapture(DEMO_TPM_BASEADDR、BOARD_TPM_INPUT_CAPTURE_CHANNEL、kTPM_RisingEdge);      }         /* 割り込みフラグをクリアします。*/ TPM_ClearStatusFlags( DEMO_TPM_BASEADDR 、 TPM_CHANNEL_FLAG );    }     SDK_ISR_EXIT_BARRIER ; } /*! * @briefメイン関数 */ int main( void ) { tpm_config_t tpmInfo; /* ボードピン、クロック、デバッグコンソールの初期化 */ BOARD_InitHardware(); 設定(); /* 端末にメモを印刷する */     PRINTF ( "\r\nTPM入力キャプチャの例\r\n" );     PRINTF ( "\r\n入力信号が受信されると、入力キャプチャ値が出力されます\r\n" ); TPM_GetDefaultConfig(&tpmInfo); /* TPMモジュールを初期化する */ TPM_Init( DEMO_TPM_BASEADDR , &tpmInfo); /* TPMチャネルで入力キャプチャを設定する */ TPM_SetupInputCapture( DEMO_TPM_BASEADDR 、 BOARD_TPM_INPUT_CAPTURE_CHANNEL 、 kTPM_RiseAndFallEdge ); /* タイマーをフリーランニングモードに設定する */ TPM_SetTimerPeriod( DEMO_TPM_BASEADDR , TPM_MAX_COUNTER_VALUE ( DEMO_TPM_BASEADDR )); /* 2番目のエッジが検出されたときにチャネル割り込みを有効にする */ TPM_EnableInterrupts( DEMO_TPM_BASEADDR 、 TPM_CHANNEL_INTERRUPT_ENABLE ); /* NVIC で有効にする */ EnableIRQ( TPM_INTERRUPT_NUMBER ); TPM_StartTimer( DEMO_TPM_BASEADDR , kTPM_SystemClock );       一方( 1 )     { 送信トリガパルス();                 (tpmIsrFlag != true )の場合 {      }           uint32_tティック = 0 ;         下降時間 >= 上昇時間の場合 ticks = 下降時間 - 上昇時間;         それ以外 ティック = ( TPM_MAX_COUNTER_VALUE ( DEMO_TPM_BASEADDR ) - 上昇時間) + 下降時間;             float PulseUs = (ティック * 1000000 ) / TPM_SOURCE_CLOCK ;         PRINTF ( "上昇時間: %u\r\n" ,上昇時間);         PRINTF ( "落下時間: %u\r\n" ,fallingTime);         PRINTF ( "マイクロ秒は : %.2f\r\n" ,PulseUs); SDK_DelayAtLeastUs( 60000 ,SystemCoreClock);    } }   オブジェクトの距離をチェックするこのコードにはいくつか問題がありますか? ここで SDK_DelayAtLeastUs(10,SystemCoreClock); この API は、ピンが測定を開始するためのトリガーとして 10 us を与えていないのでしょうか?   i.MX93EVK クロック|タイマー Re: Is This code correct for interfacing ultra-sonic sensor into i.mx93 (cortex-m33) ? /* * 著作権 (c) 2015、Freescale Semiconductor, Inc. * 著作権 2016-2021 NXP * 無断転載を禁じます。 * * SPDXライセンス識別子: BSD-3条項 */ #include "fsl_debug_console.h" #include "board.h" #include "app.h" #include "fsl_tpm.h" #include "fsl_rgpio.h" /**************************************************************************************** * 定義 **********************************************************************************/ /**************************************************************************************** * プロトタイプ **********************************************************************************/ /**************************************************************************************** * 変数 **********************************************************************************/ 揮発性ブールtpmIsrFlag = false ; 揮発性uint32_t立ち上がり時間 = 0 ; 揮発性uint32_t落下時間 = 0 ; 揮発性ブールgotRisingEdge = false ; /**************************************************************************************** * コード **********************************************************************************/ voidセットアップ( void ) { rgpio_pin_config_t out_config ={         kRGPIO_デジタル出力、         0 , };     /* トリガーピン */ RGPIO_PinInit( BOARD_RGPIO 、 TRIG_PIN 、 &out_config); RGPIO_PinWrite( BOARD_RGPIO , TRIG_PIN , 0 ); } void SendTrigPulse( void ) { RGPIO_PinWrite( BOARD_RGPIO 、 TRIG_PIN 、 1 ); SDK_DelayAtLeastUs( 10 , SystemCoreClock); RGPIO_PinWrite( BOARD_RGPIO , TRIG_PIN , 0 ); } void TPM_INPUT_CAPTURE_HANDLER ( void ) {     uint32_tステータス = TPM_GetStatusFlags( DEMO_TPM_BASEADDR );     if (ステータス & TPM_CHANNEL_FLAG )     {         uint32_tキャプチャされた値 = TPM_GetChannelValue( DEMO_TPM_BASEADDR 、 BOARD_TPM_INPUT_CAPTURE_CHANNEL );         // PRINTF("キャプチャされた値: %u\r\n",capturedValue);         if (!gotRisingEdge) { 立ち上がり時間 = キャプチャされた値; gotRisingEdge = true ;             // TPM_SetupInputCapture(DEMO_TPM_BASEADDR、BOARD_TPM_INPUT_CAPTURE_CHANNEL、kTPM_FallingEdge);      }         それ以外 { 落下時間 = キャプチャされた値; tpmIsrFlag = true ; gotRisingEdge = false ;             // TPM_SetupInputCapture(DEMO_TPM_BASEADDR、BOARD_TPM_INPUT_CAPTURE_CHANNEL、kTPM_RisingEdge);      }         /* 割り込みフラグをクリアします。*/ TPM_ClearStatusFlags( DEMO_TPM_BASEADDR 、 TPM_CHANNEL_FLAG );    }     SDK_ISR_EXIT_BARRIER ; } /*! * @briefメイン関数 */ int main( void ) { tpm_config_t tpmInfo; /* ボードピン、クロック、デバッグコンソールの初期化 */ BOARD_InitHardware(); 設定(); /* 端末にメモを印刷する */     PRINTF ( "\r\nTPM入力キャプチャの例\r\n" );     PRINTF ( "\r\n入力信号が受信されると、入力キャプチャ値が出力されます\r\n" ); TPM_GetDefaultConfig(&tpmInfo); /* TPMモジュールを初期化する */ TPM_Init( DEMO_TPM_BASEADDR , &tpmInfo); /* TPMチャネルで入力キャプチャを設定する */ TPM_SetupInputCapture( DEMO_TPM_BASEADDR 、 BOARD_TPM_INPUT_CAPTURE_CHANNEL 、 kTPM_RiseAndFallEdge ); /* タイマーをフリーランニングモードに設定する */ TPM_SetTimerPeriod( DEMO_TPM_BASEADDR , TPM_MAX_COUNTER_VALUE ( DEMO_TPM_BASEADDR )); /* 2番目のエッジが検出されたときにチャネル割り込みを有効にする */ TPM_EnableInterrupts( DEMO_TPM_BASEADDR 、 TPM_CHANNEL_INTERRUPT_ENABLE ); /* NVIC で有効にする */ EnableIRQ( TPM_INTERRUPT_NUMBER ); TPM_StartTimer( DEMO_TPM_BASEADDR , kTPM_SystemClock );        一方( 1 )     { 送信トリガパルス();                 (tpmIsrFlag != true )の場合 {      }     // PRINTF("\r\nキャプチャ値 C(n)V=%x\r\n", TPM_GetChannelValue(DEMO_TPM_BASEADDR, BOARD_TPM_INPUT_CAPTURE_CHANNEL));         uint32_tティック = 0 ;         下降時間 >= 上昇時間の場合 ticks = 下降時間 - 上昇時間;         それ以外 ティック = ( TPM_MAX_COUNTER_VALUE ( DEMO_TPM_BASEADDR ) - 上昇時間) + 下降時間;             uint32_t tpm_clock = CLOCK_GetIpFreq( LPTPM_CLOCK_ROOT );         float PulseUs = (ticks * 1000000 ) / tpm_clock ;         PRINTF ( "上昇時間: %u\r\n" ,上昇時間);         PRINTF ( "落下時間: %u\r\n" ,fallingTime);         PRINTF ( "マイクロ秒は : %.2f\r\n" ,PulseUs);         float距離 = PulseUs / 58 ;         PRINTF ( "距離: %.2f\r\n" ,距離); SDK_DelayAtLeastUs( 60000 ,SystemCoreClock);    } }   オシロスコープを使用して確認したところ、トリガー 10 us は正しいです。しかし、問題はエコーピンですか? 正しい値を読み取れませんか? Re: Is This code correct for interfacing ultra-sonic sensor into i.mx93 (cortex-m33) ? すでにオシロスコープを使用して信号を検証しており、10 µs のパルスが表示されています。 次に、TRIG ピンを ECHO ピンに直接ループさせてテストし、コード内でパルス幅を測定しました。ただし、予想された 10 µs ではなく、約 66 µs で印刷されます。 TRIG ピンと ECHO ピンがループ内で直接コネクテッドされている場合は、生成された信号と一致するように正確に 10 µs が測定されるはずです。どこで矛盾が生じているのかを特定できません。 これはクロック構成の問題、またはキャプチャ ロジックのタイミングの不正確さが原因でしょうか? この問題の特定と解決にご協力いただければ幸いです。 よろしくお願いします! Re: Is This code correct for interfacing ultra-sonic sensor into i.mx93 (cortex-m33) ? ご返信ありがとうございます! Re: Is This code correct for interfacing ultra-sonic sensor into i.mx93 (cortex-m33) ? こんにちは、 コードのセクションは、TPM 構成と超音波センサの TRIG および ECHO 信号の生成/読み取りに応じて異なります。 関数が 10 us 信号を生成しているかどうかを確認するには、オシロスコープまたはデジタル アナライザーで信号を測定することをお勧めします。タイミングが予想どおりでない場合は、コンパイラがパルスが予想どおりに持続しないようにコードを最適化する可能性があるため、値を調整して遅延を生成することができます。 ボード内のセンサの動作を確認しましたか? 参考として例を示します。 チュートリアル: Freedom Board を使用した超音波測距 | Eclipse 上の MCU よろしくお願いいたします。
查看全文
S32K LIN Stack wakeup Hello team, I was wondering if you have an S32K1 or S32K3 LIN Stack Slave project that supports receiving a MasterReq frame with a Go-to-Sleep command and can subsequently wake up on a wakeup signal. Thank you LIN_STACK Re: S32K LIN Stack wakeup Hi @lyxye, Yes, this is all enabled. The project seems to work correctly, I put it on the community: https://community.nxp.com/t5/S32K-Knowledge-Base/S32K144-LIN-Go-to-Sleep/ta-p/2136890 Regards, Daniel Re: S32K LIN Stack wakeup Hi @danielmartynek , Following two configuration need to be made:   And  Are they both enabled in your project? BR Liviu   Re: S32K LIN Stack wakeup Hi @lyxye, Thanks fort the prompt response. I have been testing it with the default Lin_Slave_S32K144_Example_DS When I send 0x3C MasterRec with the Go-to-Sleep command 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF, the stack detects it automatically and before the app reads the l_flg_tst_LI0_MasterReq_flag(), lin_dal_set_low_power_mode() has already been called in lin_update_rx() and the Slave is in the sleep mode. To wakeup, I had to enable Lin Lpuart Wake Up Timer Notification. and the function this has to be implemented by the user. This works for me: extern void LinWakeUpTimerNotification(uint8 Instance, uint32 *WakeupSignalLength){ /* * signal_length > LPUART_LIN_IP_WAKEUP_TIME_MIN_IN_NS (150000U) * signal_length < LPUART_LIN_IP_WAKEUP_TIME_MAX_IN_NS (5000000U) * * One Gpt tick = 125ns */ if(Instance == (uint8)0x2U) { if(falling_edge) { wakeup_signal_falling = Gpt_GetTimeElapsed(GptConf_GptChannelConfiguration_GptChannelConfiguration_0); falling_edge = 0U; } else { wakeup_signal_rising = Gpt_GetTimeElapsed(GptConf_GptChannelConfiguration_GptChannelConfiguration_0); if(wakeup_signal_falling < wakeup_signal_rising) { wakeup_signal_falling_length = (wakeup_signal_rising - wakeup_signal_falling); wakeup_signal_falling_length = (125 * wakeup_signal_falling_length); *WakeupSignalLength = wakeup_signal_falling_length; } else { wakeup_signal_falling_length = ((0xFFFFFFFF - wakeup_signal_falling) + wakeup_signal_rising); wakeup_signal_falling_length = (125 * wakeup_signal_falling_length); *WakeupSignalLength = wakeup_signal_falling_length; } falling_edge = 1; } } } I think this is all I need. Or there anything I'm missing? Thank you, Regards, Daniel Re: S32K LIN Stack wakeup Hi @danielmartynek , There is no project example with this configuration but this is supported by the LIN stack. What is the reason behind this project configuration? BR Liviu
查看全文
lwip_FreeRTOS_s32k396' サンプルプロジェクトと失敗 現在、生の TCP クライアント実装を備えた S32K396 MCU を使用していますが、問題なく動作しています。ただし、モジュールサプライヤーは FreeRTOS で lwIP にスイッチすることを要求しています。 「lwip_FreeRTOS_s32k396」サンプル プロジェクトをインポートし、それを K396 ボードにフラッシュすると、プログラムは prvPortStartFirstTask() を実行するときに vPortEnterCritical() 関数に入ります。この問題を解決するにはどうすればいいでしょうか S32DS バージョン 3.5 RTD バージョン 4.0 lwip バージョン 1.0.4 freeRTOS バージョン 4.0 Re: lwip_FreeRTOS_s32k396' example project and failure こんにちは@zhangzhixingさん 変数 uxCriticalNesting を 0 に初期化すると、いくつかの重要な目的が達成されます。 システムはクリティカルセクションの外側から開始されます システムの起動時には、クリティカルセクションはまだ入っていません。uxCriticalNesting を 0 に初期化すると、このクリーンな状態が反映され、割り込みがデフォルトで有効になることが保証されます。 タスクごとのコンテキスト追跡 FreeRTOS の各タスクは、タスク制御ブロック (TCB) の一部として独自の uxCriticalNesting 値を維持します。この値はコンテキストスイッチ中に保存および復元され、タスクごとに正しい割り込み状態が保持されます。 システムの安定性を確保 初期化時にゼロ以外の値を設定すると、割り込みが意図せず無効になり、予期しない動作やシステムハングが発生する可能性があります。ゼロ値は、スケジューラと割り込み処理が一貫した安全な状態で開始することを保証します。 lwIP の例 (特に Thread API または raw API を使用する場合) では、適切な割り込みとクリティカル セクションのマネジメントが不可欠です。uxCriticalNesting = 0 から始めることで、ネットワークスタックとスケジューラが最初から確実に動作することが保証されます。 よろしくお願いいたします。 パベル Re: lwip_FreeRTOS_s32k396' example project and failure こんにちは@zhangzhixingさん 仕事の忙しさにより返信が遅れたことをお詫び申し上げます。 ボードは問題なく正常に起動しました。ただし、プロジェクトにはいくつかの小さな調整が必要です。 ペリフェラル > ピン: TX_CLK 信号に方向が指定されていません。入力に設定されています。また、初期オプションとして「最速」設定を選択しました。 ペリフェラル > マネージド SDKs コンポーネント: ピン ドライバ コンポーネントが不足していたため、追加されました。 クロック設定: 構成は正しいです。FXOS 40 MHz クロックは、ボードで使用されている水晶と一致しています。 PHY初期化: device.cのEth_T_InitPhys();の呼び出し必須ではないためコメントアウトされました。TJA1103 PHY は、基本的な構成にピンストラップのみを使用します。 私はTJA1103-SDBRボードを使用しています - TJA1103はTXCでクロックを生成するためにrev-RMIIモードにする必要があります -> CONFIG4にジャンパー2-3を追加しました アップデート: 電源投入後の動作を改善するには、device.c 内の PIT を含むすべての行をコメント化します。(この例ではPITは使用されません): // IntCtrl_Ip_InstallHandler(PIT0_IRQn、PIT_0_ISR、NULL_PTR); // IntCtrl_Ip_SetPriority(PIT0_IRQn, 4); // IntCtrl_Ip_EnableIrq(PIT0_IRQn) // Pit_Ip_Init(PIT_INST、&PIT_0_InitConfig_PB_VS_0); // Pit_Ip_InitChannel(PIT_INST、PIT_0_CH_0); // Pit_Ip_EnableChannelInterrupt(PIT_INST, CH_0); // PitPeriod = Clock_Ip_GetClockFrequency(PIT0_CLK) / 1000; // Pit_Ip_StartChannel(PIT_INST, CH_0, PitPeriod); よろしくお願いいたします。 パベル Re: lwip_FreeRTOS_s32k396' example project and failure コードは追加していませんが、lwip_FreeRTOS_s32k396 プロジェクトをコンパイル、ダウンロード、デバッグしたときにこの問題が発生しました。 もう一つの質問があります: uxCriticalNestingを0に設定する理由
查看全文
S32K WDG こんにちは。質問があります。S32K312チップのウォッチドッグモジュールには、タイムアウト後の応答方法が2つあります。1つ目は、タイムアウトが発生するたびにリセットを生成する方法です。2つ目は、最初のタイムアウト時に割り込みを生成し、2回目のタイムアウト時にリセットを生成する方法です。最初のタイムアウト期間は、設定したウォッチドッグタイマーのことだと理解しているのですが、2回目のタイムアウト期間が何を指すのか分かりません。ご回答いただけますでしょうか?ご返信をお待ちしております。 Re: S32K WDG こんにちは@夏超さん これは同じタイムアウトです。 これについては、S32K3xx リファレンス マニュアルの第 66 章「ソフトウェア ウォッチドッグ タイマー (SWT)」で詳しく説明されています。 NXP は、HW を構成するために使用できる 2 つの RTD ドライバ SWT_Ip と MCAL WDG を提供しています。 何かご質問がございましたら、お気軽にお問い合わせください。 よろしくお願いします。 ダニエル
查看全文
eIQのインストール中にエラーが発生しました Re: I am facing error while eIQ installation こんにちは eIQ ツールキット v1.16 を PC に正常にインストールしました。あなたの側の設定を確認することをお勧めします。 よろしくお願いします。 ダニエル
查看全文
How to Run Code to S32K311 Using S32 Design Studio 3.6.2 (Step-by-Step Guidance) Hello NXP Community, I am working with the S32K311 microcontroller and using S32 Design Studio 3.6.2 for development. I have successfully built my project, but I am facing issues while trying to Run(program) the .elf file to my board. Could you please provide a step-by-step guide. Re: How to Run Code to S32K311 Using S32 Design Studio 3.6.2 (Step-by-Step Guidance) Hi @Kaushal9511  Take a look at user guide which can be found here: c:\NXP\S32DS.3.6.2\S32DS\help\pdf\S32DS_User_Guide.pdf There's quick start guide in section: 1.3  Debugging a project Or there's more detailed description in: 2.4  Debugging Regards, Lukas
查看全文
QorIO T2080 IBIS 模型申请 您好, 我在设计中使用了T2080NXN8TTB 处理器。我想对该设计进行 DDR3L SI 分析。 请与我们分享 T2080NXN8TTB 的 IBIS 模型。 谢谢& Re: QorIO T2080 IBIS model request 所请求的信息属于恩智浦保密专有信息,只能在非披露协议(NDA)下提供。 请从以下链接创建一个内部案例。 https://support.nxp.com/s/?language=en_US
查看全文
iMX95 config tools error Hi NXP, I am checking my own custom board with the i.MX95. When I ran the tests on the Config Tool, I got error message for some tests such as Walking Ones and Walking Zeros.  Please refer to the following screen shot. It cannot receive data from target. What is the target? Any suggestion on how to fix this? Thanks, Simon Re: iMX95 config tools error Have you set the proper baud rate also?  ERROR memtool.comm.serial_channel Cannot receive data from target this mean that The tool is unable to receive data from the target board through the serial port, possibly due to issues with the serial port connection, baud rate, firmware, or power supply. For the board are you set the boot mode to serial download mode? Re: iMX95 config tools error Hi @Rita_Wang , I think the console port is correct. The Firmware Init test and the first 3 BIST tests were passed. Thanks, Simon Re: iMX95 config tools error Have you choose the proper console port?
查看全文
Sboot FCCU Ncf Tests - Alarm Timeout Enable Hi,  While testing Sboot FCCU NCF tests, one of the tests is getting failed due to alarm timeout disabled. Its not available in Emecm module.  Could you mention where exactly it can be configured? Regards,  Irshad GoldVIP Re: Sboot FCCU Ncf Tests - Alarm Timeout Enable Hello, @Irshad2225  Thanks for your confirmation. The CMU_SAFETY_CORES_ERROR is related to the CMU_FC checking, I have checked the FCCU settings in eMcem, it is related to the fault_28, may I know if you have correctly set it via the eMcem? BR Chenyin Re: Sboot FCCU Ncf Tests - Alarm Timeout Enable Hi Chenyin, SAF version: SW32G_SAF_2.0.2_QLP01_D2410 I have enabled only CMU_SAFERY_CORES_ERROR as R3 for test configuration. Re: Sboot FCCU Ncf Tests - Alarm Timeout Enable Hello, @Irshad2225  Thanks for your post. May I know which version SAF is used on your board? which test failed? BR Chenyin
查看全文
auth_cntr は戻り値を提供する必要がありますか? OEM_Open モードで i.mx93 を使用して、無効に署名されたコンテナーの検出を検証していました。 u-bootの「\include\configs\imx93_evk.h」のコードauth_cntr が環境内の「if ステートメント」で使用できる値を返すことを意味します。 "auth_os=auth_cntr ${cntr_addr}\0" \ "mmcboot=echo Booting from mmc ...; " \ "run mmcargs; " \ "if test ${sec_boot} = yes; then " \ "if run auth_os; then " \ "run boot_os; " \ "else " \ "echo ERR: failed to authenticate; " \ "fi; " \ .... 「if run auth_os; then」というチェックは、コンテナ検証の成功が戻り値として利用できるという印象を与えます。 ただし、テストでは、有効な署名付きコンテナーと無効な署名付きコンテナーの両方で、結果は常に「0」になることが示されています。ahab_status コマンドは、無効な署名済みコンテナを検証した後、エラーを報告します。 これは OEM_Open デバイスでは予想される動作ですか?あるいはimx93_evk.hファイルは存在しない何かを暗示していますか? Security Yocto Project Re: Should auth_cntr provide a return value? 結果値は、auth_cntr コマンドの実行に関する情報のみを報告し、コンテナー自体が本物かどうかは報告しないようです。 OEM_Open シナリオでは、コンテナーが本物でない場合でも「run boot_os」が実行される可能性があります。 OEM_Closed シナリオの場合、auth_cntr を呼び出すとすぐに再起動されるSO、if ステートメントは完了しません。 Re: Should auth_cntr provide a return value? セクション<10.9ガイドの「セキュリティ リファレンス デザイン」が役立つかもしれません。 よろしくお願いします。 Harvey Re: Should auth_cntr provide a return value? 私は i.MX93 ベースのボード上で yocto scarthgap ベースのイメージを実行しており、かなり古い 2022.04 u-boot を実行しています (現時点では)。 アイデアとしては、Ahab コンテナをいくつか用意するというものでした。 - 1番目のコンテナ: ELE、DDR FW、SPL - 2番目のコンテナ: ATF、OP-TEE、U-Boot - 3番目のコンテナ: カーネル - 4番目のコンテナ: dtb - ....n番目 すべてのコンテナは信頼チェーンを介して検証されます。1 番目は ROM の検証から始まり、2 番目は SPL、3 番目、4 番目は u-boot で、さらに追加のコンテナが検証されます。 u-boot の 3 番目と 4 番目のコンテナを確認するには、auth_cntr コマンドを使用します。その結果は ahab_status 経由で提供されます。ただし、これを bootcmd に追加して、各コンテナを検証し、障害発生時に停止するか回復モードに移行できるようにするというアイデアでした。 SO質問なのですが、自動化/スクリプト化された実装で auth_cntr をCAN使用すればよいのでしょうか?または、コード自体にこれらの手順/検証を追加し、これらのチェックを処理するカスタム コマンドを呼び出す方が、より適切/通常の方法でしょうか? Re: Should auth_cntr provide a return value? auth_os はカーネルとDTBで構築されたコンテナを検証します。ahab_status は検証された内容を報告するだけです。 どのバージョンの BSP をテストしていますか? また、どのような AHAB イベント情報をテストしていますか? よろしくお願いいたします。 Harvey
查看全文
githubからMCUサンプルをダウンロードできない https://github.com/nxp-mcuxpresso/mcuxsdk-examples/tree/release/25.06.00から例を取得できません。クローン作成または zip のダウンロードは、途中で停止したため機能しません。 Re: can't download mcu examples from github 情報を共有していただきありがとうございます。 新しい問題がある場合は、新しいCASEを作成してください。全力でサポートさせていただきます。 良い一日をお過ごし下さい。 Re: can't download mcu examples from github NXPについて IT 部門に報告した後、動作するようになりました。 ありがとうございます。 Re: can't download mcu examples from github こんにちは@sukhwan 、 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 あなたのCASEではこのzipファイルをダウンロードできます。Gitリポジトリ自体は正常に機能しているようです。 以下の手順を確認してください。 1: 干渉を排除するために、ウイルス対策ソフトウェアまたはファイアウォールを一時的に無効にしてください。 2:ローカル ストレージ デバイスに十分な空き容量があることを確認してください。 3: ネットワーク接続が安定しているかどうかを確認し、ネットワークを切り替えてみます。 お役に立てれば幸いです。 まだ質問がある場合は、お気軽にご連絡ください。 素敵な一日をお過ごしください! よろしくお願いします メイリュー
查看全文
IW612 中的双拓扑结构 你好 我正在尝试在自定义板上测试双拓扑 操作系统Linux Arch: armv7l GNU/Linux 内核6.6.48 堆栈 BlueZ v5.78 我有 3 个设备 A、B 和 C,A 是自定义板,B 和移动设备,C 是 Matter 设备 当 A 处于外设模式且 B 与之连接(活动连接)时,处于中心模式的 A 无法与 C 通信。 我在 btmon 中看到以下日志 @ MGMT Event: Connect Failed (0x000d) plen 8 {0x0002} [hci0] 87.249139 LE Address: 24:EE:9A:34:85:27 (OUI 24-EE-9A) Status: Disconnected (0x0e) @ MGMT Event: Connect Failed (0x000d) plen 8 {0x0001} [hci0] 87.249139 LE Address: 24:EE:9A:34:85:27 (OUI 24-EE-9A) Status: Disconnected (0x0e) 0x000d 表示因资源有限而拒绝连接 (参考:控制器错误代码) 是因为固件/内核配置问题吗?另外,请告诉我是否有任何示例可以进行测试 附上完整的 btmon 日志以供参考 __出席 Re: Dual Topology in IW612 你好@Christine_Li、 谢谢,我们会跟进的。 此致, Eldho K K __出席 Re: Dual Topology in IW612 嗨,@eldhokk 经过内部讨论,我们的 WCS CAS 团队将继续为您提供更好的支持。因此,我也将把此案分配给我们的同事。 我看到我们的同事已经就案件与您进行了沟通:00723608. 与我们相比,我们的 WCS CAS 团队可以为您提供更高效的支持。 希望你能理解我们。 顺祝商祺! Christine。 Re: Dual Topology in IW612 嗨,@eldhokk 感谢您的回复。 好吧,我理解你的担忧。我将继续在本地进行尝试,并与我的美国同事进行内部沟通,让他了解您的担忧。 对于您的项目方,同时您也是我们的大客户,具有较高的支持优先级,更好的方式是我们的 CAS 团队为您提供支持。但正如你所说,这对你来说至关重要,我仍不会放弃在我这边尝试繁殖。 一旦有任何更新,我会通知你们。 顺祝商祺! Christine。 Re: Dual Topology in IW612 嗨,@Christine_Li、 是的,你说得对。 但我们还没有收到他们的任何回复,因为这是一个关键问题,我希望美国团队或你们的团队能更快做出回应。 此外,请随时合并或继续此案。 谢谢  Eldho K K Re: Dual Topology in IW612 你好,@eldhokk 感谢您提供的详细信息。 我查过了,您提到的病例现在正由我们的美国同事处理:Kaluvagunta Divakar,他是我们 CAS 团队的 FAE 同事。 我还检查了您与此案有关的项目。您的项目历史案例也将由我们 CAS 团队的同事处理。 在这个案子上,你还需要我的支持吗?您介意我将这个案例与您创建的案例合并吗? 顺祝商祺! Christine。 Re: Dual Topology in IW612 嗨,@Christine_Li、 回答您的问题 测试设置: 外围设备角色-运行 GATT 服务器并连接设备 B 的设备 A(控制器)(支持 NRF 连接的智能手机) 中心角色-设备 C(通过 NRF 连接运行 Gatt 服务器的智能手机),然后尝试将设备 A 连接到 C。 是的,我们使用的是 IW612。 平台是基于 STM32MP 131 的自定义板: Firmware used is: SD-WLAN-UART-BT-SPI-OT-Zigbee-DualPAN-IW612-LNX_6_12_3-IMX8-18.99.3.p23.20-18.99.3.p23.20-MM6X18505.p23-GPL . 此外,还有一个向 nxp 支持中心提出的案例https://support.nxp.com/s/case/500Tg00000NEvMK 谢谢! Eldho K K __出席 __出席 Re: Dual Topology in IW612 嗨,@eldhokk 我查看了您提供的 btmon.log 日志、是的,你是对的,连接失败的代码是0x000d。 为了更好地了解您的测试环境,能否请您提供更多有关测试的详细信息? 就像 1.测试步骤(提供更多细节,我可以尝试在本地重现。) 2.IW612 模块? 3.您的主机平台(I.MX8 系列?) 4.IW612 驱动程序版本和 FW 版本? 顺祝商祺! Christine。 Re: Dual Topology in IW612 嗨,@eldhokk 感谢您为我们创建案例。 我会检查给定的日志并进行内部讨论。一旦有任何更新,我会通知你们。 顺祝商祺! Christine。
查看全文
S32K358 HSEファームウェアが不安定 こんにちは、 セキュア ブート構成に問題があります。 1.BOOT_SEQを1に設定すると、0x400000の値は1になり、FSRは0x0B600000を通常通り報告します。 2. SMRをインストールしてリセットした後、デバッガーを接続すると、BOOT_SEQは0を返し、FSRは0x00000000を報告しますが、これは異常です。 HSE ハンドシェイクを実行し、ターゲット ボードを 2/3 回リセットするスクリプトを実行しましたが、FSR 値は 0x0F600000 で正常です。 これはHSEがまだ存在し機能しているが不安定であることを意味する。 これには何か理由があるのでしょうか? Re: S32K358 HSE firmware unstable SMR を設定した後、破壊的リセットではなく機能リセットを使用する必要があることがわかりました。機能リセットに変更した後、HSE ファームウェアは正常に動作します。 このトピックはこれで終了です。 https://community.nxp.com/t5/S32K/s32k3-hse-basic-secure-boot-protect-problem/mp/1943667 Re: S32K358 HSE firmware unstable 応援してくれてありがとう。 Re: S32K358 HSE firmware unstable この問題について、担当の地域の NXP FAE と話し合っていただけますか?または、ここで新しいチケットを作成してください: https://support.nxp.com/s/?language=en_US ...そして彼らに転送されます。ありがとう。 Re: S32K358 HSE firmware unstable こんにちは、 私たちのアプリケーションは BOOT_SEQ を 0 に変更しません。 いくつかのボードでテストしましたが、この問題が発生したのは 1/2 のボードだけでした。 GPRレジスタの値は次のとおりです GSR値は0です Re: S32K358 HSE firmware unstable こんにちは@HaiHoangSoftware リセット後約 1 秒経過しても FSR レジスタが 0x00000000 のままである場合は、HSE ファームウェアがまったく起動されていないことを意味します。GSR レジスターでは何がCANますか?ビット 0 は設定されていますか?HSE GPR レジスタ 0x4039_C028 では何を確認できますか? BOOT_SEQ が 0 に戻されるのは異常です。HSE FW または SBAF では、このようなことは行われません。それはあなたのアプリケーションによって変更されるのではないですか? よろしくお願いいたします。 ルーカス
查看全文
EVB上のB0シリコンではPCIeトレースが機能しない NXPはenumerate_pcie.cmmを提供しました。EVB 上の A0 シリコン (S32N55) で動作している PCIe トレースの pcie_prepro_status.cmm および start.cmm ファイル。 B0 シリコンで同じスクリプトを使用すると、トレースが機能しません。B0 シリコンに必要な変更はありますか? 評価ボード
查看全文
Issue with npu on imx95 Linux 6.12.20_2.0.0 Hi i am trying to run the label_image.py example on the imx95-a1-19x19-lpddr5-evk npu. But none of the nodes are delegated to the npu: I have tried to convert it using the eIQ neutron-converter: \nxp\eIQ_Toolkit_v1.16.0\bin\neutron-converter\MCU_SDK_25.06.00+Linux_6.12.20_2.0.0>neutron-converter When running the converted model i only get random and incorrect predictions: Am i doing something wrong or is the 6.12 neutron-converter corrupting the model? I tried the same apporach on Linux 6.6.36 and it worked perfect Re: Issue with npu on imx95 Linux 6.12.20_2.0.0 HI @eirgut! After discussing with the internal team, we’ve identified some issues in the latest BSP release. Due to ongoing silicon changes in the i.MX95, certain features may not be compatible with earlier silicon revisions. We appreciate your patience and recommend keeping an eye on upcoming BSP updates and silicon version announcements. Best regards, Chavira Re: Issue with npu on imx95 Linux 6.12.20_2.0.0 I mean this command: "python3 label_image.py -e /usr/lib/libneutron_delegate.so" Re: Issue with npu on imx95 Linux 6.12.20_2.0.0 Hi @Chavira  Thank you for your reply! According to the python script, i should be able to use this command: $ python3 label_image.py --ext_delegate /usr/lib/libneutron_delegate.so I have tried with both scripts, but none of them are able to delegate nodes to the NPU Also the one i converted my self using the neutron-converter (\nxp\eIQ_Toolkit_v1.16.0\bin\neutron-converter\MCU_SDK_25.06.00+Linux_6.12.20_2.0.0>neutron-converter) runs on the npu, but seems like it just gives random variables: (When running the preconverted model on the cpu it predicts correctly) It seems that the MCU_SDK_25.06.00+Linux_6.12.20_2.0.0 converter corrupts the model. Re: Issue with npu on imx95 Linux 6.12.20_2.0.0 Hi @eirgut! Thank you for contacting NXP Support! According to our Machine Learning User Guide, it looks like the command you're using is incorrect. To run the model accelerated on the NPU hardware using the Neutron Delegate on the i.MX 95, please use the following command: $ python3 label_image.py --ext_delegate /usr/lib/libneutron_delegate.so The output should be as follows: Loading external delegate from /usr/lib/libneutron_delegate.so with args: {} INFO: NeutronDelegate delegate: 29 nodes delegated out of 31 nodes with 1 partitions. Warm-up time: 1.9 ms Inference time: 1.7 ms 0.850980: military uniform 0.058824: Windsor tie 0.011765: bulletproof vest 0.007843: bow tie 0.007843: mortarboard Best Regards! Chavira
查看全文