Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
iMX6QD Androidで24ビットLVDSサポートを追加する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> はじめに データフローを駆動するLVDSディスプレイパネル: ディスプレイ品質: Androidの24ビットLVDSディスプレイパネルで最高の表示品質を得るには、 32ビットフレームバッファを使用し、IPUv3ディスプレイエンジンとLDBが24ビットピクセルを出力するようにする必要があります。 表示を有効にするための2つのステージ: Ubootスプラッシュスクリーンとカーネルフレームバッファ ガイドライン Ubootスプラッシュ画面: 変更は、board/ freescale /mx6q_sabresd/mx6q_sabresd.c などのボード ファイルで行う必要があります 。 1. 新しい 24bit LVDS ディスプレイ パネルの仕様に従って 、struct fb_videomode でビデオ モードを設定します(このドキュメントの最後にある例を参照してください)。 2. lcd_enable() で pwm, iomux /display 関連のクロックツリー を設定します。 これらは、スムーズなUI移行をサポートするためにカーネル設定に合わせる必要があることに注意してください Ubootのスプラッシュ画面からカーネルフレームバッファへ。 3. ipuv3_fb_init()を呼び出す際に 、IPUv3ディスプレイエンジンとLDBの出力ピクセルフォーマットをIPU_PIX_FMT_RGB24に設定します 。 4. ipuv3_fb_init() を呼び出すときは、新しい 24bit LVDS ディスプレイ パネルの仕様に従ってピクセル クロックを設定します 。 5.タフなディスプレイビデオモード(高解像度または高ピクセルクロック周波数)をサポートするためにデュアルLDBチャネルが必要な場合は 、2つのLDBの両方を有効にする必要があります チャネルを作成し、LDB を分割モードで動作するように設定します。レジスタLDB_CTRL lcd_enable()でそれに応じて設定する必要があります。 Kernel framebuffer: カーネル ブートアップ コマンドラインに 'video=' と ' ldb =' オプション を追加できるので、カーネルコードは Uboot コード よりもさまざまな表示色深度を持つさまざまな LVDS ディスプレイパネルを柔軟に処理できます 。'video=' と ' ldb =' オプションの詳細については、MXC Linux BSP リリースノートと Android ユーザーガイドを参照してください。いくつかの既知のポイントは次のとおりです。 1. 新しい 24bit LVDS ディスプレイ パネルの仕様 に従って、 drivers/video/ mxc / ldb.c の struct fb_videomode に ビデオ モードを追加します (次の例を参照してください)。 このドキュメントの終わり)。 2.プラットフォームコードで pwm バックライト/ディスプレイ関連の iomux を設定します 。 3. カーネル ブートアップ コマンドライン で適切な「video=」オプションを設定します 。        video=mxcfb0:dev=ldb,LDB-NEW,if=RGB24,fbpix=RGB32 4. カーネルブートアップコマンドラインで、タフなディスプレイビデオモードをサポートするために デュアルLDBチャンネル が必要な場合、 適切な「 ldb =」オプション を設定します 。        ldb=spl0 (IPUv3 DI0を使用) または ldb=spl1 (IPUv3 DI1を使用) 5. カーネル ブートアップ コマンドライン で適切な「fbmem=」オプションを設定して、フレームバッファ用に十分な メモリ を確保します 。たとえば、1280x800 LVDS パネルを使用するとします fb0 で fb0 が RGB32 ピクセル形式の場合、 式が次のとおりであるため、'fbmem=12M' を使用する必要があります。        fbmem= 幅*高さ*3(トリプル BUF)*Bytes_per_pixel= 1280*800*3*4B=12MB 構造体 fb_videomode を設定する例: 実際の1280x800@60 24ビットLVDSパネル仕様から引用されたタイミングの説明を見てみましょう 。 また、標準の linux struct fb_videomode include/linux/fb.h で定義されています。 構造体 fb_videomode { const char *名前;      /*随意*/ U32リフレッシュ;           /*随意*/         u32 xres;         u32 yres; U32 pixclock;         u32 left_margin; U32 right_margin;         u32 upper_margin; U32 lower_margin;         u32 hsync_len;         u32 vsync_len; U32同期;         u32 vmode;                u32 flag; }; 必要なことは、 LVDS ディスプレイ パネルの仕様のタイミング記述 に従って 、struct fb_videomode のすべてのフィールドを正しく設定 することです。 1.name: 'LDB-WXGA' に設定できます。 2.更新:オプションですが、一般的な値、つまり60(60Hzのリフレッシュレート)に設定できます。 3.xres: アクティブな幅、つまり 1280。 4.yres: アクティブな高さ、つまり 800。 5.pixclock:次の式で計算します– pixclock=(10 ^ 12)/clk_freq。 ここでは、通常、この例では 、pixclock=(10^12)/71100000=14065です。    6. left_margin/right_margin/hsync_len:        仕様ではHSバックポーチ(HBP)/ HSフロントポーチ(HFP)/ HS幅(HW)と同じです。仕様は私たちにそれを教えるだけなので、通常は HBP+HFP+HW=160 です。left_margin=40、right_margin=40、hsync_len=80 と設定できます。    7. upper_margin/lower_margin/vsync_len: 水平タイミングと同様に、垂直タイミングは upper_margin=10、 lower_margin=3、 vsync_len=10 に設定できます。 8.sync:タイミングチャートはhsync / vsyncがアクティブローであることを示しているため、FB_SYNC_HOR_HIGH_ACTまたは FB_SYNC_VERT_HIGH_ACT。また、 クロック 極性とデータ極性は無効であるため、ここでは同期をゼロに設定します。 9.vmode:これはプログレッシブビデオモードなので、vmodeをFB_VMODE_NONINTERLACEDに設定します。 10. フラグ:ビデオモードはドライバーによって提供されるため、フラグをFB_MODE_IS_DETAILEDに設定します。 グラフィックスとディスプレイ i.MX6Dual i.MX6Quad 日時:iMX6QDのAndroidで24ビットLVDSサポートを追加する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私は問題を見つけました、それはpixclockが40MHzまでしか設定できないようです、40MHzより低く、それは常に40MHzを出力しています、そして私の液晶は27MHzから32Mhzでしか動作できません 日時:iMX6QDのAndroidで24ビットLVDSサポートを追加する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 日時:iMX6QDのAndroidで24ビットLVDSサポートを追加する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> チュートリアルをいただきありがとうございます。しかし、私が見るように、それは "ldb.c"ので、Android Lollipopリリースには適用されませんは異なります。 私の場合、 タイミングは問題ありません。EDIDをサポートしていないLVDSパネルがあります。デフォルトの解像度を1024x768から1024x600に変更したいだけです。lvdsパネルは正常に機能しますが、底部はパネルの外側にとどまります。Android Lollipopでこれを修正するにはどうすればよいですか? 日時:iMX6QDのAndroidで24ビットLVDSサポートを追加する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 この詳細なガイドをありがとう、非常に役に立ちました! しかし、私は私のピクセルクロックに任意の変更を見ることができないようです、あなたはあなたのu-bootステップ#4 "4について詳しく教えてください。ipuv3_fb_init()を呼び出すときは、新しい24bit LVDSディスプレイパネルの仕様に従ってピクセルクロックを設定します 。 これは実際にはどのように行われるのでしょうか?u-bootでどのファイルを変更する必要がありますか。何を変更しても、常に75MHzを出力しているように見えます。メインラインのu-boot 2014-10ソースを使用しています。 ありがとうございます パトリック
記事全体を表示
91-IMG00636.jpg <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Future_Electronics_Panel_Interface_ModuleIMG00641 由 Iain Galloway (Future) 于 2010 年 6 月 22 日上午 11:21 添加   未来电子面板接口模块 (PIM) 允许 TTL 和 LVDS LCD 面板与各种 i.MX EVK 快速集成和评估。 轻松定制的电缆可以与来自多个制造商的 LCD 匹配。   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Future_Electronics_Panel_Interface_ModuleIMG00641 由 Iain Galloway (Future) 于 2010 年 6 月 22 日上午 11:21 添加   未来电子面板接口模块 (PIM) 允许 TTL 和 LVDS LCD 面板与各种 i.MX EVK 快速集成和评估。 轻松定制的电缆可以与来自多个制造商的 LCD 匹配。   概述
記事全体を表示
Linux 中的 LLCE LIN 恩智浦团队您好, 参考S32G_Linux BSP38文档,看来LLCE LIN已经在Linux中得到支持。如下图所示: 我想知道如何在 Linux 中使用 LLCE LIN? 回复:Linux 中的 LLCE LIN 谢谢你的回答。 回复:Linux 中的 LLCE LIN 你好,@ Alex_mjl 感谢您的反馈。 如 BSP UM 中所示,基于 Linux BSP 的 LINFlexD 仅支持 UART 模式。 顺祝商祺! 陈银 回复:Linux 中的 LLCE LIN 你好,陈, 此驱动在Linux下,只能作为uart模式使用。如果我想用LIN协议传输,不支持吗? 回复:Linux 中的 LLCE LIN 你好,@ Alex_mjl 谢谢你的提问。 是的,它可以在 UART 模式下使用,内核可以按照 BSP UM 中列出的进行编译,但一个重要的限制是,一旦 LLCE 邮箱驱动程序被加载,LLCE LINFlexD 就可以用作串行控制台,通常是在到达 Linux 控制台之后。 但是,默认情况下,串行驱动程序在加载 LLCE 模块之前加载,因此在启动期间仅启用 LINFlexD 控制台。您可能需要对系统进行一些修改,以确保驱动程序加载顺序能够让驱动程序正确探测 LLCELIN。 顺祝商祺! 陈银
記事全体を表示
智能音箱 Overview 恩智浦智能放大器釆用片上DSP,是一个高效的升压D类音频放大器,具有先进的SpeakerBoost声学增强和保护算法,提供温度和漂移保护 内部自适应DC-DC转换器提高了电源电压,为大幅改善音质提供了充足的空间。 恩智浦产品组合为多媒体和显示应用提供高性能、低功耗、可扩展、安全可靠的多核解决方案。 该解决方案基于 i.MX 8M 系列 MCU。该应用处理器提供业界领先的音频、语音和视频处理。 结构框图 产品 类别 MPU 产品URL i.MX 8M系列 - Arm ® Cortex ® -A53、Cortex-M4、音频、语音、视频 产品描述 基于 Arm ® Cortex ® -A53 和 Cortex-M4 内核的 i.MX 8M 系列应用处理器为应用程序提供业界领先的音频、语音和视频处理。 类别 无线连接 产品网址 1 QN9090/30(T):低功耗蓝牙 MCU,配备 Arm ® Cortex ® -M4 CPU、节能功能、模拟和数字外设以及 NFC 标签选项 产品描述 1 QN9090 和 QN9030 是 QN 系列低功耗蓝牙设备中的最新微控制器,可实现超低功耗,并集成 Arm ® Cortex ® -M4 CPU 以及全面的模拟和数字外设组合。 产品网址 2 88W8987:2.4/5 GHz 双频 1x1 Wi-Fi ® (802.11ac) + 蓝牙®解决方案 产品描述 2 恩智浦88W8987是高度集成的Wi-Fi(2.4/5GHz)和蓝牙单芯片解决方案,专为满足超高吞吐量(VHT)产品的速度、可靠性和质量要求而设计。 产品网址 3 NTAG I2C plus:具有 I2C 接口的 NFC Forum Type 2 标签 产品描述 3 NTAG I2C +将无源NFC接口与接触式 I2C接口结合在一起。 类别 电源管理 产品网址 1 TEA1833LTS: GreenChip SMPS控制IC 产品描述 1 TEA1833LTS是一款用于返驰拓扑结构的低成本开关电源(SMPS)控制器芯片。 产品网址 2 PCA9450: 适用于 i.MX 8M Mini/Nano/Plus 的电源管理 IC (PMIC) 产品描述 2 PCA9450是一款单芯片电源管理IC(PMIC),为单芯锂离子电池和锂聚合物电池便携式应用以及5V适配器非便携式应用中的i.MX 8M系列处理器提供支持。 类别 射频放大器 产品URL BGS8324: WLAN LNA + 开关 产品描述 BGS8324 也称为 WLAN3001H,是一款用于蓝牙路径和传输路径的完全集成的低噪声放大器 (LNA) 和 SP3T 开关。 类别 外设 产品网址 1 PCT2075:I2C 总线 Fm+,精度为 1 摄氏度,数字温度传感器和热看门狗 产品描述 1 PCT2075 是一款温度数字转换器,在 -25 °C 至 +100 °C 范围内具有 ±1 °C 的精度。 产品网址 2 PCA9955BTW: 16通道Fm+ I²C总线57 mA/20 V恒流LED驱动器 产品描述 2 PCA9955B是由I2C总线控制的16通道恒流LED驱动器,尤其适合对娱乐产品的57 mA红色/绿色/蓝色/琥珀色(RGBA) LED进行调光和闪烁控制。 框图 移动设备 智能家居
記事全体を表示
ISO14443 WriteのCLRC663にMin FrameErrビットが設定される原因 NFCフロントエンドICとして CLRC663を使用し、 NTAG210_NTAG212(NTAG210ムラタタグLXMS33HCNK-171で使用済みIC)をターゲットとしています。 アプリケーションノートAN12657に従ってライブラリなしのCLRC663を使用し、カスタムボードを使用しています。 タグの検出は信頼性がありますが、時々 (エラー引用符は 5 - 10%) IRQ0 レジスタに RxIRQ ビットが設定されていないことが原因で、CLRC663 が ISO14443 write コマンドをキャンセルします。エラーレジスタは、最小 FrameErr (エラー ビット 0x10) が発生しました。このエラーの原因は何ですか? 私のrfフィールド変調が十分に強くない場合、私は>50%のより高いエラークォートを想定します。ほとんどの場合、期待どおりに機能するため、コマンド自体は正しい必要があります。 この動作に影響を与える追加の設定はありますか? 敬具 Sascha RF Re: ISO14443 Write の CLRC663 に Min FrameErr ビットが設定される原因 アンテナに直接接着したタグと、近接領域の金属が少ない新しいセンサーボードを使用してソフトウェアを再度テストしたところ、エラーの見積もりが劇的に減少しました。確かに、読み取り範囲は非常に狭く、タグハウジングやデバイスの金属によるわずかな偏差でも通信の問題につながるようです。 敬具 サシャ Re: ISO14443 Write の CLRC663 に Min FrameErr ビットが設定される原因 こんにちは、サー。 仕様によると、T2T を使用しているため、デューティ サイクルは 106 kbps である必要があります。それでも、これは動作モードと伝送速度によって異なる場合があります。 当社の評価ボードはFCCテストに登頂しているため、NFCリーダーライブラリを使用するか使用しないかにかかわらず、お客様の側で達成できると確信しています。 はっきりしないのは、故障したデバイスの数ですが、これはSWの問題によるものではなく、HWの問題やそれらのボードがデプロイされている環境によるものかもしれません。 Re: ISO14443 Write の CLRC663 に Min FrameErr ビットが設定される原因 こんにちはファビアン、 早速のご返信をいただき、誠にありがとうございました。 読者がアンテナに問題がないとは断言できません。PCBとアンテナ回路を設計した同僚は、関連するすべてのアプリケーションノートを読み、ビデオエピソードを視聴し、一般的な推奨事項とヒントに従っています。したがって、ハードウェアは良好で、完璧ではないと思います。 残念ながら、ISO14443プロトコルを使用する他のタグはありません。ISO15693プロトコルを使用するタグが2つありますが、これらのタグでは問題は発生しませんでしたが、コマンドセット、リーダー設定、およびrf電界強度と結合に関する要件も異なります。したがって、これらのタグを比較できるかどうかはわかりません。 私の現在のシナリオは、FCCテスト用のテストファームウェアが必要なため、非常に特別です。このテストでは、1秒以内に少なくとも1つの読み取りおよび書き込みコマンドのデューティサイクルが必要です。現時点では、タグの読み取りと書き込みは毎秒約6回(エラーによる繰り返しなし)です。これは断食のためでしょうか?rfフィールドをオフにしてタグを非アクティブ状態にリセットしません。周波数が高いため、誤ったフレームの検出は非常に困難です。今はオシロスコープしか持っていません。 敬具 サシャ Re: ISO14443 Write の CLRC663 に Min FrameErr ビットが設定される原因 こんにちは、私の名前はファビアンです、私はあなたのケースをサポートするように割り当てられました。 当社の製品にご興味をお寄せいただき、誠にありがとうございます データシート(9.6 Contactless Interface Configuration Registers)によると、SOFは正しく受信されたが、送信されたフレームが4ビット未満であった場合に、このケースが表示されることがあります。 この特定のリーダーがアンテナに問題がある可能性はありますか?他のタグを読み取ることができますか、またはコマンドが送信されたときにアンテナのRFフィールドを拾うことができますか?シグナルアナライザを使用して動作するものと使用しないものを比較することができる場合があります。
記事全体を表示
MCU-Linkファームウェアの復元方法 FRDMボードを入手し、Linux(VMwareの下)にMCUXpressoをインストールしました。ホストOSはWindows11)。 デバッガを起動したとき、ファームウェアのアップデートが利用可能だったので、それを進めました。 しかし、USBの再接続中に時間がかかり、エラーが発生しました。 それ以降、FRDMボードはUSBデバイスとして認識されますが、MCU-Linkは検出されなくなりました。 それを回復する方法はありますか?」 MCXN Re:MCU-Linkファームウェアの復元方法 お返事が遅くなってしまい申し訳ございません。 FRDM-MCXN947を使用しています。 あなたの指示に従って試してみました、それは成功しました。 FRDM ボードは再び正常に機能します。 ご協力いただきありがとうございます。 Re:MCU-Linkファームウェアの復元方法 HI @Maccha_Neko  現在、どのチップのFRDM開発ボードを使用していますか? ファームウェアを更新したい場合。 1. linkserver ソフトウェアをダウンロードしてインストールします。 検索 |NXPセミコンダクターズ 2. ISPモードに入ります。 3.  program_CMSIS.cmdをダブルクリックします そして、Enterキーを押します。 BR ハリー
記事全体を表示
S32G-PROCEVB3-Sボード Hello,  S32G-PROCEVB3-Sボード– REV A Schematics.pdf p.17 U140 と U143 マルチプレクサはどちらもSD_MUX_TXN信号A0_P。 Q1:マルチプレクサへの信号入力はSD_MUX_TXNですか、正しいですか? Q2:SD_MUX_TXNとは何ですか?S32Gのどこから来たの?他のページでは見つかりません。 ありがとうございます Re:S32G-PROCEVB3-Sボード 「U140の出力をU143の入力に接続する」 ありがとうダニエル、それは明らかです。 Re:S32G-PROCEVB3-Sボード Hi, 前に述べたように、信号はU140とU143の間のポイントツーポイント接続です。U140の出力をU143の入力に接続する以外の目的はありません。 それを提供するのは、 SD_MUX_TXNの特定の信号は、マルチプレクサ/デマルチプレクサU140の出力によって提供されています。マルチプレクサの設定に応じて、U140のB0またはC0にルーティングできます。 U140に関する詳細については、このコミュニティはマルチプレクサ/デマルチプレクサ技術ではなくS32Gに関連しているため、NXPオンラインサービスの下でチケットを開くことをお勧めします。申し訳ございません。 お知らせください。 Re:S32G-PROCEVB3-Sボード Hello Daniel, この信号の目的は何ですか? どこで/誰がそれを提供しますか? ありがとうございます Re:S32G-PROCEVB3-Sボード Hi, 回路図で提供されている情報では、信号は伝送線路 (TX) であり、画像の右側に示されている信号は物理コネクタに送られるため、信号は U140 からの出力として見なされていると言えます。 お知らせください。 Re:S32G-PROCEVB3-Sボード Hello Daniel, 更新していただきありがとうございます。 この信号の目的は何ですか? U140の観点からは、入力信号ですか? ありがとうございます Re:S32G-PROCEVB3-Sボード Hi, 全体的なお問い合わせ内容を誤解している可能性がありますが、その場合はお詫び申し上げます。 参照している信号は、回路図に示すように、U140 と U143 の間のポイントツーポイント接続です。 これらはS32Gに直接接続されていません。 お知らせください。
記事全体を表示
i.MX 6UL/6ULL 開発に関する FAQ V2.0 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ドキュメントによると、V2バージョンでは、NXPの i.MX 6UL / 6ULL ARM Cortex-A7プロセッサに基づく開発に関するいくつかのFAQが追加されています。 MYIRは、SoM、SBC、開発ボード、HMIディスプレイパネルなど、i.MX 6UL/6ULLベースの製品シリーズを提供しています。   MYS-6ULXの |NXP i.MX 6UL / 6ULL SBCボード(IoTおよび産業用アプリケーション向け)  MYC-Y6ULX CPU Module | NXP i.MX 6UL, i.MX 6ULL SOM | ARM Cortex-A7 Processor    MYD-Y6ULXの |NXP i.MX 6UL、i.MX 6ULL 開発ボード / SOM、ARM Cortex-A7 プロセッサ MYD-Y6ULX-HMI開発ボード |HMIアプリケーション向けNXP i.MX 6UL/6ULLボード    MYD-Y6ULX-CHMI ディスプレイパネル |NXP i.MX 6UL/6ULL ベースの 7 インチ HMI ソリューション MYIRは、より多くの開発者と経験を共有できることを嬉しく思います。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ドキュメントによると、V2バージョンでは、NXPの i.MX 6UL / 6ULL ARM Cortex-A7プロセッサに基づく開発に関するいくつかのFAQが追加されています。 MYIRは、SoM、SBC、開発ボード、HMIディスプレイパネルなど、i.MX 6UL/6ULLベースの製品シリーズを提供しています。   MYS-6ULXの |NXP i.MX 6UL / 6ULL SBCボード(IoTおよび産業用アプリケーション向け)  MYC-Y6ULX CPU Module | NXP i.MX 6UL, i.MX 6ULL SOM | ARM Cortex-A7 Processor    MYD-Y6ULXの |NXP i.MX 6UL、i.MX 6ULL 開発ボード / SOM、ARM Cortex-A7 プロセッサ MYD-Y6ULX-HMI開発ボード |HMIアプリケーション向けNXP i.MX 6UL/6ULLボード    MYD-Y6ULX-CHMI ディスプレイパネル |NXP i.MX 6UL/6ULL ベースの 7 インチ HMI ソリューション MYIRは、より多くの開発者と経験を共有できることを嬉しく思います。
記事全体を表示
LS1043A レジスタをコンパイルするためのツール Hello, LS1043A EVMのレジスタ設定に使用するツールを探しています。 それを使っていくつかの作業を行う必要があります。 私の目標は、 i) IFCとPCIe 2.0(x1レーン)の読み書き速度を測定する - GPIOピンを使用して測定するにはどうすればよいですか?これらは、EVM の TDM インターフェイスで割り当てられます。 ii) RCWに関連するレジスタを設定する 上記のことにどのようにアプローチできますか? これにはCodeWarriorが必要ですか? それとも、上記のように機能するLinuxツールはありますか? よろしくお願いいたします。 TJ Re: LS1043A レジスタをコンパイルするためのツール ようこそ Re: LS1043A レジスタをコンパイルするためのツール 迅速な回答yipingwangをありがとうございました、あなたの答えは私を大いに助けます。 Re: LS1043A レジスタをコンパイルするためのツール はい、このコマンドはLinuxのプロンプトで直接使用できます。 Re: LS1043A レジスタをコンパイルするためのツール ご返信ありがとうございます。 ご容赦くださいますが、もう1つ質問に答えていただけますか? 「Linuxで」という意味の場合、TeraTermプロンプトでコマンドを使用できるということですか? よろしくお願いいたします TJさん Re: LS1043A レジスタをコンパイルするためのツール dd コマンドは、読み取り/書き込み速度を報告します。PCIeストレージデバイスとIFCフラッシュからの読み取り/書き込みが可能になりました。 Re: LS1043A レジスタをコンパイルするためのツール 返信ありがとうございます。 PCIeとIFCの読み取り/書き込み速度をLinuxと比較する方法があることを理解しても大丈夫ですか? Re: LS1043A レジスタをコンパイルするためのツール Linuxで「dd」コマンドを使用してみてください。 例えば dd if=/dev/zero of=/dev/nvme0n1 bs=16M count=512M iflag=count_bytes または dd if=/mnt/ramdisk/random.img of=/dev/nvme0n1 bs=16M Re: LS1043A レジスタをコンパイルするためのツール 親切で詳細な返信をありがとうございますYipingwang。 私の目的は、両方のインターフェイスの速度を比較し、他のボードとそのようなプロトコルを実行するインターフェイス(PCIeとIFCの間)を決定することです。 ボードを構成してこれを測定することは可能ですか? それとも、これら2つのインターフェースを比較するために利用可能なLinuxツールはありますか? Re: LS1043A レジスタをコンパイルするためのツール i) あなたの目的について詳しく教えてください。 GPIOを使用して、IFCとPCIe 2.0(x1レーン)の読み取りおよび書き込み速度を測定することは不可能です。 ii) CodeWarriorを使用してRCWバイナリ(PBL)ファイルを生成できます。 Linuxツールは次のとおりです。 $ git clone https://github.com/nxp-qoriq/rcw $ cd rcw $ git checkout -b lf-6.1.55-2.2.0 lf-6.1.55-2.2.0 ls1043ardb/RR_FQPP_1455/rcw_1600.rcwをターゲットボードに合わせて変更し、makeを実行するとls1043ardb/RR_FQPP_1455/rcw_1600.binが得られます。
記事全体を表示
imx8qxp qm の DPU を使用して Android Linux と M4 コアをシームレスに切り替える <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [中国語訳] 添付ファイルを参照   元のリンク: https://community.nxp.com/docs/DOC-342729 i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus
記事全体を表示
マシンビジョンデモ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> デモオーナー: David Chung NXPテクノロジーを活用して、造船所から組立ラインまで、さまざまな環境で荷物を安全に輸送する方法を実証することを目的としています。 デモでは、QorIQ LS1021Aによる環境入力に基づいてパスを事前に計算するSeavusが開発したアプリケーションを実行します。次に、その経路に従って荷物を移動させ、輸送中に邪魔になる人などの予期しない危険を調整します。荷物を落とす前に、着陸エリアが明確であることを確認します。 デモは完全に自己完結型です。     特長 QorIQ LS1021A 正確な数学的計算のためのFPU IEEE 1588 Precision Time Protocolにより、システム内のクロックを同期 ヒューマンマシンインターフェースへのWiFi接続 SEC 5.5暗号化アクセラレータで最大限のセキュリティを確保 冗長性のためのデュアルコア i.MX6 専用イメージングプロセッサ 軌道計算を容易にするカメラインターフェースとして使用されます Kinetisマイクロコントローラ K40(ケイ40) 汎用低消費電力MCU クレーンのステッピングモーターの制御に利用 グリーンヒルズインテグリティRTOS NSAによるEAL6+高堅牢性認定 重要なタスクと重要でないタスクを分離 Seavusクレーンアプリケーション 軌道計算と荷重輸送のための効率的なアルゴリズム ブロック図 組織体制 アルゴリズム図 関数の割り当て   インダストリアル Re: マシンビジョンデモ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi John, ご関心をお寄せいただき、誠にありがとうございます。デモは現在、i.MX とKinetisを含むように改造されています。John Ralston は、デモについて問い合わせる専門家です。これがお役に立てば幸いです。 -David Re: マシンビジョンデモ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> クールなデモ、デビッド。このデモをDIYのピックアンドプレースタイプのマシンのコンテキストで紹介してほしいと思います。あなたはすでにそれのためのハードウェアのほとんどを持っているようです。
記事全体を表示
i.MX6 IPU出力タイミング生成カウンタおよび割り込み <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> これらの質問と回答は、専用の (構成可能な) ビデオ出力ポートでの割り込み生成に関するものです。 i.MX6Dマニュアル(Rev.0) 画像処理ユニット(IPU)の章では、次のように述べています。 すべてのDIには、10個のタイミングジェネレータカウンタがあります。 IPU Interrupt Generatorには、10個のDI0カウンタ(1〜10)と、割り込みソースとして2個のDI1カウンタ(3および8)があります。 割り込み制御レジスタには、11個のDI0カウンタ(0〜10)がリストされます 質問1.DI タイミング ジェネレータ カウンタは割り込みコントローラのカウンタにリンクされていますか、それとも異なるカウンタですか。 A1. はい。はい、DI タイミング ジェネレータ カウンタは割り込みコントローラのカウンタにリンクされています。 質問2.割り込みコントローラーには 11 個のカウンターがリストされているのに、タイミング ジェネレーターには 10 個のカウンターしか表示されないのはなぜですか? A2. はい。割り込みコントローラにdisp_clk_en_preがあります。したがって、11 個のカウンタ (10 個のタイミング ジェネレータ カウンタと 1 個の disp クロック ジェネレータ カウンタ) があります。 質問3.タイミング ジェネレーター カウンターを使用して DI0 のタイミングを構成可能にできますか。 A3. はい。はい、10 個の内部タイミング カウンターを使用して、 さまざまなタイミング関係を生成できます。さらに、任意の割り込みカウンタを検出できます。たとえば、カウンタ 8 を使用すると、カウンタ 8 に関連付けられた割り込みを検出できます。 質問4.チャネル 3 と 8 のみの DI1 カウンタ アクセスの影響を説明します。 A4. はい。DI1には、10個のタイミングジェネレータカウンタと1個のdispクロックジェネレータカウンタもあり、これらを使用して目的の波形を生成できます。これは DI0 と似ています。 違いは、10 個のカウンタのうち 2 個 (および別のカウンタ) ともう 1 個の disp_clk だけが DI1 の割り込みコントローラに接続されていることです。そのため、検出には制限があります。カウンタ7を使用すると、DI1のカウンタ7割り込みを読み出すことができません。 ただし、2 チャネルで十分です。これらの割り込みは、通常、フレームの開始またはフレームの終了を示すために使用されます。通常、カウンター 3 を使用して Vsync を表します。したがって、通常はカウンター3割り込みのみを使用します。DI1 のアクセスは 3 回しかありませんが、これは予想されるユースケースをカバーし、レジスタ サイズを制限することが望まれていたためです。追加のカウンタにより、柔軟なDI1タイミング生成が容易になります。 i.MX6DL i.MX6Dual i.MX6Quad i.MX6S Re: i.MX6 IPU 出力タイミング生成カウンタおよび割り込み <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、IPUについてまだいくつか質問があります。 1. これらのカウンタは、DRDY、HSYNC、VSYNC などの特定のピンにマッピングされていますか。 2.テンプレートのmicrcodeメモリのSYNCフィールドでは、unit#は何を表し、ユニット#1などと同期していますか?彼らはカウンターを連想しますか? 3. VSYNC や HSYNC の代わりに DRDY ピンやその他のデータ ピンで動作するディスプレイ 800X400 を実行したいと考えています。DRDYで何も取得できません。その方法を簡単に説明していただけますか。つまり、カウンタはDRDYピンの波形をどのように表示しますか? 私の質問に答えていただけると嬉しいです。ありがとうございます。
記事全体を表示
切换 i.MX 8M Mini 应用处理器评估套件 (EVKB) 上的引脚。 以下步骤允许您切换 i.MX 8M Mini EVK 上的引脚,您可以将 EVK 用作非门、触发唤醒信号等。使用脚本和修改设备树,您可以读取输入并获得反转输入作为输出。   在主机上。 克隆 Linux 内核存储库。 将 i.MX Linux 内核 repo 克隆到主目录。 光盘〜 git clone -b lf - 5.10.72-2.2.0 https://source.codeaurora.org/external/imx/linux-imx cd linux-imx/   修补设备树。 打开imx8mm-evk.dtsi文件: vim arch / arm64 / boot / dts / freescale / imx8mm - evk.dtsi​ 出于本例的目的,必须“禁用”uart3以避免引脚冲突,因此将“okay”更改为“disabled”: & uart3 { pinctrl-名称= “默认” ; pinctrl - 0 = <& pinctrl_uart3 > ; 分配-时钟= <& clk IMX8MM_CLK_UART3 > ; 分配-时钟-父母= <& clk IMX8MM_SYS_PLL1_80M > ; fsl , uart-有-rtscts ; 状态= “已禁用” ; }; 在iomuxc节点中添加以下几行: & iomuxc { pinctrl- 名称 =“默认” ; pinctrl - 0 = <& pinctrl_hog > ; pinctrl_hog : hoggrp { fsl , 引脚 = < MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x19 MX8MM_IOMUXC_ECSPI1_MISO_GPIO5_IO8 0x19 > ;};   构建设备树。 设置您的工具链,例如: 源 / 选择 /fsl-imx-wayland/5.10-hardknott/ 环境 - 设置 -cortexa53- 加密 -poky - linux 生成配置文件。 make imx_v8_defconfig 编译设备树。 make freescale/imx8mm-evk.dtb 复制 .dtb文件到 EVK,例如使用 scp: scp imx8mm-evk.dtb root@<EVK_IP>:/home/root 或者,你可以复制 .dtb文件直接复制到内核和设备树文件所在的 FAT32 分区。   在 EVK 板上。 切换设备树。 要将更新的设备树复制到相应的分区,首先创建一个目录。 mkdir分区_1 挂载分区一。 挂载/ dev / mmcblk1p1分区_1 / 将设备树复制或移动到分区一。 cp imx8mm-evk.dtb Partition_1/ 重新启动主板。 reboot   创建脚本。 Use vi: vi切换. sh 添加以下行: /bin/bash ​ echo 136 > / sys / class / gpio / export 回显> / sys / class / gpio / gpio136 /方向 ​ echo 137 > / sys / class / gpio / export 回显> / sys / class / gpio / gpio137 /方向 echo 0 > / sys / class / gpio / gpio137 /值 ​ 尽管: 做 ​ 如果[[( $ ( cat / sys / class / gpio / gpio136 / value ) == “0” )]];那么 echo 1 > / sys / class / gpio / gpio137 /值 别的 echo 0 > / sys / class / gpio / gpio137 /值 菲 ​ 完毕 保存文件: : wq 更改文件权限: chmod + x切换. sh   切换图钉。 在这个例子中,我们使用引脚“UART3_CTS”作为输入,使用“UART3_RTS”作为输出。 要切换引脚,请运行脚本: ./toggle.sh​​ i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux
記事全体を表示
エラーを伴う Linux/baremetal for LS1046A-rdb イメージの構築 私は章のステップに従いました 2.4.2.3.2Yoctoによるイメージの構築 でREALTIMEEDGEUG - リアルタイムエッジソフトウェアユーザーガイド。 $カール https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo $ export PATH=${PATH}:~/bin $ mkdir yocto-リアルタイムエッジ $ cd yocto-リアルタイム-エッジ $ repo init -u https://github.com/nxp-real-time-edge-sw/yocto-real-time-edge.git -b real-time-edge-mickledore -m real-time-edge-2.8.0.xml $ リポジトリ同期 $ DISTRO=nxp-real-time-edge-baremetal MACHINE=ls1046ardb ソース real-time-edge-setup-env.sh -b build-ls1046ardb-bm $ bitbake nxp-image-real-time-edge Perl 5.36.0 のコマンドはエラーで完了します NOTE: Executing Tasks ERROR: perl-5.36.0-r0 do_compile: oe_runmake failed ERROR: perl-5.36.0-r0 do_compile: ExecutionError('/home/Real-time_bare_slave/yocto-real-time-edge/build-ls1046ardb-bm/tmp/work/aarch64-fsl-linux/perl/5.36.0-r0/temp/run.do_compile.2399984', 1, None, None) ERROR: Logfile of failure stored in: /home/Real-time_bare_slave/yocto-real-time-edge/build-ls1046ardb-bm/tmp/work/aarch64-fsl-linux/perl/5.36.0-r0/temp/log.do_compile.2399984 Log data follows: | DEBUG: Executing shell function do_compile | NOTE: make -j 16 | make crosspatch | make[1]: Entering directory '/home/Real-time_bare_slave/yocto-real-time-edge/build-ls1046ardb-bm/tmp/work/aarch64-fsl-linux/perl/5.36.0-r0/perl-5.36.0-build' | make[1]: Nothing to be done for 'crosspatch'. | make[1]: Leaving directory '/home/Real-time_bare_slave/yocto-real-time-edge/build-ls1046ardb-bm/tmp/work/aarch64-fsl-linux/perl/5.36.0-r0/perl-5.36.0-build' | make miniperl | make[1]: Entering directory '/home/Real-time_bare_slave/yocto-real-time-edge/build-ls1046ardb-bm/tmp/work/aarch64-fsl-linux/perl/5.36.0-r0/perl-5.36.0-build' | gcc -o miniperl miniperlmain.host.o av.host.o scope.host.o doop.host.o doio.host.o dump.host.o gv.host.o hv.host.o mg.host.o reentr.host.o mro_core.host.o perly.host.o pp.host.o pp_hot.host.o pp_ctl.host.o pp_sys.host.o regcomp.host.o regexec.host.o utf8.host.o sv.host.o taint.host.o toke.host.o util.host.o deb.host.o run.host.o universal.host.o pad.host.o globals.host.o keywords.host.o perlio.host.o numeric.host.o mathoms.host.o locale.host.o pp_pack.host.o pp_sort.host.o caretx.host.o dquote.host.o time64.host.o builtin.host.o opmini.host.o perlmini.host.o -lm -lcrypt -ldl | make[1]: Leaving directory '/home/Real-time_bare_slave/yocto-real-time-edge/build-ls1046ardb-bm/tmp/work/aarch64-fsl-linux/perl/5.36.0-r0/perl-5.36.0-build' | make dynaloader | make[1]: Entering directory '/home/Real-time_bare_slave/yocto-real-time-edge/build-ls1046ardb-bm/tmp/work/aarch64-fsl-linux/perl/5.36.0-r0/perl-5.36.0-build' | ./miniperl_top make_patchnum.pl | ./miniperl_top: 25: exec: /home/Real-time_bare_slave/yocto-real-time-edge/build-ls1046ardb-bm/tmp/work/aarch64-fsl-linux/perl/5.36.0-r0/perl-5.36.0-build/miniperl: Operation not permitted | make[1]: Leaving directory '/home/Real-time_bare_slave/yocto-real-time-edge/build-ls1046ardb-bm/tmp/work/aarch64-fsl-linux/perl/5.36.0-r0/perl-5.36.0-build' | make[1]: *** [Makefile:204: lib/Config_git.pl] Error 126 | make: *** [Makefile:81: all] Error 2 | ERROR: oe_runmake failed | WARNING: exit code 1 from a shell command. ERROR: Task (/home/Real-time_bare_slave/yocto-real-time-edge/sources/poky/meta/recipes-devtools/perl/perl_5.36.0.bb:do_compile) failed with exit code '1' NOTE: Tasks Summary: Attempted 2592 tasks of which 2572 didn't need to be rerun and 1 failed. Summary: 1 task failed: ~/Real-time_bare_slave/yocto-real-time-edge/sources/poky/meta/recipes-devtools/perl/perl_5.36.0.bb:do_compile Summary: There was 1 WARNING message. Summary: There were 2 ERROR messages, returning a non-zero exit code. このプロセスを通じて取得される成果物は次のとおりです。 ws12@WS12:~/yocto-real-time-edge$ ll build-ls1046ardb-bm/tmp/deploy/images/ls1046ardb/ total 952 drwxr-xr-x 2 ws12 ws12 4096 mag 22 15:33 ./ drwxr-xr-x 3 ws12 ws12 4096 mag 22 15:31 ../ -rw-r--r-- 2 ws12 ws12 996 mag 22 15:33 ls1046ardb_boot.scr lrwxrwxrwx 2 ws12 ws12 51 mag 22 15:31 u-boot.bin -> u-boot-tfa-2023.04+AUTOINC+f4412c267e+fslgit-r0.bin lrwxrwxrwx 2 ws12 ws12 51 mag 22 15:31 u-boot.bin-tfa -> u-boot-tfa-2023.04+AUTOINC+f4412c267e+fslgit-r0.bin lrwxrwxrwx 2 ws12 ws12 51 mag 22 15:31 u-boot-ls1046ardb.bin -> u-boot-tfa-2023.04+AUTOINC+f4412c267e+fslgit-r0.bin lrwxrwxrwx 2 ws12 ws12 51 mag 22 15:31 u-boot-ls1046ardb.bin-tfa -> u-boot-tfa-2023.04+AUTOINC+f4412c267e+fslgit-r0.bin lrwxrwxrwx 2 ws12 ws12 76 mag 22 15:31 u-boot-qoriq-initial-env-ls1046ardb-tfa -> u-boot-qoriq-initial-env-ls1046ardb-tfa-2023.04+AUTOINC+f4412c267e+fslgit-r0 -rw-r--r-- 2 ws12 ws12 6800 mag 22 15:31 u-boot-qoriq-initial-env-ls1046ardb-tfa-2023.04+AUTOINC+f4412c267e+fslgit-r0 lrwxrwxrwx 2 ws12 ws12 76 mag 22 15:31 u-boot-qoriq-initial-env-tfa -> u-boot-qoriq-initial-env-ls1046ardb-tfa-2023.04+AUTOINC+f4412c267e+fslgit-r0 -rw-r--r-- 2 ws12 ws12 943768 mag 22 15:31 u-boot-tfa-2023.04+AUTOINC+f4412c267e+fslgit-r0.bin したがって、第 2.4.2.4 章「ベアメタルを使用した Linux の起動」に見られるフルイメージが欠落しています tmp/deploy/images/ls1028ardb/nxp-image-real-time-edge-ls1028ardb.wic.zst (もちろん、ドキュメントによると、ls1028ardbではなくls1046ardbプレフィックス付きのフルイメージを期待していました) 何かアイデアはありますか? Re:エラーを伴うLS1046A-RDBのLinux/baremetalイメージの構築 これは、IT部門が設置したEDRによる問題でした。EDR は perl パッケージが処理されたときに bitbake を停止しました。 ありがとうございます
記事全体を表示
IMXRT1010 SAI传输 我正在开发一个将 IR 与编解码器获取的数据进行卷积的项目;我使用 IMXRT1010 板。 我采用 SDK 示例并对其进行修改以获得进行卷积所需的内容。 该示例使用此函数接收数据: * @brief 在 SAI 上执行中断非阻塞接收传输。 * @note 传输启动后,此 API 立即返回。 * 调用 SAI_RxGetTransferStatusIRQ 轮询传输状态并检查 * 传输已完成。如果返回状态不是 kStatus_SAI_Busy,则传输 * 已完成。 * * @Param base SAI基指针 * @ param handle 指向存储传输状态的 sai_handle_t 结构的指针。 * @Param xfer指向sai_transfer_t 结构的指针。 * @retval kStatus_Success成功启动数据接收。 * @ retval kStatus_SAI_RxBusy 之前的接收仍未完成。 * @retval kStatus_InvalidArgument输入参数无效。 */ status_t SAI_TransferReceiveNonBlocking ( I2S_Type *base, sai_handle_t *handle, sai_transfer_t *xfer); 和函数: SAI_TransferSendNonBlocking(....) 发送数据。 两者都需要检查状态: ---> 调用 SAI_RxGetTransferStatusIRQ ---> 调用 SAI_TxGetTransferStatusIRQ 问题是我找不到状态检查例程;你能帮助我吗? 谢谢。 Luigi 回复:IMXRT1010 SAI 传输 谢谢你,山姆,太棒了!! 回复:IMXRT1010 SAI 传输 Hi @LuigiV  当然!感谢您的提问,请参阅下面的评论,如果我的理解有误,请纠正我。 要使用 IMXRT1010 板上的 SAI(串行音频接口)模块执行非阻塞数据传输,您需要使用提供的功能并正确检查传输状态。您提到的函数(`SAI_TransferReceiveNonBlocking` 和 `SAI_TransferSendNonBlocking`)启动传输,您需要使用适当的状态函数检查状态。 `SAI_RxGetTransferStatusIRQ` 和 `SAI_TxGetTransferStatusIRQ` 等函数分别用于检查接收和发送传输的状态。这些函数可能没有直接命名,但它们是 SDK 中 SAI 驱动程序的一部分。 通常使用方法如下: ### 接收数据 为了非阻塞地接收数据,您需要初始化 SAI 模块,创建传输句柄,并启动接收传输。然后,您定期检查状态以查看传输是否完成。 #include "fsl_sai.h" #include "fsl_debug_console.h" #include "board.h" #define EXAMPLE_SAI SAI1 #define EXAMPLE_SAI_CHANNEL (0) #define BUFFER_SIZE (1024U) sai_handle_t rxHandle; uint8_t rxBuffer[BUFFER_SIZE]; volatile bool isRxFinished = false; // Callback function for receive void SAI_UserRxIRQHandler(I2S_Type *base, sai_handle_t *handle, status_t status, void *userData) { if (status == kStatus_SAI_RxIdle) { isRxFinished = true; } } void InitSAI(void) { sai_config_t config; SAI_TxGetDefaultConfig(&config); SAI_Init(EXAMPLE_SAI); SAI_TransferRxCreateHandle(EXAMPLE_SAI, &rxHandle, SAI_UserRxIRQHandler, NULL); SAI_TransferRxSetConfig(EXAMPLE_SAI, &rxHandle, &config); } void StartReceive(void) { sai_transfer_t xfer; xfer.data = rxBuffer; xfer.dataSize = BUFFER_SIZE; if (SAI_TransferReceiveNonBlocking(EXAMPLE_SAI, &rxHandle, &xfer) != kStatus_Success) { PRINTF("Failed to start receive transfer.\r\n"); } } int main(void) { BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitDebugConsole(); InitSAI(); StartReceive(); while (!isRxFinished) { // Poll the transfer status status_t status = SAI_TransferGetReceiveCount(EXAMPLE_SAI, &rxHandle); if (status == kStatus_SAI_RxError) { PRINTF("Receive error occurred.\r\n"); break; } } PRINTF("Receive finished.\r\n"); while (1) { } } ``` ### 传输数据 类似地,为了传输数据,您需要初始化 SAI 模块,创建传输句柄,并启动传输。然后,您定期检查状态以查看传输是否完成。 ```c #include "fsl_sai.h" #include "fsl_debug_console.h" #include "board.h" #define EXAMPLE_SAI SAI1 #define EXAMPLE_SAI_CHANNEL (0) #define BUFFER_SIZE (1024U) sai_handle_t txHandle; uint8_t txBuffer[BUFFER_SIZE]; volatile bool isTxFinished = false; // Callback function for transmit void SAI_UserTxIRQHandler(I2S_Type *base, sai_handle_t *handle, status_t status, void *userData) { if (status == kStatus_SAI_TxIdle) { isTxFinished = true; } } void InitSAI(void) { sai_config_t config; SAI_TxGetDefaultConfig(&config); SAI_Init(EXAMPLE_SAI); SAI_TransferTxCreateHandle(EXAMPLE_SAI, &txHandle, SAI_UserTxIRQHandler, NULL); SAI_TransferTxSetConfig(EXAMPLE_SAI, &txHandle, &config); } void StartTransmit(void) { sai_transfer_t xfer; xfer.data = txBuffer; xfer.dataSize = BUFFER_SIZE; if (SAI_TransferSendNonBlocking(EXAMPLE_SAI, &txHandle, &xfer) != kStatus_Success) { PRINTF("Failed to start transmit transfer.\r\n"); } } int main(void) { BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitDebugConsole(); InitSAI(); StartTransmit(); while (!isTxFinished) { // Poll the transfer status status_t status = SAI_TransferGetSendCount(EXAMPLE_SAI, &txHandle); if (status == kStatus_SAI_TxError) { PRINTF("Transmit error occurred.\r\n"); break; } } PRINTF("Transmit finished.\r\n"); while (1) { } } ``` ### 注释 1.中断处理程序:回调函数“SAI_UserRxIRQHandler”和“SAI_UserTxIRQHandler”处理中断服务例程。当传输完成时,他们会设置一个标志。 2.轮询状态:在主循环中,使用“SAI_TransferGetReceiveCount”和“SAI_TransferGetSendCount”函数定期检查状态,以确定传输是否完成。 3. SDK 文档:确保参考您的主板和 SAI 驱动程序功能的特定 SDK 文档,因为函数名称或参数可能会略有不同。 通过遵循上述示例,您应该能够在 IMXRT1010 板上执行带有状态检查的非阻塞传输。 祝你今天过得愉快! Sam
記事全体を表示
GDisplay_1.188.PEupd <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> GDisplay 描述 实现图形显示的绘图例程(线、矩形、圆形……)的组件 组件 GDisplay.PEupd Dependencies 显示, FreeRTOS 许可 许可证:开源(LGPL) 版权所有:(c)Erich Styger 版权所有,2011,保留所有权利。 这是一个以处理器专家嵌入式组件形式出现的开源软件。 这是一个免费软件,根据以下条款的许可政策开放用于教育、研究和商业开发: * 这是一个免费软件,没有任何担保。 * 没有使用限制。您可以自行承担责任,将其用于个人、非营利或商业产品。 * 重新分发源代码必须保留上述版权声明。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> GDisplay 描述 实现图形显示的绘图例程(线、矩形、圆形……)的组件 组件 GDisplay.PEupd Dependencies 显示, FreeRTOS 许可 许可证:开源(LGPL) 版权所有:(c)Erich Styger 版权所有,2011,保留所有权利。 这是一个以处理器专家嵌入式组件形式出现的开源软件。 这是一个免费软件,根据以下条款的许可政策开放用于教育、研究和商业开发: * 这是一个免费软件,没有任何担保。 * 没有使用限制。您可以自行承担责任,将其用于个人、非营利或商业产品。 * 重新分发源代码必须保留上述版权声明。 组件交换
記事全体を表示
BootLoaderDisk_1.018_31.05.2012.PEupd <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> BootLoaderDisk 形容 ブートローダのファイルシステム コンポーネント BootLoaderDisk.PEupd Dependencies S19 ライセンス このコンポーネントは、フリースケール・アプリケーション・ノートAN3748に基づいています。 元のファイルの著作権表示を以下に示します。 /****************************************************************************** * * (c) copyright Freescale Semiconductor 2008 *無断複写・転載を禁じます * *ファイル名:FAT16.c * *目的:このファイルはUSBマスストレージデバイスのブートローダー用です。このファイル * FAT16 ドライブを模倣してディスク ドライブとして列挙します。 * *アセンブラ:マイクロコントローラ用Codewarrior V6.2 * *バージョン:1.0 * * *著者:デレク・スネル * *場所:インディアナ州インディアナポリス。米国 * *更新された履歴: * * REV YYYY.MM.DD著者変更の説明 * --- ---------- ------ --------------------- * 1.0 2008.06.10 デレク・スネル 初期版 * * ******************************************************************************/ /* フリースケールは、サポート、アップグレード、または新規を提供する義務を負いません */ /* 本ソフトウェアのリリース。フリースケールは、*/ /* いつでも、*/ の更新バージョンを通知または提供する義務はありません。 /* 本ソフトウェアをお客様にお送りします。フリースケールは、*/ /*ソフトウェア。本ソフトウェアは現状のまま提供され、いかなる種類の保証もありません。 /* 明示的または黙示的のいずれかで、黙示的な */ /* 商品性、特定目的への適合性、または */ /* 非侵害。使用から生じるすべてのリスクを引き受けるか、または*/ /* ソフトウェア、またはソフトウェアを使用して設計するシステムのパフォーマンス */ /* (存在する場合)。*/による保証または表明として解釈されるものは何もありません /* フリースケールのソフトウェアまたは派生物が一緒に開発された、または*/ /* ソフトウェアを組み込むことは、 */ の侵害から解放されます。 /* 第三者の知的財産権。いかなる場合も、フリースケールは */ /* 契約、不法行為、またはその他の場合、偶発的な事柄について責任を負うこと。 /* 特別損害、間接損害賠償、結果的損害賠償、または懲罰的損害賠償 */ /* 使用不能、時間損失、不都合による損害賠償に限る */ /* 商業的損失、または利益、貯蓄、または収益の最大の損失 */ /* そのようなものは法律によって否認される場合があります。本ソフトウェアはフォールトトレラントではなく、*/ /* フリースケールが法人化のために設計、製造、または意図していない */ /*のオンライン制御機器での使用または再販を目的とした製品に*/ /* 危険、生命に危険、または生命を脅かす可能性のある環境 */ /* 原子力の運用など、フェイルセーフ性能が必要 */ /* 施設、航空機のナビゲーションまたは通信システム、航空交通 */ /*制御、直接生命維持装置または兵器システム、*/ / *製品の故障は、死亡、人身傷害、または*/に直接つながる可能性があります /* 深刻な物理的または環境的損害 (高リスク活動)。あなたが*/ /* お客様が本ソフトウェアを使用しないことを明確に表明し、保証すること、または */ /* 高リスク活動のための本ソフトウェアの派生物。*/ /* FreescaleおよびFreescaleのロゴは、Freescaleの登録商標です */ /* セミコンダクター株式会社 */ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> BootLoaderDisk 形容 ブートローダのファイルシステム コンポーネント BootLoaderDisk.PEupd Dependencies S19 ライセンス このコンポーネントは、フリースケール・アプリケーション・ノートAN3748に基づいています。 元のファイルの著作権表示を以下に示します。 /****************************************************************************** * * (c) copyright Freescale Semiconductor 2008 *無断複写・転載を禁じます * *ファイル名:FAT16.c * *目的:このファイルはUSBマスストレージデバイスのブートローダー用です。このファイル * FAT16 ドライブを模倣してディスク ドライブとして列挙します。 * *アセンブラ:マイクロコントローラ用Codewarrior V6.2 * *バージョン:1.0 * * *著者:デレク・スネル * *場所:インディアナ州インディアナポリス。米国 * *更新された履歴: * * REV YYYY.MM.DD著者変更の説明 * --- ---------- ------ --------------------- * 1.0 2008.06.10 デレク・スネル 初期版 * * ******************************************************************************/ /* フリースケールは、サポート、アップグレード、または新規を提供する義務を負いません */ /* 本ソフトウェアのリリース。フリースケールは、*/ /* いつでも、*/ の更新バージョンを通知または提供する義務はありません。 /* 本ソフトウェアをお客様にお送りします。フリースケールは、*/ /*ソフトウェア。本ソフトウェアは現状のまま提供され、いかなる種類の保証もありません。 /* 明示的または黙示的のいずれかで、黙示的な */ /* 商品性、特定目的への適合性、または */ /* 非侵害。使用から生じるすべてのリスクを引き受けるか、または*/ /* ソフトウェア、またはソフトウェアを使用して設計するシステムのパフォーマンス */ /* (存在する場合)。*/による保証または表明として解釈されるものは何もありません /* フリースケールのソフトウェアまたは派生物が一緒に開発された、または*/ /* ソフトウェアを組み込むことは、 */ の侵害から解放されます。 /* 第三者の知的財産権。いかなる場合も、フリースケールは */ /* 契約、不法行為、またはその他の場合、偶発的な事柄について責任を負うこと。 /* 特別損害、間接損害賠償、結果的損害賠償、または懲罰的損害賠償 */ /* 使用不能、時間損失、不都合による損害賠償に限る */ /* 商業的損失、または利益、貯蓄、または収益の最大の損失 */ /* そのようなものは法律によって否認される場合があります。本ソフトウェアはフォールトトレラントではなく、*/ /* フリースケールが法人化のために設計、製造、または意図していない */ /*のオンライン制御機器での使用または再販を目的とした製品に*/ /* 危険、生命に危険、または生命を脅かす可能性のある環境 */ /* 原子力の運用など、フェイルセーフ性能が必要 */ /* 施設、航空機のナビゲーションまたは通信システム、航空交通 */ /*制御、直接生命維持装置または兵器システム、*/ / *製品の故障は、死亡、人身傷害、または*/に直接つながる可能性があります /* 深刻な物理的または環境的損害 (高リスク活動)。あなたが*/ /* お客様が本ソフトウェアを使用しないことを明確に表明し、保証すること、または */ /* 高リスク活動のための本ソフトウェアの派生物。*/ /* FreescaleおよびFreescaleのロゴは、Freescaleの登録商標です */ /* セミコンダクター株式会社 */ コンポーネント交換
記事全体を表示
PEmicroデバッガを使用したフリーランニングモードでもタイマーが機能しない こんにちはチーム、 imxrt1170評価ボードと、imxrt1176コントローラーを備えたカスタムボードを使用しています。 USB to micro-bケーブルを使用してUSBデバッグを接続すると、タイマーコードが実行され、タイマーも機能しますが、PEマイクロUSBデバッガを評価ボードに接続してデバッグすると、フリーランニングモード(ブレークポイントなし)でもタイマーコードが機能しません。 PE micro-USB デバッガを搭載した imxrt1170 評価ボードのタイマに影響を与える任意のピンまたは機能。 Re:PEmicroデバッガを使用したフリーランニングモードでもタイマーが機能しない systickタイマーとデバッグモードで使用するPIT(プログラマブル割り込みタイマー)にも同じ設定がありますか? Re:PEmicroデバッガを使用したフリーランニングモードでもタイマーが機能しない こんにちは @Jeevan、 デバッグ モードでタイマーがカウントを続けるには、GPT 制御レジスタ (CR) と呼ばれるレジスタの DBGEN と呼ばれるビットが 1 になっている必要があります。このビットの目的は、RM で取得された次の画像に示すように、コードがデバッグ モードのときにタイマーを有効または無効にすることです また、問題が発生した場合は、遠慮なくお知らせください。 BR Habib.
記事全体を表示
SJA1110 SPI_AP接口 Hello, 我看到 SJA1110 在 SJA1110 的 UM11107 软件 UM 中支持 SPI_HOST 和 SPI_AP 接入点。 我的硬件是GLDBOX,它的设计是S32G274A---SPI---SJA1110 我不确定是否要使用 SPI_AP 接口,首先我选择引脚 SPI_HAP_SSx_N 到 SPI_HAP_SS0;其次我是否应该将外部控制器的 SPI_PER 连接到 sja1110 的 SPI_HAP? 如果我使用 SPI_AP,SJA1110 是否无法自行启动和下载映像?所以外部控制器必须是另一个 SJA1110 而不能是 S32J274A,即使它们有 SPI 连接?我的理解对吗? 非常感谢!       Re: SJA1110 SPI_AP interface Hello, 谢谢您的回复,是的,我在另一个主题“硬件 GLDBOX 的 SJA1110 SDK”中询问过。也许我们可以在那里讨论。         Re: SJA1110 SPI_AP interface Hello @yangjinzhuang , 您需要告诉 SDK 如何访问 switchcore。 然后内部例程(如 SWITCH_DRV_Read)会自动处理该问题。 如果您正在为 SJA1110 的内部 M7 开发固件,则应设置 SWITCH_CONTROL_INTERNAL。 如果您正在开发 SJA1110 内部 M7 的固件以访问外部交换核心(级联 SJA1110),则应使用 SWITH_CONTROL_SPI: 我想如果您正在开发 S32G 固件以通过 SPI 控制 SJA1110,情况应该大致相同。我需要再检查一下。您已就此创建了另一个主题,因此我将在那里回答。感谢您的耐心。 顺祝商祺! 帕维尔 Re: SJA1110 SPI_AP interface Hello, 非常感谢,我现在清楚地了解了SPI_AP和启动过程。 最后,我不确定 SDK 中的 SWITCH_CONTROL_INTERNAL 和 SWITH_CONTROL_SPI 模式,如果我想进行 SPI_AP 访问,是否需要将其配置为 SWITH_CONTROL_SPI,我看到它在 SDK 中默认设置为 SWITCH_CONTROL_INTERNAL。 Re: SJA1110 SPI_AP interface Hello @yangjinzhuang , SPI_AP 的使用不会影响从 SPI FLASH 启动。 广告 1.复位后,SJA110 读取引脚绑定选项并从 SPI FLASH 启动。然后您可以随意访问 SPI_AP - 读取寄存器、动态更改配置...... 广告 2。您可以使用32G274A 作为外部微控制器,通过 SPI_AP 控制 SJA1110。是的,NVM 启动仍然会成功。 顺祝商祺! 帕维尔 Re: SJA1110 SPI_AP interface Hello @yangjinzhuang , 广告 1.外部控制器可以是任何人。我使用我的笔记本电脑和 FTDI 驱动程序访问我的 SJA1110 EVM 板。 广告 2. 一旦从 SPI FLASH 加载图像,外部微控制器就完全没有必要了。SJA1110可以完全自主工作。外部微控制器可以监控流量、诊断寄存器…… 广告 3. SDL 启动也是支持的选项。 顺祝商祺! 帕维尔 Re: SJA1110 SPI_AP interface Hello, 我对 SPI_AP 还有一些疑问: 1、外部微控制器不一定是另外一个SJA1110,S32G274A有SPI接口也可以作为外部微控制器吗? 2、在SPI_AP上,启动步骤也从SPI flash加载镜像,运行初始化和静态配置过程等,与SPI_HOST模式相同,那么外部微控制器会对以太网交换机做什么? 3、我的理解是启动和加载映像将由外部微控制器控制,SJA1110 仅作为硬件向外部微控制器提供以太网交换机         Re: SJA1110 SPI_AP interface Hello, 谢谢你的回复,从um549820-UM11107软件UM中,我了解到SPI_HOST和SPI_AP是复用的,因为SPI_HOST用于控制处理器启动,那么如果我设置SPI_AP并且开关由外部微控制器控制,所以我理解SPI_AP对启动步骤有影响,也许我的理解不正确,所以我需要你的帮助来确认。 1、我查看我的硬件,DIP开关SW12[1]默认是on的,SW12[2]默认是off的,它的启动模式是NVM启动,并且是从SPI flash启动。如果我使用SPI_AP,那么默认的启动模式也能启动成功,不会因为没有SPI_HOST而启动失败吗? 2、关于SPI_AP,我可以从UM111107中了解到两个SJA1110,一个SJA1110由另一个SJA1110控制,但我不确定:我可以使用S32G274A作为外部微控制器通过SPI_AP控制SJA1110吗?在这种情况下,NVM启动仍然可以从SPI闪存成功启动吗?      Re: SJA1110 SPI_AP interface Hello @yangjinzhuang , SJA1110 支持从外部 SPI 闪存进行 NVM 启动或从主机控制器进行 SDL 启动,与 SPI_AP 的使用无关。按照 AN13185 第 3.2.1 章设置电路板上的 DIP 开关。您还可以参考 SJA1110 的 UM11107 软件用户手册以了解更多详细信息。两份文件都需要登录。 您需要使用 SPI_HAP_SS0_N 通过 SPI_AP 访问所有内部寄存器/设置。 SJA1110的SPI_PER主要用于两块SJA1110的级联。 顺祝商祺! 帕维尔
記事全体を表示
8MIC-RPI-MX8ボードのRGB LEDとプッシュボタンを有効にします。 プッシュボタンに関するお役立ち情報です。 物理的なレベル。       P0-P7ピンの電圧レベルが変化すると、INTピンPCA9555PW割り込みが発生します。このドライバ(SoC上で動作する)は、I2C(SCL / SDAピン)を介してP0-P7ピンのステータスを読み取り、P0-P7ピンごとに個別の割り込みを生成できます。これが、このドライバーが割り込みコントローラーとして機能する理由です。 次の構成について考えてみます。   1つのプッシュボタンでP4ピンのレベルが変わり、PCA9555PW割り込みが発生しやすくなります。PCA9555PWからの割り込みはGPIO5のIPコア(SoC内部)に接続され、そのGPIO5モジュールの#9行目を使用してCPUに割り込みを通知します。したがって、PCA9555PWはGPIO5コントローラーにカスケード接続されていると言えます。GPIO5は割り込みコントローラーとしても機能し、GIC割り込みコントローラーにカスケード接続されています。   デバイス ツリーのプロパティ。 プロパティの意味は次のとおりです。 interrupt-controller プロパティは、デバイスが割り込みを生成することを定義します。このノードを各プッシュボタンノードの interrupt-parent として使用するには、さらに必要になります 。 #interrupt-cells は interrupts プロパティ のフォーマットを定義します 。この例では 2 、 行番号が 1 セル、割り込みタイプが 1 セル という です interrupt-parent プロパティと interrupts プロパティは、割り込みライン接続を説明しています Interrupt handling. CPU は、GIC 割り込みハンドラの割り込みコンテキストになりました。 gic_handle_irq() から handle_domain_irq() を呼び 、 を呼び generic_handle_irq() を呼び出します。詳細は Documentation/gpio/driver.txt を参照してください。これで、SoCのGPIOコントローラーIRQハンドラーにいます。 SoC の GPIO ドライバーは 、特定のピンごとに設定される generic_handle_irq() to run ハンドラーも呼び出します。たとえば、 omap_gpio_irq_handler() でどのように行われるかを参照してください 。これで、IRQハンドラPCA9555PWいます。 PCA9555PW IRQ ハンドラは handle_nested_irq() を呼び出します。 最後に、 gpio_keys_gpio_isr() が呼び出されます。 次の手順では、8M Mini Applications Processor Evaluation Kit (EVKB) を搭載した 8MIC-RPI-MX8 ボードで RGB LED とプッシュ ボタン i.MX イネーブルにできます。LEDドライバーを使用して、デバイスツリーを変更する必要があります。 ホスト上。 Linux カーネルリポジトリのクローンを作成する。 i.MX Linux カーネル リポジトリを ホーム ディレクトリにクローンします。 cd ~ git clone https://source.codeaurora.org/external/imx/linux-imx このガイドでは、カーネル 5.10.35-2.0 に対応する次のコミットを使用します。 cd linux-imx/ git checkout -b RGB ef3f2cfc6010 d evice ツリー にパッチを適用します 。 「0001-Enable-RGB-LED-s-and-push-buttons-on-8MIC-RPI-MX8-bo.patch」をダウンロードします。この投稿に添付されているファイルを作成し、それをlinux-imxディレクトリにコピーしてから、パッチを適用してください。 cp 0001-Enable-RGB-LED-s-and-push-buttons-on-8MIC-RPI-MX8-bo.patch ~/linux-imx/ cd ~/linux-imx/ patch < 0001-Enable-RGB-LED-s-and-push-buttons-on-8MIC-RPI-MX8-bo.patch プロンプトが表示されたら、sはパッチを適用するファイルを選択します。 File to patch: arch/arm64/boot/dts/freescale/imx8mm-evk-8mic-revE.dts patching file arch/arm64/boot/dts/freescale/imx8mm-evk-8mic-revE.dts 次に、次のようにツールチェーンを設定します。 source /opt/fsl-imx-wayland/5.10-hardknott/environment-setup-cortexa53-crypto-poky-linux 設定ファイルを生成します。 make imx_v8_defconfig デバイスツリーをコンパイルします。 make freescale/imx8mm-evk-8mic-revE.dtb .dtbをコピーしますファイルを EVK に (たとえば scp を使用して) ファイルします。 scp imx8mm-evk-8mic-revE.dtb root@ :/home/root または、.dtbをコピーすることもできますカーネルファイルとデバイスツリーファイルが配置されているFAT32パーティションに直接ファイルします。 LEDドライバー のコンパイル 。 leds-pca995x.h を入手します。次のサイトのファイル: https://github.com/TechNexion/linux-tn-imx/blob/tn-imx_5.4.70_2.3.0-stable/include/linux/platform_data/leds-pca995x.h  次のパスにコピーします。 cp leds-pca995x.h ~/linux-imx/include/linux 新しいディレクトリを作成します。 mkdir ~/linux-imx/PCA9955 メイクファイルを作成します。 cd ~/linux-imx/PCA9955 vim Makefile   KERNEL_ROOT?=~/linux-imx obj-m += leds-pca995x.o all: make -C $(KERNEL_ROOT) M=$(PWD) modules clean: make -C $(KERNEL_ROOT) M=$(PWD) clean   「Esc」キーを押してから、次の操作を行います。 :wq leds-pca995x.cを入手します。次のサイトのファイル: https://github.com/TechNexion/linux-tn-imx/blob/tn-imx_5.4.70_2.3.0-stable/drivers/leds/leds-pca995x.c 次のパスにコピーします。 cp leds-pca995x.c ~/linux-imx/PCA9955 0001-PCA9955BTW.patch ファイルを取得し、次のパスにコピーします。 cp 0001-PCA9955BTW.patch ~/linux-imx/PCA9955 パッチを適用します。 patch < 0001-PCA9955BTW.patch 次に、次のようにツールチェーンを設定します。 source /opt/fsl-imx-wayland/5.10-hardknott/environment-setup-cortexa53-crypto-poky-linux .ko を生成するファイル。 cd ~/linux-imx/PCA9955 make all .ko をコピーします。ファイルを EVK に (たとえば scp を使用して) ファイルします。 scp leds-pca995x.ko [email protected]:/home/root 注:Linuxバージョンの.koファイルは EVK と同じである必要があります。 EVKで。 デバイスツリーの 切り替え 。 更新されたデバイスツリーを対応するパーティションにコピーするには、まずディレクトリを作成します。 mkdir Partition_1 パーティションを1つマウントします。 mount /dev/mmcblk1p1 Partition_1/ デバイスツリーをパーティション1にコピーまたは移動します。 cp imx8mm-evk-8mic-revE.dtb Partition_1/ ボードを再起動します。 reboot u-boot で停止し、.dtb を変更します。8micボードのデバイスツリーを使用するためのファイル。 u-boot=> editenv fdtfile edit: imx8mm-evk-8mic-revE.dtb u-boot=> saveenv Saving Environment to MMC... Writing to MMC(1)... OK u-boot=> boot LEDドライバーのインストール。 次のコマンドを実行して 、ledドライバーをカーネルにロードします。 insmod leds-pca995x.ko そして、次のようなものが表示されます。 [ 249.359103] leds_pca995x: loading out-of-tree module taints kernel. [ 249.366864] ALL [ 249.368740] ALL 0 [ 249.370667] ALL 1 [ 249.372609] ALL 2 [ 249.374536] ALL 2 [ 249.376475] ALL 2 [ 249.378401] ALL 2 [ 249.380338] ALL 2 [ 249.382264] ALL 2 [ 249.384202] ALL 2 [ 249.386127] ALL 2 [ 249.388063] ALL 2 [ 249.389989] ALL 2 [ 249.391913] ALL 2 [ 249.393847] ALL 2 [ 249.395774] ALL 2 [ 249.397709] ALL 2 [ 249.399635] ALL 2 [ 249.401568] ALL 2 [ 249.403496] ALL 3 LEDを点灯します。 デバイスツリーを変更した場合は、次のコマンドでLEDを点灯できます。 echo 250 > /sys/class/leds/pca995x\:blue0/brightness LED をオフにするには: echo 0 > /sys/class/leds/pca995x\:blue0/brightness 赤、青、緑のLEDは、提供されるさまざまな強度で点灯できます。 プッシュボタンのテスト。 デバイスツリーを変更した場合は、次のコマンドでプッシュボタンをテストできます。 evtest 正しい番号を選択します。 No device specified, trying to scan all of /dev/input/event* Available devices: /dev/input/event0: 30370000.snvs:snvs-powerkey /dev/input/event1: sw_keys /dev/input/event2: gpio_ir_recv Select the device event number [0-2]: 1 そして、あなたは見るでしょう: Input driver version is 1.0.1 Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100 Input device name: "sw_keys" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 67 (KEY_F9) Event code 113 (KEY_MUTE) Event code 114 (KEY_VOLUMEDOWN) Event code 115 (KEY_VOLUMEUP) Properties: Testing ... (interrupt to exit) Event: time 1642457988.1642457988, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1 Event: time 1642457988.1642457988, -------------- SYN_REPORT ------------ Event: time 1642457988.1642457988, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0 Event: time 1642457988.1642457988, -------------- SYN_REPORT ------------ i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux
記事全体を表示