Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
コマンドラインブートローダのメインフローチャート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Re:コマンドラインブートローダのメインフローチャート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> はい、XMODEM の CRC と S19 のチェックサムを実装しました。 S19のチェックサムについては、s19.cでcheckSumTmpの値を見つけてください。 XMODEMのCRCについては、xmodem.cでGetCrcという関数呼び出しを探してください。 Re:コマンドラインブートローダのメインフローチャート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Jiunnyangさん、このプロジェクトをありがとう!これは、今後のプロジェクトですぐに使用したいものです。今はテストが出来ませんが、励ましの言葉を送りたいと思います! Q: イメージの暗号化や CRC 検証を行う予定はありますか?(たぶんそれはすでにそこにあります-私はまだあなたのコードを見ていません。 ありがとうございます! -iain
查看全文
i.MX8MP EMC test and LVDS SSC solutions この記事では、i.MX8MPのEMC試験で発生する問題の解決方法について、主に過剰な放射の問題に焦点を当てて解説します。ハードウェアソリューションに加え、LVDSスペクトラム拡散などのソフトウェアソリューションについても解説します。 Automotive Industrial Technologies Re: i.MX8MP EMCテストおよびLVDS SSCソリューション 非常に便利なドキュメントです。
查看全文
i.Mx6 CSI测试模式问题 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 客户希望使用测试模式测试 BT.656。受支持吗? 38.4.3.3RM 中的测试模式仅显示一个 CSIx_SENS_CONG 设置。这是否意味着测试模式仅支持以下一种? 测试模式是否支持其他设置? CSIx_EXT_VSYNC = 0x1 CSIx_DATA_WIDTH = 0x1 CSIx_SENS_DATA_FORMAT = 0x0 CSIx_PACK_TIGHT = 0x0 CSIx_SENS_PRTCL = 0x1 CSIx_SENS_PIX_CLK_POL = 0x1 CSIx_DATA_POL = 0x0 CSIx_HSYNC_POL = 0x0 CSIx_VSYNC_POL = 0x0 例如, 客户想知道测试模式是否支持 CSIx_SENS_PRTCL=0x2 或 0x3 而不是 0x1? 客户想知道测试模式是否支持 CSIx_SENS_DATA_FORMAT=0x1 或 0x2 而不是 0x0? 回答: CSI CM 测试模式的工作方式如下: 1、仅非门控模式。 2、数据宽度应配置为8 3、数据格式配置为rgb888 不能是其他格式,例如 bt656。它使用CSI1_TST_CTRL寄存器配置{R,G,B} 24位值并将其作为RGB888/YUV444格式进行进一步处理。生成的图像大小取决于寄存器中配置的宽度和高度。 i.MX6DL i.MX6 双核 i.MX6 四核 i.MX6S
查看全文
TSAを使用してFreeMasterプロジェクトをボードにエクスポートする方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> はじめに FreeMasterドライバには、TSA(Target Side Addressing)と呼ばれる 機能があり、組み込みアプリケーションのソースコードでデータ型と変数を直接記述し、この情報をFreeMASTERツールで使用して、FreeMaster で表示したい変数を記述し、ボードからFreeMasterソフトウェアに情報を自動的に利用できるようにするメカニズムがあります。 TSAを使用すると、 FreeMasterアプリケーションがアプリケーションの変数を見るために通常必要とするシンボルファイル(組み込みアプリケーションのすべての変数の説明を含むファイル(変数の名前、アドレス、およびサイズ) を必要とせずに 、変数のアドレスを利用可能にします 。TSA メカニズムのおかげで、組み込みアプリケーションでファイルを記述したり、ファイルを 16 進数の値にマッピングしたり、それらの値を含む変数を作成したりすることもできます。これとシンボルファイルの必要性の排除を組み合わせることで、組み込みアプリケーションにFreeMasterプロジェクトを挿入し、ボードにプラグアンドプレイ機能を与えることができます。 TSAなし TSAと メモリマップドファイルのようなユーザーリソースには特別なタイプがあり、これにより、組み込みアプリケーションからFreeMasterソフトウェアでFreeMasterプロジェクトファイルを利用できるようにし、プロジェクトにFreeMasterとのプラグアンドプレイ機能を提供できます。 例の説明 この例では、FreeMasterプロジェクトファイル(.pmpまたは.pmpx)を変換しますメモリマップドファイルに、そのファイルを組み込みアプリケーションに追加し、新しいメモリマップドファイルを記述するファイルやその他のタイプのアクティブコンテンツ用の新しいTSAテーブルを作成し、最後にFreeMasterに接続して、ボードからプロジェクトを自動的に実行します。 この例に従うには、FreeMaster プロジェクト (.pmp または .pmpx) が必要であることに注意してくださいまた、プロジェクトに接続するための FreeMaster ドライバーが既にある組み込みアプリケーションの場合は、FreeMaster プロジェクトの作成とそれを実行するためのボードの構成の詳細については、「 FreeMaster を使用してインターフェイスを実装する方法」を参照してください。このドキュメントでは、 FreeMasterを使用してインターフェイスを実装する方法の例を拡張し、FreeMasterプロジェクトも使用したり、FreeMasterプロジェクトを使用したりすることもできます(このドキュメントのサンプルコードは、他の例の投稿に基づいていることに注意してください)。 使用したソフトウェア/ハードウェア ハードウェアのセットアップ: 使用ボード:FRDM-K64F SDK: SDK_2.x_FRDM-K64F Version 2.8.2 (最新バージョン) ソフトウェアのセットアップ: メインアプリケーション(組み込みアプリケーションとFreeMaster構成)開発:MCUXpresso IDE v11.2.0 FreeMasterデスクトップアプリケーションバージョン:FreeMaster 3.0.2.6 FreeMasterプロジェクトファイルを16進数のデータブロックに変換します まず、プロジェクトファイル(.pmpx)をCヘッダーファイルのデータブロックに変換する必要がありますが、必要なのはプロジェクトファイルを16進数で表現し、それを変数として保存して、FreeMasterが後でTSAメカニズムを使用してメモリマップファイルとしてアクセスできるようにすることです。   これを行うには、bin2hアプリケーションを使用することができます、我々はbin2hでそれを行う方法を説明するつもりですが、あなたはあなたの処分で他の方法を自由に使用することができます。bin2hをダウンロードするには、 次の http://www.deadnode.org/sw/bin2h/ にアクセスしてください。 bin2hプログラムはコマンドラインユーティリティであるため、使用するには任意のコマンドラインインタープリターを開く必要があります(この例では、Windowsコマンドプロンプトを使用します)。コマンドラインインタプリタを開き、bin2hプログラムをダウンロードした方向に移動します(Path環境変数に追加して、どこからでもbin2hにアクセスできるようにすることもできます。https://www.java.com/en/download/help/path.xml)からそれがどのように行われるかを確認できます)。   ここで、bin2h を使用する構文は次のとおりです。   bin2h -flags variable_name< input file > 出力ファイル 入力ファイルはFreeMasterプロジェクトファイルであり、出力ファイルは生成されるCヘッダーファイルの名前であり、変数名はプロジェクトファイルを表す16進数の配列の名前になります(任意の名前にすることができます)。-c フラグを追加して、配列のサイズを持つ変数をアプリケーションに含めるように指示します。 したがって、コマンドラインでは次のように記述します。 これにより、data_example.h が生成されます。example という名前の文字配列を含むファイル: data_example.h含む: ファイルの最後に、配列のサイズ (バイト単位) を持つ別の変数: data_example.h を作成した後ファイルの場合、組み込みアプリケーションのMCUXpressoプロジェクトのソースフォルダに渡す必要があります(このドキュメントでは、https://community.nxp.com/docs/DOC-347236 のプロジェクト例を使用していることを忘れないでください)。 それをコードに実装する TSAは、FreeMasterと共有したい情報とデータを説明するためにテーブルを使用します。FreeMaster プロジェクトのメモリ マップ ファイル (data_example.h ) の説明を含む新しいテーブルを作成する必要がありますファイル)。 アプリケーションのcファイルに、以下を追加します。 /* We include data_example.h in our code */ #include "data_example.h" FMSTR_TSA_TABLE_BEGIN(files_and_links) FMSTR_TSA_MEMFILE("/example.pmpx", example, example_size) /* projects to be made available in FreeMASTER */ FMSTR_TSA_PROJECT("FreeMASTER Project (embedded in device)", "/example.pmpx") FMSTR_TSA_TABLE_END();‍‍‍‍‍‍‍‍‍‍‍‍‍ この例では、テーブルの内容を説明するためにテーブルに files_links という名前を付けましたが、任意の名前にすることができます。FMSTR_TSA_MEMFILEを使用して、ファイルがメモリマップされている変数を示し、引数として、FreeMasterアプリケーションを実行しているときにプロジェクトファイルを参照する名前を取ります(FreeMasterがプロジェクトファイルであることを確認するためにpmpまたはpmpxで終わる必要があります)、メモリマップされたファイルを含む変数、およびその変数のサイズ。   FreeMasterアプリケーションからFreeMasterプロジェクトへのアクセスを容易にするFMSTR_TSA_PROJECT、FreeMasterのウェルカムページからプロジェクトへのハイパーリンクを作成し、ハイパーリンクのテキストとプロジェクトファイルの名前(FMSTR_TSA_MEMFILEで設定したもの)を示す必要があります。ウェルカムページでは次のようになります。 テーブルを作成したら、テーブルリストにテーブルを追加する必要があります(この例では、変数用の別のテーブルがすでにあります)。 FMSTR_TSA_TABLE_LIST_BEGIN() FMSTR_TSA_TABLE(first_table) FMSTR_TSA_TABLE(files_and_links) FMSTR_TSA_TABLE_LIST_END();‍‍‍‍ メモリマップドファイルに対する TSA の使用を示すために、投稿の例を拡張しています FreeMasterを使用してインターフェースを実装する方法FreeMasterを使用してインターフェースを実装する方法 この例では、変数を共有するための TSA テーブルがすでに存在しています。 コードは次のようになります。 float sin_value = 0; float angle_step = 0.0001; FMSTR_TSA_TABLE_BEGIN(first_table) FMSTR_TSA_RW_VAR(sin_value, FMSTR_TSA_FLOAT) FMSTR_TSA_RW_VAR(angle_step, FMSTR_TSA_FLOAT) FMSTR_TSA_TABLE_END(); FMSTR_TSA_TABLE_BEGIN(files_and_links) FMSTR_TSA_MEMFILE("/example.pmpx", example, sizeof(example)) /* projects to be made available in FreeMASTER */ FMSTR_TSA_PROJECT("FreeMASTER Compare Project (embedded in device)", "/example.pmpx") FMSTR_TSA_TABLE_END(); FMSTR_TSA_TABLE_LIST_BEGIN() FMSTR_TSA_TABLE(first_table) FMSTR_TSA_TABLE(files_and_links) FMSTR_TSA_TABLE_LIST_END(); //The rest of our application int main(void) { ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ これが完了すると、コードをコンパイルし、ボードのフラッシュをプログラムして、最終的にボードからFreeMasterプロジェクトを実行できます。 プロジェクトの実行 次に、組み込みアプリケーションからプロジェクトを実行し、最初にFreeMasterソフトウェアを開き、接続ウィザードを使用してボードに接続しましょう。 「オンボードUSBポートへの直接接続を使用する」オプションを使用して、以下を選択します。 その後、ウェルカムページでは、ウェルカムページの「ボードを探索する」セクションの下に新しいボックスボタンが表示されます。 ボタンをクリックするとプロジェクトが開き、オシロスコープや変数グリッドの構成などのFreeMasterツールがFreeMasterメモリマップファイルからインポートされたことがわかります。FreeMaster プロジェクトは、作成時と同じように見えるはずです。 まとめ TSA機能を使用して、FreeMasterにプラグアンドプレイ機能を提供し、プロジェクトファイルをそのコンピューターに渡すことなく、FreeMasterを使用して任意のコンピューターでプロジェクトを実行できるようになりました。また、TSAテーブルでは、仮想ディレクトリ、Web URLハイパーリンク、EEPROMファイル、SDカードファイルなどの組み込みアプリケーションユーザーリソースを共有することもでき、アプリケーションで共有およびデモンストレーションできる内容の可能性が広がります。
查看全文
8 位微控制器的 USB CDC 项目 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 大家好,   我想为飞思卡尔社区贡献一个简单的项目,在这个项目中我通过虚拟 COM(CDC)开发了定制的 USB 通信。 该项目基于 8 位微控制器 - 特别是 MC9S08JS 系列 - 在 CodeWarrior Development Studio 10.3 上运行。 我附加了一个包含两个内部文件的 zip 文件。其中一个是完整的CodeWarrior项目,另一个是USB CDC驱动程序。 文件运行正常,显然它们是完全安全的。用户只需添加自己的例程即可通过端点功能发送和接收数据。   我真的希望它可以帮助某人以更简单、更快捷的方式构建 USB CDC 项目。   顺祝商祺! Mauricio. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 大家好,   我想为飞思卡尔社区贡献一个简单的项目,在这个项目中我通过虚拟 COM(CDC)开发了定制的 USB 通信。 该项目基于 8 位微控制器 - 特别是 MC9S08JS 系列 - 在 CodeWarrior Development Studio 10.3 上运行。 我附加了一个包含两个内部文件的 zip 文件。其中一个是完整的CodeWarrior项目,另一个是USB CDC驱动程序。 文件运行正常,显然它们是完全安全的。用户只需添加自己的例程即可通过端点功能发送和接收数据。   我真的希望它可以帮助某人以更简单、更快捷的方式构建 USB CDC 项目。   顺祝商祺! Mauricio. 概述 回复:8 位微控制器的 USB CDC 项目 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Mauricio, 很高兴您发布了MC9S08JS 的 USB CDC 项目。 我在MC9S08JS16 上成功运行了它,并且能够接收数据。但是,在将数据发送回主机时遇到了一些问题。基本上,它只能正常工作一次,而接收数据仍然正常。 我做错了什么? 这是我的代码的一部分: ...主循环: 为了(;;) {      Check_USBBus_Status(); 如果(CheckEndPointOUT(EP2)) { 端点输出(EP2); 如果(EP2_Buffer[0] == 'X')           { Led_PutVal(ledRed); EP3_Buffer[0] = 'A'; 端点_IN(EP3,1);           }           else Led_PutVal(ledOff);      } } 我确信我可以正确接收字节,因为我可以通过发送“X”字母来打开 LED,并通过发送其他内容来关闭它。 第一次发送“X”后,它会正确地响应“A”,但那是唯一的一个。然后可以打开/关闭 LED,但不再向主机发送回数据。 你能幫我嗎? 提前谢谢! 顺祝商祺! Michal
查看全文
RT1050 FlexIO OV7670 带 TFT LCD 显示屏 RT1050 FlexIO OV7670 带 TFT LCD 显示屏 1 摘要 关于RT10XX flexIO采集OV7670摄像头数据并显示在TFT LCD上,其实NXP官网有一篇很好的应用笔记AN12686 ,但是测试是基于RT1010而不是EVK。实际客户直接测试可能会比较困难。笔者在给客户支持的时候,遇到客户想在RT1050 EVK上实现flexIO来采集并口OV7670的数据,并显示在TFT LCD也就是带SPI接口的LCD上,所以本文给出了具体的成品测试结果,RT1050 flexIO和RT1010 flexIO之间还是有一些区别的。RT1010 flexIO有8个移位器,但RT1050只有4个移位器,因此需要进行一些代码修改并移植到RT1050。由于是要在MIMXRT1050-EVKB上运行,所以还需要考虑可以使用的flexIO引脚,修改EVKB,并手动焊接相关引脚,配置相应的摄像头信号和LCD显示信号。 本文主要来源于客户测试时遇到的问题,因此提供了具体的硬件连接、软件代码分享、测试成品结果等。 2.软件和硬件准备 由于AN12686已经非常详细地给出了原理,本文旨在给出在RT1050-EVKB上工作的区别和具体条件。 2.1 硬件配置 该平台基于MIMXRT1050-EVKB revA1、OV7670模块、2.4寸TFT LCD液晶SPI串行触摸TFT彩屏ILI9321,分辨率为240*320。 关于OV7670模块状态及引脚状态请查看文章: RT1050 CSI OV7670 camera eLCD display 摄像头模块引脚如下: 图1    TFT LCD picture: 图2 Pin No 信号 描述 1 接地 电源地 2 VCC 电源3.3V 3 CLK SPI时钟 4 MOSI SPI数据 5 RES LCD复位 6 DC LCD数据/命令选择引脚 7 黑色 背光控制开关,默认开启背光,低电平关闭背光 8 MISO 触摸数据读取 9 CS1 显示选择引脚 10 CS2 触摸选择引脚 11 PEN 触摸中断信号 对于LCD,本文只使用了显示部分,没有使用毛坯模具部分。 考虑到MIMXRT1050-EVKB的引脚布局,这里没有使用应用笔记中的flexIO1,而是选择了FlexIO2。实际的 RT1050-EVKB 和 OV7670 模块和 LCD 连接引脚如下所示。 LCD信号引脚与MCU MIMXRT1050-EVKB RevA1信号引脚连接如下: LCD信号和引脚 MIMXRT1050-EVKB revA1信号和引脚 接地 P1 接地 J24_7 3.3V VCC P2 3.3v J24_8 CLK P3 GPIO_AD_B1_15(SPI3_CLK) R98 MOSI P4 GPIO_AD_B1_14(SPI3_MOSI) R99 RES P5 GPIO_AD_B0_02(GPIO1_IO02) J24_2 DC P6 GPIO_AD_B1_10(GPIO01_IO26) J23_1 CS1 P9 GPIO_AD_B1_12(GPIO01_IO28) 100 卢比 OV7670信号引脚与MCU MIMXRT1050-EVKB RevA1信号引脚连接情况: 0V7670信号及引脚 MIMXRT1050-EVKB revA1信号和引脚 OV7670_D0 P3 GPIO_B0_05(FLEXIO2_D05) SW5_1 OV7670_D1 P4 GPIO_B0_06(FLEXIO2_D06) SW5.2 OV7670_D2 P5 GPIO_B0_07(FLEXIO2_D07) SW5_3 OV7670_D3 P6 GPIO_B0_08(FLEXIO2_D08) SW5_4 OV7670_D4 P7 GPIO_B0_09(FLEXIO2_D09) SW6_1 OV7670_D5 P8 GPIO_B0_10(FLEXIO2_D10) SW7_1 OV7670_D6 P9 GPIO_B0_11(FLEXIO2_D11) SW6_2 OV7670_D7 P10 GPIO_B0_12(FLEXIO2_D12) SW6_3 时钟信号 P11 GPIO_B0_13(FLEXIO2_D13) SW7_2 PCLK P12 GPIO_B0_14(FLEXIO2_D14) SW6_4 HREF(HS) P13 GPIO_B0_15(FLEXIO2_D15) R258/R324 VSYNC P14 GPIO_AD_B0_03(GPIO01_03) J24_1 I2C_SDA P15 GPIO_AD_B1_01(I2C1_SDA) J23_5 I2C_SCL P16 GPIO_AD_B1_00(I2C1_SCLK) J23_6 密码 P1 GPIO_AD_B1_02(GPIO1_IO18) J22_7 复位 P2 GPIO_AD_B1_03(GPIO1_IO19) J22_8 3.3v 第18页 3.3v J22_7 接地 P17 接地 J22_8 为了减少信号的影响,MIMXRT1050-EVKB移除了板上的R323、R316、R309和D6。 物理连接情况如下: 图3 2.2 软件配置 由于RT1050的flexIO与RT1010的8个移位器不同,因此需要修改DMA配置。flexio_ov7670的差异代码如下: static FLEXIO_CAMERA_Type s_FlexioCameraDevice = { .flexioBase = BOARD_CAMERA_FLEXIO_INST, .datPinStartIdx = BOARD_CAMERA_FLEXIO_DATA_PIN_START_INDEX, .pclkPinIdx = BOARD_CAMERA_FLEXIO_PCLK_PIN_INDEX, .hrefPinIdx = BOARD_CAMERA_FLEXIO_HREF_PIN_INDEX, .shifterStartIdx = 0U, .shifterCount = 4, .timerIdx = 0U, }; static void configDMA(void) { uint32_t soff, smod = 0u, size=0u; while(1u << size < DMA_TRSF_SIZE) /* size = log2(DMA_TRSF_SIZE) */ { size++; } if(DMA_TRSF_SIZE == DMA_MINOR_LOOP_SIZE) { soff = 0u; } else { soff = DMA_TRSF_SIZE; while(1u << smod < DMA_MINOR_LOOP_SIZE) /* smod = log2(DMA_MINOR_LOOP_SIZE) */ { smod++; } } /* Configure DMA TCD */ DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].SADDR = FLEXIO_CAMERA_GetRxBufferAddress(&s_FlexioCameraDevice); DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].SOFF = soff; DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].ATTR = DMA_ATTR_SMOD(smod) | DMA_ATTR_SSIZE(size) | DMA_ATTR_DMOD(0u) | DMA_ATTR_DSIZE(size); DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].NBYTES_MLNO = 16; DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].SLAST = 0u; DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].DADDR = (uint32_t)(*pFlexioCameraFrameBuffer); DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].DOFF = 8; DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].CITER_ELINKNO = DMA_MAJOR_LOOP_SIZE; DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].DLAST_SGA = -OV7670_FRAME_BYTES; DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].CSR = 0u; DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].CSR |= DMA_CSR_DREQ_MASK; DMA0->TCD[FLEXIO_CAMERA_DMA_CHN].BITER_ELINKNO = DMA_MAJOR_LOOP_SIZE; /* Configure DMA MUX Source */ DMAMUX->CHCFG[FLEXIO_CAMERA_DMA_CHN] = DMAMUX->CHCFG[FLEXIO_CAMERA_DMA_CHN] & (~DMAMUX_CHCFG_SOURCE_MASK) | DMAMUX_CHCFG_SOURCE(FLEXIO_CAMERA_DMA_MUX_SRC); /* Enable DMA channel. */ DMAMUX->CHCFG[FLEXIO_CAMERA_DMA_CHN] |= DMAMUX_CHCFG_ENBL_MASK; } 代码结构采用:相机采用flexIO方式采集DMA传输。采集完一帧后,DMA将数据存储到缓冲区中,然后统一在LCD上显示一帧数据。 由于flexIO OV7670和LCD SPI的配置代码很多,这里就不一一讲解了。详情请检查附件的代码源代码。 代码中有一个horsepic.h的头文件。该文件是一张320*240 RGB565的马的图片。用于单独测试LCD显示屏。通常在连接LCD后,需要单独测试LCD显示屏。您可以使用固定的图片来获取显示。,这里是将图片转换成C数组的方法:先将图片调整到LCD分辨率大小,然后通过LVGL在线转换工具进行转换,选择CF_RGB565A8,但是这种格式生成的RGB565会多出1个字节各一个,可以自己删除后,通过代码调用即可: https://lvgl.io/tools/imageconverter 显示马的图片代码: convert8to16(); ILI9341_FillPic(0, 0, OV7670_FRAME_WIDTH-1u, OV7670_FRAME_HEIGHT-1u, (uint16_t *)(horse16)); 显示结果: 图4 3 测试结果及总结 关于RT1050-EVKB,使用flexIO采集OV7670数据,并通过TFT LCD显示情况。具体代码情况请查看视频。检查附加的源代码。从视频结果可以看到,flexIO OV7670摄像头数据可以成功显示,代码可以成功运行该功能。 (在 “我的视频” 中查看) i.MXRT 105x
查看全文
在显示屏上显示二维码并保存为 BMP 文件 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 这是使用 i.MX28 进行二维码编码的示例。编码后的二维码图像可以使用帧缓冲区直接显示在 LCD 显示屏上,并将图像保存为 BMP 文件。 主板:i.MX28EVK BSP:L2.6.35_1.1.0_130130_源 QR Code Lib:  qrencode-3.4.4.tar.gz 从https://fukuchi.org/works/qrencode/下载 Libqrencode 是一个用于对二维码符号中的数据进行编码的 C 库。该库是 Kentaro Fukuchi 制作的免费软件。 将QR Code Lib源代码构建到rootfs中。 1. 在 /dist/lfs-5.1/ 中创建一个新文件夹。 例如 /dist/lfs-5.1/qrencode 2. 将 qrencode.spec 复制到这个新创建的文件夹 3. 构建源代码 ./ltib –p qrencode.spec –m 准备 ./ltib –p qrencode.spec –m scbuild ./ltib –p qrencode.spec –m scdeploy 在 unit_test 中创建并构建应用程序: - 我使用现有的 unit_test 包来构建我的应用程序代码。 1.提取unit_test的源代码    ./ltib –p imx-test –m prep 2. cd /rpm/build/imx-test-2.6.35.3-1.1.0/test 3. mkdir qr_test 4. 将 Makefile 和 qr_test.c 复制到 qr_test 文件夹 5. 构建 unit_test     ./ltib –p imx 测试 –m scbuild ./ltib –p imx-test –m scdeploy 代码编译成功后,在unit_test文件夹中会生成qr_test.out。 我使用 NFS 启动主板,因此我可以直接在主板上运行 qr_test.out。 命令是: ./qr_test.out(默认二维码编码文本为“ http://www.freescale.com” ) 或者像这样输入新文本: ./qr_test.out –t https://community.freescale.com/community/imx 显示屏上显示的二维码: 并且BMP文件将在unit_test文件夹中生成。 i.MX2x Linux
查看全文
LittlevGL 在I.MXRT上的移植说明 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Littlevgl是一款非常优秀的轻量级GUI软件,方便在MCU环境下使用。本文档介绍了如何在I.MXRT环境中进行移植,以及如何在当前SDK中修改LCD分辨率和内存大小。 工业控制
查看全文
[Yocto][mickledore-6.1.55][iMX8MN]Marvell MV88E63930 交换机设备树 Hi Forum, 我提出 Marvell MV88E63930 交换机是为了激发以下讨论: https://lore.kernel.org/all/[email protected]/ 到目前为止,eth0 处于启动状态: [ 2.147362] mdio_bus 30be0000.ethernet-1:00: Fixed dependency cycle(s) with /soc@0/bus@30800000/ethernet@30be0000/mdio/switch@0/vddio-regulator [ 2.160971] fec 30be0000.ethernet eth0: registered PHC device 0 [ 6.601525] mv88e6085 30be0000.ethernet-1:00: <- addr: 0x00 reg: 0x03 val: 0xffff [ 7.005821] fec 30be0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off [ 7.005866] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready 但是,我无法与交换机 CPU 通信来对其进行配置: [ 6.601525] mv88e6085 30be0000.ethernet-1:00: <- addr: 0x00 reg: 0x03 val: 0xffff 在我之前的问题中,尽管发生了内核崩溃,我仍然能够读取交换机中的某些寄存器: https://community.nxp.com/t5/i-MX-Processors/Yocto-mickledore-6-1-55-iMX8MN-Marvell-MV88E63930-driver-crash/mp/1998417 您能帮忙验证我的设备树吗? 设备树和示意图在附件中。 提前感谢! Khang i.MX 8M | i.MX 8M Mini | i.MX 8M Nano 回复:[Yocto][mickledore-6.1.55][iMX8MN]Marvell MV88E63930 交换机设备树 嗨@Zhiming_Liu , 感谢您的支持,但您分享的链接是我之前测试过的,MDIO bitbang 是关于以软件方式使用通用 GPIO 作为 MDC/MDIO。 此外,我能够从硬件方面解决问题,因此我关闭了此票。 问候, K. 回复:[Yocto][mickledore-6.1.55][iMX8MN]Marvell MV88E63930 交换机设备树 Hello, 我在i.MX8MQ平台上找到了关于marvell,mv88exxxxx的其他dts节点。此 dts 节点未注释 mdio 中的时钟频率和抑制前导码。 &fec1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_fec1>; phy-handle = <&phy0>; phy-mode = "rmii"; status = "okay"; mdio { #address-cells = <1>; #size-cells = <0>; clock-frequency = <12500000>; suppress-preamble; status = "okay"; switch: switch@0 { compatible = "marvell,mv88e6085"; pinctrl-0 = <&pinctrl_switch_irq>; pinctrl-names = "default"; reg = <0>; dsa,member = <0 0>; eeprom-length = <512>; interrupt-parent = <&gpio1>; interrupts = <15 IRQ_TYPE_LEVEL_LOW>; interrupt-controller; #interrupt-cells = <2>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; label = "gigabit_proc"; phy-handle = <&switchphy0>; }; port@1 { reg = <1>; label = "netaux"; phy-handle = <&switchphy1>; }; port@2 { reg = <2>; phy-mode = "rev-rmii"; ethernet = <&fec1>; fixed-link { speed = <100>; full-duplex; }; }; port@3 { reg = <3>; label = "netright"; phy-handle = <&switchphy3>; }; port@4 { reg = <4>; label = "netleft"; phy-handle = <&switchphy4>; }; }; mdio { #address-cells = <1>; #size-cells = <0>; switchphy0: switchphy@0 { reg = <0>; interrupt-parent = <&switch>; interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; }; switchphy1: switchphy@1 { reg = <1>; interrupt-parent = <&switch>; interrupts = <1 IRQ_TYPE_LEVEL_HIGH>; }; switchphy2: switchphy@2 { reg = <2>; interrupt-parent = <&switch>; interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; }; switchphy3: switchphy@3 { reg = <3>; interrupt-parent = <&switch>; interrupts = ❤️ IRQ_TYPE_LEVEL_HIGH>; }; switchphy4: switchphy@4 { reg = <4>; interrupt-parent = <&switch>; interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; }; }; }; }; }; 更重要的是,这个 dts : arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi正在使用 MDIO bitbang,你可以尝试 MDIO bitbang 此致, 志明
查看全文
具有多个以太网接口的 LX2160A 定制板上的队列分配限制 硬件: 中央处理器: LX2160A 主板:定制主板,带 16 个 1000BaseX SFP 以太网端口 (DPMAC3-DPMAC18) SerDes1 协议: 4(8x 1G 以太网) SerDes2 协议: 9(8x 1G 以太网) SerDes3 Protocol: 3 (2x PCIe) 软件: 引导加载程序和 Linux 固件基于“LSDK-21.08”分支 MC 固件版本:v10.39.0 我们附加了一张图表来说明我们的 DPL 配置,以及使用命令 restool dprc generate-dpl dprc.1 获得的 DPL DTS 文件,用于每个接口有 12 个队列的设置。 问题描述: 我们可以成功地为 16 个接口(DPMAC3-DPMAC18)中的每一个分配 8 个队列(1 个流量类别),没有任何问题。但是,当尝试为每个接口分配 12 个队列(1 个流量类别)时,我们在 MC 日志中收到以下错误消息: [E,allocate_resource:1114] DCP-8WQ 的 resman_bind() 失败 [E,allocate_channel_resources:168,DPCON]忽略以上错误消息,继续8WQ通道分配...   尽管存在这些错误,但所有端口似乎都正常工作。 问题: 每个接口有 12 个队列,使用此配置是否安全,或者错误消息是否表明存在潜在问题? 如果有问题,您能建议解决方法吗? 当尝试分配更多队列(每个接口 14 或 16 个)时,我们遇到“无资源”错误,导致无法创建某些接口: root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.18 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.17 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.16 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.15 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.14 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.13 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.12 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.11 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.10 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.9 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.8 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.7 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.6 root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.5 MC 错误:无资源(状态 0x8) 错误:未创建 dpcon 对象! root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.4 MC 错误:无资源(状态 0x8) 错误:未创建 dpcon 对象! root@TinyLinux:~# ls-addni -nq=16 -t=1 dpmac.3 MC 错误:无资源(状态 0x8) 错误:未创建 dpcon 对象! 进一步的问题: 我们能为所有 16 个接口分配的最大队列数是多少? 队列分配是否有特定的限制,是否可以增加此限制以便为每个接口分配更多队列? 回复:LX2160A 定制板(带多个以太网接口)的队列分配限制 对于这种情况,建议按如下方式修改 DPC DTS, -wq_ch_conversion = <32>; + wq_ch_conversion = <64>; 请参阅 LSDKUG2108.pdf 中本节 8.3.2.3.3.1 DPAA2 对象依赖关系中的以下注释。 请注意,DPIO 对象本身透明地消耗 DPCON(一个 每个 DPIO 对象),因此必须从总数中减去 DPNI 可用的数量(无需在 DPL,但它们对于系统的其余部分来说根本不可用)。 该系统可提供最多 64 个 8-WQ DPCON(以及最多 256 个 2-WQ DPCON 及其组合)。 回复:LX2160A 定制板(带多个以太网接口)的队列分配限制
查看全文
CodeWarrior for ColdFire:アセンブラガイド <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> CodeWarrior IDEには、特定のプロセッサをサポートするアセンブラが含まれていることをご存知ですか? まあ、それはそうです、そしてあなたにとって、codewarriorプログラマー、これは優れたコードを開発するための多くのクールなツールの1つです!   今日、私は このマニュアル を見つけました。このマニュアルは、これらのアセンブラに対応するアセンブリ言語の構文とIDE設定、この場合はCodeWarriorアセンブラが使用するアセンブリ言語ステートメントの構文を説明しています。   これらの説明は、単純なステートメントだけでなく、マクロやディレクティブも含まれています。   「おい、すべてのアセンブラが同じ基本的なアセンブリ言語構文を共有しているんだ!」と思うかもしれません。 私はそれを主張するつもりはありません、それは本当ですが、命令ニーモニックとレジスタ名はターゲットプロセッサごとに異なります。   このマニュアルを最大限に活用するには、アセンブリ言語とターゲットプロセッサに精通している必要があるため、この低レベルのプログラミングスタイル全体を始めることを ことをお勧めします。   特に明記されていない限り、このマニュアルのすべての情報はすべてのアセンブラに適用されます。   CodeWarrior Development Studio for Microcontrollers V10.x ColdFire Assembler リファレンス・マニュアル 全般
查看全文
PowerQUICC ウィキ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセクションは基本的に、お客様から設計者まで、すべてのPowerQUICCプロセッサユーザーがPowerQUICCプロセッサ製品に関連して最も頻繁に発生する質問に対して最適なソリューションを提供できるようにするために作成されています。 DDR3、イーサネット(eTSEC)、ブート、USB、ハードウェアスペック/リファレンスマニュアルなどのトピックについて、最も一般的に遭遇する質問への回答を得るために、さまざまな製品に関するFAQを自由に閲覧してください。これらのページを構築し続ける方法について、コメントを1つか2つドロップしてください。また、FAQまたはFAQセクション全体に追加すべきだと思うものについて、ご意見をお気軽にお寄せください。私たちは、コミュニティが互いに助け合いながら成長し、難しい問題や質問に対する実践的な解決策を提供することで設計時間を短縮することを目指しています。                                                                                                                                                                        MPC8306/MPC8306S FAQs MPC8306/MPC8306S クロッキング固有の FAQ MPC8306/MPC8306S ハードウェア仕様/リファレンスマニュアル 各FAQ MPC8306/MPC8306S QUICC エンジン固有の FAQ MPC8308 FAQs MPC8308 クロッキング固有の FAQ MPC8308 DDR 固有の FAQ MPC8308 PCIe 固有の FAQ MPC8360 FAQs MPC8360クロッキング固有のFAQ MPC8360 DDR 固有の FAQ MPC8535 FAQs MPC8535クロッキング固有のFAQ MPC8535 DDR 固有の FAQ MPC8535 eSDHC固有のFAQ MPC8535 ハードウェア仕様/リファレンスマニュアル 各FAQ MPC8536 FAQs MPC8536 クロッキング固有の FAQ MPC8536 DDR 固有の FAQ MPC8536 eSDHC固有のFAQ MPC8536 ハードウェア仕様/リファレンスマニュアル 各FAQ MPC8541 FAQs MPC8541 クロッキング固有の FAQ MPC8541 DDR 固有の FAQ MPC8541 eSDHC固有のFAQ MPC8541イーサネット(eTSEC)固有のFAQ MPC8541 ハードウェア仕様/リファレンスマニュアル 各FAQ MPC8541 PCIe固有のFAQ MPC8541 電源管理固有の FAQ MPC8543 FAQs MPC8543/MPC8545/MPC8547/MPC8548 GPIO固有のFAQ MPC8543/MPC8545/MPC8547/MPC8548 ハードウェア仕様/リファレンスマニュアル 固有のFAQ MPC8567/MPC8568 FAQs MPC8567/MPC8568 ハードウェア仕様/リファレンスマニュアル 各FAQ
查看全文
RD1986MMA6260Q:3軸加速度センシングTRIAXボード Overview 特長 設計・リソース Overview TRIAXデモボードは、加速度計アプリケーションで利用可能な多くのデモを組み合わせて構築されています。TRIAXデモボードでは、当社の加速度計がさまざまな業界のアプリケーションにどのように機能を追加できるかを確認できます。加速度計のアプリケーションを、実行される測定の観点から考えると、加速度計のアプリケーションを傾斜、モーション、ポジショニング、衝撃、振動の5つのセンシング機能に分類できます。 RD1986MMA6260Qリファレンスデザインは、MMA6260Q(x 軸と y 軸のデバイス)と MMA1260D z 軸加速度センサーを使用して実現される 2 つの加速度センサー・ソリューションです。 アーカイブされたコンテンツは更新されません。過去の記述であることをご了承ください。   特長 加速度計:MMA6260Q、MMA1260D パッケージ: クワッド フラット ノーリード (QFN) 6x6x1.98m および SOIC 16 G範囲:+/- 1.5 G 感度:1200 mV / G マイクロプロセッサ:MC68HC908KX8 民生用加速度計のアプリケーションを実証 高性能M68HC08アーキテクチャ 外部クロックソースまたは外部水晶/セラミック共振器の使用を許可するオプション SCIインターフェース ユーザー入力:プッシュボタン1個 出力:ピエゾーム、シリアルポート接続 設計・リソース
查看全文
CodeWarrior用イーサネットTAPプローブ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> CodeWarriorイーサネットTAPプローブは、多数のプロセッサとマイクロコントローラの開発とデバッグを支援するツールです。   イーサネットTAPプローブは、高度なエミュレーション技術を使用して、ターゲットシステムの制御と可視性を提供します。ホスト デバッガーと組み合わせると、ターゲット システムの状態を対話形式で制御および調査できるため、デバッグ プロセスが高速化されます。   イーサネットTAPプローブには、次の機能があります。 • PowerPC™ プロセッサ、StarCore プロセッサ、ColdFire® プロセッサ、56800 ハイブリッド コントローラ (プロセッサおよびマイクロコントローラー)、ARM® プロセッサ、RCF ベースバンド コントローラーのシステムをサポートします。(すべての製品は フリースケール のWebページを参照しています! •すべてのCPUコア速度をサポートします。 • ターゲット内で実行されているソフトウェアを制御およびデバッグでき、ターゲットシステムの動作への侵入を最小限に抑えます。 • キャッシュ、ROM、RAM、フラッシュメモリ内のコードをデバッグできます。 • 高いパフォーマンスを提供します。 – スプリット セカンド シングル ステップ実行。 – ホストからターゲット システムへの毎分 12 MB を超えるダウンロード速度が可能   ...そして、もっとたくさんあります!今すぐアップデートしてください!!       全般
查看全文
HOWTO: S32 RTD No AUTOSAR を使用して S32R41 の点滅 LED アプリケーション プロジェクトを作成する このドキュメントでは、S32 RTD 非 AUTOSAR ドライバーを使用して S32R41 デバイス用の簡単な点滅 LED アプリケーションを作成する手順を順を追って説明します。この例では、S32R41 EVB に使用し、S32 デバッガーを介してイーサネット接続で接続します。 準備 ソフトウェア ツールをセットアップする S32 プラットフォーム用 S32 Design Studio をインストールする S32R41 開発パッケージと S32R41 RTD AUTOSAR 4.4 をインストールします。これらは両方とも S32 構成ツールに必要です。 S32 Design Studio for S32 Platform を起動する 手順 新規 S32DS プロジェクト または プロジェクトの名前 ('Blinking_LED_RTD_No_AUTOSAR' など) を指定します。名前はスペース文字を入れずに入力する必要があります。 S32R41ファミリを展開し、Cortex-M7 S32R418AB選択 クリック 次に 次に、他のコア、つまりCortex-M7-1の選択マークのチェックを外します そして、「...」をクリックします。SDKの横にあるボタン PlatformSDK_SAF85_S32R41_2022_08_S32R418AB _M7_0の横にあるチェックボックスをオンにします。(またはS32R41の最新のSDKがインストールされている方)。クリック わかりました 「Finish」をクリックします。プロジェクト生成ウィザードが完了するまで待機し、Project Explorer ビューでプロジェクトを展開して内容を表示します。 ボード上の LED を制御するには、Pins ツール内で設定を行う必要があります。これを行う方法はいくつかあります。簡単な方法の 1 つは、MEX ファイルをダブルクリックすることです。 S32R41 EVBの回路図では、ユーザーLEDの信号線を確認するために、チャンネル4がユーザーLED信号に接続されているため、チップ上のユーザーLEDの信号線にはチャンネル4を使用しています。そこで、S32R41 EVBに接続されているLEDのDioチャネルId4の信号線を選択します。 [Peripheral Signals] タブの左側から [Pins (ピン)] ツールのパースペクティブ レイアウトで、[Peripheral Signals] タブから [Open the Siul2_0] を見つけます。また、次の画像に示すように、ドロップダウンメニューから「gpio,36 PC_04」オプションを選択します。 GPIOの使用にはPC_04を使用しているため、GPIO信号をこのピンSIUL2_0ルーティングしています。 方向を指定する必要があります。メニューが表示されます。[出力] を選択して [OK] をクリックします。 Routing Details ビューに新しい行が追加され、黄色でハイライト表示されていることを確認します。 PC_04 ピンの [ラベル] 列と [識別子] 列に [LED] を追加します。 コード プレビュー [周辺機器]ツールに移動し、LEDの点滅を有効にするSiul2_Dioを追加し、S32R41EVBの青色LEDに隣接します。 Eclipse パースペクティブ ナビゲーション バーから Peripherals Tool アイコンをクリックします。 Components ビューで、Drivers カテゴリの[Add a new configuration component…]ボタンをクリックします。これにより、すべての構成コンポーネントのリストが表示されます。 リストから[Siul2_Dio]コンポーネントを選択し、[OK]をクリックします。警告メッセージは無視してかまいません。これは、ドライバーが現在のプロジェクトにまだ含まれていないことを示しているだけです。関連するドライバー パッケージは自動的に追加されます。注: 先頭の選択項目を[Present in the tool-chain project]から[All]に変更する必要がある場合があります。 DIO ドライバーは、DIO チャネルへの読み取りおよび書き込みサービスを提供します。 また、[Siul2_Port]タブを選択し、以下のように[Siul2 IPポート開発エラー検出]オプションのチェックマークを外します。 Gpio_Dio ドライバーに追加の設定は必要ありません。Save をクリックして、.MEX ファイルにすべての変更を保存します。 デバイスの設定が完了したので、RTD の構成コードを生成できます。メニューバーから「Update Code」をクリックします。 先ほど設定した出力ピンを制御するためのアプリケーション コードを記述します。[C/C++]パースペクティブに戻ります。 まだ開いていない場合は、プロジェクトウィンドウで「src」フォルダの横にある「>」をクリックして内容を表示し、「main.c」をダブルクリックしますファイルを開いて開きます。ここにアプリケーションコードが追加されます。 ピンを制御する前に、S32 コンフィギュレーション ツールから生成されたコンフィギュレーション情報を使用してピンを初期化する必要があります。次の行を追加して、Port ドライバーを使用してすべてのピンを初期化します: 次の行を main に挿入します。コメント 'Write your code here'' の後に、次の行を挿入します。 /* ポートドライバを使用してすべてのピンを初期化します */ Siul2_Port_Ip_Init(NUM_OF_CONFIGURED_PINS0、g_pin_mux_InitConfigArr0); 次に、LEDの点灯と消灯のロジックを追加します。ピンのオンとオフを切り替え、その間に遅延を挟んでLEDを点滅させます。遅延は、認識できる程度に長くします。 変数を初期化する行を追加 uint8 i = 0; 指定された for ループ内のコードを変更し、次の行を追加します。 /* LEDを10回点滅させるロジック for (i=0; i<10; i++) { Siul2_Dio_Ip_WritePin(LED_PORT、LED_PIN、1U); レベル = Siul2_Dio_Ip_ReadPin(LED_PORT, LED_PIN); テスト遅延(2000000); Siul2_Dio_Ip_WritePin(LED_PORT, LED_PIN, 0U); レベル = Siul2_Dio_Ip_ReadPin(LED_PORT, LED_PIN); テスト遅延(2000000); } 帰る (0U); そして、この行をmain()関数の上に追加して、変数を初期化します 揮発性 uint8 レベル; 'main' 関数の前に、次のような遅延関数を追加します。 無効 TestDelay(uint32 遅延); 無効 TestDelay(uint32 遅延) {    静的な揮発性 uint32 DelayTimer = 0;    while (DelayTimer<遅延) { 遅延タイマー++; } 遅延タイマー=0; } main.c の先頭にあるインクルード行を更新しますアプリケーションで使用されるドライバーのヘッダーを含めるファイル: 取り去る #include 「Mcal.h」 足す #include 「Siul2_Port_Ip.h」 #include 「Siul2_Dio_Ip.h」 『Blinking_LED_RTD_No_AUTOSAR』をビルドします。[C/C++ Projects]ビューでプロジェクト名を選択し、[Build]をクリックします。 ビルドが完了したら、エラーがないことを確認します。 Debug Configurations を開き、[Blinking_LED_RTD_No_AUTOSAR_Debug_RAM]を選択します。必ず、実行したビルド タイプに対応する構成を選択してください。ビルド出力が存在しない場合はエラーが報告されることがあります。 ここで、S32 Debug Probe が接続されているインターフェース(Ethernet または USB)を選択してください。 USB をインターフェースに選択した場合、COM ポートは自動的に検出されます(まれに 2 台以上の S32 Debug Probe が USB 経由でホスト PC に接続されている場合は、EVB に接続されているプローブに対応する COM ポートを手動で選択する必要があります)。 Ethernet 経由で接続している場合は、プローブの IP アドレスを入力してください。IP アドレスの確認方法については、S32 Debug Probe ユーザー マニュアルを参照してください。 [デバッグ] をクリックします LEDが点滅するのを確認するには、「再開」をクリックします。 このコードは、そのままではLEDが10回点滅しますが、ループ条件を変更して無限に点滅させることができます。
查看全文
フラッシュで特定のアドレスに変数を配置する方法は? Hello, フラッシュで特定のアドレスに変数を配置したいです。チップはS32K312で、S32DSを使用しています。 S32DSでは_at_コマンドが有効ですか?それをどのように行うのですか? ご清聴ありがとうございました! Re:フラッシュで特定のアドレスに変数を配置する方法は? ありがとうございました! Re:フラッシュで特定のアドレスに変数を配置する方法は? Hi@yangbo1 「属性」というキーワードを使用して、特定のアドレスに変数または関数を配置できます。 https://community.nxp.com/t5/S32-Design-Studio-Knowledge-Base/HOWTO-Run-a-routine-from-RAM-in-S32-Design-Studio/ta-p/1113336
查看全文
フリースケールMQX™ 4.0.2.2パッチ・リリース <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、皆さん。 新しいFreescale MQX™ 4.0.2.2パッチ・リリースが www.freescale.com で利用可能になりました。 ・         利用可能なファイル # 名称 形容 1 Freescale MQX RTOS 4.0.2.2 パッチ このパッチ・リリースは、MQX™ RTOS 4.0.2リリースに基づいており、リリース・バージョンで特定されたソフトウェアの問題に対する解決策を提供します。このパッチ リリースは、すべての BSP に適用されます。 ・         パッチの説明 このパッチは、MQX 4.0.2で特定された以下の問題に対するソフトウェア回避策を提供します解放: o   ENGR00278434 §  Vybrid ARM Cortex-A5®: タスクがブロックされると、float コンテキストが正しく保存されません。 §  影響を受けるBSP:TWR-VF65GS10、AutoEVB Vybrid o   ENGR00273581 §  メモリ割り当ての問題は、システムのメモリが不足しているときに発生します。 §  影響を受けるすべてのBSP o   ENGR00276466 §  イベントは、追加された直後にトリガーされることがあります。 §  影響を受けるすべてのBSP o   ENGR00279275 §  Dellルーター経由のRTCS接続障害 §  影響を受けるすべてのBSP ・         既知の問題 o   既知の問題と制限事項については、リリースノートのドキュメントを参照してください。
查看全文
i.MX31ADS编译Uboot <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 首先下载并安装imx31_ads_20071008-rel5b-ltib.iso。 下载并解压 u-boot-1.3.3.tar.bz2。 将工具链放在 PATH 上: $导出路径=“$PATH:/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/” 将 CROSS_COMPILE 名称导出到 U-Boot $导出CROSS_COMPILE=arm-none-linux-gnueabi- 进入u-boot-1.3.3目录。 为 i.MX31ADS 板创建配置: $ make mx31ads_config 将 U-Boot 编译到选定的主板: $ make 如果编译顺利,您将在当前目录中看到 u-boot.bin。
查看全文
如何支持i.MX6 CSI的RGB565门控模式输入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 这几天帮一个客户启用LVDS功能。片内外部LVDS与i.MX6 CSI之间的数据格式为RGB565,提供HSYNC、VSYNC信号。因此我们对 i.MX6 CSI 采用门控模式配置。 客户环境:i.MX6 D + Linux LTIB 4.0.0BSP 默认情况下,Linux LTIB 4.0.0 不支持 RGB565 门控模式V4L2 捕获驱动程序,这里总结了我们需要对驱动程序进行哪些更改以支持 RGB565 门控模式。 请应用附加的补丁“0001-ENGR00262270-IPU3-Basic-16-bit-generic-data-support.patch”。通过此补丁,ipu3 驱动程序可以支持 IPU_PIX_FMT_GENERIC_16。 对于 V4L2 捕获设置,文件 linux-3.0.35/drivers/media/video/mxc/capture/mxc_v4l2_capture.c,函数mxc_v4l2_s_fmt(),添加如下代码段: 开关(f->fmt.pix.pixelformat){                  ............................................................................ 案例 V4L2_PIX_FMT_SGRBG8: 尺寸 = f->fmt.pix.宽度 * f->fmt.pix.高度 * 2;                           bytesperline = f->fmt.pix.width * 2;                           break; 默认:                           break; }        对于文件linux-3.0.35/drivers/media/video/mxc/capture/ipu_csi_enc.c,函数csi_enc_setup(),请添加代码段: 否则,如果(cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_SGRBG8)                            pixel_fmt = IPU_PIX_FMT_GENERIC_16; 通过上述修改,可以为CSI IDMAC通道设置IPU_PIX_FMT_GENERIC_16。 对于传感器驱动程序,请将像素格式设置为IPU_PIX_FMT_GENERIC_16 不要忘记在文件 linux-3.0.35/drivers/media/video/capture/mxc_v4l2_capture.c 中将 CSI 参数设置为 GATED MODE 和 16 位数据,函数mxc_v4l2_s_param                 csi_param.clk_mode = IPU_CSI_CLK_MODE_GATED_CLK;                 csi_param.data_width = IPU_CSI_DATA_WIDTH_16; 请确保选择CSI->MEM IDMAC通道 关键点在于,对于CSI RGB565门控模式支持,IDMAC通道的像素格式应设置为GENERIC 16,而对于CSI端口配置,像素格式为BAYER模式。 回复:如何支持i.mx6 CSI的RGB565门控模式输入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 与那些与 Hyeran 和我一样遇到同样问题的人分享我的经验,如下所示: 1. 将 mfw_v4lsrc 元素默认颜色格式从 V4L2_PIX_FMT_YUV420 更改为 V4L2_PIX_FMT_SGRBG8 2. 将 mfw_v4lsrc 元素默认大小写从 video/x-raw-yuv 更改为 video/x-raw-rgb,默认 fourcc 代码从 'I' '4' '2' '0' 更改为 'R' 'G' 'B' 'P' 3. 完成这些更改后,运行管道以显示在屏幕上,如下所示: gst启动mfw_v4lsrc设备=/dev/video0捕获模式=4!mfw_v4lsink 设备=/dev/video16 同步=false 谢谢您! 回复:如何支持i.mx6 CSI的RGB565门控模式输入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Hyeran & huang: 我遇到了和你类似的问题,我运行 gstreamer 管道来获取捕获结果并显示在屏幕上,管道如下: gst启动mfw_v4lsrc设备=/dev/video0捕获模式=4!mfw_v4lsink 设备=/dev/video16 同步=false 您能给我一些关于如何修复它的建议吗?谢谢 回复:如何支持i.mx6 CSI的RGB565门控模式输入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Hyeran. 你的问题解决了吗? 回复:如何支持i.mx6 CSI的RGB565门控模式输入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 亲爱的朱骏。 我的环境是“i.MX 6D + ov5642并行摄像头” 我应用了您的上述修改,包括补丁。 但叠加预览图像不正常。它的预览图像确实是绿色的(当然,我可以看到轮廓)并且有 4 帧而不是 1 帧。(和滚动) 还有什么地方需要修改吗? 并且,我对您的修改还有其他问题。 对于传感器驱动程序,您提到的是将像素格式更改为IPU_PIX_FMT_GENERC_16。以我拙见,它应该是 V4L2_PIX_FMT_SGRBG8,而不是 IPU_PIX_FMT_GENERIC_16。 请分享您的意见。 谢谢! BRs。 jessie.lee
查看全文
i.MX6 sabre SDプラットフォーム上のbusyboxをいくつかのコマンドで <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ここでは、i.MX6 sabre sdプラットフォーム用の BusyBoxを使用して、最小限のルートファイルシステムをかなり迅速に生成する方法を示します。 このドキュメントは、すでにプラットフォーム上で Linux カーネルを起動できることを前提としています。その方法の詳細については、 この投稿 を参照してください。これは 、ARMクロスコンパイラ(Debian + Emdebianなど)が手元にある「動作する」Linux開発環境がすでにある ことを意味します 。 busybox は非常に小さいため、メインのルートファイルシステムとしてRAMディスクを使用します。 busybox のソースを取得する git を使用して busybox のソースを取得します。   $ git clone git://git.busybox.net/busybox これにより、 すべての最新のソースを含む busybox ディレクトリが作成されます。 安定性を高めるために、最新バージョンの代わりにリリースをチェックアウトする場合もあることに注意してください。そのためには、利用可能なリリースタグを git tag -l や git checkout などでリストアップします。 コンパイル あなたのクロスコンパイラが例えばarm-linux-gnueabihf-gccの場合、次のようにしてコンパイルできます。 $ cd busybox $ export ARCH=arm $ export CROSS_COMPILE=arm-linux-gnueabihf-   $ make defconfig $ sed -i.orig 's/^#.*CONFIG_STATIC.*/CONFIG_STATIC=y/'.configの $作る $ make install これにより、バイナリとリンクを含む _install フォルダ階層が作成されます。静的バイナリのビルドを sed コマンドで強制することに注意してください。 ルートファイルシステムの設定 _installフォルダを最小ファイルシステムと呼ぶ前に、さらにいくつかの構成を追加する必要があります。 フォルダをいくつか作成する いくつかのマウントポイントとフォルダを作成する必要があります。 $ mkdir _install/dev   $ mkdir _install/proc   $ mkdir _install/sys $ mkdir -p _install/etc/init.d 設定ファイルとスクリプトを追加 次の内容で、メインの init 設定ファイル _install/etc/inittab を準備する必要があります。   ::sysinit:/etc/init.d/rcS   ::askfirst:/bin/sh   ::ctrlaltdel:/sbin/reboot   ::shutdown:/sbin/swapoff -a   ::shutdown:/bin/umount -a -r   ::restart:/sbin/init これは、 inittab ファイルがない場合の busybox init のデフォルトの動作に非常に近いです。tty が欠落しているという警告を抑制するだけです。 利便性のために、起動時にいくつかのファイルシステムをマウントするための設定を追加する必要があります。これは、以下を含む _install/etc/fstab ファイルを使用して行われます。   proc     /proc proc     defaults 0 0 sysfs /sys sysfs デフォルト 0 0   devtmpfs /dev  devtmpfs defaults 0 0 また、実際に _install/etc/init.d/rcS でマウントをトリガーする必要がありますスクリプトは、 inittab から呼び出されます。次のものが含まれている必要があります。 #!/bin/sh マウント-a そして、それを実行可能にする必要があります。 $ chmod +x _install/etc/init.d/rcS RAM ディスクの内容を生成する ルートファイルシステムの内容を調整したので、次のコマンドを使用して u-boot の busybox RAMディスクイメージを生成できます。   $ (cd _install ; find |cpio -o -H newc |gzip -c > ../initramfs.cpio.gz)   $ mkimage -A arm -T ramdisk -d initramfs.cpio.gz uInitrd これにより、 u-boot に適した uInitrd ファイルが作成されます。 ブートスクリプトを準備する デフォルトの u-boot コマンドはシステムを起動するのに十分ではないため、次の内容で boot.txt ファイルを編集する必要があります。   run loaduimage loadfdt を実行します   setenv rdaddr 0x13000000   fatload mmc ${mmcdev}:$mmcpart $rdaddr uInitrd   setenv bootargs console=${console},${baudrate} rdinit=/sbin/init   bootm $loadaddr $rdaddr $fdt_addr 次に、 u-boot でロードできる boot.scr スクリプトを生成します。 $ mkimage -A arm -T スクリプト -d boot.txt boot.scr SDカードに入れる この投稿 で説明されているように、 u-boot と Linux を使用してSDカードを準備したと仮定すると、カーネルとdtbを含むカードには単一のFATパーティションがあります。ブートスクリプトとRAMディスクイメージを一緒にコピーする必要があります。   $ mount /dev/ /mnt   $ cp uInitrd boot.scr /mnt/ $ umount /mnt SDカードの最初のパーティションは、通常 、/dev/sd 1 または /dev/mmcblk p1 にあります 。コマンドを成功させるには SD カードへの書き込み権限が必要なため、 ユーザーに権限を付与するには、 su - を root として実行するか、 sudo を使用するか、 SD カードデバイスノードで root として chmod a+w を実行する 必要があることに注意してください。 ブート! SDカードを起動する準備ができました。i.MX6 sabre sdプラットフォームのSDカードスロットに挿入し、シリアル端子を115200ボー、パリティなし、8ビットデータに設定したUSBからUARTポートに接続し、プラットフォームの電源を入れます。Y busybox システムはプロンプトで起動するはずです。   ... 未使用のカーネルメモリの解放: 292K (806d5000 - 8071e000) Enter キーを押して、このコンソールをアクティブにしてください。 Enterキーを押した後、ターゲット上には機能 的なbusybox シェルがあるはずです。 お楽しみください! 関連項目... より機能的なルートファイルシステムとしては、 この記事で説明しているように、2つ目のSDカードパーティションでDebianファイルシステムを試してみるか、 Buildrootでファイルシステムを生成するとよいでしょう。 busybox を頻繁にコンパイルする予定がある場合は、C コンパイラのキャッシュを使用することをお勧めします。こちらの記事をご覧ください。 i.MX6_All i.MX6DL i.MX6Dual i.MX6Quad i.MX6S Linux
查看全文