Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
IMX8MP NPUをサポートするTensorflow Savedmodelからtfliteへの変換 こんにちは、 Tensorflow Savedmodel を、imx8mp NPU をサポートする tflite モデルに変換したいと思います。 以下の手順を試しましたが、うまくいきませんでした Python モデル/研究/オブジェクト検出/エクスポーターメイン_v2.py \ --input_type 画像テンソル \ --pipeline_config_path トレーニングディレクトリ/pipeline.config \ --trained_checkpoint_dir トレーニングディレクトリ/チェックポイント \ --output_directory エクスポートされたモデル そして、その固定形状モデルを確認します{ SSD { 画像リサイズ { 固定形状リサイズ { 高さ: 320 幅: 320 } } } } また、TFLite互換のオペレーションも確保する SSD { 機能抽出器 { タイプ: "ssd_mobilenet_v2_fpn_keras" use_depthwise: true } ボックス予測子 { 畳み込みボックス予測子 { use_depthwise: true } } } tflite変換スクリプト TensorflowをTFとしてインポートする パスライブラリをインポートする saved_model_dir = "エクスポートされたモデル/saved_model" コンバーター = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir) コンバーターの最適化= [tf.lite.Optimize.DEFAULT] # INT8キャリブレーション用の代表的なデータセットを提供する 代表データ生成()を定義します: data_dir = pathlib.Path("dataset/val") data_dir.glob("*.jpg") の img_path の場合: img = tf.keras.preprocessing.image.load_img(img_path,ターゲットサイズ=(320, 320)) img = tf.keras.preprocessing.image.img_to_array(img) img = img[tf.newaxis,...] / 255.0 [img.astype("float32")] を生成します コンバータ.representative_dataset= 代表データ生成 converter.target_spec.supported_ops= [tf.lite.OpsSet.TFLITE_BUILTINS_INT8] converter.inference_input_type= tf.uint8 converter.inference_output_type= tf.uint8 tflite_model = converter.convert() open("model_int8.tflite", で"wb") を f: として f.write(tflite_model) model_int8.tfliteで推論を実行するコマンド $ USE_GPU_INFERENCE=0 \ python3 label_image.py -m model_int8.tflite \ -e /usr/lib/liblitert_vx_delegate.so これらの手順が正しいかどうか、助けてください。 eIQ ツールを使用してモデルを変換することも試みましたが、機能しませんでした。 関連記事: https://community.nxp.com/t5/i-MX-Processors/Tensorflow-Savedmodel-to-tflite-conversion-which-supports-imx8mp/mp/2169341#M240717 私はこの問題にほぼ1か月間直面しています。解決策はありません。上記の通り私は運動しません。tflite でサポートされている ops を使用して tf savedmodel をゼロから開発することは可能ですか? Re: Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU こんにちは@subbareddyai NXP EVK を使用している場合は、ここからデモイメージをダウンロードCANます。 https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX サードパーティのボードを使用している場合は、そのボードにお問い合わせて、移植された最新の BSP を入手してください。 よろしくお願いします、 志明 Re: Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU こんにちは@Zhiming_Liuさん 返信ありがとうございます。 BSP バージョンと tflite バージョンについて教えていただけますか? よろしくお願いいたします。 スバ・レディ Re: Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU こんにちは@subbareddyai TFlite バージョンを更新するには、BSP バージョンをアップグレードすることを検討してください。 よろしくお願いします、 志明 Re: Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU こんにちは、 返信ありがとうございます。下記の変換コードを試してみましたが、成功しませんでした。 TensorflowをTFとしてインポートする # エクスポートしたSavedModelディレクトリへのパス saved_model_dir = r "ssd-mobilenet-v2-tensorflow2-fpnlite-320x320-v1" # SavedModel をロードする model = tf .saved_model .load ( saved_model_dir )​​ # サービングのための具体的な関数を取得する concrete_func = モデル.signatures["serving_default"] # ✅ 入力形状を修正します(モデルの解像度と一致する必要があります。ここでは 320x320x3) concrete_func .inputs[ 0 ].set_shape([ 1 , 320 , 320 , 3 ]) # TFLiteコンバーターを作成する コンバータ = tf . lite . TFLiteConverter . from_concrete_functions ([ concrete_func ]) # ✅ 古いコンバータを強制する(EXP v2のような操作を回避) コンバーター。実験的な新しいコンバーター=誤り # ✅ 組み込みオペレーションのみに制限する(NPU 互換性のため) コンバーター.ターゲット仕様.サポートされている操作= [ tf . lite . OpsSet . TFLITE_BUILTINS ] # (オプション)より小さく、より高速なモデルのための量子化 # コンバーターの最適化= [tf.lite.Optimize.DEFAULT] # TFLiteに変換する tflite_model =コンバーター. convert () # 変換したモデルを保存する 出力ファイル= "ssd_mobilenet_v2_fixed.tflite" open ( output_file , "wb" )をfとして実行します:     f . write ( tflite_model ) 印刷( f "✅ 変換が完了しました。{ output_file} として 保存さ れ ました   保存したモデルを、imx8mp npu をサポートする tflite モデルに変換するための完全な手順があれば素晴らしいと思います。 Re: Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU こんにちは、 1.TFLite モデルは EXP op バージョン 2 を使用していますが、これは使用しているランタイムではサポートされていません。 2.i.MX8MP デバイスの NPU デリゲートまたは TFLite ランタイムは古すぎるため、このオペレーション バージョンをサポートできません。 3. モデルが EXP などの演算を使用しないようにするか、それらのバージョン 1 のみを使用するようにする必要があります。これを実行するには、 converter.experimental_new_converter = Falseを使用して古いコンバータを強制します (これにより、新しい op バージョンを回避する可能性があります)。 よろしくお願いします、 志明
記事全体を表示
TJA1145 Cannot Enter Sleep mode I am using the Example_SW_TJA1145 program.When I use the ChangeToSleepOperation function of the example program to enter Sleep mode, I debug and find that a PO event occurs.Whenever I try to enter Sleep mode I get blocked by the PO event。 Why does this happen and how can I solve it? Re: TJA1145 Cannot Enter Sleep mode Hi, Perhaps the Sleep mode entering is protected due to wake-up event is not enabled and/or pending events are not cleared. For more information, please see chapters 3.2.4 and 5.3.2 of the AH1903 (Secure file under NDA). BRs, Tomas Re: TJA1145 Cannot Enter Sleep mode Below is my SPI_Send program. Is there something wrong with this program? NXP_UJA11XX_Error_Code_t SPI_Send(Byte* data, NXP_UJA11XX_SPI_Msg_Length_t length, Byte mask, NXP_UJA11XX_Access_t type) { Byte Txdata[2] = {0}; Byte Rxdata[2] = {0}; Byte ConfirmTxdata[2] = {0}; Byte ConfirmRxdata[2] = {0}; uint16_t sendlen = 0; uint32_t timeout = 1000000; Txdata[0] = data[0];//发送或读取的地址 ConfirmTxdata[0] = data[0] | NXP_UJA11XX_READ; if(NXP_UJA11XX_SPI_MSG_LENGTH_16 == length) { sendlen = 2;//要发送的Byte的数量 switch(type) { case NXP_UJA11XX_WRITE: { Txdata[1] = data[1];//发送的数据 SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址和数据 } break; case NXP_UJA11XX_READ: { SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址读取数据 } break; case NXP_UJA11XX_INTERRUPT: { SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址读取数据 } break; default: return NXP_UJA11XX_ERROR_SPI_HW_FAIL; } //对读取或写入的数据进行验证 switch(type) { case NXP_UJA11XX_WRITE: { SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//读取写入的数据 if(ConfirmRxdata[1] == data[1])//读取和写入数据一致 { return NXP_UJA11XX_SUCCESS; } else if( (ConfirmRxdata[0] == 0x00 && ConfirmRxdata[1] == 0x00)|| (ConfirmRxdata[0] == 0xFF && ConfirmRxdata[1] == 0xff) ) { return NXP_UJA11XX_ERROR_SPI_HW_FAIL; } else { return NXP_UJA11XX_ERROR_WRITE_FAIL; } } break; case NXP_UJA11XX_READ: { SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//再次读取数据 if(ConfirmRxdata[1] == Rxdata[1])//两次读取的数据相同 { data[1] = Rxdata[1];//传回读取到的数据 return NXP_UJA11XX_SUCCESS; } else { return NXP_UJA11XX_ERROR_READ_FAIL; } } break; case NXP_UJA11XX_INTERRUPT: { SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//再次读取数据 if( (Rxdata[1] & mask) != 0 ) { return NXP_UJA11XX_ERROR_WRITE_FAIL; } } break; default: return NXP_UJA11XX_ERROR_SPI_HW_FAIL; } } else//消息长度不为16bit { } return NXP_UJA11XX_SUCCESS; }
記事全体を表示
TJA1120 INT_Nピンの異常な動作 こんにちは、皆さん。 TJA1120 INT_Nピンの状態について質問があります。 テスト中に、ピンの状態が予想どおりではないことがわかりました。私の操作は次のとおりです。 TJA1120の初期化後、 INT_Nピンの状態を読み取りましたが、これは低かったです。その後、レジスタTOP_EPHY_IRQ_ENABLESをオーバーライドしてWAKE_SLEEP_EVENT割り込みを有効にし、 TJA1120 をスリープ状態にしました。その後、 INT_Nピンはハイになりました。 ただし、最初はINT_Nピンがハイになっていて、イベント情報が発生するとローになることを期待しています。どうやら、テスト結果はまったく逆のようです。 私たちのカスタムボードは別の PHY - TJA1103を使用しているため、同じ方法でそのINT_Nピンをチェックしました。結果は正常な状態で、 INT_N はハイでしたが、割り込み後にピンはローになりました。 さらに、 TJA1103データシートには、 TJA1103 INT_Nピンの動作を説明する段落があります。   今、私はとても混乱しています。TJA1120とTJA1103は非常に似ており、両方のINT_Nピンには内部的に弱いプルアップがあります (このボードでは、両方とも外部プルアップもあります)。これは、 INT_Nの通常状態がハイであることを示します。 TJA1120には追加の設定が必要ですか、それとも通常の状況ではINT_N が低くなるように設計されているのでしょうか?データシートやアプリケーションノートにはINT_Nピンに関する情報があまり記載されていないため、助けを求めて自分の混乱を投稿します。 ありがとうございます。 BR、 ヤン Re: TJA1120 INT_N pin strange behavior こんにちは@Yang_Cさん、 提供していただいたすべてのデータに感謝します。 まず、機密資料のスクリーンショットを共有することは避けてください。文書名、バージョン、および参照している特定の章、図、または表を記載するだけで十分です。 追加の提案として、ピンストラップによって TJA1103 で自律モードを有効にすることを検討してください。 よろしくお願いします。 よろしくお願いいたします。 パベル Re: TJA1120 INT_N pin strange behavior こんにちは、PaveILさん 何が起こっているのか分かりました。 まず、初期化時にDEVICE_CONTROL.START_OPERATION を設定して TJA1103 を起動しなかったSO、セルフテストが実行されませんでした。このビットを設定すると、 ALWAYS_ACCESIBLE.FUSA_PASS_IRQがアサートされ、INT_N が低くなります。FUSA_PASS_IRQビットをクリアすることでINT_Nを解放CAN。 次に、 DEVICE_CONTROL.GOTO_STANDBYビットを設定して、スリープに入る前に TJA1103 をスタンバイ状態にする必要があります。そうしないと、INT_N は期待どおりに動作しません。 もう 1 つ質問があります。私も TJA1120 を起動していないのに、なぜ TJA1120 はセルフテストを実行できるのでしょうか?実際、Errata シートに基づいて TJA1120 用の追加構成がいくつかあり、以下は私が行った構成です。 上記の設定が TJA1120 セルフテストの動作に影響を及ぼす可能性はありますか? Re: TJA1120 INT_N pin strange behavior こんにちは、PaveILさん 残念ながら回路図は共有できませんが、ピンストラップとレジスタの設定をお伝えすることはできますので、お役に立てれば幸いです。 ピンストラップ: レジスタ設定: 現在、私は TJA1103 のスリープ/ウェイク機能のみを調査しているため、設定したレジスタはすべてこの機能に関連しています。 1. 電源投入後の初期化フェーズ デバイスコントロール -> 0x2000 WISE_CONFIG -> 0xA400 ウェイク_スリープ_コンフィギュレーション -> 0x4700 PORT_IRQ_ENABLE-> 0x1 GLOBAL_CAT_IRQ_ENABLE -< 0x10 TOP_EPHY_IRQ_ENABLE -> 0x2 上記の設定を実行した後、INT_N ピンの状態を確認しました。self_test IRQ をクリアしなくてもすでにハイになっていたため、セルフテストに関連するすべてのレジスタを読み戻しましたが、エラーは発生しませんでした。TJA1120の場合、私のテストに基づいて INT_N を解放するにはセルフテスト IRQ をクリアする必要がありますが、 TJA1103の場合、それはまだ必要な手順ですか? 2. 睡眠覚醒段階 WAKE_SLEEP_CONTROL -> 0x1: TJA1103をスリープ状態にし、INT_Nをローにする TOP_EPHY_IRQ_SOURCE -> 0x2: スリープイベント情報によってトリガーされた割り込みフラグをクリアし、INT_Nがハイになります ALWAYS_ACCESSIBLE -> 0x8000: TJA1103を起動し、その後INT_Nが再びローになる TOP_EPHY_IRQ_SOURCE -> 0x2: ウェイクイベントによってトリガーされた割り込みフラグをクリアします。INT_Nは低レベルのままです。 TOP_EPHY_IRQ_SOURCE を読み取り -> 0x0 を取得 GLOBAL_CAT_IRQ_STATUS を読み取り -> 0x0 を取得 PORT_IRQ_STATUS を読み取り -> 0x0 を取得 RST_N ピンで TJA1103 全体をリセットする必要があり、最終的に INT_N ピンはハイに戻りました。 結果を楽しみにしています、ありがとうございます。 BR、 ヤン Re: TJA1120 INT_N pin strange behavior こんにちは@Yang_Cさん、 来週中にボード上でその動作を確認します。 ピンストラップ、回路図、その他のレジスタ設定 (該当する場合) を共有していただけますか? よろしくお願いします。 よろしくお願いいたします。 パベル Re: TJA1120 INT_N pin strange behavior こんにちは、PaveILさん TJA1103 INT_N がLowのままになった とき ( TJA1103 を起動し 、レジスタ TOP_EPHY_IRQ_SOURCE をクリアした後)、別の割り込みが発生したのではないかと疑い、 TOP_EPHY_IRQ_SOURCE 、 GLOBAL_CAT_IRQ_STATUS 、 PORT_IRQ_STATUS のレジスタ値を読み取りました 。いずれの値も、他の割り込みは発生していないことを示していました。 また、電源投入後、 TJA1103 INT_Nの状態はすでに高く、このピンを解放するためにALWAYS_ACCESSIBLEをオーバーライドしませんでした。 INT_Tピンをハイに戻す唯一の方法は、 RST_Nピンを使用してTJA1103をリセットすることです。 Re: TJA1120 INT_N pin strange behavior こんにちは@Yang_Cさん、 詳細なテストをしていただきありがとうございます。TJA1120 シーケンスは正しいようで、観察された動作は予想される操作と一致しています。 TJA1103 に関しては、状況は確かにより複雑であるように見えます。ご説明によると、WAKE_SLEEP_EVENT フラグをクリアした後も INT_N ピンはローのままですが、これは予想外です。 他の割り込みフラグがアクティブになっていないことを確認してください。有効な割り込みがアサートされると、INT_N は低レベルになります。GLOBAL_CAT_IRQ_STATUS も読み取ってみてください。 よろしくお願いいたします。 パベル Re: TJA1120 INT_N pin strange behavior 補足情報: TJA1103 INT_N が低いままになったとき ( TJA1103 を起動してレジスタTOP_EPHY_IRQ_SOURCEをクリアした後)。他にも割り込みが発生している可能性があると思われる、SO TOP_EPHY_IRQ_SOURCE、GLOBAL_CAT_IRQ_STATUS、PORT_IRQ_STATUSのレジスタ値を読み取ります。すべて、他の割り込みは発生していないことを示しています。 Re: TJA1120 INT_N pin strange behavior こんにちは、PaveILさん お返事ありがとうございます。本当にとても役に立ちます。 あなたの説明に基づいて、私は次のチェックを行いました: TJA1120の場合、 あなたが正しいです。INT_Nピンを解放するには、 GLOBAL_INFRA_IRQ_ENABLES.DEV_BOOT_DONEとGLOBAL_INFRA_IRQ_SOURCES.DEV_BOOT_DONEをクリアする必要があります。その後、TJA1120をスリープ状態にするとINT_NはHighのままになり、ウェイクアップするとINT_NはLowになりました。その後、レジスタTOP_EPHY_IRQ_SOURCESに書き込みを行って割り込みフラグをクリアすると、予想通りINT_Nは再びHighに戻りました。 スリープ/ウェイク プロセスを管理した方法は次のとおりです。まず、ウェイク/スリープ IRQ を有効にし、スリープの場合はWAKE_SLEEP_CONTROLレジスタに 0x1 を書き込み、ウェイクの場合はALWAYS_ACCESSIBLEレジスタに 0x8000 を書き込みます。 TJA1120の操作に間違いがある場合は、訂正してください。 TJA1103 (状況はより複雑)の場合、 ステップ 1、電源投入後、レジスタALWAYS_ACCESSIBLEのFUSA_PASS_IRQビットのみを読み取りましたが、これはすでに 0 で、 INT_Nピンはすでにハイでした。 ステップ 2、 TJA1103データシートの図 5と図 6に記載されているすべてのレジスタ ステータスをチェックして、 FUSA_PASS_IRQ をアサートできなかったセルフテストのいずれかが失敗していないかどうかを確認します。しかし、結果はすべて良好で、エラーは発生しませんでした。 ステップ 3、ウェイク スリープ IRQ を有効にして、 TJA1103 をスリープ状態にすると、それに応じてINT_N が低くなりました。TJA1120 はスリープ モードのときにINT_N を解放するとおっしゃいましたが、 TJA1103の場合はINT_Nが解放されず、ピンは割り込みが発生したかのように動作しました。私の推測を確認するために、レジスタTOP_EPHY_IRQ_SOURCE を読み取り、そのWAKE_SLEEP_EVENTビットがアサートされていることを確認しました。その後フラグをクリアすると、 INT_N がハイになりました。その後、 TJA1103 を起動すると、 INT_N が再び低くなり、 TOP_EPHY_IRQ_SOURCE を読み取ることで、別のウェイク割り込みがトリガーされたことを確認しました。次に、この割り込みフラグをクリアしようとしたところ、興味深いことが起こりました。INT_N ピンは今回はハイに戻りませんでしたが、レジスタTOP_EPHY_IRQ_SOURCEでは、このフラグがクリアされていることが示されました。 TJA1120とTJA1103 は割り込みイベントで異なる動作をする可能性があると思いますが、 TJA1103の割り込みフラグをクリアした後、 INT_Nピンがハイに戻らないのはなぜでしょうか?何か提案はありますか? ご返信をお待ちしております。 BR、 ヤン Re: TJA1120 INT_N pin strange behavior こんにちは@Yang_Cさん、 詳しくご説明いただきありがとうございます。 はい、その通りです。この点では両方のデバイスの動作は同じように動作します。あなたの観察を明確にさせてください。 データシートに記載されているように、TJA1120 と TJA1103 はどちらも電源投入後に INT_N ピンを低く駆動し、内部セルフテストが成功したことを示します。この動作はデザインによるものであり、故障を示すものではありません。 起動後にINT_Nピンを解放するには: TJA1120の場合: GLOBAL_INFRA_IRQ_ENABLES.DEV_BOOT_DONE(MMD30アドレス0x2C0A = 0)をクリアして割り込みを無効にします。 GLOBAL_INFRA_IRQ_SOURCES.DEV_BOOT_DONE(MMD30アドレス0x2C08 = 2)に書き込むことで割り込みフラグをクリアします。 TJA1103の場合: CL22アドレス0x801F.4を書き込むことで、ALWAYS_ACCESSIBLEレジスタのFUSA_PASS_IRQビットをクリアします。= 1 上記のビットをクリアした後も INT_N ピンが低いままの場合は、関連する IRQ レジスタを読み取って割り込みのソースを識別する必要があります。 また、TJA1120 をスリープ モードにする方法を詳しく教えていただけますか?デバイスがディープスリープ状態になると、INT_N ピンは自動的に解放されます。 よろしくお願いいたします。 パベル
記事全体を表示
TJA1145 无法进入睡眠模式 我正在使用 Example_SW_TJA1145 程序。当我使用示例程序中的 ChangeToSleepOperation 函数进入睡眠模式时,我在调试时发现发生了 PO 事件。 为什么 为什么为什么会出现这种情况?? Re: TJA1145 Cannot Enter Sleep mode 您好, 可能是由于未启用唤醒事件和/或未清除待处理事件导致进入睡眠模式受到保护。更多信息,请参阅《AH1903》第 3.2.4 章和第 5.3.2 章。 AH1903(保密文件)。 BRs, Tomas Re: TJA1145 Cannot Enter Sleep mode 下面是我的 SPI_Send 程序。这个程序有什么问题吗? NXP_UJA11XX_Error_Code_t SPI_Send(Byte* data, NXP_UJA11XX_SPI_Msg_Length_t length, Byte mask, NXP_UJA11XX_Access_t type) { Byte Txdata[2] = {0}; Byte Rxdata[2] = {0}; Byte ConfirmTxdata[2] = {0}; Byte ConfirmRxdata[2] = {0}; uint16_t sendlen = 0; uint32_t timeout = 1000000; Txdata[0] = data[0];//发送或读取的地址 ConfirmTxdata[0] = data[0] | NXP_UJA11XX_READ; if(NXP_UJA11XX_SPI_MSG_LENGTH_16 == length) { sendlen = 2;//要发送的Byte的数量 switch(type) { case NXP_UJA11XX_WRITE: { Txdata[1] = data[1];//发送的数据 SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址和数据 } break; case NXP_UJA11XX_READ: { SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址读取数据 } break; case NXP_UJA11XX_INTERRUPT: { SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址读取数据 } break; default: return NXP_UJA11XX_ERROR_SPI_HW_FAIL; } //对读取或写入的数据进行验证 switch(type) { case NXP_UJA11XX_WRITE: { SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//读取写入的数据 if(ConfirmRxdata[1] == data[1])//读取和写入数据一致 { return NXP_UJA11XX_SUCCESS; } else if( (ConfirmRxdata[0] == 0x00 && ConfirmRxdata[1] == 0x00)|| (ConfirmRxdata[0] == 0xFF && ConfirmRxdata[1] == 0xff) ) { return NXP_UJA11XX_ERROR_SPI_HW_FAIL; } else { return NXP_UJA11XX_ERROR_WRITE_FAIL; } } break; case NXP_UJA11XX_READ: { SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//再次读取数据 if(ConfirmRxdata[1] == Rxdata[1])//两次读取的数据相同 { data[1] = Rxdata[1];//传回读取到的数据 return NXP_UJA11XX_SUCCESS; } else { return NXP_UJA11XX_ERROR_READ_FAIL; } } break; case NXP_UJA11XX_INTERRUPT: { SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//再次读取数据 if( (Rxdata[1] & mask) != 0 ) { return NXP_UJA11XX_ERROR_WRITE_FAIL; } } break; default: return NXP_UJA11XX_ERROR_SPI_HW_FAIL; } } else//消息长度不为16bit { } return NXP_UJA11XX_SUCCESS; }
記事全体を表示
EB サンプル プロジェクトを使用してフラッシュ メモリを操作中にエラーが発生しました。 現在、EBを使用してDFlashの読み書き操作を設定し、EBが提供するデモを使用して読み書き操作を行っています。しかし、txbufferとrxbufferのデータが対応しない、または一部のメモリ位置に対応するデータが書き込まれていないという状況に遭遇します。 現在の環境 デバイス: S32K312 172ピン RTD: SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506 動作セクター: 0x100A0000 圧縮ファイルには、mem および fls (XDM ファイル) の設定ファイルと main.c が含まれています。 Re: 使用EB示例工程操作Flash出现读写错误 こんにちは@TWL わかりました。この解決策は役に立ちました。「解決策を承認」をクリックして、他のユーザーの参考としてご利用ください。 Re: 使用EB示例工程操作Flash出现读写错误 ご提供いただいた通り、メモリアクセスコードの消去と書き込みアドレスを変更したところ、システムを操作できるようになりました。ありがとうございます。 Re: 使用EB示例工程操作Flash出现读写错误 こんにちは@TWL MCRS->RWE をチェックして、RWE エラーが原因であるかどうかを確認できます。 テスト前にこの画像の設定を参照できます。 同様の問題に対する参考ソリューション https://community.nxp.com/t5/S32K/S32K341-Issue-with-Mem-43-INFLS-on-S32DS3-6-2-and-RTD6-0-0/mp/2138405/highlight/true Re: 使用EB示例工程操作Flash出现读写错误 こんにちは@TWL 1. 提供された設定ファイルにはまだエラーが含まれています。次の変更を加えました。 2. CACHE を有効にしました。 テスト結果: 添付ファイルはコンパイルされた ELF ファイルです。自分でテストすることができます。 Re: 使用EB示例工程操作Flash出现读写错误 こんにちは! XDMファイルを再送信しました。一方、MEMを使用してPFLASHから読み出す際に、0x00400000~0x004FFFFFの範囲でハードフォールトが発生しました。そこで、EBの設定を変更し、アドレス0x00500000以降の読み書きを許可しましたが、それでも読み書き時にデータが書き込まれなかったり、誤ったデータが読み取られたりするなどのエラーが発生していました。 圧縮パッケージには、xdm、main、および ld ファイルが含まれています。 Re: 使用EB示例工程操作Flash出现读写错误 こんにちは@TWL 提供された構成ファイルを開いたところ、一致しておらず、間違っていることがわかりました。
記事全体を表示
Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU Hi, I would like to convert the Tensorflow Savedmodel to tflite model which supports imx8mp NPU. I followed the below steps with no success python models/research/object_detection/exporter_main_v2.py \ --input_type image_tensor \ --pipeline_config_path training_dir/pipeline.config \ --trained_checkpoint_dir training_dir/checkpoint \ --output_directory exported-model and I make sure its fixed shape model { ssd { image_resizer { fixed_shape_resizer { height: 320 width: 320 } } } } and also Ensure TFLite-Compatible Ops  ssd { feature_extractor { type: "ssd_mobilenet_v2_fpn_keras" use_depthwise: true } box_predictor { convolutional_box_predictor { use_depthwise: true } } } tflite conversion script  import tensorflow as tf import pathlib saved_model_dir = "exported-model/saved_model" converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir) converter.optimizations = [tf.lite.Optimize.DEFAULT] # Provide representative dataset for INT8 calibration def representative_data_gen(): data_dir = pathlib.Path("dataset/val") for img_path in data_dir.glob("*.jpg"): img = tf.keras.preprocessing.image.load_img(img_path, target_size=(320, 320)) img = tf.keras.preprocessing.image.img_to_array(img) img = img[tf.newaxis, ...] / 255.0 yield [img.astype("float32")] converter.representative_dataset = representative_data_gen converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8] converter.inference_input_type = tf.uint8 converter.inference_output_type = tf.uint8 tflite_model = converter.convert() with open("model_int8.tflite", "wb") as f: f.write(tflite_model) command to run the inference with model_int8.tflite  $ USE_GPU_INFERENCE=0 \ python3 label_image.py -m model_int8.tflite \ -e /usr/lib/liblitert_vx_delegate.so  please help me if these steps correct.    I also tried converting model using eIQ tool but not working. Related Post : https://community.nxp.com/t5/i-MX-Processors/Tensorflow-Savedmodel-to-tflite-conversion-which-supports-imx8mp/m-p/2169341#M240717 I'm facing this problem almost a month. No solution. I above won't workout. Is it possible to develop tf savedmodel with tflite supported ops from scratch? Re: Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU Hi @subbareddyai  If you are using NXP EVK, you can download the demo image from here. https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX If you are using third party board, please contact them to get latest BSP they ported. Best Regards, Zhiming Re: Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU Hi @Zhiming_Liu , Thanks for the reply.  Could you please mention BSP version and tflite version? Thanks and Regards, Subba Reddy Re: Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU Hi @subbareddyai  Please consider upgrade the BSP version to update the TFlite verison. Best Regards, Zhiming Re: Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU Hi, Thanks for the reply and I tried with conversion code that I mentioned below with no success import tensorflow as tf # Path to your exported SavedModel directory saved_model_dir = r"ssd-mobilenet-v2-tensorflow2-fpnlite-320x320-v1" # Load the SavedModel model = tf.saved_model.load(saved_model_dir) # Get the concrete function for serving concrete_func = model.signatures["serving_default"] # ✅ Fix input shape (must match your model resolution, here 320x320x3) concrete_func.inputs[0].set_shape([1, 320, 320, 3]) # Create TFLite converter converter = tf.lite.TFLiteConverter.from_concrete_functions([concrete_func]) # ✅ Force old converter (avoids ops like EXP v2) converter.experimental_new_converter = False # ✅ Restrict to built-in ops only (for NPU compatibility) converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS] # (Optional) Quantization for smaller/faster model # converter.optimizations = [tf.lite.Optimize.DEFAULT] # Convert to TFLite tflite_model = converter.convert() # Save the converted model output_file = "ssd_mobilenet_v2_fixed.tflite" with open(output_file, "wb") as f:     f.write(tflite_model) print(f"✅ Conversion complete. Saved as {output_file}")    It would be great if there is complete procedure to convert savedmodel to tflite model which support imx8mp npu. Re: Tensorflow Savedmodel to tflite conversion which supports IMX8MP NPU Hi, 1.Your TFLite model uses the EXP op, version 2, which is not supported by the runtime you're using. 2.The NPU delegate or TFLite runtime on your i.MX8MP device is too old to support this op version. 3.You need to ensure that your model avoids using ops like EXP, or uses only version 1 of them. To do this: Use converter.experimental_new_converter = False to force the old converter (which may avoid newer op versions). Best Regards, Zhiming
記事全体を表示
Flexcomm1 I2C configuration Hi Team, I have been trying to configure I2C using Flexcomm1. I am not able to establish a connection between master and slave. I am trying to execute the same example code with changes. Following are the snapshot of the changes made in the sample code (SDK_2_11_1_EVK MIMXRT685\boards\evkmimxrt685\driver_examples\i2c\polling_b2b\master). in order to shift from FC4 to FC1. #define GDY112X_I2C_BASE            I2C1 #define I2C1_MASTER_CLOCK_FREQUENCY  CLOCK_GetFlexCommClkFreq(1U) #define GDY112X_I2C_BAUDRATE        (100000U) /* GDY112X address (7-bit) */ #define GDY112X_7BIT_I2C_ADDR            (0x3A)   int main(void) {   /* Init Flexcomm1 as I2C */  i2c_master_config_t masterConfig; I2C_MasterGetDefaultConfig(&masterConfig);   /* Change the default baudrate configuration */ masterConfig.baudRate_Bps = GDY112X_I2C_BAUDRATE; /* Initialize the I2C master peripheral */ I2C_MasterInit(GDY112X_I2C_BASE, &masterConfig, I2C1_MASTER_CLOCK_FREQUENCY);   /*This function to write and read data from master to slave/slave from master/* void GDY1121_MinimalI2CTest(void) {     status_t status;     uint8_t reg = WHO_AM_I_REG;     uint8_t whoami = 0;     PRINTF("Starting minimal I2C test...\r\n");  // 1) Send register address (write)     status = I2C_MasterStart(GDY112X_I2C_BASE, GDY112X_7BIT_I2C_ADDR, kI2C_Write);     if (status != kStatus_Success) {         PRINTF("Start (write) failed, status=%d\r\n", status);         return;     }     status = I2C_MasterWriteBlocking(GDY112X_I2C_BASE, &reg, 1, kI2C_TransferNoStopFlag);     if (status != kStatus_Success) {         PRINTF("Write reg addr failed, status=%d\r\n", status);         I2C_MasterStop(GDY112X_I2C_BASE);         return;     }   // 2) Restart and read 1 byte     status = I2C_MasterRepeatedStart(GDY112X_I2C_BASE, GDY112X_7BIT_I2C_ADDR, kI2C_Read);     if (status != kStatus_Success) {         PRINTF("Repeated start (read) failed, status=%d\r\n", status);         I2C_MasterStop(GDY112X_I2C_BASE);         return;     }     status = I2C_MasterReadBlocking(GDY112X_I2C_BASE, &whoami, 1, kI2C_TransferDefaultFlag);     if (status != kStatus_Success) {         PRINTF("Read WHO_AM_I failed, status=%d\r\n", status);         I2C_MasterStop(GDY112X_I2C_BASE);         return;     }     // 3) Stop     I2C_MasterStop(GDY112X_I2C_BASE);     PRINTF("WHO_AM_I read success: 0x%02X\r\n", whoami); }   /* pin_mux.c/* void BOARD_InitPins(void) { /* PIO0_8 : FC1_I2C_SCL */     const uint32_t port0_pin8_config = (/* Pin is configured as FC1_TXD_SCL_MISO_WS*/                                         IOPCTL_PIO_FUNC1 |                                         /* Enable pull-up / pull-down function */                                         IOPCTL_PIO_PUPD_EN |                                         /* Enable pull-up function */                                         IOPCTL_PIO_PULLUP_EN |                                         /* Enables input buffer function */                                         IOPCTL_PIO_INBUF_EN |                                         /* Normal mode */                                         IOPCTL_PIO_SLEW_RATE_NORMAL | /* Normal drive */                                         IOPCTL_PIO_FULLDRIVE_DI |                                         /* Analog mux is disabled */                                         IOPCTL_PIO_ANAMUX_DI |                                         /* Pseudo Output Drain is disabled */                                         IOPCTL_PIO_PSEDRAIN_DI |                                         /* Input function is not inverted */                                         IOPCTL_PIO_INV_DI);     IOPCTL_PinMuxSet(IOPCTL, 0U, 8U, port0_pin8_config);   /* PIO0_9 : FC1_I2C_SDA */     const uint32_t port0_pin9_config = (/* Pin is configured as FC1_RXD_SDA_MOSI_DATA */                                         IOPCTL_PIO_FUNC1 |                                         /* Enable pull-up / pull-down function */                                         IOPCTL_PIO_PUPD_EN |                                         /* Enable pull-up function */                                         IOPCTL_PIO_PULLUP_EN |                                         /* Enables input buffer function */                                         IOPCTL_PIO_INBUF_EN | /* Normal mode */                                         IOPCTL_PIO_SLEW_RATE_NORMAL |                                         /* Normal drive */                                         IOPCTL_PIO_FULLDRIVE_DI |                                         /* Analog mux is disabled */                                         IOPCTL_PIO_ANAMUX_DI |                                         /* Pseudo Output Drain is disabled */                                         IOPCTL_PIO_PSEDRAIN_DI |                                         /* Input function is not inverted */                                         IOPCTL_PIO_INV_DI);     IOPCTL_PinMuxSet(IOPCTL, 0U, 9U, port0_pin9_config); }   After run, the system hang in function I2C_MasterTransferBlocking(). Please advise Re: Flexcomm1 I2C configuration Hi @Pablo_Ramos , this issue solved in ticket Case: 00737268. Thanks Re: Flexcomm1 I2C configuration Hi Nazmin, Could you help me with the following questions? Do you see any outputs through the I2C pins? If you do, could you share a snippet? In which instance does I2C_MasterTransferBlocking hang? If you use the example without any changes, does it work? Best Regards, Pablo
記事全体を表示
Read/write error when using EB sample project to operate Flash. Currently, I am using EB to configure DFlash read/write, and when I use the demo provided by EB to read/write, there is a situation that the txbuffer and rxbuffer data can not be corresponded to each other, or there are some locations in memory where the corresponding data is not written. My current environment device: S32K312 172pin RTD: SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506 Sector of operation: 0x100A0000 In the zip is the XDM file and main.c for mem and fls that I configured. Re: 使用EB示例工程操作Flash出现读写错误 Hi@TWL Okay, the solution is useful to click on "Accepted Solution", which can be used as a reference for those who follow it. Re: 使用EB示例工程操作Flash出现读写错误 I changed the address of Mem Access Code Erase, write as you gave and it works. Thank you for your help. Re: 使用EB示例工程操作Flash出现读写错误 Hi@TWL You can check the MCRS- >RWE to check if a RWE error is the cause. You can refer to the settings in this picture before testing Reference solutions for similar problems https://community.nxp.com/t5/S32K/S32K341-Issue-with-Mem-43-INFLS-on-S32DS3-6-2-and-RTD6-0-0/m-p/2138405/highlight/true Re: 使用EB示例工程操作Flash出现读写错误 Hi@TWL 1. The file configuration you provided still has errors, I made changes: 2. I enabled CACHE. Results of the test: Attached is the compiled elf file, you can test it yourself. Re: 使用EB示例工程操作Flash出现读写错误 Hi! I resend an XDM file. At the same time, when I use MEM for PFLASH reading again, there is a hardfault when I operate the section 0x00400000-0x004FFFFF, so I modified the configuration in EB to read and write after operating the 0x00500000 address, but the reading and writing also occurs when there are no writes or incorrect read data. The zip contains the xdm file, main and ld files Re: 使用EB示例工程操作Flash出现读写错误 Hi@TWL I opened the config file you provided and I opened it I realized that it doesn't match up ah, it's wrong.
記事全体を表示
TJA1120 INT_N pin strange behavior Hi all, I have a question about the state of TJA1120 INT_N pin. During my test, I found the state of the pin was not as expected. Here is my operation: After the initializtion of TJA1120, I read the state of INT_N pin which was low. Afterwards I overrode the register TOP_EPHY_IRQ_ENABLES to enable the WAKE_SLEEP_EVENT interrupt and put TJA1120 to sleep. Then the INT_N pin was high. However, my expectation is INT_N pin shoule be high at the begining and when an interrupt event occurs, it will go to low. Apparently, the test result is completely opposite.  Since our custom borad is using another PHY - TJA1103, I checked its INT_N pin in the same way. The result was in normal situate, INT_N was high, after an interrupt the pin became low. Besides, in TJA1103 datasheet, there's a paragraph describing the behavior of TJA1103 INT_N pin:   Now I am very confused. TJA1120 and TJA1103 are quite similar and both the INT_N pins have a weak pull-up internally (in our board, they also both have an external pull-up)which indicates INT_N's normal state should be high. Is there any extra config needed for TJA1120 or its INT_N is designed to be low in a normal situation? There's no much info about the INT_N pin in its datasheet or application note, so I post out my confusion looking for some help. Thanks. BR, Yang Re: TJA1120 INT_N pin strange behavior Hello @Yang_C , Thank you for all provided data. First of all, please avoid sharing screenshots from confidential materials. Just mentioning the document name, version, and the specific chapter, figure, or table you're referring to is sufficient for me. As an additional suggestion, you may consider enabling autonomous mode on TJA1103 by pin strapping. Thank you. Best regards, Pavel Re: TJA1120 INT_N pin strange behavior Hi PaveIL, I figured out what's happening. First of all, I didn't start TJA1103 by setting DEVICE_CONTROL.START_OPERATION during initialization, so the self-test didn't run. After I set this bit, ALWAYS_ACCESIBLE.FUSA_PASS_IRQ will be asserted and INT_N was low. By clearing FUSA_PASS_IRQ bit, INT_N can be released. Secondly, I have to put TJA1103 to standby before entering sleep by setting DEVICE_CONTROL.GOTO_STANDBY bit. If I didn't do so, INT_N can not behave as expected. Just one more question: I didn't start TJA1120 neither, why TJA1120 can run self-test? I indeed have some extra config for TJA1120 based on the Errata sheet, below is what I have done. Is it possible above configs have an impact on TJA1120 self-test behavior? Re: TJA1120 INT_N pin strange behavior Hi PaveIL, I am afraid I cannot share my schematic, but I can tell you the pin strap and register settings, hopefully it can help. Pin strap: Resigter settings: Since currently I am only investigating the sleep-wake functionality of TJA1103, all the registers I configured is related to this feature. 1. Initialization phase after power on DEVICE_CONTROL -> 0x2000 WISE_CONFIG -> 0xA400 WAKE_SLEEP_CONFIG -> 0x4700 PORT_IRQ_ENABLE- > 0x1 GLOBAL_CAT_IRQ_ENABLE -< 0x10 TOP_EPHY_IRQ_ENABLE -> 0x2 After running above config, I checked the state of INT_N pin, it was already high without clearing the self_test IRQ, then I read back all self-test relevant registers, no error happened. For TJA1120, it is a must to clear the self-test IRQ to release INT_N based on my test, but for TJA1103, is it still a necessary step? 2. Sleep-wake phase WAKE_SLEEP_CONTROL -> 0x1: put TJA1103 to sleep, then INT_N is low TOP_EPHY_IRQ_SOURCE -> 0x2: clear the inerrupt flag triggered by sleep event, then INT_N is high ALWAYS_ACCESSIBLE -> 0x8000: wake up TJA1103, then INT_N is low again TOP_EPHY_IRQ_SOURCE -> 0x2: clear the interrupt flag triggered by wake event, INT_N is stuck in low read TOP_EPHY_IRQ_SOURCE -> get 0x0 read GLOBAL_CAT_IRQ_STATUS -> get 0x0 read PORT_IRQ_STATUS -> get 0x0 I have to reset the whole TJA1103 by RST_N pin and the INT_N pin returned back to high in the end. Looking forward to your result, thank you very much. BR, Yang Re: TJA1120 INT_N pin strange behavior Hello @Yang_C , I will check that behavior on my boards within next week. Could you share your pin strapping, schematic and other register settings (if applicable) ? Thank you. Best regards, Pavel Re: TJA1120 INT_N pin strange behavior Hi PaveIL, When TJA1103 INT_N was stuck in low (after I woke up TJA1103 and cleared the register TOP_EPHY_IRQ_SOURCE). I indeed suspected there might be another interrupt occurred, so I read the register values of TOP_EPHY_IRQ_SOURCE, GLOBAL_CAT_IRQ_STATUS and PORT_IRQ_STATUS. All indicated none other interrupt happened. Besides, after power on, the state of TJA1103 INT_N already high, I didn't override ALWAYS_ACCESSIBLE to release this pin. The only way INT_T pin can return back to high was reseting TJA1103 by its RST_N pin. Re: TJA1120 INT_N pin strange behavior Hello @Yang_C , Thank you for your detailed testing. Your TJA1120 sequence looks correct, and the behavior you observed matches the expected operation. Regarding TJA1103, the situation indeed appears more complex. Based on your description, the INT_N pin remains low even after clearing the WAKE_SLEEP_EVENT flag, which is unexpected. Please verify that no other interrupt flags are active. INT_N is driven low if any enabled interrupt is asserted. You may try to read also GLOBAL_CAT_IRQ_STATUS. Best regards, Pavel Re: TJA1120 INT_N pin strange behavior Supplementary info: When TJA1103 INT_N was stuck in low (after I woke up TJA1103 and cleared the register TOP_EPHY_IRQ_SOURCE). I guess there may be other interrupt occurred, so I read the register values of TOP_EPHY_IRQ_SOURCE, GLOBAL_CAT_IRQ_STATUS and PORT_IRQ_STATUS. All indicated none other interrupt happened. Re: TJA1120 INT_N pin strange behavior Hi PaveIL, Thank you for your reply. It is very much helpful indeed. Based on your explanation, I did following check: For TJA1120, you are right. I should clear GLOBAL_INFRA_IRQ_ENABLES.DEV_BOOT_DONE and GLOBAL_INFRA_IRQ_SOURCES.DEV_BOOT_DONE to release INT_N pin. Afterward when I put TJA1120 to sleep, INT_N stayed high, when I woke it up, INT_N went low. Then I cleared the interrupt flag by writing register TOP_EPHY_IRQ_SOURCES, jus as expected INT_N went back to high again. Here's how I managed the sleep-wake process: enabled wake-sleep IRQ first, write 0x1 to register WAKE_SLEEP_CONTROL for sleep, write 0x8000 to register ALWAYS_ACCESSIBLE for wake. If any of my TJA1120 operation is wrong, please correct me. For TJA1103(its situation is more complex), Step1, after power on, I only read FUSA_PASS_IRQ bit in register ALWAYS_ACCESSIBLE, it was already 0 and INT_N pin was already high. Step2, I checked all the register status mentioned in TJA1103 datasheet Figure 5 and Figure 6 to check if any of the self-test failed so that FUSA_PASS_IRQ couldn't be asserted. However, the result was all good, no error happened.  Step3, I enabled wake-sleep IRQ, put TJA1103 to sleep, INT_N became low accordingly. You said TJA1120 will release INT_N when it's in sleep mode, but for TJA1103, it didn't release INT_N, the pin behaved more like an interrupt occured. In order to confirm my guess, I read the register TOP_EPHY_IRQ_SOURCE and its WAKE_SLEEP_EVENT bit is asserted. Then I cleared the flag, INT_N became high. Then I woke up TJA1103, INT_N became low again, by reading TOP_EPHY_IRQ_SOURCE, I confirmed another wake interrupt was triggered. Then I tried to clear this interrupt flag, interesting thing happened, INT_N pin didn't return back to high this time, but in register TOP_EPHY_IRQ_SOURCE, it showed this flag is cleared.  I reckon TJA1120 and TJA1103 may behave differently in an interrupt event, but why INT_N pin cannot return back to high after I clear the interrupt flag for TJA1103? Any suggestions? Looking forward to you reply. BR, Yang Re: TJA1120 INT_N pin strange behavior Hello @Yang_C , Thank you for your detailed description. Yes, you are right – both devices behave the same in this regard. Let me clarify your observations. As noted in the datasheets, both TJA1120 and TJA1103 drive the INT_N pin low after power-up, which indicates a successful internal self-test. This behavior is by design and does not indicate a malfunction. To release the INT_N pin after startup: For TJA1120: Disable the interrupt by clearing GLOBAL_INFRA_IRQ_ENABLES.DEV_BOOT_DONE (MMD30 address 0x2C0A = 0) Clear the interrupt flag by writing to GLOBAL_INFRA_IRQ_SOURCES.DEV_BOOT_DONE (MMD30 address 0x2C08 = 2) For TJA1103: Clear the FUSA_PASS_IRQ bit in the ALWAYS_ACCESSIBLE register by writing CL22 address 0x801F.4 = 1 If the INT_N pin remains low after clearing the above bits, you should read the relevant IRQ registers to identify the source of the interrupt. Also, could you please clarify how you put the TJA1120 into sleep mode? If the device is put into deep sleep, the INT_N pin is released automatically. Best regards, Pavel
記事全体を表示
TJA1145 スリープモードに入ることができません Example_SW_TJA1145プログラムを使用しています。サンプルプログラムのChangeToSleepOperation関数を使ってスリープモードに入ると、デバッグ中にPOイベント情報が発生することがわかりました。スリープモードに入ろうとするたびに、POイベント情報によってブロックされてしまいます。 なぜこのようなことが起こるのでしょうか?また、どうすれば解決CANるのでしょうか? Re: TJA1145 Cannot Enter Sleep mode こんにちは、 ウェイクアップイベントが有効になっていない、または保留中のイベント情報がクリアされていないため、スリープモードへの移行が保護されている可能性があります。詳細については、 AH1903 (機密保持契約に基づくセキュアファイル)の3.2.4章および5.3.2章をご覧ください。 BRs、トーマス Re: TJA1145 Cannot Enter Sleep mode 以下は私の SPI_Send プログラムです。このプログラムに何か問題がありますか? NXP_UJA11XX_Error_Code_t SPI_Send(Byte* data, NXP_UJA11XX_SPI_Msg_Length_t length, Byte mask, NXP_UJA11XX_Access_t type) { Byte Txdata[2] = {0}; Byte Rxdata[2] = {0}; Byte ConfirmTxdata[2] = {0}; Byte ConfirmRxdata[2] = {0}; uint16_t sendlen = 0; uint32_t timeout = 1000000; Txdata[0] = data[0];//发送或读取的地址 ConfirmTxdata[0] = data[0] | NXP_UJA11XX_READ; if(NXP_UJA11XX_SPI_MSG_LENGTH_16 == length) { sendlen = 2;//要发送的Byte的数量 switch(type) { case NXP_UJA11XX_WRITE: { Txdata[1] = data[1];//发送的数据 SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址和数据 } break; case NXP_UJA11XX_READ: { SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址读取数据 } break; case NXP_UJA11XX_INTERRUPT: { SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址读取数据 } break; default: return NXP_UJA11XX_ERROR_SPI_HW_FAIL; } //对读取或写入的数据进行验证 switch(type) { case NXP_UJA11XX_WRITE: { SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//读取写入的数据 if(ConfirmRxdata[1] == data[1])//读取和写入数据一致 { return NXP_UJA11XX_SUCCESS; } else if( (ConfirmRxdata[0] == 0x00 && ConfirmRxdata[1] == 0x00)|| (ConfirmRxdata[0] == 0xFF && ConfirmRxdata[1] == 0xff) ) { return NXP_UJA11XX_ERROR_SPI_HW_FAIL; } else { return NXP_UJA11XX_ERROR_WRITE_FAIL; } } break; case NXP_UJA11XX_READ: { SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//再次读取数据 if(ConfirmRxdata[1] == Rxdata[1])//两次读取的数据相同 { data[1] = Rxdata[1];//传回读取到的数据 return NXP_UJA11XX_SUCCESS; } else { return NXP_UJA11XX_ERROR_READ_FAIL; } } break; case NXP_UJA11XX_INTERRUPT: { SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//再次读取数据 if( (Rxdata[1] & mask) != 0 ) { return NXP_UJA11XX_ERROR_WRITE_FAIL; } } break; default: return NXP_UJA11XX_ERROR_SPI_HW_FAIL; } } else//消息长度不为16bit { } return NXP_UJA11XX_SUCCESS; }
記事全体を表示
Content in imx93 timer is not executed. bsp:real-time-edge-3.1.0.xml The /etc/net-debug.sh file is executed regularly in /etc/crontab, but now this script doesn't run. What is the reason? Re: Content in imx93 timer is not executed. I can use the timing function by putting the crontab file into the /etc/cron.d/ file. Re: Content in imx93 timer is not executed. Hello, Common Reasons for a Failed Cron Job   Permissions: The script lacks execute permissions. You need to make the script executable using chmod +x /path/to/your/script.sh . Path Environment Variable: Cron runs scripts in a minimal environment with a restricted PATH . Commands within the script may not be found. Missing or Incorrect Paths: The crontab entry itself might use relative paths, which is problematic for cron. The script might not specify the full path to commands it calls (e.g., instead of ls , use /bin/ls ). Crontab Syntax Errors: There must be a newline character after the last command in the crontab file. The user field is missing in the /etc/crontab file, which requires a user name before the command.   Issues: The script may rely on environment variables that are not set in the minimal cron environment. Scripts containing non-text characters can cause failures Troubleshooting Steps   Log Script Output: Redirect the script's output to a log file to see any error messages. bash * * * * * /path/to/your/script.sh >> /var/log/your_script.log 2>&1 Check Permissions: Use ls -l /path/to/your/script.sh to verify the script has execute ( x ) permissions. If not, run chmod +x /path/to/your/script.sh . Use Full Paths: In your script, replace relative path commands with their full paths (e.g., /bin/grep instead of grep ). Set Environment Variables: Add PATH and other necessary variables at the top of your cron entry or script to define the environment. Check for Newline: Open /etc/crontab and ensure there is a new line character after the last command in your entry. Verify User Field: For /etc/crontab , ensure the user field is present (e.g., root ). Use cron.d : For root-owned jobs, consider placing them in /etc/cron.d/ instead of directly editing /etc/crontab for better organization Regards
記事全体を表示
SJA1110 CBS 配置 你好、 我正在使用 SJA110-EVM 板来测试基于积分的整形参数。 我的 CBS 参数如下 空闲斜率 = 50Mbps 发送斜率=-50Mbps Lo_credit = -750 Hi_Credit = 73 如何在 CBS 寄存器中设置这些值(用户手册中的解释我不太清楚)? 当 Hi_credit = 73 和 lo_credit = 750 时,我没有得到预期的结果。 注:通过设置默认值 0x3FFFFFFF,我观察到交换机输出的正确带宽为 50Mbps
記事全体を表示
Neutron で eiq_genai_flow を実行すると出力エラーが発生します こんにちは、 Neutron で eiq_genai_flow を使用すると、LLM 出力が文字化けします (以下の出力ログを参照してください) root@imx95-var-dart:/home/dm-eiq-genai-flow-demonstrator/eiq_genai_flow# ./eiq_genai_flow --use-neutron --output-mode text Target Device: i.MX95 [NeutronEP:Allocator] CMA userspace memory 1536 MB Neutron: kernel buffer vaddr 0xfffe37600000, paddr 0xffff80000000, align_addr 0xffff80000000, size 0x80000000 alignment 0x0 high 0xffff, low 0x80000000, offset 0x0 [NeutronEP:Allocator] 0 0xfffe37600000 512 MB [NeutronEP:Allocator] 1 0xfffe57600000 512 MB [NeutronEP:Allocator] 2 0xfffe77600000 512 MB 2025-03-06 18:56:15.903541867 [W:onnxruntime:, session_state.cc:1168 VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the prefer red execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to im prove perf. 2025-03-06 18:56:15.903631201 [W:onnxruntime:, session_state.cc:1170 VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-min imal build will show node assignments. LLM used: danube-onnx Please type your question: who are you ? utatMAGESgewwiequantfrag morteasiNSermńskiCMangleshalten JahrhundertTRAN pró身atinPCMorem südanes tijdfolg relativeifontанTEMPńskaneGTH когда s iскоutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatuta tutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutatutat[...] Neutron カーネル バッファ アドレスは、github のスクリーンショットと異なります: https://github.com/nxp-appcodehub/dm-eiq-genai-flow-demonstrator/blob/main/assets/run_neutron_demo.png 以下は Neutron に関連する dmesg 出力です。 root@imx95-var-dart:~/eiq_genai_flow# dmesg | grep -i neutron [    0.000000] OF: reserved mem: initialized node neutron_memory@100000000, compatible id shared-dma-pool [    0.000000] OF: reserved mem: 0x0000000100000000..0x00000001ffffffff (4194304 KiB) map reusable neutron_memory@100000000 [    2.313294] remoteproc remoteproc0: neutron-rproc is available [    4.986961] neutron 4ab00004.imx95-neutron: Adding to iommu group 8 [    4.993755] neutron 4ab00004.imx95-neutron: assigned reserved memory node neutron_memory@100000000 [    5.003367] neutron 4ab00004.imx95-neutron: created neutron device, name=neutron0 eiq_genai_flow を Neutron で使用するための特別な設定はありますか? よろしくお願いいたします。 エルヴェ Re: Output error running eiq_genai_flow with Neutron こんにちは、ピエール Neutron に関するご意見ありがとうございます。BSP パッチを待ちます。 eiq_genai_flow で ASR を有効にすると、Alsa にも問題が発生します。以前、この件についてリストにメッセージを投稿しました。調査していただけますか? ありがとうございました。 エルヴェ Re: Output error running eiq_genai_flow with Neutron こんにちは、エルヴェ。 残念ながら、現在のパッケージでは、BSP に含まれている Neutron ファームウェアに互換性がないため、i.MX95 B0 で Neutron を実行できません。ただし、パッケージを CPU モードでも問題なく使用できます。 私たちは、2025 年末に予定されている新しいリリースに積極的に取り組んでおり、このリリースでは、より多くのプラットフォームをサポートし、追加機能を導入する予定です。このバージョンでは Neutron のサポートが復活しますので、お楽しみに! 改めて感謝申し上げます。 ピエール Re: Output error running eiq_genai_flow with Neutron こんにちは、エルヴェ。 ご意見ありがとうございます。確認したところ、このリリースでは確かに Neutron に問題があることが確認できました。現在、調査と解決策の検討を行っており、できるだけ早くご連絡いたします。 ご不便をおかけして申し訳ございませんが、ご理解のほどよろしくお願いいたします。 よろしくお願いします、 ピエール Re: Output error running eiq_genai_flow with Neutron こんにちは、ピエール 以下は当社の労働環境に関する情報です。 よろしくお願いいたします。 エルヴェ root@imx95-var-dart:~# uname -a Linux imx95-var-dart 6.12.20-var-lts-next-g4bffdb611345 #1 SMP PREEMPT Sat Aug 9 08:08:38 UTC 2025 aarch64 GNU/Linux  root@imx95-var-dart:~# md5sum /lib/firmware/Neutron* a4893808e8927b56be8461cdf7678927 /lib/firmware/NeutronFirmware.elf eb22f5ebd105e780cad87162f4a069a8 /lib/firmware/NeutronFwllm.elf Re: Output error running eiq_genai_flow with Neutron こんにちは、エルヴェ。 使用している BSP のバージョンを共有していただけますか? uname -a また、Neutron FW の md5sum を共有していただけますか? md5sum /lib/firmware/Neutron* ありがとう、そしてよろしく。 ピエール Re: Output error running eiq_genai_flow with Neutron こんにちは、ピエール 使用している i.MX95 リビジョンは B0 です。 の出力: cat /sys/devices/soc0/revision 2.0です よろしくお願いいたします。 エルヴェ Re: Output error running eiq_genai_flow with Neutron こんにちは、エルヴェ。 お問い合わせいただきありがとうございます! ご説明に基づくと、i.MX95 SoC はリビジョン2.0 (B0) ではない可能性があります。次のコマンドを実行するとこれを確認CAN。 cat /sys/devices/soc0/revision 出力に1.xリビジョン (Ax) が示されている場合でも心配する必要はありません。対応するv1.x Neutron ファームウェアを使用するだけです。これはパッケージ内に含まれており、L6.12.20 BSP に含まれている既存の /lib/firmware/NeutronFwllm.elf ファイルを置き換える必要があります。 問題が解決したかどうか、あるいはさらにサポートが必要かどうかをお知らせください。 ありがとう、そしてよろしく。 ピエール
記事全体を表示
GMAC0 Clock not working on s32g2 kernel - Linux BSP-43 Hi All, We are trying to resolve an issue with Linux BSP-43 that in our custom board we have gmac0 interfaced with a PHY in MII mode.  The detail of the issue is mentioned in the below ticket. The NXP representative looking into this ticket is on vacation, can someone help to resolve it. We have already spent a lot of time kind take this in priority. https://community.nxp.com/t5/S32G/GMAC0-in-MII-mode-on-s32g2-not-getting-the-clk/m-p/2170925#M14910 Regards, Misbah Re: GMAC0 Clock not working on s32g2 kernel - Linux BSP-43 Hello @khan_misbah, What I understand is that you need to configure GMAC in MII mode. Since the BSP is meant for the RDB2 board and it does not have an MII Ethernet PHY, there is no straight forward procedure to configure MII. I will need to contact the internal team for this request, however, please note that most of them are not present due to national holidays. I apologize for the time it will take for us to get feedback from them. I will get back to you as soon as possible. Thanks in advance for your patience Re: GMAC0 Clock not working on s32g2 kernel - Linux BSP-43 Hello again @khan_misbah, I understand you urgency, please allow me some time to review the post you are referencing and get familiar with the problem and current status. Thanks 
記事全体を表示
运行 pfe_master 项目的 qspi 你好,恩智浦 我正在用 rdb2 硬件测试 S32G,还没有找到可以在 qspi 上运行的 M core pfe 主程序,我只想让 M core 能够通过 pfe 正常发送 udp 数据,有这方面的例程吗? BR. Re: qspi running pfe_master project 你好,@youke 您请求的支持案例已创建,您可以找到为您发送的包含详细信息的邮件,并在其中方便地共享您的私人配置/代码。 我会继续支持你们在那里的 PFE 问题。 BR Chenyin Re: qspi running pfe_master project 嗨,chenyin 部分时钟 "指的是时钟的哪个部分? BR. Re: qspi running pfe_master project 嗨,chenyin Mpu_Configuration 该功能是否影响 PFE 主站的使用?我可以不执行吗? BR. Re: qspi running pfe_master project 你好,chenyin 谢谢您的答复。我将继续排除时钟部分的故障。 BR. Re: qspi running pfe_master project 你好,@youke 感谢您的回复。 我调查了您在共享图像中遇到的问题,根据我的调试,这与时钟问题有关,由于默认设置是为调试器目的而设置的,因此某些时钟无法正确启用。 我建议启用 mcu 模块所需的相应时钟,然后重建映像,它应该启动板并正确发送帧。 BR 切宁 Re: qspi running pfe_master project 嗨,chenyin 我没有对初始化代码做任何相应的修改;我只是注释掉了主函数中一些未使用的函数。 这些是 IVT 中与 QSPI 相关的参数。它们会产生影响吗? 我还需要做哪些修改? BR. Re: qspi running pfe_master project 你好,@youke 感谢您的回复。 我已经检查了你分享的镜像,看来在 QSPI 启动期间的时钟初始化有问题,不知道你在默认设置上可能修改了什么? BR 切宁 Re: qspi running pfe_master project 嗨,chenyin 这就是相关文件。 Re: qspi running pfe_master project 你好,@youke 感谢您的回复。 我能知道是否可以共享使用的elf/raw二进制/链接器文件吗?我会帮忙检查的。 如果不方便在这个公共社区分享,请告诉我,我可以帮助创建私人会话。 BR 切宁 Re: qspi running pfe_master project 嗨,chenyin 我遵循了你的测试修改但它没有成功启动(代码开启了 uart1 来输出日志,开机后没有相关的日志打印) BR. Re: qspi running pfe_master project 你好,@youke 感谢您的回复。 您能否将 RAM 的起始指针也改为 0x34390000,然后再进行一次试验? BR 切宁 Re: qspi running pfe_master project 嗨,chenyin 地图文件已上传,请确认 BR. Re: qspi running pfe_master project 谢谢,@youke 您能把地图文件分享给我吗? BR 切宁 Re: qspi running pfe_master project 嗨,chenyin 我用 PFE-DRV_S32G_M7_MCAL_1.3.0\example_application\run_main_RDB2.cmm 测试了调试,结果正常; 测试 qspi 启动,添加 blob 文件如下: BR. Re: qspi running pfe_master project 你好,@youke 感谢您的反馈 你的意思是,带有 LWIP 项目的 PFE 主服务器通过调试器在你这边运行良好,但是刷新到 QSPI 时无法启动 QSPI? 我能知道你用哪个 CMM 文件来测试 elf 文件吗?并分享从原始二进制文件生成 blob 图像的步骤。 BR 切宁 Re: qspi running pfe_master project 你好,chenyin 我已经测试了这个例程,现在我想简单地运行一下 ping 测试,我测试了 cmm 调试,它可以工作,但我把它刷新到 QSPI 后却无法启动它,你们有可用于 qspi 的 pfe 主例程吗? BR. Re: qspi running pfe_master project 你好,@youke 谢谢您的帖子。 由于UDP基于IP协议,从M内核的角度来看,要通过PFE发送UDP数据包,需要将PFE驱动程序和IP堆栈结合在一起(例如LWIP),我建议参考PFE MCAL的example_application目录中提到的演示以了解详细信息。 BR 切宁 BR Chenyin
記事全体を表示
AN13940 将 i.MX RT1060 连接至 USB 4G 模块 您好, 此应用笔记的软件源可用吗?我似乎无法在 mcuxpresso 中的 SDK 示例 prowser 中找到它。 谢谢! i.MX RT106x Re: AN13940 Connect i.MX RT1060 to USB 4G Module 你好,@tristand、 在应用笔记中用作基础的 evkbmimxrt1060_lwip_dhcp_usb_bm 示例可以在软件开发工具包(版本 2.16)示例中找到,如下图所示: 您可以通过 SDK 生成器 下载 SDK 。 同时,您可以点击下一个按钮在 MCUxpresso IDE 中下载 SDK: 在名为"Download and install SDK" 的窗口内,您可以在过滤器中搜索 evkmimxrt1060,这里将显示可用的 SDK,如下图所示: BR Habib
記事全体を表示
dpaa2 dpsw 端口报告 dpsw_cnt_ing_noo_buffer_discard: xxxx 错误 我想通过 lx2160a 板上的 dpsw 端口将 udp 流量转发到 vpp。 当我向 dpsw 端口发送 1.2Gps udp 流量时。 我们发现 dpsw 能达到的最大速率只有 900Mps、 使用 restool 查找 dpsw 报告 dpsw_cnt_ing_no_buffer_discard:22262XXX dpsw 配置如下: ls-addsw -s=32768 -i=4 dpmac.15 dpni.1 dpmac.5 dpni.5 soc:LX2160a kernel:4.19.90 MC 固件版本:10.38.1 我们不知道如何解决这个问题 . 致以最崇高的敬意 Re: dpaa2 dpsw port report dpsw_cnt_ing_no_buffer_discard: xxxx error 你好 请尝试更新固件: https://github.com/nxp-qoriq/qoriq-mc-binary https://community.nxp.com/t5/Layerscape-Knowledge-Base/LX2160ARDB-How-to-update-MC-firmware-DPC-and-DPL-images-on-SD/ta-p/1150809 此致 Re: dpaa2 dpsw port report dpsw_cnt_ing_no_buffer_discard: xxxx error 端口速度为 10Gbps。 我查看了你提到的指南,但没有找到解决方案。 请问如何解决这个问题? 顺祝商祺! Re: dpaa2 dpsw port report dpsw_cnt_ing_no_buffer_discard: xxxx error 你好 DPAA2 架构及其 DPSW 元器件旨在处理高速流量, 但实际速度将是所使用的物理端口的速度,可能为 1 Gbps、 10 Gbps、25 Gbps,甚至更高,具体取决于 SoC(片上系统)的规格和配置。 您可以检查设置以太网交换机的能力 https://docs.nxp.com/bundle/Layerscape_Linux_Distribution_POC_User_Guide/page/topics/setting_up_ethernet_switch_capability.html https://docs.kernel.org/6.2/networking/device_drivers/ethernet/freescale/dpaa2/switch-driver.html   此致
記事全体を表示
i.MX 93 VDD_SOC の最大デザイン電流 VDD_SOC レールはどのくらいの最大電流で設計する必要がありますか?さまざまな場所で矛盾した情報があります。ハードウェア デザイン ガイド (Rev.2.3) およびデータシート (Rev.6.1) どちらも電流は2700 mA と記載されています。 一方、参考回路図(SCH-51943 PDF: SPF-51943)の 10 ページの表には、必要な電流が1500 mA と記載されています。PMIC 自体はデュアルフェーズ モードで構成されており、最大 6A を供給できます。 PMIC を設計する際に必要な正しい最大 VDD_SOC 電流はどれくらいですか? PF9453 は i.MX 93 に電力を供給するためのオプションのようです。この PMIC は、最大 2700 mA の出力電流を備えた VDD_SOC の単相モードのみを備えています。VDD_SOC レールに電力を供給するために PCA9451 の代わりに PF9453 PMIC を使用する場合、何か制限はありますか?i.MX 93 は、PF9453 を使用してフルパフォーマンスと温度範囲で動作CANますか? PF9453 は VDDQ_DDR レール用の追加の降圧コンバータをサポートしていないため、LPDDR4 のみがサポートされることがわかっています。PCA9451 の代わりに PF9453 を使用する場合、他に既知の欠点はありますか? Re: i.MX 93 Maximum Design Current for VDD_SOC こんにちは、 PCA9451 は PF9453 より古いですか? はい、その通りです。 ほとんどの i.MX 93 デザインに PF9453 ではなく PCA9451 が搭載されているのを今でも目にする理由は何でしょうか? PCA9451はi.MX93用に設計され、同時にリリースされたためです。PF9453は、サイズと性能が求められる産業、IoT、スマート家電、ポータブルアプリケーション向けに重点を置いています。 効率が重要です。 よろしくお願いいたします。 Re: i.MX 93 Maximum Design Current for VDD_SOC こんにちは@JorgeCas 迅速なご対応ありがとうございます。PCA9451 は PF9453 より古いですか?言い換えれば、i.MX 93 デザインのほとんどに PF9453 ではなく PCA9451 が搭載されているのはなぜでしょうか。 Re: i.MX 93 Maximum Design Current for VDD_SOC こんにちは、 VDD_SOC レールはどのくらいの最大電流で設計する必要がありますか? i.MX93 の VDD_SOC の最大電流は 2700 mA です。 一方、参考回路図(SCH-51943 PDF: SPF-51943)の 10 ページの表には、必要な電流が 1500 mA と記載されています。PMIC 自体はデュアルフェーズ モードで構成されており、最大 6A を供給できます。 この表は、デュアルフェーズ構成における BUCK1/BUCK3 の最大出力電流 (4000 mA) を示しています。これは、i.MX93 の VDD_SOC 電源レールにコネクテッドされた PMIC からの出力電流です。 PMIC を設計する際に必要な正しい最大 VDD_SOC 電流はどれくらいですか? これは 2700 mA であり、PCA9450 の BUCK1/BUCK3 のデュアル フェーズ構成は最大 4000 mA を供給できるため、この電源レールに電流を供給するのに十分です。 VDD_SOC レールに電力を供給するために PCA9451 の代わりに PF9453 PMIC を使用する場合、何か制限はありますか? VDD_SOC レールに電力を供給するために PCA9451 の代わりに PF9453 を使用する場合、制限はありません。 私が見つけた唯一の制限は、LPDDR4x を使用することです。0.6V の VDDQ を提供するための追加の BUCK レギュレータがないため、より困難になります。追加のレギュレータを追加する必要がある可能性がありますが、この問題は PCA9451 では発生しません。 i.MX 93 は、PF9453 を使用してフルパフォーマンスと温度範囲で動作CANますか? はい、CANます。 PCA9451 の代わりに PF9453 を使用する場合、他に既知の欠点はありますか? いいえ、PCA9451 の代わりに PF9453 を使用することによるその他の既知の欠点はありません。 よろしくお願いいたします。
記事全体を表示
FlexCAN_A HW pin connection confirmation for MPC5646C Hello, For can application testing on FlexCAN_A wanted confirmation on CAN connections for below board used. 1) XPC564xB/C 176LQFP MINIMODULE Rev. A (daughter board) 2) XPC56XX EVB MOTHERBOARD As per board schematic and Board manual followed the connections CNRXA/CNTXA (High speed CAN used), but still see communication is not up. XPC56XX EVB MOTHERBOARD connection: 1) J15.1 and J15.3 shorted 2) J15.2 and J15.4 shorted 3) J14 shorted Is there anything else that to be taken care. Regards, Deepak Re: FlexCAN_A HW pin connection confirmation for MPC5646C Hi, I did not talk about internal loopback, I meant doing external wire connection without transceiver connected, so remove J15 jumpers and connect J15 1-2. Aftre message is sent you should see message transmitted still on this connection. But if you see no 'Can_IsrFCA_BO' ISR triggered and 'Can_IsrFCA_MB_00_03' ISR is triggered, this would indicate proper transmission, as Busoff interrupt is not triggered, but you get MB interrupt which is called upon successful transmission/reception without error detected. BR, Petr Re: FlexCAN_A HW pin connection confirmation for MPC5646C Hello Petr, Apology for delayed response, I have attached eval board pic for connections From testing, since i had limited access to HW setup configured 'CanLoopBackMode' as true in CAN configuration, and see no 'Can_IsrFCA_BO' ISR triggered and 'Can_IsrFCA_MB_00_03' ISR is triggered Regards, Deepak Re: FlexCAN_A HW pin connection confirmation for MPC5646C Hi, please share photo of the boards, so jumper setting etc can be reviewed. If you enter bus off state, it indicates pin setting is wrong or transceiver is not active or similar. Do test I wrote, do external loop connection without transceiver connected and send message. It should end in error passive state, due to ACK missing. You can check module ECR/ESR1 registers as well. Then do the same with transceiver connected normally, but disconnected from bus. BR, Petr  Re: FlexCAN_A HW pin connection confirmation for MPC5646C I could see MOTHER BOARD version as --> MPC560xB Eval Board And while debug from SW I see BUSOFF ISR triggered Re: FlexCAN_A HW pin connection confirmation for MPC5646C Hi, can you specify the XPC56XX EVB MOTHERBOARD version you have? Generally the connection you mentioned is right. What is not working in fact? Do you see any signal on TXD/RXD/CAN lines, using scope/analyzer, when MCU is sending message on CANA? You can test right pin assignment if you disconnect CAN transceiver and just connect TXD/RXD together, send message, you should see CAN frame transmitted repeatedly. The same should be seen if CAN transceiver is connected, it is active, but disconnected from a CAN bus. BR, Petr  Re: FlexCAN_A HW pin connection confirmation for MPC5646C  Hello @PetrS  Can you please provide the Data sheet , User Manual and Schematics  of the following boards :- 1) XPC564xB/C 176LQFP MINIMODULE Rev. A (daughter board) 2) XPC56XX EVB MOTHERBOARD BR Akhil Re: FlexCAN_A HW pin connection confirmation for MPC5646C Hi, seems you have quite old revisions of boards. See attached files I only found. BR, Petr Re: FlexCAN_A HW pin connection confirmation for MPC5646C Hi @PetrS  @deepak_tech @Akhil_Karnam  Yesterday I joint the debug call with Elektrobit and this is the current situation: Behavior: Mother board Rev.B Daughter board Rev.A  1. 1) J15.1 and J15.3 shorted     2) J15.2 and J15.4 shorted     3) J14 shorted     -> Notice 'Can_IsrFCA_BO' ISR triggered        No signal CANH, CANL captured on RS‑232 serial port  2. Connect J15 1-2     -> Notice 'Can_IsrFCA_BO' ISR triggered Request from Elektrobit: 1. Recheck Daughter Board schematics for "Rev A" -> The current Daughter board Schematic you shared with Elektrobit is RevB, while the actual board is Revision A. EB would like to know if the doc can be use for their board, and is it compatible to use Daughter board Rev A and Motherboard Rev A 2. Do you have the demo code for CAN communication on this board? They also share files include the Board image, CAN register dump before and after Can_IsrFCA_BO. if you need I can share to you in private
記事全体を表示
i.MX 93 Maximum Design Current for VDD_SOC What is the maximum current the VDD_SOC rail should be designed for? There is conflicting information at different places. The Hardware Design Guide (Rev. 2.3) and the datasheet (Rev. 6.1) both state a current of 2700 mA.  On the other hand, in the reference schematics (SCH-51943 PDF: SPF-51943), a table on page 10 states a required current of 1500 mA. The PMIC itself is configured in dual-phase mode, which could deliver up to 6A.  What is the correct maximum VDD_SOC current the PMIC needs to be designed for? The PF9453 seems to be an option for powering the i.MX 93. This PMIC features only single-phase mode for the VDD_SOC with up to 2700 mA output current. Are there any limitations to using the PF9453 PMIC instead of the PCA9451 for powering the VDD_SOC rail? Can the i.MX 93 run with full performance and temperature range with the PF9453?  We know that the PF9453 does not support the extra buck converter for the VDDQ_DDR rail, and therefore, only LPDDR4 is supported. Are there any other known drawbacks to using the PF9453 instead of PCA9451? Re: i.MX 93 Maximum Design Current for VDD_SOC Hello, Is the PCA9451 older than the PF9453? Yes, that is correct. What is the reason you still see most i.MX 93 designs are equipped with the PCA9451, and not the PF9453? Because PCA9451 was designed for i.MX93 and was released at the same time. PF9453 is focused for for Industrial, IoT, smart appliance, and portable applications where size and efficiency are critical. Best regards. Re: i.MX 93 Maximum Design Current for VDD_SOC Hi @JorgeCas  Thank you for the quick response. Is the PCA9451 older than the PF9453? In other words, what is the reason you still see most i.MX 93 designs are equipped with the PCA9451, and not the PF9453? Re: i.MX 93 Maximum Design Current for VDD_SOC Hello, What is the maximum current the VDD_SOC rail should be designed for? The maximum current of VDD_SOC in i.MX93 is 2700 mA. On the other hand, in the reference schematics (SCH-51943 PDF: SPF-51943), a table on page 10 states a required current of 1500 mA. The PMIC itself is configured in dual-phase mode, which could deliver up to 6A.  This table shows the max output current of BUCK1/BUCK3 in dual-phase configuration (4000 mA), this is the output current from PMIC that is connected to VDD_SOC power rail of i.MX93. What is the correct maximum VDD_SOC current the PMIC needs to be designed for? It is 2700 mA, the dual phase configuration of BUCK1/BUCK3 in PCA9450 is enough to provide the current for this power rail since is able to provide up to 4000mA. Are there any limitations to using the PF9453 PMIC instead of the PCA9451 for powering the VDD_SOC rail? There are no limitations when using PF9453 instead of PCA9451 for powering the VDD_SOC rail. The only limitation that I can see is use LPDDR4x, it will be more difficult since you do not have an additional BUCK regulator to provide 0.6V of VDDQ, you may need to add an additional regulator, this issue does not occur in PCA9451. Can the i.MX 93 run with full performance and temperature range with the PF9453? Yes, you can. Are there any other known drawbacks to using the PF9453 instead of PCA9451? No, there are no any other known drawbacks to using the PF9453 instead of PCA9451. Best regards.
記事全体を表示