Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
IDcode.tclとScanboardの使用 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Scanboard は、IDcode.tcl スクリプト内の tcl proc であり、基本的な JTAG 接続のクイック サニティ チェックとして使用できます。このルーチンは、スキャンチェーン上のデバイスのJTAG IDコードを返し、それらが既知のFreescaleデバイスである場合(スクリプトが最後に更新された時点)、CodeWarriorプロジェクト構成のコアインデックスも表示されます。IDcode.tclはCodeWarriorのインストール中に自動的に含まれますが、更新が利用可能な場合があります。   このスクリプトは、CodeWarrior IDE自体ではなく、CodeWarrior接続サーバ(CCS)内で実行されます。ccsは、CodeWarriorデバッガがTAPハードウェアと通信する経路です。CCS はスタンドアロンでも使用できますが、これはサポートされているモードではなく、その使用については文書化されていません。   Windowsマシンでは、使用したいCodeWarriorインストールの「スタート」メニューからccsを起動します。   つまり、Freescale CodeWarrior →CW for Power Architecture v10.2.1→ CodeWarrior Connection Server→すべてのプログラム→の起動   CCSはタスクバーにアイコン化されて起動するので、アイコンをダブルクリックしてccsコンソールウィンドウを表示します   Linuxマシンでは、CodeWarriorインストールディレクトリ($CW_INSTALLDIR)/PA/ccs/bin/ccs内のccs実行可能ファイルの場所から手動でccsを起動します   つまり、/usr/local/Freescale/CodeWarrior_PA_10.2.1/PA/ccs/bin/ccs CCS コンソールが使用可能になったら、source コマンドを使用して IDcode.tcl ファイルを tcl 環境に取り込む必要があります。Linuxシステムでは、ファイル名の大文字と小文字が区別されることに注意してください。   % ソースIDコード.TCL   このスクリプトは、ホスト システムを自動的にクエリして、リモート接続に使用できる USB 経由で接続された使用可能な CodeWarriorTAP または USBTAP デバイスがあるかどうかを判断します。ターゲット・システムに接続されている接続オプションを指定します。たとえば、接続をネットワーク上のCodeWarriorTAPとして構成するには、2を選択し、IPアドレスまたはCodeWarriorTAP名(ホストテーブル内にあるかDNSテーブル内にある場合)を入力します。   また、.../ccs/bin ディレクトリ内にある DefinedCCSConnections.tcl を使用して、カスタムリモート接続を事前に定義することもできます。詳細については、このファイルを参照してください。 リモート接続が指定されると、スクリプトは自動的にスキャンボード プロセスを実行し、JTAG スキャンチェーンで使用可能な IDcode を読み戻そうとします。     この例では、CodeWarriorTAP は T4240 プロセッサを搭載したシステムに接続されており、このデバイスの IDcode が表示されています。スキャンチェーン上に複数のプロセッサが使用可能であった場合、各デバイスは識別され、表示されていたでしょう。 全般
記事全体を表示
ビデオ - クラウド開発チュートリアル 6/6: リモート構成サポートの追加 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> MQX用iDigiコネクタのチュートリアル6/6: リモート設定サポートの追加(6/6) - iDigi Device Cloud 詳細と無料ダウンロードは http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KINETIS_IDIGI_M2M
記事全体を表示
例MPC5748GスタンバイモードGHS614 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 詳細説明: * *タイマーでウェイクアップするようにデバイスSTM_0構成します。 *DRUNからスタンバイモードに入るようにデバイスを構成します * STM_0によってデバイスがウェイクアップされると、デバイスは再スターリングされます ※登録MC_MEにエントリーポイントのアドレスを記入しました。CADDR[1]。R * ------------------------------------------------------------------------------ ※テストHW:MPC574XG-324DS Rev.A + MPC574XG-MB Rev.C ※MCU:PPC5748GMMN6A 1N81M * fsys:デフォルト * Debugger:        Lauterbach Trace32 * 対象:internal_FLASH ******************************************************************************** 全般
記事全体を表示
ビデオ - クラウド対応マルチディスプレイ大量輸送デモ on i.MX <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> これらのビデオでは、HD乗客情報ディスプレイ、PCAPタッチ対応ドライバ制御ディスプレイ、およびmobildeデバイス(Androidフォン)の統合を備えたフリースケールのi.MX5xプラットフォーム上に構築された、完全にクラウド対応で位置認識型の大量輸送デモのアプリケーション例を示しています。 このデモでは、Android が開発サイクルを大幅に短縮し、市場投入までの時間を短縮する可能性を示しています。このデモは、Digi ConnectCore i.MX53システム・オン・モジュール・ソリューションに基づいており、当社のAndroid用組み込みアプリケーション開発キット(Gingerbread)を使用して構築されました。 Digi International - Design West (ESC) 2012 - YouTube - Design WestでのARMビデオインタビューによる旅客バスのスマートテック Androidバスデモ - YouTube - 公式のDigiビデオの概要 199ドル の特別なi.MX53 Android開発キットのオファーなど、追加情報については www.digiembedded.com をご覧ください。 --- VDC Research Awards、Embedded World 2012でDigi Best of Showを受賞(iDigi Device搭載Androidアプリケーション開発キット) 全般
記事全体を表示
例 MPC5777C BookE スタートアップ (VLE) - S32DS Pover v2.1 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 例には、BookE 専用モードで実行できるように変更されたスタートアップ コードが含まれています。GNU gccの場合、プロジェクトのプロパティに-mno-vleパラメータを追加する必要があるため、次のようにします。 PE Microでデバッグするには、詳細オプションで変更された初期化スクリプトを使用する必要があります。 STD C BookEのみのライブラリはご利用いただけませんのでご注意ください。
記事全体を表示
How to understand the "multiple reset functions" of the i.MX6Q ESAI module <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [Chinese translation] See attachment   Original link: https://community.nxp.com/docs/DOC-342833 i.MX6_All i.MX6DL i.MX6Dual i.MX6DualPlus6QuadPlus i.MX6Quad i.MX6S i.MX6SL i.MX6SoloX i.MX6UL
記事全体を表示
i.MX 8M-Mini QSPI 在 EVK Rev C 上启动 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 摘要: i.MX 8M-Mini 可以使用专用启动映像从 QSPI 闪存启动。 自 2019 年 2 月起,EVK 板硬件用户指南 Rev 0 中未正确记录启动配置设置。 在 BSP 文档 4.14.98 中的文档i.MX_Linux_User's_Guide.pdf中,表 38 中正确给出了设置 细节: 要使用 Yocto 为 QSPI 生成可引导文件,您需要将以下设置包含到 local.conf 中: UBOOT_CONFIG =“fspi” 如果您不想/不需要进行完整构建,只需重建 u-boot: bitbake-c部署u-boot-imx 或者,BSP 演示包中已包含的文件imx-boot-imx8mmevk-fspi.bin-flash_evk_flexspi也可以使用 将图像编程到QSPI中: 使用UUU: uuu -b qspi imx-boot-imx8mmevk-fspi.bin-flash_evk_flexspi 使用 u-boot: u-boot=> fatls mmc 0:1 14557696 图片    …   1446848   imx-boot-imx8mmevk-fspi.bin-flash_evk_flexspi 11 file(s), 0 dir(s) u-boot=> sf 探针 SF:检测到 n25q256a,页面大小为 256 字节,擦除大小为 4 KiB,总计 32 MiB u-boot=> fatload mmc 0:1 0x40480000 imx-boot-imx8mmevk-fspi.bin-flash_evk_flexspi 读取 1446848 字节,耗时 79 毫秒(17.5 MiB/s) u-boot=> sf擦除0x0 0x200000 SF:2097152 字节 @ 0x0 已擦除:OK u-boot=>sf写入0x40480000 0x0 0x200000 设备 0 偏移量 0x0,大小 0x200000 SF:2097152 字节 @ 0x0 写入:OK u-boot=>sf读取0x50000000 0x0 0x200000 设备 0 偏移量 0x0,大小 0x200000 SF:2097152 字节 @ 0x0 读取:OK u-boot=> cmp.b 0x40480000 0x50000000 0x200000 共有 2097152 个字节相同 u-boot=> 正确设置启动配置跳线并打开主板电源(插槽中没有 SD 卡) 8M-Mini Rev A 和 Rev B 板: 01xxxxx0 0000x001 8M-Mini Rev C 板: 0110xxxxxx 00 1 00x0010 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano 回复:i.MX 8M-Mini QSPI 在 EVK Rev C 上启动 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 这个程序非常有效。 我遇到的唯一问题是我的 iMx8m-mini 开发板是 Rev C1,并且底排开关需要: 0110xxxxxx 0010000010
記事全体を表示
S32K时钟机制与配置 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 首先让我们看一下时钟树: 核心时钟高达112M,总线时钟高达56M,Flash时钟高达28M。 时钟来源:系统OSC、慢速IRC、快速IRC和系统PLL 1. OSC SCG_SOSCCFG 2. PLL配置 公式: SPLL_CLK = (VCO_CLK)/2 VCO_CLK = SOSC_CLK/(PREDIV + 1) *(MULT + 16) 3. SCG_SPLLCSR 无效SystemClockInit(无效) { SCG->SOSCCFG = 0x3C; SCG->SOSCCSR |= 1<<0; /* SOSCEN=1 启用 SOSC 时钟 */ /*等待时钟激活*/ while((SCG->SOSCCSR & SCG_SOSCCSR_SOSCVLD_MASK) == 0); SCG->SPLLCSR &= ~(0x1<<0) ; /* SPLLEN=0: 禁用 PLL*/ SCG->SPLLCFG &= ~(0x7<<8); /* 预测=0: 1 */ SCG->SPLLCFG |= 0xCU<<16; /* MULT=12: 28 PLL VCO = 8/1*(12+16) = 224M */ SCG->SPLLCSR |= 0x1<<0; /* SPLLEN=1: 启用 PLL */ /*等待PLL激活*/ while((SCG->SPLLCSR & SCG_SPLLCSR_SPLLVLD_MASK) == 0); SCG->RCCR |= SCG_RCCR_DIVCORE(0); /* DIVCORE=0: 1,CORE/SYS_CLK 112MHz */ SCG->RCCR |= SCG_RCCR_DIVBUS(1); /* DIVBUS=1: 2, BUS_CLK 56MHz */ SCG->RCCR |= SCG_RCCR_DIVSLOW(3); /* DIVSLOW=2: 4 FLASH_CLK 为 28MHz */ SCG->RCCR &= 0xFEFFFFFF; /* 初始设置为 SIRC,以便 LSB 可以设置为“0” */ SCG->RCCR |= SCG_RCCR_SCS(6); /* SCS=6: 系统时钟系统 PLL */ }
記事全体を表示
使用 Ubuntu 在 i.MX8QXP 上安装 Docker <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Linux
記事全体を表示
方法 : KDS で新しい MQX RTOS for KSDK プロジェクトを作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 皆さん、こんにちは。 KDS3.0およびKSDK1.2を使用して、このガイド の更新 バージョンを添付してください。MQXプロジェクト用の新規プロジェクトウィザードはないため、手動で作成する必要があります。これらのガイドでは、それを行うための2つの異なる方法について説明します。 以前のバージョンではご不便と混乱を招き、大変申し訳ございません。 RTOS(ベアボード)を使用しない新しいKSDKプロジェクトの作成については、次のドキュメントを参照してください。 初めてのKSDK1.2を書くKDS3.0 でのアプリケーション - Hello World と GPIO 割り込み付きトグル LED 従来のMQX RTOSプロジェクトをMQX RTOS for KSDKプロジェクトに移植する方法については、以下のドキュメントを参照してください。 http://www.freescale.com/files/soft_dev_tools/doc/support_info/MQXKSDKPUG.pdf?fsrch=1 MQX for KSDK1.2 での新規 C++ プロジェクトの作成については、以下を参照してください。以下のドキュメントをご覧ください。 MQX RTOS for KSDK1.2を使用したC++プロジェクトの作成方法 FreeRTOS と KSDK1.2 の使用開始方法については、次のドキュメントを参照してください。 方法: KSDS1.2 用の新しい FreeRTOS を作成するKDS3.0 のプロジェクト よろしくお願いいたします。 Carlos Musich テクニカルサポートエンジニア Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Carlos, ありがとうございました。最初の解決策は、何もないよりはましでした - 私のフラストレーションを示したことをお詫びします。時間があるときにウィザードと更新された提案を試してみます。私は近づいてきましたが、いずれにせよMQXについてもっと学ぶ必要があります。 私はできる限りの解決策を試しており、ここにバックアップして役立つものを投稿します。 よろしくお願いします Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Turboman, ここでは、プロジェクト生成ツールをダウンロードできます。まだベータ版であることに注意してください。 www.freescale.com/files/soft_dev_tools/software/app_software/application_development_framework/KSDK-Project-Generator.zip 次のドキュメントも興味深いかもしれません: KDS3.0 プロジェクトに lwIP を追加する方法 よろしくお願いします。 カルロス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> もどかしい!とても近いのに、まだ落とし穴があります。 新しいプロジェクトのpdfは、セクション2.8で「これで新しいプロジェクトは完全に自己依存し、実行する準備ができました」と書かれています。 悪い。 新しいプロジェクトは、元のプロジェクトと同じ ファイル を参照します。 仮想フォルダ (main.c) に新しい物理ファイルを作成できません。だから、私は半分修正されたデモ/サンプルコードで、どうにかして最初からやり直す必要があります。 KDS 用の新しい MQX プロジェクト・ウィザードはいつ利用可能になりますか? 私が新製品を作っていて、LWIP K64F pingデモで必要なものにかなり近いものを手に入れたと想像してみてください。デモを変更するだけですか?それとも、新しいプロジェクトを最初から作成しますか? Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 心配ありません Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私はそれを見逃しました。それは恥ずかしいことです。 どうもありがとうございます。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> A:ステップ3.5で、仮想フォルダ構造が手動で再作成されることを示しています。 ステップ3.6では、フォルダを削除する必要があるProject_Settingsが示されています。 最後に、プロジェクトはデモのコピーと同じように見える必要があります。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ドキュメントのセクション 3 の手順に従ってプロジェクトを最初からビルドしようとすると、サンプル プロジェクトとは大幅に異なる結果が得られます。新しいプロジェクト ウィザードは、サンプル プロジェクトにないサブディレクトリ "Startup_Code" を持つディレクトリ "Project_Settings" を作成します。このディレクトリ内のファイルは、-nostartfiles リンカ・スイッチが設定されている場合でも、リンカ・コマンドに含まれます。その結果、ベクタ テーブルは MQX ライブラリからではなく、これらのファイルから入力され、プロジェクトは MQX を開始しません。 MQXプロジェクトをゼロから構築するための手順は廃止されていますか? デモからコピーするのではなく、ゼロからビルドされたサンプル プロジェクトはありますか? Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, 万が一の参考までに、Kinetis SDKのMQX RTOSへの移植に関する詳細を掲載した新しいガイドをご用意しました。これには、RTCS ライブラリと MFS ライブラリをプロジェクトに追加するためのパスと設定が含まれています。 方法: MQX RTOS v4.x から MQX RTOS for KSDK v1.2 への移植 感謝 マック Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 追加の注意点: RTCSライブラリを追加し、そのディレクトリをインクルードした後、最初にPLATFORM_SDK_ENABLED=1をコンパイラプリプロセッサに追加する必要があることがわかりました(インクルードディレクトリとlibの場所も同様に。しかし、それについては後で詳しく説明します)。 その後、__aeabi_d2izが未定義で、libmにあるというエラーが発生しました。この投稿(__aeabi_d2iz )に基づいて、リンカライブラリでは、libmがlibgccにあるものを参照しているため、 gcc は mの後に配置する必要があることがわかりました。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> コメントありがとうございます、私はそれを修正します。見えない柱には気づきませんでした。 また、環境変数やその他のライブラリを追加するためのガイドラインも含めます。 スペースがない限り、パスに引用符を追加する必要はありません。 よろしくお願いします。 カルロス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> まずは朗報です。 この新しいガイドと新しいツールは機能します!いくつかの基本的なテストのプロジェクトでは、前のプロジェクトのような割り込み検出の問題なしに実行できます。また、問題なくコンパイルするために必要なすべてのインクルード、プリプロセッサ設定、およびリンカ コマンドもリストされています。 中途半端なニュース: ここにRTCS / MFS / ETCを含めることについてはまだ言及されていませんが、一般的な方法の概要を説明しているので、自分でそれを行うことができます。翌日か翌々日には、私が知っているコンポーネントを追加する方法を示すコメントをここに書くかもしれません。 また、相対パスの代わりに絶対パスを使用するという決定は、私のKSDKがC:/にインストールされていないため、少し面倒でした。しかし、KSDK 1.2 は KSDK_PATH 環境変数自体も書き込まないので、相対パスを適切に使用するために手動で書き出す必要がありました。 凶報: PDFのフォーマットは、コードの一部をコピーして貼り付けるのにひどいです。インクルードディレクトリには非表示の列があり、ディレクトリをコピーしてチャンクに貼り付け、一部の部分が繰り返されます。私はそれらの多くを自分で修正しなければなりませんでした。 他の人を助けるために、ここに固定フォーマットのものの一部を貼り付けます。注: また、「変数の構築」で定義されたPROJECT_KSDK_PATH変数を使用して相対パスに切り替えました。私はそれらをコードフォーマットで配置したかったのですが、新しいコミュニティサイト投稿ツールでオプションを見つけることができません。 3.9a 物理フォルダ "../BSP_Files" "../Config_Files" "../Config_Files/common」と入力します。 "../Debug_Console" "../KSDK_Files" "${PROJECT_KSDK_PATH}\rtos\mqx\mqx\source\include" 「${PROJECT_KSDK_PATH}\platform\devices\MK64F12\startup」 「${PROJECT_KSDK_PATH}\platform\devices\MK64F12\include」 「${PROJECT_KSDK_PATH}\platform」 「${PROJECT_KSDK_PATH}\platform\devices」 "${PROJECT_KSDK_PATH}\platform\CMSIS\Include" 「${PROJECT_KSDK_PATH}\platform\hal\inc」 "${PROJECT_KSDK_PATH}\platform\drivers\inc" 「${PROJECT_KSDK_PATH}\platform\drivers\src\mpu」 "${PROJECT_KSDK_PATH}\platform\drivers\src\uart" 「${PROJECT_KSDK_PATH}\platform\utilities\inc」 「${PROJECT_KSDK_PATH}\platform\osa\inc」 「${PROJECT_KSDK_PATH}\platform\system\inc」 「${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\config」 "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx" "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx_stdlib" 3.9b 仮想フォルダ "${PROJECT_KSDK_PATH}\rtos\mqx\config\mcu\MK64F12" "${PROJECT_KSDK_PATH}\rtos\mqx\config\board\frdmk64f" "${PROJECT_KSDK_PATH}\rtos\mqx\config\common" "${PROJECT_KSDK_PATH}\rtos\mqx\mqx\source\include" "${PROJECT_KSDK_PATH}\rtos\mqx\mqx\source\bsp" 「${PROJECT_KSDK_PATH}\platform\utilities\src」 「${PROJECT_KSDK_PATH}\platform\utilities\inc」 「${PROJECT_KSDK_PATH}\examples\frdmk64f」 「${PROJECT_KSDK_PATH}\platform\devices\MK64F12\startup」 「${PROJECT_KSDK_PATH}\platform\devices\MK64F12\include」 「${PROJECT_KSDK_PATH}\platform」 「${PROJECT_KSDK_PATH}\platform\devices」 "${PROJECT_KSDK_PATH}\platform\CMSIS\Include" 「${PROJECT_KSDK_PATH}\platform\hal\inc」 "${PROJECT_KSDK_PATH}\platform\drivers\inc" 「${PROJECT_KSDK_PATH}\platform\drivers\src\mpu」 "${PROJECT_KSDK_PATH}\platform\drivers\src\uart" 「${PROJECT_KSDK_PATH}\platform\utilities\inc」 「${PROJECT_KSDK_PATH}\platform\osa\inc」 「${PROJECT_KSDK_PATH}\platform\system\inc」 「${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\config」 "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx" "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx_stdlib" 3.11 リンクライブラリパス ksdk_platform_mqx _mqx_stdlib _mqx gcc c SUPC ++の m ノシス 「${PROJECT_KSDK_PATH}\lib\ksdk_mqx_lib\kds\K64F12\debug」 "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx_stdlib" "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx" 3.12 ライブラリのフルパス "${PROJECT_KSDK_PATH}\lib\ksdk_mqx_lib\kds\K64F12\debug\libksdk_platform_mqx.a" "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx_stdlib\lib_mqx_stdlib.a" "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx\lib_mqx.a" 3.18 -Xlinker -static -Xlinker -z -Xlinker muldefs -Xlinker --undefined=__isr_vector -Xlinker --defsym=__stack_size__=0x400 -Xlinker --defsym=__heap_size__=0x200 3.19 #include #include #include /* タスクID */ #define HELLO_TASK 5 #define WORLD_TASK 6 extern void hello_task(uint32_t); エクスターンボイドworld_task(uint32_t); 定数 TASK_TEMPLATE_STRUCT MQX_template_list[] = { /* タスクインデックス、関数、スタック、優先度、名前、属性、パラメータ、タイムスライス */   {WORLD_TASK, world_task, 700, 9, "world", MQX_AUTO_START_TASK, 0, 0},   {HELLO_TASK, hello_task, 700, 8, "hello", 0, 0, 0},   {0} }; /*タスク*-----------------------------------------------------* * タスク名 : world_task *コメント: ※このタスクでは、hello_taskを作成してから「ワールド」を印刷します。 * *END*-----------------------------------------------------*/ ボイドworld_task(uint32_t initial_data) {   _task_id hello_task_id; hello_task_id = _task_create(0, HELLO_TASK, 0); if(hello_task_id == MQX_NULL_TASK_ID)   { printf("\n hello_taskを作成できませんでした\n");   }   else   { printf(" ワールド \n");   } _task_block(); } /*タスク*-----------------------------------------------------* * タスク名 : hello_task *コメント: * このタスクは「Hello」を出力します。 * *END*-----------------------------------------------------*/ void hello_task(uint32_t initial_data) {   printf("\n Hello\n"); _task_block(); } /* EOF */ Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Sean, たぶん明日。しかし、確かに金曜日までです。 よろしくお願いします。 カルロス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 申し訳ありませんが、このガイドの新しいバージョンは、KSDK1.2に関連しています解放。ガイドの新しいバージョンはいつ利用可能になりますか? Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 現在入手可能です。 https://www.freescale.com/kds Kinetisソフトウェア開発キット マイクロコントローラ|フリースケール よろしくお願いします。 David Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちはカルロス、KSDK1.2の新しいバージョンがどれくらい離れているか知っていますかです。 ありがとうございます ショーン Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 皆さん、こんにちは このドキュメントを公開してからしばらくして、これらのエラーを見つけました。私は調査を続け、ゼロから作成された完全に機能するプロジェクトがあることを知っています。添付されています。 これを修正し、KSDK1.2とKDS3.0で新しいバージョンをすぐに公開します。 ご不便をおかけして申し訳ございません。 カルロス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> テストしていただきありがとうございます。 昨日、このプロジェクトの変更に数時間を費やしましたが、残念ながら成功しませんでした。 間違った動作の理由は明らかです:コンパイラ/リンカは、MQXライブラリからこれらのコンポーネントを選択するのではなく、SDKプロジェクトのスタートアップコードとベクトルテーブルをどういうわけか好みます。悪いことに、これまでMQXコードを実装するためにリンカーを「納得させる」方法が見つからなかったことです(例:boot.s)元のSDKの代わりに。 RadekS Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello RadekS, 短いバージョン: 変更をテストしましたが、問題は解決しませんでした。 「Hello World」は、常に端末に問題なく印刷されています。問題は、"Hello World" の実行が速すぎて問題が明らかにならないことです。テキストを長い文字列に置き換えると、実行が途中で停止することがわかります(SysTick_Handler()が呼び出されようとするときに賭ける5msのマークで)。または、printf ステートメントの 1 つに _time_delay(10) 呼び出しを追加します。 長いバージョン: これは、新しいプロジェクトと既存のサンプルプロジェクトとの紛らわしい違いの1つを説明するのに役立ちます:既存のサンプルには.aしかありませんでしたこのガイドで説明されているライブラリやライブラリディレクトリではなく、リンクされているファイル。サンプルプロジェクトには、入力をラップする -Xlinker --start-group ${INPUTS} -Xlinker --end-group もあり、これは上記のコマンドと同じことを行っているようです。また、RTCS/MFS を追加するときに必要だった -z muldefs オプションを追加する必要もなくなります。サンプルプロジェクトには muldefs オプションが追加されていますが、リンカーオプションは「 -Xlinker -static -Xlinker -z -Xlinker muldefs -Xlinker --undefined=__isr_vector」 に加えて「クロスリファレンス (-Xlinker --cref)」 が選択されています。ただし、コンパイルする必要はなさそうで、冗長なだけかもしれません。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私の視点から見ると、割り込みとSysTickの問題は副作用のように見えます。 KDSガイドの「 How To: Create a New MQX RTOS for KSDK Project 」を試してみました。 さらに、Cross Arm C Compiler ==> Preprocessorシンボルを追加します。 「CPU_MK64FN1M0VMD12=1」 "FSL_RTOS_MQX=1""" 「_AEABI_LC_CTYPE=C」 「__STRICT_ANSI__=1」 "_DEBUG=1" また、Cross Arm C Compiler ==> Optimization を "GNU ISO C99 (-std=gnu99)" として設定します。 しかし、ステップ3.15で止まりました。この手順でプロジェクトをビルドできましたが、それらがないと、ビルドがエラーを引き起こします(シリアルインターフェイスへの参照はありません)。ステップ 3.15 はステップ 3.13 と 3.14 を一緒に行う必要があるため、奇妙でした。 これにより、問題はコンパイラの依存関係にあることがわかります(Marianに感謝します)。 提案された解決策: Cross Arm C++ リンカのコマンドラインパターンに "-Wl,--start-group" と "-Wl,--end-group" の推奨行オプションを追加して変更してください。 ${COMMAND} ${cross_toolchain_flags} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} -Wl,--start-group ${INPUTS} -Wl,--end-group これにより、 複数のライブラリ間の循環参照が解決されます。 これらの設定では、ステップ3.15は必要なく、コードは私の側で正しく機能します。ターミナルに「Hello World」と表示されます。 あなたの側でテストしていただけませんか? お役に立てれば幸いです。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私は何かを掴んだと思いました:ここで生成したプロジェクトとhttpsrv_frdmk64fプロジェクトを比較すると、いくつかの注目すべきリンカー設定が異なることに気づきました。 [プロパティ] -> [C/C++ ビルド] -[> 設定] -> [ツール設定] -> [クロス ARM C リンカー] -> [全般] で、次の操作を行います。 サンプルプロジェクトでは、「標準のスタートファイルを使用しない(-nostartfiles)」と「デフォルトのライブラリを使用しない(-nodefaultlibs)」がチェックされています。 このガイドで作成されたプロジェクトは そうではありません。ただし、それらを有効にすると、次のエラーが発生します。 "./Project_Settings/Startup_Code/startup_MK64F12.o:関数 '_irq_clear_end'内: D:\Development\13214-ELMU\trunk\ETCCode\ELMU_KDS_K64\ELMU_KDS_K64\Debug/../Project_Settings/Startup_Code/startup_MK64F12.S:349: '_start'への未定義の参照 したがって、startup_MK64F12で_startの定義が見つかりません。S ファイル。このファイルもサンプル プロジェクトに含まれており、エラーは発生しません。これは、この設定によって、必要な関数 (SysTick_Handler など) が正しく参照されていないことが明らかになっているだけである可能性があります。 [プロパティ] -> [C/C++ ビルド] -[> 設定] -> [ツール設定] -> [クロス ARM C リンカー] -[> その他] で、次の操作を行います。 サンプル プロジェクト Cross ARM Cリンカを使用 「クロスリファレンス (-Xlinker --cref)」 にチェックを入れました。 その他のリンカフラグには、"-Xlinker -static -Xlinker -z -Xlinker muldefs -Xlinker --undefined=__isr_vector " が含まれます。 その他のオブジェクトには、次の追加ファイルが含まれます。 ${eclipse_home}/../ツールチェーン/lib/gcc/arm-none-eabi/4.8.0/m4/fp/v4-sp-d16/libgcc.a ${eclipse_home}/../ツールチェーン/arm-none-eabi/lib/m4/fp/v4-sp-d16/libc.a ${eclipse_home}/../ツールチェーン/arm-none-eabi/lib/m4/fp/v4-sp-d16/libsupc++.a ${eclipse_home}/../ツールチェーン/arm-none-eabi/lib/m4/fp/v4-sp-d16/libm.a カスタムプロジェクト ARM C++ リンカを相互使用 「クロスリファレンス (-Xlinker --cref)」はチェックされていません。 他のリンカフラグには、 "-nanolibc -z muldefs" (複数の定義エラーを阻止するために私が追加した -z muldefs) が含まれています。 上記のarm-none-eabi libファイルは一切含まれていません。 ただし、これらの設定を一致させて変更しても問題は解決しません。次に、C ++リンカの代わりにCリンカを使用するように強制できるかどうかを見ていきます。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> クリス、私はあなたの問題を事前にはっきり読んでいなかったはずです。私はかなり長い間この問題に取り組んでおり、なぜ私のプロジェクトがランダムに停止するのかを理解しようとしています。私はこのコミュニティの投稿を始めて、多くのことを試しました(Re:Printfが印刷の途中で失敗し、ファームウェアの実行が停止しますか?その関数を追加した後、コードを適切に実行できるようになりました。 しかし、あなたと同じように、私はこれが決して安全な解決策だとは感じていません。ティックハートビートを無効にすることで、MQXが正常に機能しなくなるようです。MQXが任意のタイミングで内部的にティックを使用する場合(タスクの切り替えなど)そうすると、それらの機能が壊れる可能性があります。DavidSさん、これが事実かどうか、または機能させないために何が欠けている可能性があるか教えていただけますか?これは、プロジェクトの実行に5ms以上かかる人には起こるようで、この方法で有用なものをプログラムするのが難しくなります。 編集:私はちょうど恐ろしい考えを持っていました。この内部割り込みが正しくリンクされていない場合、他に何が見つからないかは誰にもわかりません。また、他の奇妙で微妙な障害を引き起こす可能性があります。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> また、そうした後、ライブラリヘッダーを含めるときに複数の定義エラーがポップアップし始めるなど、いくつかの問題に遭遇しました(Re:arm-none-eabiがmqxと競合する:stdio.hの複数の定義などがコンパイラの問題を引き起こしています)。これが理想的な解決策かどうかはわかりませんが、コンポーネントを追加してコンパイルすることができました。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私も全く同じことを考えています。また、回答をいただければ幸いです! Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello, Kris 私もMQX-SDKでこの問題を解決する方法を見つけるのに苦労しています。問題がSysTick_Handlerによって引き起こされる可能性があるとは思いもしませんでした。ヒントをありがとう。main.cに含めたときファイル、それは私にも働きました。しかし、この回避策が本当に問題を解決するのか、それとも単に問題を隠しているのかはわかりません。残念ながら、ソフトウェア開発中に、これによりバグがさらに発生する可能性があります。ですから、このコミュニティでIvaが提案した方法、 https://community.freescale.com/docs/DOC-104144 を使用する方が快適で安全だと感じています。 この方法では、既存のプロジェクトをmqx/examplesフォルダから同じフォルダにクローンして、プロジェクトの参照として使用できるようにします。エラーが発生しにくくなります。 あなたや他の誰かが問題を解決する方法を見つけた場合は、私に知らせてください。同じ問題に直面している人は多いのではないでしょうか。 ありがとうございます Marco Coelho Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> カルロスさん、ありがとうございました。 これは非常に役に立ちました、そしてあなたのガイドとこれらのコメントの間で、私は予想外の多くのステップと私がKSDKに含まれているMQXマニュアルのいずれにも文書化されていないステップの多くに従って新しいプロジェクトを実行することができました。そこで、私の質問にたどり着きました。 これを複製して、RTCS、MFS、またはその他のコンポーネントをプロジェクトに含めるには、どうすればよいですか。驚いたことに、RTCSのドキュメントには、プロジェクトに組み込む方法について何も言及されておらず、機能が何であるかについてのみ言及されています。「${PROJECT_KSDK_PATH}/tcpip/rtcs/lib/frdmk64f.kds/debug/rtcs」を含むディレクトリと関連するlib_rtcs.aファイルだけではできません。これにより、RTCS プロジェクトの特定の #defines が新しいプロジェクトで正しく読み取られず、コンパイルが停止します。また、rtcs_user_config.hをコピーするべきだという印象を受けています作成したConfig_filesディレクトリにファイルを作成しますが、これ以上コピーする必要があるかどうかはわかりません。 ありがとうございます ショーン Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> はい、MQX ライブラリはクリーン インストール後にデフォルト設定でコンパイルされ、プロジェクトにリンクされています。チュートリアルの指示に従いました。私が知る限り、MQXは2つの「hello」タスクと「world」タスクで正常に動作しています。 ハンドラの有無にかかわらず、コンパイルエラーや複数の定義エラーは発生しませんが、ハンドラを含めないと、SysTick割り込みが初めて発生したときにDefaultHandler()クラッシュが発生します。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello Kris Simonsen: 実際には、SysTickハンドラの追加に関するあなたの解決策は奇妙です。MQXプロジェクトは期待どおりに機能していますか?タスクは1つ以上ありますか? ハンドラーは MQX ライブラリーの一部としてコンパイルされ、_boot で宣言されます 。S;Davidが述べたように、SysTickはMQXスケジューラのタイムベースとして使用されます。プロジェクトで定義すると、複数の定義エラーが表示されるはずで、何らかの理由でコンパイルされた場合は、MQX SysTickハンドラーをオーバーライドすることになります。mqxライブラリを追加しましたか(lib_mqx.a)あなたのプロジェクトに? また、上記のMyke Predkoによるコメントを読んでください、チュートリアルにはプリプロセッサのマクロ定義がいくつか欠けているようです。これについてはカルロスに知らせます。 敬具 ホルヘ・ゴンザレス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私がまだ理解するのに苦労しているのは、このプロジェクトが、まったく同じMQX初期化コードとBSP設定ファイルを使用するデモプロジェクトとどのように異なるかということです。これらのプロジェクトにはSystick_Handlerがないため、割り込みを無効にしているに違いないと推測しますが、このチュートリアルでは割り込みがまだ発生し、ハンドラを追加する必要があります。 どう違いますか。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 良いデバッグKris.修正を共有してくれてありがとう。 Systickタイマーは、200Hzまたは5msごとのRTOS TICK(心拍)に使用されます。 よろしくお願いします。 David Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 更新: 割り込みは、欠落しているSystick_Handlerから発生していると判断されました。これをmain.cに追加すると、プログラムが実行されます。 ボイド SysTick_Handler(ボイド) {} なぜこの割り込みが有効になっているのか、MQXで必要なのかはわかりませんが、このプロジェクトを動作させるにはハンドラが必要でした。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> カルロス、私はこのチュートリアルに正確に従いました(それは非常によく書かれています)が、結果のプログラムはまだIRQベクトルに問題があるようです。 FRDM-K64Fボードを使用しています。 プロジェクトは警告なしに正常にコンパイルされ、正常にプログラムされて実行を開始しますが、プロジェクトを開始した直後にハードフォールト/未処理の割り込みが発生するようです。私はこの障害の原因を特定するために多くのことを試しましたが、無駄でした。このプロジェクトでは、他の何も実行できません。 エラー発生時のスタックトレースとレジスタを次に示します。 必要なすべてのライブラリは、デフォルト設定でコンパイルされています。フラグが設定されていないため、実際にはWDOG割り込みではないことを確認しました-また、WDOG_EWM_IRQのハンドラを含めると、それは起動せず、DefaultHandlerに行く他の未定義の割り込みの1つが代わりに逆アセンブル画面に表示されます。これはベクトルの問題またはMQXとのメモリ競合である可能性があるように思われますが、わかりません。 この手順は、使用可能なベースライン プロジェクトにはならないと思うので、確認してください。 これをまとめてくれてありがとう、うまくいけば誰かが問題が何であるかを整理することができます。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、カルロス・エンリケ: FRDM-KL25 はまだサポートされていません。これは、4月末または5月初旬に 予定されているKSDK v1.2 の次のリリースに付属しています。 敬具 ホルヘ・ゴンザレス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Carlos Musich: このチュートリアルをボードFrdm-KL25Zで使用できますか?、ボードFrdm-K64Fしか表示されないため、 感謝 カルロス・エンリケ Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> これは、2つの問題のいずれかである可能性があります。最初に見ていくのは、「FRDM-K22FでMQX USBデモを実行する方法」でカバーされています。図書館の問題が議論されている場所。 ライブラリがファイル システムにある場合は、C/C++ ビルド リンカー セクションのプロジェクト プロパティを確認し、ライブラリが一覧表示されていること、およびライブラリへのパスが正しいことを確認します。 これがお役に立てば幸いです! Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Myke これを見つけていただきありがとうございます...。私もまったく同じエラーが発生したため、プリプロセッサの定義は 間違いなく必要であり、Carlosの命令には含まれていません。 このエラーの原因となっている可能性のあるアイデアはありますか? make: *** ターゲットを 'C:/Freescale/KSDK_1.1.0/lib/ksdk_mqx_lib/K22F51212/Debug/libksdk_platform_mqx.a' にするルールはありません。「xxxxxxxxxxx.elf」が必要です。止める。 みんなを解決しました......プロセッサ名の前に /kds フォルダがありませんでした。 私のプロジェクトの正しいパスを以下に示します。 `C:/Freescale/KSDK_1.1.0/lib/ksdk_mqx_lib/kds/K22F51212/Debug/libksdk_platform_mqx.a' Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、みんな。 ビルドすると、次のエラーが発生します。 < >が見つかりません 例と同じボードを選択したので、まったく同じことを行いました。 何か提案はありますか? どうぞよろしくお願いいたします。 Alberto Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Myke, 私はただ彼らのデモを実行させようとしていただけです。KDS/KSDK/PE/MQXの組み合わせが弱気であるという意見には同意します。この組み合わせを初めて知ったとき、「素晴らしいことだ」と思いましたが、フリースケールの道のりは長いことがわかりました。 私にとって、PEの側面は重要であり、あるデザインから別のデザインにプロジェクトを迅速に移行できる必要があります。しかし、ドキュメントがまばらですぐに古くなってしまうため、これはうまくいっていません。今のところは、このスレッドの冒頭で紹介した資料に基づいて構築することにしました。つまり、 FRDM-K22Fについては、Freescale MQX RTOS 4.1 の資料に戻り、必要に応じてコードの一部を「借用」します。(主な問題は、ダウンロードに KDS 用のものが含まれていないことです。そのため、移行する必要があります。また、PEをまったく使用していないようです-本当に残念です! その間、フリースケールがそれをまとめて、トータルパッケージを提供できることを願っています。それは製品ラインにとって本当の恩恵となるでしょう。 KSD/KSDK/PE/MQXの使用に基づいてこの記事が書き直されるのを見るのは素晴らしいことです。それはソフトウェアがすべきことをするでしょう:物事をセットアップする面倒なものを取り除き、私たちに仕事に取り掛からせてください! Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi David, デバイス モード、特に USB 双方向 HID の実装に興味があります。 上で引用した例では、例の.wsdを持ち込んでいましたかそれとも、自分でゼロからプロジェクトを作っていたのですか?私は定型アプリケーションが非常にうまく機能することがわかったので尋ねていますが、あなた自身のKDS / KSDK(MQX用)を考え出すのはクマです。 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> host_msd_fatfs_frdmk22f_mqx_frdmk22fでスループットテストを試すをご覧ください ホストモードとデバイスモードのどちらに興味があるかは述べられていませんが、デバイスモードのデモをFRDM-K22Fボードで動作させることができました。私はその数字にかなり感銘を受け、より一般的なアプリケーションで動作するように取り組んでいます。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Marco, プリプロセッサの設定がお役に立ててうれしいです。 フリースケールのエンジニアから、この点でKDS / KSDK(MQXを使用)を簡単に操作できるように取り組んでいると言われました-スタックのUSB部分を使用したい(これが私が 議論を始めた理由です https://community.freescale.com/thread/342700)これはうまくいけば、すぐにいくらかの牽引力を得るでしょう。 KDS/KSDKのUSBスタックに詳しい方がいらっしゃいましたら、ディスカッションにお答えください。 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Myke, あなたとまったく同じエラーがあります。貴重なご参加いただき、誠にありがとうございました!私がどれだけ一生懸命取り組んだか想像もつかないでしょう。 しかし、同時に、これらのシンボルがMQXヘッダーファイルとライブラリのリンクおよびコンパイル中に自動的に含まれるのではなく、なぜ「プリプロセッサ設定」に手動で含める必要があるのか、まだ疑問に思っています... KSDKチームのどなたか説明していただけますか? よろしくお願いいたします。 Marco Coelho Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Carlos, まず第一に、優れた記事です! 私は手順に従いましたが、FRDM-K22Fの場合、コンパイルするとエラーが発生します。 ===== 'ビルド ファイル: ../ソース/ユーティリティ/fsl_debug_console.c' 「呼び出し:Cross ARM C Compiler」 arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -D"CPU_MK22FN512VDC12" -I"../sources" -I"../ソース/ボード" -I"../sources/BSP_Files" -i"../sources/Config_Files" -i"../sources/Config_Files/common" -i"../sources/utilities" -I"C:\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk22f.kds/debug/mqx" -I"C:\Freescale\KSDK_1.1.0/rtos/mqx/mqx/source/bsp"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/include"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/lib/frdmk22f.kds/debug/config" -I"C:\フリースケール\KSDK_1.1.0/platform/hal/inc"-I"C:\Freescale\KSDK_1.1.0/platform/drivers/inc"-I"C:\Freescale\KSDK_1.1.0/platform/osa/inc"-I"C:\Freescale\KSDK_1.1.0/platform/system/inc"-I"../Project_Settings/Startup_Code" -I"../SDK/platform/CMSIS/Include" -I"../SDK/platform/CMSIS/Include/device" -I"../SDK/platform/CMSIS/Include/device/MK22F51212" -I"C:\Freescale\KSDK_1.1.0/platform/utilities/inc"-I"C:\フリースケール\KSDK_1.1.0/platform/utilities/src"-std=c99 -MMD -MP -MF"ソース/ユーティリティ/fsl_debug_console.d"-MT「ソース/ユーティリティ/fsl_debug_console.o」-c -o "ソース/ユーティリティ/fsl_debug_console.o""../sources/utilities/fsl_debug_console.c" arm-none-eabi-gcc:致命的なエラー: 入力ファイルがありません コンパイルが終了しました。 make: *** [ソース/ユーティリティ/fsl_debug_console.o]エラー 1 ==== このファイルは、ハードドライブとプロジェクトの両方のSources/Utilitiesフォルダにあります。だから、私の問題はプロジェクトが "../Sources/Utilities" これを確認する方法はありますか? Windowsエクスプローラでは、私のファイル構造は次のとおりです。 私が見落としていたものが見えますか?感謝。 うん、よく調べて見た。インクルードパスの引用符(")を忘れました。参照: "../Sources/BSP_Files" (下線に注意してください)。 この後、Myke Predko が行ったのと同じ問題に遭遇し、同じ方法でプリプロセッサ ディレクティブを編集して修正しました。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> さて、Help ==> Install New SoftwareからMQXプラグインを追加した後も、すべてが機能します... そして、上部に「MQX」ドロップダウンがあるので、すべてが順調だと思います。 カルロス(そして他の誰でも)、 プロジェクトのために他に何かする必要がありますか? ありがとう、 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 成功!(と思う)。 KSDK 1.1.0にある「hello_frdmk64f」プロジェクトのコンパイラのプロパティを見てみましたMQX の例では、Cross Arm C Compiler ==> プリプロセッサに次のものが含まれていることがわかりました。 CPU_MK64FN1M0VMD12=1 FSL_RTOS_MQX=1 _AEABI_LC_CTYPE=C __STRICT_ANSI__=1 _DEBUG=1 Carlosの指示から構築されたプロジェクトでは、次のものがあります。 「CPU_MK64FN1M0VMD12」 そこで、その行を残してから、サンプルアプリケーションから他の行をコピーして... ビルドして実行します。 さて、次のステップは、実行中に操作を確認できるように、タスク認識デバッガーを追加しようとしています。 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> もう少し掘り下げて、fsl_debug_console.hで、「setvbuf」と「IONBF」の問題の前に次の行を見つけました。 #if ((defined(__GNUC__)) && (!defined(FSL_RTOS_MQX))) && (!defined(__KSDK_STDLIB__)) 私は、*どこかで*「FLS_RTOS_MQX」フラグを設定するだろうと思っていました(これはこれがMQXプロジェクトであることを示していると私は推測します)-__KSDK_STDLIB__言うまでもありません。 これは私の問題でしょうか、もしそうなら、このフラグはどこで設定されますか? ありがとう、 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Carlos, プロジェクトの説明はここで非常によく見えますが、私はそれを機能させることができません。私は2台のPCで2回同じ結果でそれを行いました - それは標準のインクルードファイル(下記参照)にある情報を探しているようですが、これらのインクルードはソースから呼び出されず、インクルードファイルもこれらのインクルードファイルへのパスはビルドプロパティの一部ではありません。 私はFreescaleのWebサイトから最新バージョンのKDSとKSDKを使用しており、このスレッドの上部にあるドキュメントの指示に明示的に従っています。 13ページ(セクション3.15まで)の手順を実行すると、次の違いが見られました。 3.7 BSP_Files私が「はい」と言っているいくつかのパスステートメントを生成します。これらはセクション3.10で見ることができます 3.8 パスは「C:\Freescale\KSDK_1.1.0\rtos\mqx\config\board\ 」にすべきですか?オリジナルは一致していないようです。 3.12 PDFの指示の10ページのスクリーンショットの順序と一致するように、インクルードを再配置しました。注 : 手順 3.7 で生成されたインクルードは、これらのインクルードの後にあります。 3.15 PDFの指示の12ページのスクリーンショットの順序と一致するようにライブラリリストを再配置しました。 3.7で生成されている余分なパスステートメントが問題を引き起こしているとは思いませんか? 私がビルドすると、次のようになります。 17:08:34 **** プロジェクトK64_MQX_KSDK_Exampleの構成デバッグのビルド **** すべて作る 'ビルド ファイル: ../ソース/ユーティリティ/fsl_debug_console.c' 「呼び出し:Cross ARM C Compiler」 arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -D"CPU_MK64FN1M0VMD12" -I"../sources" -I"../ソース/ボード" -I"../sources/BSP_Files" -i"../sources/Config_Files" -i"../sources/Config_Files/common" -i"../sources/utilities" -I"C:\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx" -I"C:\Freescale\KSDK_1.1.0/rtos/mqx/mqx/source/bsp"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/include"-I"C:\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/config" -I"C:\フリースケール\KSDK_1.1.0/platform/hal/inc"-I"C:\Freescale\KSDK_1.1.0/platform/drivers/inc"-I"C:\Freescale\KSDK_1.1.0/platform/osa/inc"-I"C:\Freescale\KSDK_1.1.0/platform/system/inc"-I"../Project_Settings/Startup_Code" -I"../SDK/platform/CMSIS/Include" -I"../SDK/platform/CMSIS/Include/device" -I"../SDK/platform/CMSIS/Include/device/MK64F12" -I"C:\Freescale\KSDK_1.1.0/platform/utilities/inc"-I"C:\フリースケール\KSDK_1.1.0/platform/utilities/src"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_serial"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/string"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/config/common"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m/core/M4"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx_stdlib/source/include"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/kernel"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/src"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/bsp"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_serial/src"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx_stdlib/source/strings"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_tty/src"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_dummy/src"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m/cpu"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/fs"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx_stdlib/source/stdio"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m/compiler/gcc_arm"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_tty"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_dummy"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/include"-std=c99 -MMD -MP -MF"ソース/ユーティリティ/fsl_debug_console.d"-MT「ソース/ユーティリティ/fsl_debug_console.o」-c -o "ソース/ユーティリティ/fsl_debug_console.o""../sources/utilities/fsl_debug_console.c" C:\Freescale\KSDK_1.1.0/rtos/mqx/mqx_stdlib/source/include/std_prv.h:30:0からインクルードされたファイルでは、 C:\ Freescale \ KSDK_1.1.0 / rtos / mqx / mqx_stdlib / source / include / stdio.h:32から、 差出人。。/ソース/ユーティリティ/fsl_debug_console.c:32: C:\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx/nio.h:122:1:エラー: 不明なタイプ名 'ssize_t' ssize_t _nio_read(int fd, void *buf, size_t nbytes); ^ C:\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx/nio.h:132:1:エラー: 不明なタイプ名 'ssize_t' ssize_t _nio_write(int fd, const void *buf, size_t nbytes); ^ ../sources/utilities/fsl_debug_console.c:関数 'DbgConsole_Init' では、次のようになります。 ../Sources/Utilities/fsl_debug_console.c:214:5:警告:関数 'setvbuf'の暗黙の宣言[-Wimplicit-function-declaration]      setvbuf(stdout, NULL, _IONBF, 0);      ^ ../Sources/Utilities/fsl_debug_console.c:214:27:エラー:'_IONBF'が宣言されていません(この関数で最初に使用      setvbuf(stdout, NULL, _IONBF, 0);                            ^ ../sources/utilities/fsl_debug_console.c:214:27: 注:宣言されていない各識別子は、それが出現する関数ごとに一度だけ報告されます make: *** [ソース/ユーティリティ/fsl_debug_console.o]エラー 1 17:08:34 ビルド完了 (479ms を要しました) 「ssize_t」で検索を行うことは、C:/Freescale/KDS_2.0.0/toolchain/arm-none-eabi/include/sys/types.hで定義されています。 「_IONBF」はC:/Freescale/KDS_2.0.0/toolchain/arm-none-eabi/include/stdlib.hで定義されています。 また、"setvbuf" は C:/Freescale/KDS_2.0.0/toolchain/arm-none-eabi/include/stdio.h で定義されています。 プロジェクト==>プロパティ==>C / C ++ビルド==>設定==>クロスARM Cコンパイラ==>出力を変更せずにインクルードのビルドパスに「C:/ Freescale / KDS_2 1.0.0 / toolchain / arm-none-eabi / include」を追加してみました(出力を変更せずにクロスARM Cコンパイラ==インクルード(インクルードファイルが見つからないエラーメッセージがあると思っていたので、これは驚きではありませんでした。 上記のエラーにインクルードファイルを追加しようとしますが、私が間違っていることについて何か提案はありますか? ありがとう、 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi David, 最後に、私は引用に悩まされました。すべての引用符を書き直すと、アプリケーションが機能します。 ありがとうございました。 よろしくお願いします。 Daniel Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Daniel, 「KDS.pdf での KSDK プロジェクト用の新しい MQX RTOS の作成」の手順に従っていましたか? 1.5 次のライブラリをビルドする必要があります: 1.5.1 MQX用プラットフォームライブラリ、'libksdk_platform_mqx.a' • このプロジェクトは、"$/lib/ksdk_mqx_lib/kds/ 1.5.2 MQX Library, 'lib_mqx.a' にあります。 • このプロジェクトは "$/rtos/mqx/mqx/build/kds/mqx_" 1.5.3 にあります。MQXスタンダードライブラリ「lib_mqx_stdlib.a」 • このプロジェクトは「$/rtos/mqx/mqx_stdlib/build/kds/mqx_stdlib_」にあります。 注意: KDSでのKSDKおよびMQXライブラリの構築については、MQX for KSDKのインストール・パスC:\Freescale\KSDK_1.1.0\rtos\mqx\doc\toolsにある「Getting Started with Freescale MQX™ RTOS for Kinetis SDK and Kinetis Design Studio IDE」の「3 MQ RTOSライブラリの構築」の章を参照してください。 よろしくお願いします。 David Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 親愛なるカルロス、 マニュアルをありがとう。私はそれに従うことを試みましたが、プロジェクトを構築したときに、このエラーが発生します。 make: *** ターゲットを 'C:/Freescale/KSDK_1.1.0/lib/ksdk_mqx_lib/K64F12/Debug/libksdk_platform_mqx.a' にするルールはありません。「Enrutadora.elf」が必要でした。止める。 そして、私はそれをどのように解決するのかわかりません。 よろしくお願いいたします。
記事全体を表示
パスワードの変更 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> パスワードの変更は時々苦痛になることがありますが、心配しないでください、私たちはそれを行うためのシンプルで簡単な方法を持っています。 1 . nxp.com にログインし、名前の横にある「マイアカウント 」をクリックします。 2. 「プロフィール」で 「パスワードの変更 」を選択します。   3.- 必須フィールドに入力 し、[ 送信] をクリックします。 4.-次のメッセージを含むポップアップ画面が表示されます。「ここをクリック」というリンクをクリックすると、アカウントページに戻ることができます。 :smileycheck:おめでとうございます、パスワードの変更方法を学びました! Tutorials
記事全体を表示
为 i.MX53 构建 QT5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 前提条件: 该构建已在预构建的 rootfs(基于 LTIB)上进行了验证,可以从 freescale.com 下载或从 Yocto fsl-image-gui 构建 以下步骤在主机上执行: 1.下载 qt5 的 git 仓库: $ git clone git://gitorious.org/qt/qt5.git qt5 光盘 qt5 让我们将其视为 2. 创建一个构建目录来安装 qt5 包。该目录可以位于任何位置。例如, $ mkdir /opt/qt5 sudo chown -R /opt/qt5 我们将安装目录视为 /opt/qt5 3.进入Qt5目录,运行perl init-repository脚本,下载所有源代码 Qt5。下载所有源代码大约需要一个小时。 $ perl init-repository 4.下载附件的linux-imx5-g++.tar.gz并复制到qtbase/mkspecs/devices。 将尝试进行更新。 5.从以下路径 $ gedit qtbase/mkspecs/设备/linux-imx5-g++/qmake.conf 6.在 qmake.conf 的顶部,有一个配置行。复制配置行并将其粘贴到位于 在您的构建目录中。编辑配置行以找到您的工具链和文件系统。还要确保 包括选项 -no-pch、-no-opengl、-opengl es2,下面是示例 配置行。 $ cd $ cd qtbase $./configure-v-opensource-confirm-license-no-pch-opengl es2-make libs-device imx5\ -nomake 示例 -nomake 演示 \ -设备选项CROSS_COMPILE = / opt / freescale / usr / local / gcc-4.4.4-glibc-2.11.1-multilib-1.0 / arm-fsl-linux-gnueabi / bin / arm-fsl-linux-gnueabi-\ -sysroot -no-gcc-sysroot \ -prefix 7. 制作包含配置行和可执行文件的文本文件并运行它。当显示配置摘要时,请确保 Qt5 支持 openGL ES 2.0。进行构建 $make $make 安装 当 Qt5 完成构建后,Qt5 将安装在两个地方: 1. / 2. / 这很好,因为现在 Qt5 的所有库和二进制文件都安装在主机和目标文件系统上。所以, 目标已经拥有运行 Qt5 所需的所有库和二进制文件。 8.还需要构建qtjsbackend和qtdeclarative。 $ cd $ cd qtjsbackend $ ../qtbase/bin/qmake -r $ make && make install $ $ cd $ cd qtdeclarative $ ../qtbase/bin/qmake -r $ make && make install 9. 在目标上运行 Qt 应用程序 - 使用 NFS 或 SD 映像启动目标 - 确保文件夹 被复制到目标文件系统的“/usr/local”。 - 使用启动应用程序 $ cd /usr/local/qt5/examples/opengl/hellogl_es2 $./hellogl_es2-平台 eglfs i.MX53 回复:为 i.MX53 构建 QT5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我使用选项 -no-openssl 作为解决方法来摆脱这个错误 ./configure -v -opensource -confirm-license -no-pch -opengl es2 -make libs -device imx5 -no-openssl -no-xcb -no-c++11 -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- -sysroot /home/juan/imx53/ltib/rootfs -no-gcc-sysroot -prefix /opt/qt5 回复:为 i.MX53 构建 QT5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我遇到了同样的错误,作为一种解决方法,我注释掉了#if GLIB_CHECK_VERSION (2, 22, 0) 宏下的行 ======== ./src/corelib/kernel/qeventdispatcher_glib.cpp =========== QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *上下文)     : mainContext(context) {     . . .   #if GLIB_CHECK_VERSION (2, 22, 0) //g_main_context_push_thread_default(主上下文); endif . . . } QEventDispatcherGlib::~QEventDispatcherGlib() { . . . #if GLIB_CHECK_VERSION (2, 22, 0) //g_main_context_pop_thread_default(d->mainContext); #endif . . . } 回复:为 i.MX53 构建 QT5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 必须添加几个选项才能开始编译: -no-xcb -no-c++11 但仍然有错误,第一个: make[2]: 进入目录 `/home/user/git/qt5/qtbase/src/network' /opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-g++-c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -D_LINUX -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_LIBUDEV -DQT_NO_XCB -DQT_NO_XKBCOMMON -DQT_NO_USING_NAMESPACE -DQT_BUILD_NETWORK_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I../../mkspecs/devices/linux-imx5-g++ -I。-I../../include -I../../include/QtNetwork -I../../include/QtNetwork/5.1.0-I../../include/QtNetwork/5.1.0/QtNetwork-Ikernel -I../../include/QtCore -I../../include/QtCore/5.1.0-I../../include/QtCore/5.1.0/QtCore-I.moc/release-shared -I/home/user/ltib/rootfs/usr/include -o .obj/release-shared/qsslsocket_openssl.o ssl/qsslsocket_openssl.cpp ssl/qsslsocket_openssl.cpp:在成员函数“virtual void QSslSocketBackendPrivate::continueHandshake()”中: ssl/qsslsocket_openssl.cpp:1414:错误:'q_SSL_ctrl'未在此范围内声明 make[2]: *** [.obj/release-shared/qsslsocket_openssl.o] 错误 1 make[2]: 离开目录“/home/user/git/qt5/qtbase/src/network” make[1]: *** [sub-network-make_first] 错误 2 make[1]: 离开目录“/home/user/git/qt5/qtbase/src” make:*** [sub-src-make_first] 错误 2 回复:为 i.MX53 构建 QT5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 错误: hread-lgthread-2.0-lrt -lglib-2.0 .obj/发布共享/qeventdispatcher_glib.o:在函数“QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*)”中: qeventdispatcher_glib.cpp:(.text+0x7f0):对“g_main_context_push_thread_default”未定义引用 .obj/发布共享/qeventdispatcher_glib.o:在函数“QEventDispatcherGlib::~QEventDispatcherGlib()”中: qeventdispatcher_glib.cpp:(.text+0xbf0):对“g_main_context_pop_thread_default”未定义引用 .obj/发布共享/qeventdispatcher_glib.o:在函数“QEventDispatcherGlib::~QEventDispatcherGlib()”中: qeventdispatcher_glib.cpp:(.text+0xdd4):对“g_main_context_pop_thread_default”未定义引用 .obj/发布共享/qeventdispatcher_glib.o:在函数“QEventDispatcherGlib::~QEventDispatcherGlib()”中: qeventdispatcher_glib.cpp:(.text+0xfb0):对“g_main_context_pop_thread_default”未定义引用 .obj/发布共享/qeventdispatcher_glib.o:在函数“QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*)”中: qeventdispatcher_glib.cpp:(.text+0x1114):对“g_main_context_push_thread_default”未定义引用 collect2:ld 返回 1 退出状态 使[2]:*** [../../lib/libQt5Core.so.5.1.0]错误 1 make[2]: 离开目录“/home/mqy/qt5/qtbase/src/corelib” 需要幫助嗎? 回复:为 i.MX53 构建 QT5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我很遗憾地说,当我这样做的时候,它有错误 回复:为 i.MX53 构建 QT5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 为什么不使用litb来构建qt5? 回复:为 i.MX53 构建 QT5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您是否考虑过将这些文件贡献回 qt 项目?我知道这些确实适用于 Qt 5,所以如果可以贡献出来就好了
記事全体を表示
将处理器专家添加到 C 项目(使用 PEx 驱动程序套件中的 SDK) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 不使用 Processor Expert 的 C 项目可以转换为 Processor Expert。当用户发现他/她想要使用 Processor Expert 的附加功能时,这很有用。 警告!请注意,在大多数情况下,这种转换涉及应用程序代码的必要手动更改,因为例如用户创建的寄存器中断向量表定义经常与处理器专家定义冲突。转换之前不要忘记备份整个项目。一些文件必须从项目中删除。仅建议有经验的用户转换为 Processor Expert。 步骤: 在主菜单文件 > 新建 > 其他中选择命令,然后在新项目向导中选择处理器专家/为现有 C 项目启用处理器专家 选择您想要更新的项目。 选择将包含在 PEx 项目中的衍生产品(您应该使用在没有 PEx 的情况下创建项目时选择的带有 _4SDK 后缀的相同衍生产品)。 选择目标编译器(例如,如果 C 项目已创建为 IAR ARM C 项目,则选择 IAR ARM C 编译器) 确认更改(重命名 main.c模块和您想要应用的任何其他更改)并单击完成按钮。 带有 PEx 的项目已创建,但需要进行以下更改: 转到项目属性,进入处理器专家>Kinetis SDK 特定并填写 SDK 路径。使用浏览按钮并选择 Kinetis SDK 文件夹的路径或填写默认系统变量${KSDK_PATH} 。此变量指向默认的 Kinetis SDK 文件夹。 这个项目之后仍然会出现一些错误。从项目中删除PinSettings组件并从组件库中添加新的PinSettings组件。此过程也将缺失的fsl_clock_manager组件添加到项目中。 按下按钮“生成处理器专家代码”,项目应该会正确生成。 删除重复的main.c模块 – main_backup.c文件(复制旧main.c的内容模块复制到 PEx 创建的新模块中)并删除旧版本的文件( main_backup.c ) Processor Expert 包括所有 IO 映射和启动文件。因此,必须删除原始 C 项目中的所有 IO 映射和启动文件(例如Static_Code文件夹的内容)。 Processor Expert 生成链接器文件 ProcessorExpert.xxx(例如IAR ARM C 编译器的 ProcessorExpert.icf 文件)。因此必须删除原始 C 项目中的所有链接器命令文件。
記事全体を表示
Caffe と TensorFlow の事前トレーニング済みモデル <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Caffe と TensorFlow は、推論の準備ができている事前トレーニング済みのモデルのセットを提供します。これらは、そのまま使用することも、独自のデータセットを使用してモデルを再トレーニングするためにも使用できます。 以下をご確認ください。 TensorFlow ホストモデル TensorFlow モデル動物園 カフェモデル動物園 i.MX 8
記事全体を表示
PEG GUI <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> PEG GUI wiki 提供了飞思卡尔网站或论坛上没有的有用的“如何操作”和常见问题解答信息。下面列出的链接为产品设计师和用户提供了有用的设计资源。 PEG GUI 讨论 飞思卡尔其他解决方案 在飞思卡尔社区(所有空间) PEG GUI 视频 PEG GUI FAQ 网站 PEG GUI
記事全体を表示
Adeneo Embedded 将举办为期 3 天的深度技术培训课程,讲解如何在 i.MX6 上使用 Android 构建嵌入式解决方案 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 为期 4 天的深入技术培训针对开始开发基于 ARM 架构的 Linux + Android 设备的 OEM 和客户。它涵盖了与嵌入式系统使用 Linux 和 Android 相关的所有方面,包括内核架构、开发工具和环境、BSP 适配和自定义驱动程序开发以及 Android 映像的创建、部署和调试。 本课程包含 3 天的“基础内容”,外加 1 天可选的高级调试技术和高级驱动程序开发概念,提供最大的灵活性以满足学员的期望。 作为与飞思卡尔合作的一部分,Adeneo Embedded 将为每位参会者提供培训期间使用的按照飞思卡尔 SABRE Lite 设计构建的 i.MX 6 系列开发板,以便客户在课后继续进行评估和开发。 注册: Invitation_Training_Android_Boston_July_2014 / 所有静态 html / 媒体 - Adeneo Embedded 概述
記事全体を表示
i.MX 功率分析:三范围智能电流传感器 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 注意:在从聚合器插入或拔出智能传感器时,务必切断目标板和聚合器的电源。 注意:请参阅此链接以了解配备智能传感器的电路板。 本页记录了三范围“智能”电流传感器,它是用于分析应用板上电源的大型系统的一部分。该智能传感器采用带有三个电流检测放大器的 Kinetis KL05Z。它允许测量三个范围内的电流。四种组装选项允许测量轨道电压 0-3.3V(两个总电流范围)、0-6.6V 和 12V。它连接到一个聚合器,该聚合器为多个智能传感器板供电、控制和聚合数据。 与旧式双范围测量系统相比,最大的改进之一是传感器上的微控制器允许几乎同时测量电路板上的所有仪表轨道。双量程分析仪每次只能进行一次测量。 它们旨在与微控制器板一起使用,充当触发器和数据聚合器。该聚合器还可用于重新编程传感器。 使用 4 点探头和 Keysight B2902B SMU 测量时,智能传感器在运行模式(最高电流范围)下增加的串联电阻低于 11 毫欧姆。 可以通过定期触发测量并以图形方式呈现结果来制作“功率示波器”...... 示意图: 电路板布局,顶部: 电路板布局,底部: 这是两张照片,其中还包含一枚镍币,以显示比例。该板的尺寸约为 0.5 x 1.3 英寸。 连接: 智能传感器接头连接如下: 5V:为 3.3V 稳压器供电,进而为传感器板上的其他所有部件供电 12V:所有开关场效应晶体管(FET)的栅极均上拉至12V GND:接地 SCL/TX:I2C时钟线 SDA/RX: I2C数据线 SWD_CLK:用于触发智能传感器进行测量的线 RESET_B:用于重置智能传感器板的线 SWD_IO:智能传感器选择线 工作原理: 三个分流器和电流检测放大器用于测量三个范围内的电流。一个分流器/感测放大器对具有集成到 IC 封装中的 0.002 Ω分流器 (U1,INA250)。另外两个感测放大器(U2 和 U3、INA212)需要外部分流器。 FET Q1、Q2 和 Q3 用于切换电路中的两个较低范围的分流器/感测放大器对。在正常运行操作(最高电流范围)中,Q1(FDMC012N03,Rds(on) 低于1.5mΩ )导通,短路后电路中仅剩 U1。FET Q4、Q5 和 Q6 将电压转换为 3.3V,以便 U4(MCU KL05Z)上的 GPIO 可以控制它们。 通过电阻器 R3、R4、R12 和 Q7 可以实现轨电压测量。并非所有这些都存在于每个装配选项中。用于测量轨道电压 0-3.3V,R12 已填充。要测量0-6.6V,R3、R4 和 Q7 已填充。打开时,Q7 会启用分压器。所有装配选项填充信息均可在示意图(附件)中找到。 调节器 U5(AP2210N)为电路板上的所有组件提供 3.3V 电源。该 1% 容差调节器用于为 U4 中的 ADC 提供良好的参考。 微控制器 U4 通过电阻器 R9、R10 和 R11 检测电路板的组装填充选项,以便可以在所有类型的传感器板上使用相同的应用程序代码。GPIO 控制 FET,四个 ADC 通道用于测量感测放大器输出和轨电压。传感器板上配备微控制器可让用户进行额外的操作,例如计数库仑,并允许所有类似仪器的轨道通过触发线 SWD_CLK 同时进行测量。数据通信可以通过 I2C 或 UART 进行,因为这两个引脚可以同时执行这两项功能。但是如果要将多个传感器板与聚合器一起使用,则需要通过 I2C 进行通信。 申请代码: 智能传感器上 KL05Z 的最新应用程序代码位于此处: https://os.mbed.com/users/r14793/code/30847-SMRTSNSR-KL05Z/ 。最新的二进制文件附在下面。 为了重新刷新智能传感器,需要进行聚合器页面中详细说明的修改。修改完成后,让聚合器断电,同时将 SWD 调试器插入 J5,将要编程的智能传感器插入 JP15。 非常古老的基于 UART 的 KL05Z 应用程序代码,内置在线 MBED 编译器(请注意,它需要修改内部振荡器的 mbed 库)。该代码用于测试第一个智能传感器原型。它现在已被废弃。如果用户想要使用插入 JP15 的单个传感器和 UART 分线连接器 J6,则会在此处发布。 /****************************************************************************** * * MIT License (https://spdx.org/licenses/MIT.html) * Copyright 2017-2018 NXP * * MBED code for KL05Z-based "smart" current sensor board, basic testing * of functions via UART (connected via FRDM board and OpenSDA USB virtual * COM port). * * Eventual goal is to have each smart sensor communicate over I2C to an * aggregator board (FRDM board with a custom shield), allowing 1-10 power * supply rails to be instrumented. Extra credit effort is to support * sensors and aggregator with sigrok... * * Because there is no crystal on the board, need to edit source mbed-dev library * to use internal oscillator with pound-define: * change to "#define CLOCK_SETUP 0" in file: * mbed-dev/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL05Z/device/system_MKL05Z4.c * ******************************************************************************/ #include "mbed.h" // These will be GPIO for programming I2C address... // not yet implemented, using as test pins... DigitalOut addr0(PTA3); DigitalOut addr1(PTA4); DigitalOut addr2(PTA5); DigitalOut addr3(PTA6); // configure pins for measurements... // analog inputs from sense amps and rail voltage divider... AnalogIn HIGH_ADC(PTB10); AnalogIn VRAIL_ADC(PTB11); AnalogIn LOW1_ADC(PTA9); AnalogIn LOW2_ADC(PTA8); // outputs which control switching FETs... DigitalOut VRAIL_MEAS(PTA7); // turns on Q7, connecting voltage divider DigitalOut LOW_ENABLE(PTB0); // turns on Q4, turning off Q1, enabling low measurement DigitalOut LOW1(PTB2); // turns on Q5, turning off Q2, disconnecting shunt R1 DigitalOut LOW2(PTB1); // turns on Q6, turning off Q3, disconnecting shunt R2 // input used for triggering measurement... // will eventually need to be set up as an interrupt so it minimizes delay before measurement InterruptIn trigger(PTA0); // use as a trigger to make measurement... // PTB3/4 can be used as UART or I2C... // For easier development with one smart sensor, we are using UART here... Serial uart(PTB3, PTB4); // tx, rx long int count=0; int n=25; // global number of averages for each measurement int i, temp; bool repeat=true; // flag indicating whether measurements should repeat or not const float vref = 3.3; // set vref for use in calculations... float delay=0.25; // default delay between measurement bool gui = false; // flag for controlling human vs machine readable output bool statistics = false;// flag for outputting min and max along with average (GUI mode only) void enableHighRange(){ LOW_ENABLE = 0; // short both low current shunts, close Q1 wait_us(5); // delay for FET to settle... (make before break) LOW1 = 0; LOW2 = 0; // connect both shunts to make lower series resistance VRAIL_MEAS = 0; // disconnect rail voltage divider wait_us(250); // wait for B2902A settling... } void enableLow1Range(){ LOW1 = 0; LOW2 = 1; // disconnect LOW2 shunt so LOW1 can measure wait_us(5); // delay for FET to settle... (make before break) LOW_ENABLE = 1; // unshort low current shunts, open Q1 VRAIL_MEAS = 0; // disconnect rail voltage divider wait_us(250); // wait for B2902A settling... } void enableLow2Range(){ LOW1 = 1; LOW2 = 0; // disconnect LOW1 shunt so LOW2 can measure wait_us(5); // delay for FET to settle... (make before break) LOW_ENABLE = 1; // unshort low current shunts, open Q1 VRAIL_MEAS = 0; // disconnect rail voltage divider wait_us(500); // wait for B2902A settling... } void enableRailV(){ VRAIL_MEAS = 1; // turn on Q7, to enable R3-R4 voltage divider wait_us(125); // wait for divider to settle... // Compensation cap can be used to make // voltage at ADC a "square wave" but it is // rail voltage and FET dependent. Cap will // need tuning if this wait time is to be // removed/reduced. // // So, as it turns out, this settling time and // compensation capacitance are voltage dependent // because of the depletion region changes in the // FET. Reminiscent of grad school and DLTS. // Gotta love device physics... } void disableRailV(){ VRAIL_MEAS = 0; // turn off Q7, disabling R3-R4 voltage divider } // this function measures current, autoranging as necessary // to get the best measurement... void measureAuto(){ Timer t; float itemp; float tempI=0; float imin = 1.0; // used to keep track of the minimum... float imax = 0; // used to keep track of the maximum... t.start(); // use timer to see how long things take... enableHighRange(); // this should already be the case, but do it anyway... for (i = 0; i < n; i++){ itemp = HIGH_ADC; // read HIGH range sense amp output if (statistics && itemp>imax) imax = itemp; // update max if necessary if (statistics && itemp<imin) imin = itemp; // update min if necessary tempI += itemp; // add current sample to running sum } tempI = tempI/n *vref/0.8; // compute average we just took... if (gui) uart.printf("=> %5.3f ", tempI); if (statistics && gui) uart.printf("[%5.3f/%5.3f] ", imin*vref/0.8, imax*vref/0.8); // if current is below this threshold, use LOW1 to measure... if (tempI < 0.060) { if (!gui) uart.printf("... too Low: %f A, switching to low1 ==>\r\n", tempI); tempI=0; enableLow1Range(); // change FETs to enable LOW1 measurement... imin = 1.0; imax = 0; for (i = 0; i < n; i++){ itemp = LOW1_ADC; // read LOW1 sense amp output if (statistics && itemp>imax) imax = itemp; // update max if necessary if (statistics && itemp<imin) imin = itemp; // update min if necessary tempI += itemp; // add current sample to running sum } tempI = tempI/n *vref/0.05/1000; // compute average we just took... if (gui) uart.printf("%6.4f ", tempI); if (statistics && gui) uart.printf("[%6.4f/%6.4f] ", imin*vref/0.05/1000, imax*vref/0.05/1000); // if current is below this threshold, use LOW2 to measure... if (tempI < 0.0009){ if (!gui) uart.printf("... too Low: %f A, switching to low2 ==>\r\n", tempI); tempI=0; enableLow2Range(); // change FETs to enable LOW1 measurement... imin = 1.0; imax = 0; for (i = 0; i < n; i++){ itemp = LOW2_ADC; // read LOW2 sense amp output if (statistics && itemp>imax) imax = itemp; // update max if necessary if (statistics && itemp<imin) imin = itemp; // update min if necessary tempI += itemp; // add current sample to running sum } tempI = tempI/n *vref/2/1000; // compute average we just took... if (gui) uart.printf("%8.6f ", tempI); if (statistics && gui) uart.printf("[%8.6f/%8.6f] ", imin*vref/2/1000, imax*vref/2/1000); } } t.stop(); // stop the timer to see how long it took do do this... enableHighRange(); if (!gui) uart.printf("\r\nCurrent = %f A Current Measure Time = %f sec\r\n", tempI, t.read()); } // the autoranging should really be done with functions that return values, as should the // functions below... This would make for shorter and more elegant code, but the author // is a bit of a pasta programmer... void measureHigh(){ float highI=0; enableHighRange(); for (i = 0; i < n; i++){ highI += HIGH_ADC; } highI = highI/n; uart.printf("HIghI = %f A\r\n", vref*highI/0.8); } void measureLow1(){ float low1I=0; enableLow1Range(); for (i = 0; i < n; i++){ low1I += LOW1_ADC; } enableHighRange(); low1I = low1I/n; uart.printf("low1I = %f A\r\n", vref*low1I/0.05/1000); } void measureLow2(){ float low2I=0; enableLow2Range(); for (i = 0; i < n; i++){ low2I += LOW2_ADC; } enableHighRange(); low2I = low2I/n; uart.printf("low2I = %f A\r\n", vref*low2I/2/1000); } // measure the rail voltage, default being with // a divide by 2 resistor divider // It has to be switched out when not in use or it will // add to the measured current, at least in the low ranges... void measureRailV(){ float railv=0; float mult = vref*2; // since divide by 2, we can measure up to 6.6V... float vmin = 5; float vmax = 0; float vtemp; enableRailV(); // switch FETs so divider is connected... for (i = 0; i < n; i++){ vtemp = VRAIL_ADC; // read voltage at divider output... if (statistics && vtemp>vmax) vmax = vtemp; // update max if necessary if (statistics && vtemp<vmin) vmin = vtemp; // update min if necessary railv += vtemp; // add current sample to running sum } disableRailV(); // now disconnect the voltage divider railv = railv/n; // compute average (note this is in normalized ADC [0..1]) // Convert to voltage by multiplying by "mult" if (!gui) uart.printf("RailV = %5.3f V ", mult*railv); if (gui) uart.printf("%5.3f ", mult*railv); if (statistics && gui) uart.printf("[%5.3f/%5.3f] ", mult*vmin, mult*vmax); uart.printf("\r\n"); } // not sure how useful this function is... void measureAll(){ measureHigh(); measureLow1(); measureLow2(); measureRailV(); } // test function to see if trigger pin is being hit... // intended for use later to do timed triggering of measurements... void triggerIn(){ uart.printf("You're triggering me! \r\n"); measureAll(); } // main... int main() { // set up basic conditions... Timer m; uart.baud(115200); enableHighRange(); // default state - only HIGH sense amp in circuit, no divider // signal that we're alive... uart.printf("Hello World!\r\n"); // configure the trigger interrupt... trigger.rise(&triggerIn); while (true) { count++; wait(delay); if (repeat){ // if repeat flag is set, keep making measurements... m.reset(); // reset and start timer... m.start(); measureAuto(); // measuring current using auto-ranging... measureRailV(); // measure rail voltage... m.stop(); // stop the timer. if (!gui) uart.printf(" Total Measure Time = %f sec", m.read()); if (!gui) uart.printf("\r\n\r\n"); } // see if there are any characters in the receive buffer... // this is how we change things on the fly... // Commands (single keystroke... it's easier) // t = one shot automeasure // v = measure volt // h = one shot high measure // k = one shot LOW1 measure // l = one shot LOW2 measure (letter l) // r = toggle repeat // R = turn off repeat // + = faster repeat rate // - = slower repeat rate // = = set repeat rate to 0.25 sec // g = use human readable text output // G = use compressed text format for GUI // s = turn statistics output off // S = turn statistics output on (only in GUI mode) // n = decrease number of averages for each measurement // N = increase number of averages for each measurement // // these were for testing FET switching... // 1 = LOW_ENABLE = 0 (the number 1) // 2 = LOW1 = 0 // 3 = LOW2 = 0 // 4 = VRAIL_MEAS = 0 // ! = LOW_ENABLE = 1 // @ = LOW1 = 1 // # = LOW2 = 1 // $ = VRAIL_MEAS = 1 if (uart.readable()){ temp = uart.getc(); if (temp==(int) 't') { if (!gui) uart.printf("Keyboard trigger: "); measureAuto(); measureRailV(); //measureAll(); } if (temp==(int) 'v') { uart.printf("Keyboard trigger: "); measureRailV(); } if (temp==(int) 'h') { uart.printf("Keyboard trigger: "); measureHigh(); } if (temp==(int) 'k') { uart.printf("Keyboard trigger: "); measureLow1(); } if (temp==(int) 'l') { uart.printf("Keyboard trigger: "); measureLow2(); } if (temp==(int) '1') { LOW_ENABLE = 0; uart.printf("Keyboard trigger: LowEnable = %d\r\n", 0); } if (temp==(int) '2') { LOW1 = 0; uart.printf("Keyboard trigger: LOW1 = %d\r\n", 0); } if (temp==(int) '3') { LOW2 = 0; uart.printf("Keyboard trigger: LOW2 = %d\r\n", 0); } if (temp==(int) '4') { VRAIL_MEAS = 0; uart.printf("Keyboard trigger: VRAILMEAS = %d\r\n", 0); } if (temp==(int) '!') { LOW_ENABLE = 1; uart.printf("Keyboard trigger: LowEnable = %d\r\n", 1); } if (temp==(int) '@') { LOW1 = 1; uart.printf("Keyboard trigger: LOW1 = %d\r\n", 1); } if (temp==(int) '#') { LOW2 = 1; uart.printf("Keyboard trigger: LOW2 = %d\r\n", 1); } if (temp==(int) '$') { VRAIL_MEAS = 1; uart.printf("Keyboard trigger: VRAILMEAS = %d\r\n", 1); } if (temp==(int) 'r') { repeat = !repeat; uart.printf("Keyboard trigger: repeat toggle: %s \r\n", repeat ? "true" : "false"); } if (temp==(int) 'R') repeat = false; if (temp==(int) '+') { delay -= 0.05; if (delay<0.05) delay = 0.05; } if (temp==(int) '-') { delay += 0.05; if (delay>1) delay = 1; } if (temp==(int) '=') delay = 0.25; if (temp==(int) 'g') gui = false; if (temp==(int) 'G') gui = true; if (temp==(int) 's') statistics = false; if (temp==(int) 'S') statistics = true; if (temp==(int) 'n') { n -= 25; if (n<25) n = 25; } if (temp==(int) 'N') { n += 25; if (n>1000) n = 1000; } if (temp==(int) 'N' || temp==(int) 'n') uart.printf("/r/n/r/n Averages = %d \r\n\r\b", n); } } }‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano i.MX6_全部 i.MX6DL i.MX6 双核 i.MX6DualPlus6QuadPlus i.MX6 四核 i.MX6S i.MX6SL i.MX6SoloX i.MX6UL i.MX7 双核 i.MX7 单核 i.MX7ULP PMIC
記事全体を表示
示例 MPC5748G PinToggleStationery GHS614 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 应用程序执行基本初始化,初始化中断,闪烁 * 一个 LED 由核心 e200z4a 提供,第二个 LED 由核心 e200z4b 提供,第三个 LED 由核心 e200z2 提供, * 通过 UART 终端和终端 ECHO 初始化并显示通知。 * * ------------------------------------------------------------------------------ * 测试硬件:MPC574XG-324DS Rev.A + MPC574XG-MB Rev.C * 微控制器: PPC5748GMMN6A 1N81M * 系统频率:160 MHz PLL * Debugger:        Lauterbach Trace32 * 目标:internal_FLASH * 终端:19200-8-无奇偶校验-1停止位-LINFlexD_2上无流量控制 * ******************************************************************************** <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 应用程序执行基本初始化,初始化中断,闪烁 * 一个 LED 由核心 e200z4a 提供,第二个 LED 由核心 e200z4b 提供,第三个 LED 由核心 e200z2 提供, * 通过 UART 终端和终端 ECHO 初始化并显示通知。 * * ------------------------------------------------------------------------------ * 测试硬件:MPC574XG-324DS Rev.A + MPC574XG-MB Rev.C * 微控制器: PPC5748GMMN6A 1N81M * 系统频率:160 MHz PLL * Debugger:        Lauterbach Trace32 * 目标:internal_FLASH * 终端:19200-8-无奇偶校验-1停止位-LINFlexD_2上无流量控制 * ******************************************************************************** 概述
記事全体を表示
i.MX 8QuadMax および i.MX 8QuadXPlus 開発ボード上のディスプレイモジュール拡散スペクトル技術の使用ガイド <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [中国語訳] 添付ファイルを参照   元のリンク: https://community.nxp.com/docs/DOC-343521 i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus
記事全体を表示
What to do if you fail a course at an Australian university <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> What to do if you fail a course in an Australian university? Contact QQ1252839746. You will be expelled from school for cheating, low GPA, or receive an academic warning. The final scores of Australian universities for 2018 S1 have been released one after another. When you get the scores, some people will inevitably feel frustrated. They didn’t take the exam for the content they reviewed, and they didn’t review the content for the exam, so they failed some subjects as expected... Australian universities have always been lenient in admission and strict in graduation! With the release of grades, students are asking what to do if they fail a course. Let's learn how to deal with different situations of failing a course! Less than or equal to 50% of failed subjects in the same semester What does it mean to fail less than or equal to 50% of the subjects? The curriculum of each university is 4 courses per semester. If you fail 1-2 courses in a semester, but have not double failed (failed a course more than twice in a row), the school will not take any action against you. You must strive to pass all 4 courses in the next semester to make up for it! The number of failed subjects in the same semester is greater than or equal to 50%. Greater than or equal to 50% means that if you fail more than 2 courses in a semester, the school will generally take the first action and send you a warning letter! School attendance is less than 80% This has nothing to do with failing a course, but it is very important. If students have an attendance rate of less than 80% during a semester due to various reasons, and there is no reasonable reason for this low attendance rate, the school will first warn you and ask for an explanation. If the reason is not accepted by the school, the school is also qualified to report you to the Immigration Bureau, and the Immigration Bureau may cancel your visa based on the situation. Study hard but still fail the exam If you are a student who works very hard but still cannot control the situation and fails the exam, you should face your problem as soon as possible and summarize the reasons why you failed the exam. It may be because your major is not suitable, your learning ability is not good enough, or there are differences between your learning philosophy and the school... The most important thing for these students is to face their situation and consider transferring schools or changing majors. 警告信解释 When you unfortunately receive a dismissal warning letter, the quality of the written explanation is very important. First, explain the reasons you have listed. They must be uncontrollable factors that lead to poor academic performance. Then express your firm belief that you can complete your studies and list the reasons. Finally, carefully plan how to overcome difficulties and work hard to improve your grades. If you use health reasons as the reason, you must prepare supporting materials, such as a doctor's certificate, and submit them together. After accepting the application, the school will decide that it is necessary to hold a hearing, and will give an explanation after the hearing. Regarding transferring schools, I need to remind you that if you are expelled from a public university, you will not be able to transfer to other public universities to continue your studies, and can only transfer to various private universities or colleges. However, you can start preparing for the transfer immediately after receiving a warning letter from the school and apply for the transfer before the expulsion procedure officially begins. If you apply for transfer before completing 6 months of study, you will first need to obtain an offer from the school you want to transfer to, and then apply for a Release letter from your current school. Your current school will review your application based on the transfer policy and procedures, and then decide whether to issue a Release letter. If you have been studying at the main school for more than six months, the school will generally agree to the student's transfer application. In addition to the expensive tuition fees, failing a course in Australia may also result in forced expulsion and cancellation of your student visa, and you may not be allowed to enter Australia for three years, so you must be cautious about every exam. Australian universities can change grades if you fail a course (Q1252839746) and modify GPA scores if you fail a course to solve problems such as expulsion. General
記事全体を表示