Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
问答:i.MX6 上的 VPU 延迟如何 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 问:VPU 解码的延迟是多少 设备:i.MX6Q 操作系统:Linux 分辨率:1920x1080(高清) 帧率:30 FPS 功能:叠加信息。 输入/输出:8 位 / YUV 4:2:0 / NAL 流 配置文件级别:4.1。受约束的基线。I 和 P 帧支持。 一个: 它取决于H.264中的语法,包括num_reorder_frames,max_dec_frame_buffering,num_ref_frames,MaxDpbSize等。对于启动延迟:它涵盖了 vpu 驱动程序加载、分配缓冲区、初始化、在 iMX6/Linux 上解码第一帧少于 100ms。 本文档由以下讨论生成: VPU 延迟 i.MX6 i.MX6 四核 Linux
查看全文
RW61x製造モードのセットアップとテスト例 この記事では、mfg_toolのセットアップ手順とテスト例を共有します。このmfg_toolは、ノンシングルRFテストとキャリブレーションに使用されます。 テスト環境は次のとおりです。 SWです。 J-Link: https://www.segger.com/downloads/jlink/JLink_Windows_x86_64.exe MFGソフトウェアパッケージ: https://www.nxp.com/webapp/Download?colCode=MFG-RW61X-MF-BRG-U16-WIN-X86-200200-18806-p1&appType=license ハードウェア: Rd-RW612-BGA-IPA-2A/1A-V4 ライトポイントMW7G Windows PC cmdの詳細とキャリブレーション手順については、次のドキュメントを参照してください。 AN13619; UM11801 ハンズオン・トレーニング 製品: WiFi RW6XX
查看全文
LPC553x:デバイスID チップのシルクスクリーンとDIEID 0x40000FFC)はチップのバージョンが1Bであることを示していますが、LPC55x3xのどのモデル番号か正確にはわかりません。レジスター(0x40000FF8)は0x501A11A1ですが、マニュアルで対応するモデルとパッケージが見つかりません。デバイスIDはどのモデル番号を指していますか? LPC55xx 日時:LPC553x:デバイスID こんにちは@lb_h  どういたしまして。 BR アリス 日時:LPC553x:デバイスID なるほど。ご支援のほど、よろしくお願いいたします。 日時:LPC553x:デバイスID こんにちは@lb_h  これはLPC5536JBD100デバイスです。RMをアップデートいたします。ご不便をおかけして申し訳ございません。 BR アリス 日時:LPC553x:デバイスID チップ用のシルクスクリーンです。 日時:LPC553x:デバイスID こんにちは@lb_h  チップのマーキングについて写真を撮っていただけませんか?そして、どこで買ったのか教えてください。感謝。 BR アリス 日時:LPC553x:デバイスID こんにちは、この質問の結果は見つかりましたか? 日時:LPC553x:デバイスID こんにちは@lb_h  内部で確認してみます。その後、最新情報をお送りします。 ご不便をおかけして申し訳ございません。 BR アリス
查看全文
GStreamer i.MX6 イメージキャプチャ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> フリースケールには、JPEGエンコーディングを行うための特定のGStreamer要素がないため、標準の「jpegenc」を使用する必要があります。 画像キャプチャ ウェブカメラで gst-launch v4l2src num-buffers = 1 !JPEGENC !ファイルインクlocation=sample.jpeg カメラが組み込まれているもの gst-launch mfw_v4lsrc num-buffers=1 ! JPEGENC !ファイルインクlocation=sample.jpeg GStreamer i.MX6パイプラインのその他のパイプライン グラフィックスとディスプレイ i.MX6_All Linux マルチメディア 日時:GStreamer i.MX6画像キャプチャ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 1) 画像の連続したシーケンスを取得するにはどうすればよいですか? 2)idpsinkを介して画像を転送するにはどうすればよいですか?
查看全文
S32K344 DCF配置器 详细描述:                 此配置工具简化了 S32K344 设备的 DCF 记录计算。                 看看 如何使用 表格中的简单指南,然后使用 直流现金流折现法 床单                 说明: - 必须启用宏!   BR, Petr
查看全文
s32k312:ADC FIFO(ADC0 和 ADC1) 你好,我正在尝试更好地了解 ADC FIFO 的工作原理。我能够使“S32K312 PIT BTCU 并行 ADC FIFO DMA DS3.5 RTD300”示例在 sdk5.0.0 上运行。然后我尝试修改它,因为我有使用不同数量通道的 ADC1 和 ADC0: ADC0 ADC 1 我创建了两个具有相同坑源的触发事件和两个 DMA 通道(一个用于 FIFO1,另一个用于 FIFO2)。BTCU设置如下: 代码编译并调用两个回调函数: void BctuWatermarkNotif_2(void) { result2[0] = (uint16_t) (BctuDmaFifo2[0]&0xFFFF)>>3; val2[0] = ((浮点型) result2[0]/ adcMax) * (ADC_VREFH - ADC_VREFL); result2[1] = (uint16_t) (BctuDmaFifo2[1]&0xFFFF)>>3; val2[1] = ((浮点型) result2[1]/ adcMax) * (ADC_VREFH - ADC_VREFL); result2[2] = (uint16_t) (BctuDmaFifo2[2]&0xFFFF)>>3; val2[2] = ((浮点型) result2[2]/ adcMax) * (ADC_VREFH - ADC_VREFL); } void BctuWatermarkNotif_1(void) { result1[0] = (uint16_t) (BctuDmaFifo1[0]&0xFFFF)>>3; val1[0] = ((浮点型) result1[0]/ adcMax) * (ADC_VREFH - ADC_VREFL); result1[1] = (uint16_t) (BctuDmaFifo1[1]&0xFFFF)>>3; val1[1] = ((浮点型) result1[1]/ adcMax) * (ADC_VREFH - ADC_VREFL); result1[2] = (uint16_t) (BctuDmaFifo1[2]&0xFFFF)>>3; val1[2] = ((浮点型) 结果1[2]/ adcMax) * (ADC_VREFH - ADC_VREFL); result1[3] = (uint16_t) (BctuDmaFifo1[3]&0xFFFF)>>3; val1[3] = ((浮点型) result1[3]/ adcMax) * (ADC_VREFH - ADC_VREFL); } 但是 valx[] 数组不包含正确的值,看起来它们正在移动。 这里有一些截图: 我已附上源代码。 您能否提供一些有关如何修复它的信息? 当 adc0 和 1 使用不同数量的通道时,我可以使用单个 FIFO 吗? 先行致谢。 此致问候 回复:s32k312:ADC FIFO(ADC0 和 ADC1) Hi@PaoloRB 1.我检查了你的代码,发现水掩码值有误。 请参考下面的修改。 2.当adc0和1使用不同数量的通道时,我可以使用单个FIFO吗? 是的,这可以通过“Adc Target Mask”来完成,例如,在你的情况下,你可以将 i 设置为 0b011, 然后 adc0 和 adc1 将并行工作并在相同的触发源和数据上触发 可以根据需要保存到 fifo1或fifo2。
查看全文
GStreamer i.MX6 图像捕捉 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 飞思卡尔没有特定的 GStreamer 元素来进行 JPEG 编码,因此应该使用标准“jpegenc”。 图像捕捉 使用网络摄像头 gst启动v4l2src num缓冲区=1!jpegenc!文件接收器位置=sample.jpeg 带有嵌入式摄像头 gst启动mfw_v4lsrc num缓冲区=1!jpegenc!文件接收器位置=sample.jpeg GStreamer i.MX6 管道上的更多管道 图形与显示 i.MX6_全部 Linux 多媒体 回复:GStreamer i.MX6 图像捕获 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 1)如何获得连续的图像序列? 2)如何通过 idpsink 传输图像?
查看全文
LPC11u37h(Ver 5.12)用NFCリーダーライブラリ移植ガイド - NFCフロントエンドの切り替え <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NFCリーダーライブラリ5.12はPN5180もサポートしているため、NFCフロントエンドをCLRC663からPN5180に切り替えるのは、以前の移植に基づいて非常に簡単です。移植には、ハードウェア設定とソフトウェアの変更も含まれます。 ポーティング用のハードウェア設定: a)PNEV5180Bの抵抗を取り外して、オンボードのlpc1769をPN5180から切断します。これは、https://www.nxp.com/docs/en/application-note/AN11908.pdf の16ページの手順に従ってください  b)次のように、LPC11U37用のLPCXpressoボードをPNEV5180に接続します。 移植のためのソフトウェア変更: 1. Board_Lpc11u37Rc663.h のコピーを作成し、名前を「Board_Lpc11u37Pn5180.h」に変更して、DAL/boards フォルダにインポートします。 2.ヘッダーファイルのソースコードを次のように変更します。 3. PN5180のVIBUSYピンとDWLピンの2つのピンの定義と構成、およびリセットピンの新しい構成を追加します。 そして、リセットロジックを変更します。 4.IRQ割り込みトリガタイプを立ち上がりエッジに変更します。 5.このヘッダーファイルをBoardSelection.hに含めます 6.この新しい設定をph_NxpBuild_App.hに追加します。 7.この新しい設定をphApp_Init.hに追加します。 8.この新しい設定をph_NxpBuild_Platform.hに追加します。 9.この新しい設定を設定に追加します。 10.構築結果: テスト結果: NFCフロントエンド・ソリューション NFCリーダー・ライブラリ Re: LPC11u37h(Ver 5.12)用NFCリーダライタライブラリ移植ガイド - NFCフロントエンドの切り替え <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> これまで、NFCリーダーライブラリv4.040.05 R2のみがPNEV512Bをサポートしていますが、主な問題は、このバージョンがLPCopenライブラリをサポートしているのに対し、KL17はSDKでサポートされているため、KinetisをサポートするNFCリーダーライブラリを参照する必要があることです。 Re: LPC11u37h(Ver 5.12)用NFCリーダライタライブラリ移植ガイド - NFCフロントエンドの切り替え <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Mr. Kan Li, まず、投稿していただき、ありがとうございます。ここにコメントを書くのは、プロジェクトにライブラリを含めるのに問題があるため、フロントエンドとしてPN512チップ、MCUとしてKL17でどのようにそれを行うことができますか。また、MCUXpresso v10.2.1を使用しています。 よろしくお願いします、JC。
查看全文
故障排除:头文件上的索引器错误 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 在创建新项目或打开工作区中尚未存在的项目后,索引器完成数据库构建后以及构建之前,经常会显示错误。其中一些错误可能是由于 Eclipse Indexer 设置中的设置造成的。 在一种情况下,构建干净的项目(即没有编译器或 IDE 错误)会将包含大型头文件的源文件中的代码行标记为“无法解析符号 xxxx”。 在这种情况下,头文件大于 17 MB。在 Eclipse Indexer 设置中,有“跳过大于的文件”和“跳过大于的包含文件”设置。默认情况下,这些设置设为 8 MB。对于本例中的头文件来说,这个值太低了。为了解决这个问题,应该增加设置以允许索引大型头文件。
查看全文
i.MX 8/8X Overview <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> グラフィックス、ビデオ、画像処理、ビジョン、オーディオ、音声機能をサポートする高度な統合で構築された i.MX 8シリーズは、車載アプリケーションに最適です。このセッションでは、共通のサブシステムで構成される i.MX 8/8X ファミリ、ピン互換オプションによる比類のないコストパフォーマンスの拡張、最高レベルのソフトウェア再利用についてご紹介します。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> グラフィックス、ビデオ、画像処理、ビジョン、オーディオ、音声機能をサポートする高度な統合で構築された i.MX 8シリーズは、車載アプリケーションに最適です。このセッションでは、共通のサブシステムで構成される i.MX 8/8X ファミリ、ピン互換オプションによる比類のないコストパフォーマンスの拡張、最高レベルのソフトウェア再利用についてご紹介します。 i.MXアプリケーション・プロセッサ
查看全文
MDK RAM アプリを RT1170 外部フラッシュにロードする方法 MDK RAM アプリを RT1170 外部フラッシュにロードする方法 1. アブストラクト このガイドは、エンドユーザーからリクエストされたもので、彼は MDK プロジェクトの RAM コードを MIMXRT1170 外部 QSPI フラッシュにダウンロードしたいと考えています。したがって、NXP RT1170 SDKとMIMXRT1170-EVKボードに基づいて、MDKプロジェクトを生成し、アプリイメージを再割り当てし、イメージを生成し、ツールを使用してコードを外部フラッシュにダウンロードします。 2. アプリイメージの準備 2.1 SDK MDK スタンドアロン プロジェクトを 1 つ生成する SDK_2_15_000_MIMXRT1170-EVKのWebページを開きます。 https://mcuxpresso.nxp.com/en/builder?hw=MIMXRT1170-EVK SDK をダウンロードし、1 つの MDK スタンドアロン プロジェクトを生成します。 図1 図2 ダウンロードすると、MDKプロジェクトであるMIMXRT1170-EVK-iled_blinky_cm7.zipが手に入ります。 2.2 MDK プロジェクト画像の再割り当て RAM イメージは none-xip イメージであるため、通常は IDE に対して、デバッグが RAM 内にあるため、フラッシュに直接ダウンロードできません。フラッシュにダウンロードしたい場合は、アプリイメージを生成してから、ツールを使用して外部フラッシュにプログラムできます。通常、none-xipイメージ、IVTオフセットは0X400であるため、イメージの開始アドレスを再割り当てする必要がありますが、ここでは、0X2000をアプリのエントリアドレスとして使用できます。 図3 ITCM のデフォルト サイズは 256K=0X4000 であるため、リンカ ファイル> scf ファイルを次のように変更します。 図4 次に、ツールのダウンロードに使用されるhexとbinの画像ファイルを生成します。 図5 bin file コマンドを作成するには、次のようにします。 $K\ARM\ARMCC\bin\fromelf.exe --bin --output=debug\@L.bin !L 図6 ビルドすると、フォルダにファイルを見つけることができます。 MIMXRT1170-EVK-iled_blinky_cm7\iled_blinky_cm7\debug 図7 2.3 再割り当て後の MDK プロジェクトのデバッグ イメージの再割り当て後も、一部のお客様はMDK RAMプロジェクトがデバッグを行うことができる場合がありますが、ここではデバッグ.iniを変更する必要もありますファイル。また、SP、PC、およびベクター テーブルのオフセット レジスタ アドレスも変更する必要があります。 図8 次に、コードをビルドしてデバッグすると、RAMイメージのデバッグモードに入ることができることがわかります。 図9 3.アプリ画像のダウンロード MCUBootUtility ツールを使用して、コードをダウンロードできます。 https://github.com/JayHeng/NXP-MCUBootUtility/releases/tag/v6.1.0 関連するユーザーマニュアルは次のとおりです。 https://github.com/JayHeng/NXP-MCUBootUtility ツールをダウンロードします。 MIMXRT1170-EVKは、SW1を変更してシリアルダウンロードモードに入ります。 1-オフ、2-オフ、3-オフ、4-オン ボードの電源をオフにしてから再度電源を入れ、J20USB1インターフェイスを接続するための別のUSBケーブルを見つけます。 次に、MCUBootユーティリティを使用してボードを接続します。 図10 接続後、MDKプロジェクトで生成された.hexを選択しますファイル: 図11 All-in-One-Actionボタンを押してコードをダウンロードすると、ダウンロードされた結果は次のようになります。 図12 「デバイスのリセット」ボタンを押してツールを終了します。 次に、MIMXRT1170-EVKボードSW1を変更します。 1オフ、2オフ、3オン、4オフ EVKオンボードリセットボタンSW4を押すと、LEDが点滅し、MDK RAMプロジェクトがすでに外部QSPIフラッシュにダウンロードされていることを意味し、OKが起動します。
查看全文
i.MX8 PWM割り込み 親愛なるコミュニティの皆様! i.MX8mpでPWM割り込みが使えるかどうか、質問したいのですが。カスタムドライバーを作成し、PWM出力がダウン(FALLING_EDGE)したときに通知を受け取りたかったのです。それを達成することは可能ですか、それとも意図的ではありませんか? DTB で // imx8mp.dtsi pwm1: pwm@30660000 { compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm"; reg = <0x30660000 0x10000>; interrupts = ; clocks = <&clk IMX8MP_CLK_PWM1_ROOT>, <&clk IMX8MP_CLK_PWM1_ROOT>; clock-names = "ipg", "per"; #pwm-cells = <3>; status = "disabled"; }; // imx8mp-my-device.dts cam_trigger: cam-trigger { compatible = "company,cam-trigger"; pwms = <&pwm1 0 8333333 0>; interrupts = ; status = "okay"; }; &iomuxc { pinctrl-names = "default"; pinctrl_pwm1: pwm1grp { fsl,pins = < MX8MP_IOMUXC_GPIO1_IO01__PWM1_OUT 0x116 >; }; }; &pwm1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm1>; status = "okay"; }; は エントリーです。そこで、この割り込みに devm_request_irq で登録し、 /proc/interruptで確認したところ、登録が成功したことを確認しました。(立ち下がりエッジが欲しくても、何かだけを使っていました。しかし、割り込みは起こりませんでした。 さらに詳しく分析した結果、i.MX8には PWMIR レジスタがありますが、 pwm-imx27 ドライバーには処理がないことがわかりました。それが理由なんでしょうね...。 さて、質問は次のとおりです。 私の意味は本当ですか? このようなメカニズムをドライバーに実装するのはどれほど難しいですか。 DSによると、 キャプチャ ーだけで十分であるべきです では、 GIC_SPI 81 とはどういう意味なのでしょうか?それは「楽しみのため」だけにあるということですか? 割り込みが発生したときに通知を受ける別の方法はありますか? 出力ピンを他の入力GPIOにルーティングするなどのHW変更はできません ご意見をいただきありがとうございます。 アンディ i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: i.MX8 PWM割り込み では、自分でお答えします。割り込みを機能させるために私が行わなければならなかった変更は次のとおりです。 #define MX3_PWMIR 0x08 /* PWM Interrupt Register */ #define MX3_PWMIR_CIE BIT(2) #define MX3_PWMIR_RIE BIT(1) #define MX3_PWMIR_FIE BIT(0) struct pwm_imx27_chip { ... int irq; if (state->enabled) { cr |= MX3_PWMCR_EN; /* enable interrupts */ writel(MX3_PWMIR_CIE | MX3_PWMIR_RIE, imx->mmio_base + MX3_PWMIR); } else { /* disable interrupts */ writel(0, imx->mmio_base + MX3_PWMIR); } static irqreturn_t imx_pwm_interrupt(int irq, void *data) { struct pwm_imx27_chip *imx = data; unsigned long flags; u32 pwmsr; spin_lock_irqsave(&imx->lock, flags); pwmsr = readl(imx->mmio_base + MX3_PWMSR); /* handle flags separately, while multiple of them could happen */ if (pwmsr && (~MX3_PWMSR_CMP)) pwmsr |= MX3_PWMSR_CMP; if (pwmsr && (~MX3_PWMSR_ROV)) pwmsr |= MX3_PWMSR_ROV; /* ack interrupt flags */ writel(pwmsr, imx->mmio_base + MX3_PWMSR); spin_unlock_irqrestore(&imx->lock, flags); return IRQ_HANDLED; } // probe... imx->irq = platform_get_irq(pdev, 0); if (imx->irq < 0) { dev_err(&pdev->dev, "Failed to get IRQ\n"); return imx->irq; } ret = devm_request_irq(&pdev->dev, imx->irq, imx_pwm_interrupt, IRQF_TRIGGER_HIGH, pdev->name, imx); if (ret < 0) { dev_err(&pdev->dev, "Failed to request IRQ\n"); return ret; } もしかしたら、他の誰かの助けにもなるかもしれません。 よろしく アンディ Re: i.MX8 PWM割り込み こんにちは、 PWMx_PWMIRレジスタは、比較割り込み、ロールオーバー割り込み、およびFIFOエンプティ割り込みのみをサポートします。 それは:)知っています。しかし、次に「割り込みの比較」の通知を有効にするにはどうすればよいですか?これは、CIE ビットをレジスタに設定する必要があるということですPWMx_PWMIR81行目の割り込みは自動的に呼び出されますか?CMPビットはいつ、どのようにクリアされますか? よろしく アンディ Re: i.MX8 PWM割り込み Hello, PWMx_PWMIRレジスタは、比較割り込み、ロールオーバー割り込み、およびFIFOエンプティ割り込みのみをサポートします。 GPIOの場合、ハードウェアの変更を行う必要があります。 よろしくお願いいたします。 Salas. Re: i.MX8 PWM割り込み Hello @Manuel_Salas  IRQ 81は累積割り込みラインです。ロールオーバー割り込みライン、比較割り込みライン、PWM1のFIFO水位交差割り込みラインのOR。 はい、しかし、 PWMIR レジスタの処理がなくても動作すると確信していますか?それとも、何か違う方法で行われたビットを読んでいるのでしょうか? 任意のGPIOにPWM信号を取得できます HWを変更せずにそれを行うにはどうすればよいですか?ピンがGPIOではなくPWMとして配線された MX8MP_IOMUXC_GPIO1_IO01__PWM1_OUT に設定されている場合でも、GPIO割り込みに登録する方法はありますか。では、内部で何らかの形で処理されるということですか?はいの場合、その方法の例を書いていただけますか? ありがとうございます アンディ Re: i.MX8 PWM割り込み Hello @andrej_valek  IRQ 81は累積割り込みラインです。ロールオーバー割り込みライン、比較割り込みライン、PWM1のFIFO水位交差割り込みラインのOR。 たぶん、あなたのユースケースでは、任意のGPIOにPWM信号を取得し、Falling Edgeを設定して中断を取得できるかもしれません。 最高のreagrds、 Salas.
查看全文
Sequential APIを使用したLwIPアプリケーションの開発 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> LwIP は、メインループ モード ("NO_SYS") (ターゲット システムで OS/RTOS が実行されていない) と OS モード (TCPIP スレッド) (ターゲット システムで OS が実行されている) の 2 つの基本モードで使用できます。mainloop モードでは、raw API のみを使用できます。OSモードでは、raw APIとSequential APIを使用できます。 OS モードでは、lwip スタックとアプリケーションは別々のタスクで実行されます。このアプリケーションは、プロセス間通信のためにRTOSメールボックスメカニズムを訴えるシーケンシャルAPI呼び出しを介してLwIPスタックと通信します。 この投稿では、MCUXpresso SDKのシーケンシャルAPIを使用してOSモードでLwIPアプリケーションを設計する方法に焦点を当てています。LwIP初心者向けです。コード snipperts は MCUXpresso SDK2.6 からのものです。 raw APIを使用してメインループモード(ベアメタルモード)でLwIPアプリケーションを設計する方法については、以下のリンクを参照してください。 Raw API を使用した LwIP アプリケーションの開発   一般に、LwIP アプリケーションには、ネットワーク インターフェイスの設定、LwIP スタックの初期化、LwIP API の使用、および構成が含まれます。 1. ネットワークインターフェースの起動 新しいネットワークインターフェースを作成するには、ユーザーは新しい 構造体netif にスペースを割り当て(ただし、その一部は初期化しません)、 netifapi_netif_addを呼び出します。     IP4_ADDR(&fsl_netif0_ipaddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3);     IP4_ADDR(&fsl_netif0_netmask, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3); IP4_ADDR(&fsl_netif0_gw, configGW_ADDR0, configGW_ADDR1, configGW_ADDR2, configGW_ADDR3);       netifapi_netif_add(&fsl_netif0, &fsl_netif0_ipaddr, &fsl_netif0_netmask, &fsl_netif0_gw, &fsl_enet_config0,                        ethernetif0_init, tcpip_input); tcpip_input API を netif_add API に入力コールバック関数として渡します。このコールバック関数は、入力パケットをプロトコル層スタックに渡します 次に、インターフェースを有効にする必要があります 「アップ」状態のインターフェースはアプリケーションで入力と出力に使用でき、「ダウン」状態はその反対の状態です。したがって、インターフェースを使用する前に、起動する必要があります。これは、インターフェースがIPアドレスを取得する方法に応じて達成できます。静的IPアドレスまたはDHCPを使用することができます。 ネットワーク・インターフェースをデフォルトのネットワーク・インターフェースとして設定します netifapi_netif_set_default(&fsl_netif0);   インターフェースを起動し、処理が可能な状態にします     netifapi_netif_set_up(&fsl_netif0); 2. LwIPスタックの初期化   tcpip_threadを作成するために tcpip_init を呼び出すと、このスレッドはLwIPコア関数に排他的にアクセスできます。他のスレッドは、メッセージ ボックスを使用してこのスレッドと通信します。また、すべてのタイマーを開始して、適切なスレッドコンテキストで実行されていることを確認します。   tcpip_init(NULL, NULL);   void   tcpip_init(tcpip_init_done_fn initfunc, void *arg) {   lwip_init();     tcpip_init_done = initfunc;   tcpip_init_done_arg = arg; if (sys_mbox_new(&tcpip_mbox, TCPIP_MBOX_SIZE) != ERR_OK) { LWIP_ASSERT ("mbox の作成に失敗しましたtcpip_thread", 0);   } #if LWIP_TCPIP_CORE_LOCKING if (sys_mutex_new(&lock_tcpip_core) != ERR_OK) { LWIP_ASSERT ("lock_tcpip_coreの作成に失敗しました", 0);   } #endif /* LWIP_TCPIP_CORE_LOCKING */   sys_thread_new(TCPIP_THREAD_NAME, tcpip_thread, NULL, TCPIP_THREAD_STACKSIZE, TCPIP_THREAD_PRIO); } ユーザータスクの優先度は、tcpip_threadの優先度を超えてはなりません - lwipopts.h では、tcpip_threadの優先順位 #define TCPIP_THREAD_PRIO 2 3. シーケンシャルAPIの利用  次の図に示すように、クライアント側で TCP 接続を確立する手順は次のとおりです。 netconn_new() 関数を使用して接続を作成します。 netconn_connect() 関数を使用してサーバーのアドレスに接続します。 netconn_recv() 関数と netconn_write() 関数を使用してデータを送受信します。 netconn_close()関数で接続を閉じてください。 サーバー側でTCP接続を確立するための手順は次のとおりです。 netconn_new() 関数を使用して TCP 接続を作成します。 netconn_bind() 関数を使用してサーバーをアドレスにバインドします。 netconn_listen() 関数で接続をリッスンします。 netconn_accept() 関数で接続を受け入れます。通常、この呼び出しは、クライアントがサーバーに接続するまでブロックされます。 netconn_write() と netconn_recv() を使用してデータを送受信します。 netconn_close()関数で接続を閉じてください。 ミドルウェア/lwip/contrib/appa/tcpecho/tcpecho.c スタティックボイド tcpecho_thread(void *arg) {   struct netconn *conn, *newconn;   err_t err; LWIP_UNUSED_ARG(引数);    /* 新しい接続識別子を作成します。  /* 既知のポート番号 7 への接続をバインドします。 */ #if LWIP_IPV6 conn = netconn_new(NETCONN_TCP_IPV6); netconn_bind(コネチカット州、IP6_ADDR_ANY、7); #else /* LWIP_IPV6 */ conn = netconn_new(NETCONN_TCP);   netconn_bind(コネチカット州、IP_ADDR_ANY、7); #endif /* LWIP_IPV6 */   LWIP_ERROR("tcpecho: invalid conn", (conn != NULL), return;);    /* 接続にリスニングモードに入るように指示します。   netconn_listen(conn);    (1) {      /* 新しい接続を取得します。     err = netconn_accept(conn, &newconn);    /*printf("新しい接続 %p\nを受け入れました", newconn);*/    /* 新しい接続を処理します。 */     if (err == ERR_OK) {      構造体 netbuf *buf;       void *data;       u16_t len;            while ((err = netconn_recv(Newconn, &buf)) == ERR_OK) {        /*printf("受信済み\n");*/         do { netbuf_data(buf, &data, &len); err = netconn_write(newconn, data, len, NETCONN_COPY); #if 0             if (err != ERR_OK) { printf("tcpecho: netconn_write: エラー \"%s\"\n", lwip_strerr(エラー));             } #endif } while (netbuf_next(buf) >= 0);         netbuf_delete(buf); }      /*printf("EOF を取得しました。ループしています\n");*/      /* 接続を閉じ、接続識別子を破棄します。       netconn_close(ニューコン);       netconn_delete(ニューコン);     }   } } tcpechoスレッドから、 まず、API netconn_newによってパラメータ NETCONN_TCP を使用して 1 つの新しい TCP 接続が呼び出されました。 #define netconn_new(t) netconn_new_with_proto_and_callback(t, 0, NULL) 構造体 netconn * netconn_new_with_proto_and_callback(列挙型 netconn_type t、u8_t proto、netconn_callback コールバック) { 構造体 netconn *conn;   API_MSG_VAR_DECLARE(msg);   API_MSG_VAR_ALLOC_RETURN_NULL(msg);   conn = netconn_alloc(t, コールバック); if (conn != NULL) {     err_t err;       API_MSG_VAR_REF(msg).msg.n.proto = proto;     API_MSG_VAR_REF(msg).conn = conn;     err = netconn_apimsg(lwip_netconn_do_newconn, &API_MSG_VAR_REF(msg));     if (err != ERR_OK) { LWIP_ASSERT ("pcb を解放せずに conn を解放", conn->pcb.tcp == NULL); LWIP_ASSERT("conn には recvmbox がありません", sys_mbox_valid(&conn->recvmbox)); #if LWIP_TCP LWIP_ASSERT("conn->acceptmbox は存在すべきではありません", !sys_mbox_valid(&conn->acceptmbox)); #endif /* LWIP_TCP */ #if !LWIP_NETCONN_SEM_PER_THREAD LWIP_ASSERT ("conn にはop_completedがありません", sys_sem_valid(&conn->op_completed)); sys_sem_free(&conn->op_completed); #endif /* !LWIP_NETCONN_SEM_PER_THREAD */ sys_mbox_free(&conn->recvmbox);       memp_free(MEMP_NETCONN, conn);       API_MSG_VAR_FREE(msg);       return NULL;     }   }   API_MSG_VAR_FREE(msg);   return conn; }   次に、新しく作成された接続は、API 関数 netconn_bind を呼び出すことによってポート 7 (エコー プロトコル) にバインドされます。   次に、アプリケーションは API 関数 netconn_listen を呼び出して、接続のリッスン プロセスを開始します。 無限の while(1) ループでは、アプリケーションは API 関数 netconn_accept を呼び出して新しい接続を待ちます。この API は、着信接続がない場合にアプリケーション タスクをブロックします。 受信接続がある場合、アプリケーションは API 関数 netconn_recv を呼び出してデータの受信を開始できます。着信データは netbuf で受信されます。       アプリケーションは、netbuf API 関数netbuf_dataを呼び出すことで、受信したデータを取得できます。 err_t netbuf_data(struct netbuf *buf, void **dataptr, u16_t *len) { LWIP_ERROR ("netbuf_data: 無効な buf", (buf != NULL), return ERR_ARG;);   LWIP_ERROR("netbuf_data: invalid dataptr", (dataptr != NULL), return ERR_ARG;);   LWIP_ERROR("netbuf_data: invalid len", (len != NULL), return ERR_ARG;);   if (buf->ptr == NULL) {     return ERR_BUF;   } *dataptr = buf->ptr->ペイロード;   *len = buf->ptr->len;   return ERR_OK; }   受信したデータは、API 関数 netconn_write を呼び出すことによって、リモート TCP クライアントに送り返されます (エコーされます)。 Netconn_close と netconn_delete は、それぞれ netconn 接続を閉じて削除するために使用されます     4. LwIPの設定 lwipopts.h は、lwIP とそのすべてのモジュールを完全に設定するために使用できるユーザーファイルです。lwIP が提供するすべてのオプションを定義する必要はありません。オプションを定義しない場合は、デフォルト値が使用されます。したがって、あなたのlwipopts.hlwIP の動作の多くをオーバーライドする方法を提供します。 マルチヘッドモードでは、.0 に #define NO_SYS する必要があります。 evkbimxrt1050_lwip_tcpecho_freertos\source\lwipopts.hを参照してください。 … #if USE_RTOS   /** * SYS_LIGHTWEIGHT_PROT==1: 特定のタスク 間保護が必要な場合 * バッファの割り当て、割り当て解除、およびメモリ中の重要な領域 * 割り当てと割り当て解除。  */ #define SYS_LIGHTWEIGHT_PROT 1   /** * NO_SYS==0: RTOSを使用  */ #define NO_SYS 0 /** * LWIP_NETCONN==1: Netconn API を有効にする (api_lib.c の使用が必要)  */ #define LWIP_NETCONN 1 /** * LWIP_SOCKET==1: ソケットAPIを有効にする(sockets.cの使用が必要)  */ #define LWIP_SOCKET 1   /** * LWIP_SO_RCVTIMEO==1: ソケット/ネットコンの受信 タイムアウトを有効にし、 ※SO_RCVTIMEO加工中です。  */ #define LWIP_SO_RCVTIMEO 1 …   Re: Sequential APIを使用したLwIPアプリケーションの開発 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Daniel, netif API呼び出しを行う前に、ネットワーク接続がアクティブである必要はありませんか?netif_dhcp_start() を呼び出すときにネットワーク ケーブルが接続されていないのに、後で接続すると、dhcp 状態変数が DHCP_STATE_BOUND になるのが見えません。だから、リンクがアップまたはダウンしたときに知らせるコールバックまたはステータス変数があると思いますが、MCUXpresso SDKまたはLwIPでそれを見つけることができないようです。リンクステータスはどのように検出および報告されますか? ありがとうございます!
查看全文
FRDM-MCXC444 项目中 ISP 模式默认不工作 Hi, 对于 SDK 示例项目或从头创建的新项目,当 Flash 中存在有效应用程序时,ISP 模式不起作用。 我已将问题追溯到文件 startup/startup_mcxc444.c。在第 53 行,结构“Flash_config[3]”被设置为值 0xFFFF3FFE。字节值 0x3F 对应于 FOPT(Flash 选项寄存器),其中位 1(BOOTPIN_OPT)= 1。此设置禁用 ISP_MODE 引脚 26。 我已将字节值更改为 0x3D。现在,当我同时按下 Reset 和 ISP_MODE 时,MCXC444 每次都会进入 ISP 模式。 我的问题是关于 MCUXpresso 的。我认为手动编辑“startup_mcxc444.c”不是一个好习惯,是否有项目设置可以自定义“startup_mcxc444.c”中的Flash_config值? 谢谢! MCXC 回复:FRDM-MCXC444 项目中 ISP 模式默认不工作 Hi @gvellet  非常荣幸,我们昨天刚刚发布,请尝试一下!如果您对 SPT 有任何疑问或反馈,欢迎随时留言。MCX C 支持刚刚推出。 一切顺利, 迭戈 回复:FRDM-MCXC444 项目中 ISP 模式默认不工作 你好,Diego, 感谢您提供的信息并记住我的问题。我会尽快尝试这个新软件! 回复:FRDM-MCXC444 项目中 ISP 模式默认不工作 Hi @gvellet  我只是想通过以下信息来跟进我们的话题! 我们刚刚发布了 MCUXpresso 安全配置工具 v25。我相信该工具为 MCX C 提供的安全设置确实很有用。下面是一个说明性图像,我将 MCU 生命周期从不安全更改为 Flash 安全。 正如您在 BCA/FCF 设置中看到的,FSEC 设置根据 Flash 安全生命周期启用。 简称 SPT。创建可启动且安全的图像,您可以为 MCX C 或自定义图像提供示例图像。该工具需要通过 USB/UART 连接到 MCU。 有关 SPT 使用的更多详细信息,请参阅以下章节: 6.10 MCX C041/C242/C444 设备工作流程 6.10.3.3MCX C041/C242/C444 设备的生命周期 的 MCUXSPTUG ,您可以通过以下方式轻松获取: 我们可以得出结论,您可以使用 MCUXpresso IDE 手动编辑 MCU 的闪存安全设置,但是,我们将其利用到 MCUXpresso 安全配置工具 希望这对你有帮助, 迭戈 回复:FRDM-MCXC444 项目中 ISP 模式默认不工作 Hi @gvellet  感谢您的关注并分享您遇到的问题的解决方案。 我确认没有项目选项,以避免手动定制MCUXpresso IDE 中可用的 Flash_config 结构。 迭戈
查看全文
FreeMASTER 3.0 - インストールガイド USL: https://community.nxp.com/docs/DOC-345079 iulianstanとAdrianが作成したドキュメント この記事では、FreeMASTER 3.0のインストール手順を説明します。インストールパッケージは、FreeMASTERダウンロードページ( https://www.nxp.com/webapp/Download?colCode=FMASTERSW30&location=null )から入手できます。 インストールパッケージの内容 ターゲット OS プラットフォームに応じて、次のいずれかのオプションを選択できます。 – Windowsパッケージには、 FreeMASTERデスクトップアプリケーション、 FreeMASTER Liteサービス(いずれも32ビット)が含まれています。    これは自己完結型であり、クリーンなコンピューターにインストールするための前提条件は必要ありません。       優れた。 – Linuxパッケージには、 FreeMASTER Liteサービスの64ビット版のみが含まれています。インストールファイルをダウンロードしたら、    実行権限を追加しました。ターミナルで任意の実行ファイルとして実行します。               – Sudo chmod +x FreeMASTER3.0.bin – ./FreeMASTER3.0.bin インストール インストール中に、コンポーネント選択ウィンドウが表示されます( Linuxでは、 FreeMASTER Liteというオプションが1つだけあります)。 FreeMASTER Lite にはアクティベーション コードが必要です。このコードは、ウィンドウの下部にあるリンク ( https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=FreeMASTER_Lite_1.0.R ) (上記参照) をクリックすると無料で取得できます。 リンクにアクセスすると、アクティベーションコードが記載されたメールが届きます。少し時間がかかる場合がありますので、ブラウザオプションを使用して製品ページにアクセスしてください。 アクティベーションコードは「ライセンスキー」タブで確認できます。コンポーネントのインストール時にキーの入力が必要になります。 アクティベーションを入力すると、インストール プロセスが再開されます。 FreeMASTER 3.0が、お使いのマシンの選択したインストール ディレクトリに正常にインストールされました (上記の最後のウィンドウにも表示されます)。 FreeMASTERとFreeMASTER Liteは、作成したショートカットを使用するか、インストールフォルダから実行ファイルを直接実行して起動できます。 フリーマスター - フリーマスター 3.0\フリーマスター\pcmaster.eve 詳細については、以下のショートカットまたはFreeMASTER 3.0\FreeMASTER\\doc\pcm_um.pdfから直接ユーザー ガイドにアクセスしてください。 FreeMASTER Lite - FreeMASTER 3.0\FreeMASTER Lite\node.exe 実行ファイルを実行すると、システムのデフォルトのウェブブラウザでユーザーガイドが自動的に開きます(開いていない場合は、 http://localhost:8090/にアクセスしてください)。ツールを実行せずに、FreeMASTER 3.0\FreeMASTER Lite\html\index.htmlファイルを開くことでアクセスすることもできます。 楽しむ!
查看全文
让 Ubuntu NetworkManager 识别 BCM4330 无线接口 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> i.MX6DQ HDMI 加密狗板使用 BCM4330(SDIO 接口)作为无线模块。 当我们尝试在 HDMI 加密狗板上运行 Ubuntu oneiric 时,在正确 insmod bcm4330.ko 之后,我们发现 Ubuntu NetworkManger 无法识别该接口:/var/log/syslog 显示以下错误: 1 月 1 日 00:01:08 linaro-ubuntu-desktop NetworkManager[4787]: SCPlugin-Ifupdown: 已添加设备(路径:/sys/devices/virtual/net/wlan0,iface:wlan0) Jan 1 00:01:08 linaro-ubuntu-desktop NetworkManager[4787]:SCPlugin-Ifupdown:已添加设备(路径:/sys/devices/virtual/net/wlan0,iface:wlan0):未找到 ifupdown 配置。 1 月 1 日 00:01:08 linaro-ubuntu-desktop NetworkManager[4787]: /sys/devices/virtual/net/wlan0: 无法确定设备驱动程序;忽略... 经过Google搜索,我们发现/sys/devices/virtual/net/wlan0目录下并没有“device”目录,这个“device”目录应该是网络接口上存在的,如果没有它,NetworkManager会报错“couldn't determine device driver; ignoring...”,这个“device”就是这个网络接口的来源,它应该链接到一个硬件总线下的真实设备。 而Broadcom的bcm4330 Linux驱动程序没有设置网络接口真正的“设备”,所以我们需要在驱动程序注册网络接口之前添加这个真正的“设备”。 请参阅附件的 diff 文件以了解此修改 i.MX6 双核 i.MX6 四核 Linux
查看全文
基于88W8987(iMX8MN-EVK和Linux5.4.70_2.3.0)的A2DP音频配置平台) 本文将逐步介绍如何基于NXP平台和WIFI/BT芯片组配置A2DP音频应用程序。用户按照文章中的步骤操作,就可以轻松让她的基于NXP WIFI模块的A2DP音频正常工作。 验证环境 硬件平台        i.MX8MN-EVK 软件 内核版本:L5.4.70_2.3.0 rootfs:imx图像多媒体 WiFi module AW-CM358SM:NXP 88W8987芯片组 详细信息请见附件! NXP CAS-TIC无线MCU团队 Weidong Sun     OS LINUX 产品:WiFi 88W8987 协议:Wi-Fi
查看全文
ls1028a スイッチでの 802.1 Qav のテスト Hello, 『Real-time Edge Software User Guide』の 4.1.4 にある ls1028ardb の TSN テストに従っていますが、スイッチの Qav を動作させることができません。スイッチは常に全伝送速度を転送します。 enetc2 を DSA ポートとして、enetc3 を標準ポートとして設定し、クラス 5 のトラフィックを enetc3 から swp5 に送信しました。swp0 では、フレームをキャプチャするために 2 番目の ls1028ardb が接続されています。enetc3 ポートで Qav を設定すると、レートは予想どおりに制限されますが、swp0 で設定すると制限されません。 $ sudo tsntool cbsset --device swp0 --tc 5 --percentage 10 マニュアルでは 2 つのストリームが言及されていますが、スイッチは干渉ストリームによるレート制限のみですか。enetcでは、上位のトラフィッククラスも設定する必要がありましたが、これはスイッチにも適用されますか。 QorIQ LS1デバイス 日時:ls1028aスイッチでの802.1 Qavのテスト ls1028a-rdbの https://github.com/nxp-qoriq/yocto-sdk.git のmickledoreブランチを使用しています。 そして実際、カットスルーが無効になっている場合、期待どおりに機能します。 ありがとうございます! 日時:ls1028aスイッチでの802.1 Qavのテスト どのバージョンのRTedgeを使用していますか?ボードLS1028ARDB? LS1028ARDB dts のデフォルト設定では、eno3 が無効になっている場合、eno2 は DSA ポートを使用します。 eno3 が有効になっている場合、デフォルトでは eno3 が DSA ポートとして使用されます。 Qavについては、cbssetを実行する前に、次のコマンドを使用してカットスルーモードを無効にする必要があります。 tsntool ctset --device swp0 --queue_stat 0x0 感謝。
查看全文
eIQのよくある質問(FAQ) このドキュメントの最新版については、こちらをご覧ください https://community.nxp.com/t5/eIQ-Machine-Learning-Software/eIQ-FAQ/ta-p/1099741  i.MX 8 i.MX RT Re: eIQのよくある質問(FAQ) Hi, これは、オブジェクト検出用のeIQツールV1.8に必要なソフトウェアのインストールです Ubuntu 20.04バージョンで使用 #IMX8MP #IMX93         Re: eIQのよくある質問(FAQ) Hi, eIQツールキットV 1.8用 モデルのデプロイとモデルの検証の手順は何ですか IMX8MPLUS#IMX93 @joanxie  Re: eIQのよくある質問(FAQ) Hi.. eIQツールキットV 1.8用 1. すべての画像を一度に拡張する可能性はありますか、それとも次々に行うべきですか。もしそうなら、解決策は何ですか IMX8MPLUS#IMX93 @joanxie  Re: eIQのよくある質問(FAQ) Hi.. eIQツールキットに疑問があります...使い方の手順を言えますか 1.データセットをインポートした後、デプロイする方法 2.どのソフトウェアをインストールする必要がありますか 3. ボードの接続方法とテスト方法 #IMX8MPLUS #IMX93 @joanxie @_asif_muhammed_ 
查看全文
S32K344-「1ビットエラーを補正せずに検出する」の実装方法 こんにちは ファイル【S32K3xx 安全上の注意】に以下の図の記載を見ました。「1ビットエラーを補正せずに検出する」はどのように実装されていますか? よろしくお願いいたします。 Simon Re: S32K344-[1ビットエラーを補正せずに検出する]の実装方法 はい、その通りです。 Re: S32K344-[1ビットエラーを補正せずに検出する]の実装方法 Hi @davidtosenovjan  つまり、データのECCは1ビット補正であるということです。アドレスのECCは補正なしの1ビット検出ですか? よろしくお願いいたします。 Simon Re: S32K344-[1ビットエラーを補正せずに検出する]の実装方法 RM では、どの ECC SECDEC (シングル エラー訂正、ダブル エラー検出) バリアントが使用されるかは明示的に定義されていませんが、このコードがアドレスのシングル ビット エラーを検出できることは明らかです。 Re: S32K344-[1ビットエラーを補正せずに検出する]の実装方法 こんにちは すみません、これが前に紹介した写真です。 Re: S32K344-[1ビットエラーを補正せずに検出する]の実装方法 あなたが見つけた数字を指摘していただけますか?
查看全文