Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32 Design Studio for Power Architecture v2.1 - アップデート7が利用可能になりました! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />       製品リリースのお知らせ 車載用マイクロコントローラ/マイクロプロセッサ S32 Design Studio for Power Architecture v2.1 アップデート 7          最新情報 Power Architecture RTM 3.0.2 用の統合 S32 SDK( S32 SDK リリースノートを参照してください) これは累積的な更新プログラムです - 以前の更新プログラム (更新プログラム 1、更新プログラム 2) のすべてのコンテンツが含まれています インストール手順 このアップデートは、 オンライン インストール(S32DS拡張機能とアップデート経由)、または オフライン インストール( 直接ダウンロードリンク) 利用できます  インストール: メニューの「ヘルプ」->「S32DS拡張機能と更新」ダイアログに移動します 利用可能な項目から選択し、[インストール/更新] ボタンをクリックします オフライン インストール:  S32 Design Studio for Power製品ページ->ダウンロードセクションに移動するか、直接リンクを使用して更新アーカイブzipファイルをダウンロードします  S32 Design Studioを起動し、「ヘルプ」-「S32DS拡張機能と更新」>に移動し、「設定に移動」リンクをクリックします そして新しいサイト「追加...」リポジトリに移動し、前の手順でダウンロードしたダウンロードした更新アーカイブzipファイルを参照して選択します [S32 Design Studio for Power Architecture Device Package] と [Update with S32 SDK 3.0.2] を選択します。Power Architectureのパッケージをクリックし、「インストール/更新」ボタンをクリックしてください。   これにより、アップデートのインストールが開始されます。 全般 SDK
記事全体を表示
在 P1023 参考设计板上启用 SD 接口 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 要在 p1023RDB 上的 SPI 启动中启用 SD 接口: 1. 在 u-boot 中执行以下更新 a) 修改 pmuxcr 以在 SPI 启动时启用 SD 总线 b) 在 u-boot 中更新相应的静态多路复用器实现 2. 在 Linux 中执行以下更新 a) 从设备树和内核 defconfig 中禁用 IFC 启用 SD 接口的补丁详细信息如下。一个 zip 文件,AN4336SW.zip,包含 u-boot 和 Linux 补丁的随附应用说明。该文件可以从[ 1 ]下载。 U-Boot 从 QorIQ SDK 1.0.1 iso 中提取 u-boot 代码 应用补丁 u-boot-p1023rdb-enabling-sd-in-spi-boot.patch 使用“make”命令为 SPI Flash 编译 u-boot    make ARCH=powerpc   CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu- p1023RDB_SPIFLASH 使用 boot_format 实用程序生成 spiimage。更多信息请参见 SDK 手册。 使用上面构建的spiimage更新SPI Flash Linux 从 QorIQ SDK 1.0.1 iso 中提取 Linux 源代码 应用补丁 linux-p1023rdb-enabling-sd-in-spi-boot.patch 使用 make 命令编译 Linux #make ARCH=powerpc  CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnuarch/  powerpc/configs/qoriq_sdk_nonsmp_defconfig  #make ARCH=powerpc  CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu- 编译dts ./sripts/dtc/dtc -f -I dts -O dtb -R 8 -S 0x3000  arc/powerpc/boot/dts/p1023rdb.dts.dts > p1023rdb.dtb.dtb 使用更新的 SPI 引导加载程序、Linux uImage 和 p1023rdb.dtb,用户必须能够在 p1023RDB 上启用 SD 接口。 笔记 仅当用户特别要求使用 SPI 启动的 SD 接口时才必须进行上述更改。 对于所有其他启动方法,不得使用这些补丁。 QorIQ P1设备
記事全体を表示
NXP BLEプロトコルスタックを使用したカスタムプロファイルサーバーの作成 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [中国語訳] 添付ファイルを参照   元のリンク: https://community.nxp.com/docs/DOC-332703 BLE Software
記事全体を表示
マッサージチェア用3相ホールセンサー <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 形容 ブロック図 製品 関連ドキュメント 関連ソフトウェア コミュニティからの関連デモ 形容 NXPは、マッサージチェアのマッサージローラーのような電気ノイズの多い環境でのモータ制御に最適な、信頼性の高い5V電源MCUを提供しています。このアプリケーションに最適なモーター制御技術は、フィールド指向のモーター制御を備えた3相ホールセンサーPMSMモーター制御です。 ブロック図 製品 カテゴリ名1 MCU KE02-40 MHz 製品URL 1 https://www.nxp.com/design/development-boards/freedom-development-boards/mcu-boards/freedom-development-platform-for-kinetis-ke02-mcus:FRDM-KE02Z40M 製品説明1 KE02-40MHzマイコンには、6チャネルのFlexTimerが1台搭載されています。FlexTimersは、エッジアライメント、センターアライメント、および位相シフトPWM信号に対して4組の相補PWM信号を生成できます。これらの機能は、PMSMモータの機能をマスク、反転、および制御します。さらに、5Vの機能により、このMCUは高電気ノイズ環境で使用されるアプリケーションで高い信頼性を発揮します。 関連ドキュメント Document URL タイトル https://www.nxp.com/docs/en/application-note/AN5237.pdf Kinetis KVおよびKEにおけるセンサレスPMSMフィールド指向制御 https://www.nxp.com/docs/en/application-note/AN5294.pdf 低コストPMSMセンサレスフィールド - Rev. 1、2017年5月、アプリケーションノート KE02に基づく指向制御 https://www.nxp.com/docs/en/application-note/AN5380.pdf KE1xFでFTM、PDB、ADCを使用し、デュアルPMSM FOCとPFCを駆動 https://www.nxp.com/docs/en/application-note/AN4869.pdf FRDM-KE04Zとタワーボードに基づくホールセンサを用いたBLDCMの正弦波制御 関連ソフトウェア ソフトウェアURL https://www.nxp.com/webapp/Download?colCode=AN5309SW https://www.nxp.com/docs/en/application-note-software/AN5321SW.ZIP https://www.nxp.com/downloads/en/reference-applications/MCRSP_PMSM_V1.2.0.exe コミュニティからの関連デモ コミュニティデモのURL https://community.nxp.com/thread/465280 https://community.nxp.com/docs/DOC-101472 ブロック図 スマートホーム
記事全体を表示
P1023リファレンスデザインボードでのSDインターフェイスの有効化 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> p1023RDB の SPI ブートで SD インターフェイスを有効にするには: 1. u-boot で次の更新を実行します a) SPI ブートの場合に pm uxcr を変更して SD バスを有効にします b) u-boot 2 の対応する静的マルチプレクサ インプリメンテーションを更新します。Linuxで次の更新を実行しますa)デバイスツリーとカーネルdefconfigからIFCを無効にします SDインターフェースを有効にするためのパッチの詳細を以下に示します。zip ファイル AN4336SW.zipu-boot と Linux のパッチは、このアプリケーションノートに付属しています。ファイルはからダウンロードできます [1]. U-Boot QorIQ SDK 1.0.1 isoからu-bootコードを抽出します。 パッチ u-boot-p1023rdb-enabling-sd-in-spi-boot.patch を適用します。 SPI フラッシュの "make" コマンドを使用して u-boot をコンパイルします    make ARCH=powerpc   CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu- p1023RDB_SPIFLASH boot_format ユーティリティを使用して、スピイメージを生成します。詳細については、SDK マニュアルを参照してください。 上記のビルドされた spiimage で SPI フラッシュを更新します Linux QorIQ SDK 1.0.1 isoからのLinuxソース・コードの抽出 パッチ linux-p1023rdb-enabling-sd-in-spi-boot.patch を適用します。 makeコマンドを使用してLinuxをコンパイルします #make ARCH=powerpc  CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnuarch/  powerpc/configs/qoriq_sdk_nonsmp_defconfig  #make ARCH=powerpc  CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu- dts をコンパイルします ./sripts/dtc/dtc -f -I dts -O dtb -R 8 -S 0x3000  arc/powerpc/boot/dts/p1023rdb.dts.dts > p1023rdb.dtb.dtb 更新されたSPIブートローダー、Linux uImage、p1023rdb.dtbを使用すると、ユーザーは、p1023RDBでSDインターフェースを有効にできる必要があります。 手記 上記の変更は、ユーザーが SPI ブートを使用する SD インターフェイスを特に必要とする場合にのみ行う必要があります。 他のすべてのブート方法では、これらのパッチを使用しないでください。 QorIQ P1デバイス
記事全体を表示
PN7150/PN7120 i.MX6SXのArduino用NFCコントローラSBCキット <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> これは、Arduino用PN7150 NFCコントローラーSBCキット(OM5578 / PN7150ARD)と、i.MX6SXを使用し、Arduinoピン互換のUDOO NEOボードを使用して、簡単なNFCデモアプリをセットアップして実行するためのステップバイステップガイドです。 1. 応募資格 - UDOO NEOボード。このドキュメントでは UDOO NEO フル ボードについて言及していますが、適切なデバイス ツリーが各ボードで使用されている限り、手順はすべての UDOO Neo ボードで同じです。このボードの詳細については、公式サイト(http://www.udoo.org/)をご覧ください。 UDOOネオフルボード - PN7150 Arduino用NFCコントローラーSBCキット(OM5578/PN7150ARD)は、下の画像に示されています。または、Arduino用のPN7120 NFCコントローラーSBCキット(OM5577 / PN7120ARD)を使用することもできます。 PN7150 Arduino用NFCコントローラーSBCキットをUDOO Neoに取り付け OM5578ボードの詳細については、次のリンクから入手できるユーザーマニュアル(Doc ID UM10935)を参照してください。 http://www.nxp.com/documents/user_manual/UM10935.pdf このデモボードと他のPN7150デモボードに関する追加のドキュメントと情報は、以下のリンクからご覧いただけます。 PN7150用デモボード|NXPの​ OM5577ボードの詳細については、次のリンクから入手できるユーザーマニュアル(Doc ID UM10878)を参照してください。 http://www.nxp.com/documents/user_manual/UM10878.pdf OM5577ボードのその他のリソースについては、次のリンクを参照してください。 PN7120 NFC Controller SBC Kit|NXP - Ubuntu 12.04 以降 (14.04 を推奨) を搭載したホスト コンピューター。 - ホストにインストールされている i.MX6SX の L3.14.28 BSP リリース。この BSP のダウンロード方法とセットアップ方法に関するドキュメントは、次のリンクにあります。 http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors/embedded-linux-for-i.mx-applications-processors:IMXLINUX?code=IMXLINUX 2. NXP BSPリリースとツールチェーンの設定 L3.14.28 BSP リリースに含まれている Yocto ユーザーズ ガイドの指示に従って、i.MX6SX (MACHINE= imx6sxsabresd) のイメージをセットアップし、ビルドします。fsl-image-gui イメージとフレームバッファ (fb) バックエンドを使用します。他のイメージを使用することもできますが、core-image-minimal イメージには、NFC デモ アプリに必要な libstdc++.so.6 ライブラリが含まれていないことに注意してください。 また、カーネルとブートローダーをクロスコンパイルするためのツールチェーンをビルドしてインストールする必要もあります。これは、次のコマンドで実行できます。 $ bitbake メタツールチェーン 作成したら、次のスクリプトを実行してインストールできます。 / /tmp/deploy/sdk/poky-glibc-x86_64-meta-toolchain-cortexa9hf-vfp-neon-toolchain-1.7.sh ツールチェーンの抽出方法の詳細については、次のYoctoトレーニングタスクを参照してください。 タスク #7 - ツールチェーンを作成する 3. デバイスツリーの編集 以前のバージョン (3.0.35 の後方) では、Linux カーネルにはハードウェアの全記述が含まれていたため、ブートローダーはカーネルイメージをロードして実行する必要がありました。現在のカーネルバージョンでは、ハードウェアの説明はデバイスツリーブロブ(DTB)にあり、デバイスツリーを変更するだけで同じカーネルを異なるハードウェアで使用できます。このシナリオでは、ブートローダーはカーネルイメージとデバイスツリー(DTB)バイナリをロードします。 新しいデバイスツリーを追加する方法の詳細については、新しいデバイスツリーの追加について説明している次のコミュニティドキュメントを参照してください。 https://community.nxp.com/docs/DOC-329664 このドキュメントでは、PN7150 NFCコントローラーボードのサポートのみを追加するため、現在のUDOO NEOデバイスツリーを変更します。 3.1 元のUDOO Neoデバイスツリーファイルのコピー ホームディレクトリに開発フォルダを作成します。 mkdir udooneo-dev カーネルソースをこのフォルダにダウンロードします。これには、デバイスツリーファイルも含まれます。 cd udooneo-dev git clone https://github.com/UDOOboard/linux_kernel デバイスツリーのファイルは、udooneo-dev/linux_kernel/arch/arm/boot/dts から入手できます。 3.2.UDOO Neo デバイス ツリー ファイルの編集 UDOO Neo Full ボードを使用するため、imx6sx-udoo-neo-full-hdmi-m4.dts を使用します。テキストエディタを使用してこのファイルを調べると、同じディレクトリにあるいくつかのインクルード定義ファイルが含まれていることがわかります。 #include "imx6sx-udoo-neo.dtsi" #include "imx6sx-udoo-neo-full.dtsi" #include "imx6sx-udoo-neo-m4.dtsi" #include「imx6sx-udoo-neo-hdmi.dtsi」 #include 「imx6sx-udoo-neo-externalpins.dtsi」 これらを BSP Release の dts ディレクトリにコピーする必要があります (このディレクトリからデバイス ツリーを作成することもできますが、このドキュメントでは BSP Release にデバイス ツリーを追加する方法について説明します)。 / / /tmp/work/imx6sxsabresd-poky-linux-gnueabi/linux-imx/3.14.28-r0/git/arch/arm/boot/dts/ BSP リリースの Makefile にコンパイルする新しい dtb ファイルを追加する必要があります。これは、プリコンパイラ ディレクティブ $(CONFIG_ARCH_MXC) 内に配置する必要があります。 Arduinoピン配置を使用するNFCコントローラーボードで使用されるピンを構成するために、デバイスツリーに追加する必要があるものがいくつかあります。これらは imx6sx-udoo-neo.dtsi に対して行うことができるので、コンパイルする任意の UDOO Neo デバイスツリーによって取得されます。 使用されるI2Cピンは、I2C2バスのピンです。これらのピンの設定は、imx6sx-udoo-neo.dtsi ファイルにすでに実装されている必要があります。そうでない場合は、&iomuxc セクション内にこれらの行を追加してください。 &iomuxc { pinctrl_i2c2_1: i2c2grp-1 { FSL、ピン = <                                                         MX6SX_PAD_GPIO1_IO03__I2C2_SDA          0x4001b8b1                                                         MX6SX_PAD_GPIO1_IO02__I2C2_SCL           0x4001b8b1                                         >;                       }; }; 次に、PN7150のイネーブルピン、割り込みピン、I2Cアドレス、およびバス速度の&i2c2セクションにpn547エントリを追加する必要があります。図のように、下の太字で囲んだ部分を「&i2c2」セクションの末尾に付けます。 &i2c2 { pn547: pn547@28 { compatible = "nxp,pn547"; reg = <0x28>; クロック周波数 = <400000>; interrupt-gpios = <&gpio4 9 0>; enable-gpios = <&gpio5 21 0>;         }; }; 重要な注意点: これらの構成のいずれかを追加する前に、これらのピンとI2Cアドレスがこの*udo*.dtsiの他の場所で使用されていないことを確認することが重要ですファイル UDDO Neo Schematics は、UDDO Web サイト (以下の回路図へのリンク) で見つけることができ、これらの設定の背後にある理由を確認できます。 http://www.udoo.org/download/files/schematics/UDOO_NEO_schematics.pdf IR信号– J4コネクタ– Arduino 7ピン– i.MX6SXB13ピン VEN信号 - J6コネクタ - Arduino 8ピン - i.MX6SX W5ピン SDA信号 – J6コネクタ – Arduino SDAピン - i.MX6SX D20ピン SCL信号 – J6コネクタ – Arduino SCLピン - i.MX6SX C20ピン シンプルなデバイスツリーをゼロから作成する方法を詳しく確認したい場合は、次の非常に完全でわかりやすいコミュニティドキュメントを確認してください。 Udooボードの基本デバイスツリー デバイスツリーをコンパイルするには、次のコマンドを実行します source /opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi cd / / /tmp/work/imx6sxsabresd-poky-linux-gnueabi/linux-imx/3.14.28-r0/git ARCH=arm dtbs を作成します。 これにより、使用される Imx6sx-udoo-neo-full-hdmi-m4.dtb が生成されます。 4. U-Boot のコンパイル UDOO Neo FullボードにはUDOO U-bootを使用します。次の手順では、ソースコードをダウンロードし、ツールチェーンを使用してコンパイルする方法について説明します。 ソースコードのダウンロード mkdir UDOOneo-dev cd UDOOneo-dev git clone -b 2015.04.imx-neo https://github.com/UDOOboard/uboot-imx cd uboot-imx u-bootのコンパイル source /opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- make udoo_neo_config ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- make これにより、DCD (Device Configuration Data) テーブルと u-boot.img ファイルを含む SLP ファイルが生成されます。 手記: デフォルトでは、このU-Boot構成はUDOO Neoボードを検出し、この場合はimx6sx-udoo-neo-full-hdmi-m4.dtbを探します。ボードによっては、異なるデバイスツリーを使用する必要がある場合があります。 5.SDカードのフラッシュ 5.1..sdcard の使用ファイルを使用して BSP リリース イメージをロードします。 イメージからルートファイルシステムをロードする最も簡単な方法は、.sdcardを使用することですbitbake の実行後に作成されるファイル。このイメージは、次のパスにあります。 / / /tmp/deploy/images/imx6sxsabresd これにより、BSP Release U-boot ファイルとデバイス ツリー ファイルもロードされますが、その後、自分のファイルと交換します。これを行うには、次のコマンドを使用します。ここで、sdx は SD カードです。 $ sudo dd if=.sdcard of=/dev/sdx bs=1M && 同期 または、必要な2つのパーティションを手動で作成することもできます。詳細については、Yocto ユーザーズガイドを参照してください。 5.2.U-boot の書き方 U-boot をフラッシュするには、SD カードが /dev/sdx にあると仮定して、次のコマンドを使用して SPL ファイルと u-boot.img ファイルの両方をフラッシュする必要があります。 dd if=SPL of=/dev/sdx bs=1K seek=1 dd if=u-boot.img of=/dev/sdx bs=1K seek=69 5.3.デバイスツリーブロブのコピー imx6sx-udoo-neo-full-hdmi-m4.dtb デバイスツリーを FAT パーティションの dts というフォルダにコピーします。 6. カーネルドライバーの追加 Linux ソースディレクトリの git リポジトリからドライバーソースをダウンロードします cd / / /tmp/work/imx6sxsabresd-poky-linux-gnueabi/linux-imx/3.14.28-r0/git/drivers/misc $ git clone https://github.com/NXPNFCLinux/nxp-pn5xx.git 現在のディレクトリの Makefile に次の行を追加します     obj-y += nxp-pn5xx/ 見出し設定ファイルに以下の行を追加して、ドライバー設定を含めます (drivers/misc/Kconfig)を参照してください。 ソース: "drivers/misc/nxp-pn5xx/Kconfig" 環境変数のエクスポート cd / / /tmp/work/imx6sxsabresd-poky-linux-gnueabi/linux-imx/3.14.28-r0/git/ $ source /opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi $ export ARCH=arm $ export CROSS_COMPILE=$TARGET_PREFIX     $ make imx_v7_defconfig make menuconfig メニュー設定内には、パス上にあるドライバーをモジュール( )として含めます。 デバイスドライバ ---> その他のデバイス ---> < M> NXP PN5XXベースのドライバ 変更を保存して終了し、モジュールをコンパイルします。 $ make modules 次に、モジュールをイメージにインストールします。ロードされたイメージのSDカードを挿入し、コマンドpromtからアクセスするためにマウントします。 sudo mount /dev/sdx ~/mountpoint/ ここで、sdxはSDカードです。次に、次のコマンドを使用してモジュールをインストールします。 sudo ARCH=arm INSTALL_MOD_PATH=/home/user/mountpoint modules_install firmware_install SDカードをアンマウントする前に、NFCライブラリをインストールします。 7.NFCライブラリのインストール 次のコマンドを実行して、必要なライブラリをホストにインストールします。 sudo apt-get update sudo apt-get automakeをインストールする sudo apt-get autoconf をインストールする sudo apt-get libtoolをインストールする ノート: Ubuntu 12.04 を使用している場合、次のコマンドを使用すると、NFC ライブラリに必要な最小バージョンである autoconf 2.69 をインストールできます。 sudo add-apt-repository ppa:dns/gnu -y sudo apt-get update -q sudo apt-get install --only-upgrade autoconf ディレクトリに入り、Linuxlibnfc-nciスタックをインストールします cd ~/UDOOneo-dev git clone https://github.com/NXPNFCLinux/linux_libnfc-nci.git ブートストラップbashスクリプトを実行して、構成スクリプトを生成します cd ~/UDOOneo-dev/linux_libnfc-nci ./bootstrap Make ファイルを構成します。デフォルトのツールチェーン sysroots パスを使用しています。 PN7150 用に構成するには、次の設定を使用してください。 ./configure --enable-pn7150 --host=arm-none-linux --prefix=/opt/poky/1.7/sysroots/x86_64-pokysdk-linux/usr --sysconfdir=/home/user/mountpoint/etc PN7120 用に構成するには、次の設定を使用してください。 ./configure --enable-pn7120 --host=arm-none-linux --prefix=/opt/poky/1.7/sysroots/x86_64-pokysdk-linux/usr --sysconfdir=/home/user/mountpoint/etc これで、スタックの make とインストールを実行する準備が整いました。 作成する sudoメイクインストール ビルドが成功すると、ライブラリとアプリケーションデモが .libs でビルドされますディレクトリ。ライブラリをターゲットの「/usr/lib」ディレクトリにコピーし、nfcDemoAppをターゲットの「/usr/sbin」にコピーします cd .libs sudo cp * /home/user/mountpoint/usr/lib sudo cp nfcDemoApp /home/user/mountpoint/usr/sbin cd ~/UDOOneo-dev/linux_libnfc-nci/conf/PN7150 sudo cp * /home/user/mountpoint/etc これで、SDカードのマウントを解除できます。 sudo umount /home/user/mountpoint 8. NFCリーダーのテスト マイクロSDカードをUDOO Neoボードのスロットに挿入し、PN1750 NFCコントローラーボードをUDOO Neoボードの上にインストールします。 ボードにアクセスするために、ターミナルコンソールを使用します。NEOまたは同様のアダプター用の公式USB /シリアルデバッグモジュールを使用できます。 UDOO Neoボードでのシリアルデバッグコンソールの設定の詳細については、以下のリンクを参照してください。 http://www.udoo.org/docs-neo/Basic_Setup/Serial_Debug_Console.html 起動したら、.ko をインストールしますファイル。 insmod /lib/modules/3.14.28+g91cf351/kernel/drivers/misc/nxp-pn5xx/pn5xx_i2c.ko 次に、nfcDemoApp を実行します。ポーリングモードでテストし、利用可能なタグを探して読み取ります。 nfcDemoAppの投票 NFCタグをNFCリーダーの隣に配置すると、以下に示すようなコンソール出力が得られるはずです。 虫垂。 参考文献と役立つドキュメント http://www.nxp.com/documents/application_note/AN11697.pdf PN7150用デモボード|NXPの PN7120 NFC Controller SBC Kit|NXP i.MX6QのNFC PN7120 |NXPコミュニティ Udooボードの基本デバイスツリー Udooボードの基本デバイスツリー U-Boot の移行例 http://www.nxp.com/documents/user_manual/UM10935.pdf
記事全体を表示
電源管理: RUN、VLPW、LLS モードの電源モニタ [SDK 2.0] <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、皆さん。 組み込みシステム業界は、機能を低下させることなくアプリケーションで低電力モードを使用して、バッテリー寿命の延長を目指し、電力管理のパフォーマンスを向上させるために製品を最適化する傾向があります。これを念頭に置いて、これらのコンパクトなデバイス、電源モニターの要件が発生します。 このドキュメントでは、Kinetisファミリのさまざまな電源モードで使用できるいくつかの機能について簡単に説明します。また、KSDK 2.0を使用してこれらの機能を実装し、電源電圧を監視し、この電圧が決定値に低下したことを検出する方法に焦点を当てます。このドキュメントはマイコンK21に基づいていますが、同じ原理をKinetisのK/Lファミリに適用することができます。IDEとしてKDS 3.2を使用し、ターゲットとしてTWR-K21F120M評価ボードを使用します。   お役に立てれば幸いです よろしくお願いいたします。 Jorge Alcala Kinetis KシリーズMCU Kinetis Lシリーズ・マイクロコントローラ
記事全体を表示
RDDSP56F8ACIMVHD:采用 56F80X 或 56F8300 DSC 的三相 ACIM 电机控制参考设计 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Overview 特性 结构框图 电路板 设计资源 Overview 该参考设计演示了具有伏特/赫兹控制的三相交流感应电机驱动器的设计,并支持专用于电机控制应用的 NXP ® 56F80X 和 56F83XX 数字信号控制器 (DSC)。 设计为适用于中功率三相交流感应电机的低成本大容量电机驱动系统,适用于工业和家电领域的应用 该驱动运行在一个使用速度传感器的速度闭环中 根据控制信号的状态(启动/停止开关、加速/减速按钮或PCMaster设定速度),使用一个加速/减速斜率计算速度指令 特性 带正交伏特/赫兹控制的3相交流感应电机速度控制 针对56F80X、56F83XX和56F81XX的数字信号控制器 在面向3相电机的高电压中等功率电路板上运行 带速度闭环的伏特/赫兹控制 可在开环中运行电机 面向电机速度参考的正交编码器 手动接口 PC主机软件控制接口和监控器 故障保护 结构框图 电路板 设计资源 传统设计
記事全体を表示
RDS12VR:アンチピンチ・ウィンドウ・リフト・リファレンス・デザイン <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Overview 特長 ブロック図 設計・リソース Overview NXP®と同済大学は、MagniV® S12VR MCUを搭載した挟み込み防止ウィンドウリフトのリファレンスデザインを共同で開発し、パワーウィンドウとサンルーフシステムの開発に最適です。 実際のドア/窓の車載アプリケーション向けのハードウェアに加え、挟み込み防止アルゴリズムや低レベルのS12VRドライバーなどのソフトウェアも搭載 市場投入までの時間を短縮することを目的としたこのデザインは、MagniV S12VR MCUの独自の機能を活用しています 不要な外付け部品を削減し、総部品表(BOM)を削減し、システム品質を向上させ、PCBの小型化により車載アプリケーションのスペースを節約します 特長 ウィンドウ手動/自動アップ/ダウン、ストップ機能付き自動アップ/ダウン 手動/自動モードの両方での挟み込み防止、挟み込み防止領域と力を調整できます アンチピンチ領域からのスタック検出、モーター過負荷保護 ウィンドウが上部/下部に近づくとソフトストップします 故障診断、低電圧、過電圧/電流/温度などを示します。 低消費電力モード(S12VR低消費電力モードを活用)により消費電力を削減 自己学習、EEPROMに保存されているウィンドウ/モーターパラメータの更新によるキャリブレーション ホールセンサーと電流センサーを使用して、アルゴリズムのアンチピンチを判断 制御が簡単なグラフィックユーザーインターフェイス(GUI)、パラメータの設定、ステータスの取得 ウィンドウリフトは、複数のLIN軟膏ノードまたはLINマスターノード(GUIを使用)で制御できます 米国連邦自動車安全基準(FMVSS No. 118)の関連コンテンツに準拠できる ブロック図 設計・リソース レガシーデザイン
記事全体を表示
Kinetis Design Studio V1.0.1 ベータ・リリース・ノート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> (注:このドキュメントは新しい情報で常に更新されます)   =========================================================================== リリース・ノート: Kinetis Design Studio (KDS) V1.0.1 Beta 日付: 2014年6月6日 ===========================================================================   コンテンツ: 1) 新着情報 2) 対応デバイス 3) 既知の問題と回避策   フリースケール・コミュニティ・フォーラム: https://community.freescale.com/community/kinetis-design-studio   =========================================================================== 1) 新着情報 =========================================================================== Kinetis Design Studioは、Freescale Kinetisデバイス用のGNU gccおよびGNU gdbを備えた、無料のEclipseベースのツール・チェーンです。デバッグ接続として、OpenOCD/CMSIS-DAP、P&E Multilink、Segger J-Linkがサポートされています。   V1.0 ベータ版のプレリリースは、Freescale Technology Forum (FTF) 2014 で使用され、このフィードバックに基づいて、いくつかのことが行われています 改善: インストーラー: バックスラッシュが変数から削除KSDK_PATH。追加の変数が作成されます (KSDK_PATH_1_0_0_BETA)。 インストーラ:Processor Expert CDE(Component Development Environment)もインストールされました。 インストーラー: スペースを含むパスへの挿入に関する問題を修正しました。 インストーラー: KDS の古いバージョンの削除を扱うインストール ダイアログは、システム上で古いバージョンを既に検出しているのではなく、ユーザーが古いバージョンを検索して削除する機会を提供することを明確にするために言い換えられました。 インストーラー: Windows で作成されたショートカットが使用する作業ディレクトリが KDS eclipse/ ディレクトリになりました。これにより、ワークスペースを設備に対して相対的に配置できます。 Processor Expert:Processor Expertの更新バージョンが組み込まれました。 プロジェクトの作成: ベア プロジェクトが適切な * で作成されるようになりました。S アセンブリ ファイル拡張子。 プロジェクトの作成: Kinetis SDK __START, __HEAP_SIZEおよび__STACK_SIZEプリプロセッサ・シンボルが生成され、インクルード・パス設定が拡張されました。 プロジェクトの作成 : 浮動小数点ユニットを搭載した M4 コアのプロジェクトでは、コンパイラ設定でハードウェア浮動小数点オプションが設定されています。 デバッグ: 以前のバージョンで見られた "Move to Line" GDB の問題を修正する Segger デバッグ ツールの更新 (v4.84c) バージョン。 Eclipse: GNU ARM Eclipse プラグイン (http://gnuarmeclipse.livius.net/blog) の新しいリリースが組み込まれました。これには、次の問題の修正が含まれます。 Windows では、常にチェックする必要がある [OpenOCD のコンソールを割り当てる] チェックボックスは変更できなくなりました。 GNU LD エラーパーサーがデフォルトで有効になりました。以前は、リンカーからのエラーと警告は [問題] ビューに表示されませんでした。 Eclipse: デフォルトのワークスペースの名前が "workspace.kds" に変更されました。 Eclipse: 利用可能なアップデートサイトのリストに、P&E Microのアップデートサイトが含まれるようになりました。 OpenOCD: デフォルト設定では、OpenOCD は常に既知の安全な値を Flash Configuration Field (FCF) に書き込むようになりました。これは、ユーザーが壊れた実行可能ファイルでデバイスをプログラミングすることにより、誤ってデバイスをロックするのを防ぐように設計されています。この安全機能は、「fcf_write_enable」コマンドで無効にしたり、「fcf_write_disable」で再度有効にしたりできます。これらのコマンドは、Kinetisフラッシュ・バンクが定義された後にのみ使用できます。 OpenOCD: 以前のリリースに含まれていたパーツ固有の OpenOCD 設定ファイルは非推奨になりました。これらは、すべてのkinetisパーツに対応する1つの設定ファイル(kinetis.cfg)に置き換えられました。この統合ファイルは、1000 Khz の高速アダプター速度も使用します。 ツールチェーン: 以前のバージョンのリンカーでは、プログラムの指定されたエントリ ポイントが見つからない場合に、"エントリ シンボルが見つかりません" という警告が表示されていました。この警告は、デフォルトではエラーに昇格しています。ユーザーがこの動作を制御できるように、--warn-missing-entry --error-missing-entry という 2 つのオプションが追加されました。   重要: KDS V1.0.1 ベータ インストールには、ベータ Kinetis SDK のインストールが付属しています。KDS V1.0 GA (General Availability Release) の場合、Kinetis SDK は個別のインストール/zip ファイルとなるため、KDS V1.0.1 ベータで作成されたプロジェクトは、modifiction (パス設定の更新)。   =========================================================================== 2) 対応デバイス =========================================================================== Processor Expert プロジェクト: - Processor ExpertがサポートするすべてのKinetis ARM Cortex-M0+およびCortex-M4(F)デバイス。   Kinetis SDKプロジェクト: ●K64F (MK64FN1M0VMD12のみ)   ベア プロジェクト (SDK や Processor Expert プロジェクトなし) - K64F, KL25Z   =========================================================================== 3) 既知の問題と回避策 =========================================================================== インストール 問題: KDS v1.0 (FTF) のユーザーは、古い KSDK_PATH "User" 環境変数が設定されている可能性があります。更新されたインストーラーは、システム環境変数のみを変更します。 回避策: ユーザーは、古い "User" KSDK_PATH 環境変数を削除する必要があります。 問題: Kinetis Design StudioがProgram Filesなどの読み取り専用ディレクトリにインストールされている場合、Eclipseの設定はユーザー固有の領域に保存されます。ユーザーが他のバージョンの KDS または他の Eclipse ベースの製品を使用している場合、同じ構成領域を使用して Eclipse を起動すると、更新を実行するように求められることがあります。パブリック更新サイトを提供していないコンポーネントの場合、この更新は失敗しますが、KDS は引き続き完全に機能します。更新は安全にスキップできます。 回避策: インストーラによって提案されたデフォルトのインストールパスを使用します。 問題: Linux にインストールすると、Segger ドライバーがすでにインストールされている場合、「dpkg: エラー処理kinetis-design-studio_1.0.1-1_i386.deb (--install): '/etc/udev/rules.d/99-jlink.rules' を上書きしようとしています」のようなエラーが表示されることがあります。これはパッケージjlink 4.78.7"のalosです。 回避策: root としてインストールしていることを確認してください。KDSインストーラーを実行する前に、既存のj-linkドライバーをアンインストールしてください。   プロジェクトの作成 問題: ベア プロジェクト (SDK なし、Processor Expert なし) の場合、プロジェクトには KL25Z のリンカー ファイルが含まれています。 回避策: リンカ ファイルをデバイスに一致するリンカ ファイルに変更/置き換えます (例:Processor Expert プロジェクトからコピーします)。 問題: QuickStart で説明されているように、MCU プロジェクトの CodeWarrior を KDS に変換してインポートすると、プロジェクトがビルドされない場合があります。KDS のライブラリーは (EWL) 異なるため、 を GNU ライブラリーに自動的にマップすることはできません。 回避策: プロジェクトのインポート後に、プロジェクト設定を手動で更新します。 問題: 複数のビルド ターゲットを持つ既存の CodeWarrior プロジェクトを移行すると、エラー メッセージ Cannot run program "": Launching failed.CodeWarrior Migration Assistantは、アクティブなビルド構成のみを変換します。その他のビルド構成は部分的に変換されます。 回避策: これは、C/C++ ビルド プロパティの [ビルダー設定] タブを手動で編集することで修正できます: [デフォルトのビルド コマンドを使用する] のチェックを外し、 ${cross_make} を make に置き換えます。 問題: Processor Expert と KSDK の両方を使用する MK64 デバイス用のプロジェクトを作成した後、ユーザーに「有効な CPU が定義されていません」というビルド エラーが表示されることがあります: 「有効な CPU が定義されていません」 fsl_sim_features.h 回避策: これは、fsl_sim_features.h でサポートされているプリプロセッサ定義を Projects C コンパイラのプリプロセッサ設定に追加することで回避できます。FRDM-K64F の場合、コンパイラのプリプロセッサ設定で "CPU_MK64FN1M0VLQ12" と "CPU_MK64FN1M0VMD12" の 2 つのシンボルが定義されていることを確認してください。 問題: Kinetis SDKプロジェクト(SDKとSDK+PExの両方)で、グローバル変数とライブラリが正しく初期化されません。ハード フォールトまたは未定義のグローバル変数が考えられる結果です。これは、スタートアップ コードで一部の初期化コードをスキップしたことが原因です。 回避策: プロジェクト設定の [Cross ARM GNU Assembler > Preprocessor] で、定義の「__START=main" and add __NO_INIT_DATA_BSSを削除します。   Processor Expert 問題: AsynchroSerial コンポーネントを使用すると、SIM_PDD_SetClockSourceUART0() の欠落に関するエラーが発生します。( KDS 1.0.1 の欠落している機能SIM_PDD_SetClockSourceUART0を参照してください)。 回避策: 「Re: KDS 1.0.1 に関数SIM_PDD_SetClockSourceUART0が見つからない」の回避策を参照してください。 問題: Processor Expert プロジェクトは、変更が加えられていない場合でもプロジェクトの再構築を引き起こします。問題は、たとえば、プロジェクトを開いた後、Processor Expert .pe(XML) ファイルが変更され、プロジェクト全体が再構築されます。 回避策: なし。   建物 問題: 問題: 問題ビューで、プロジェクトを作成または開いた後、「 arm-none-eabi-gcc」が PATH に見つかりません」 というメッセージが表示されます。 回避策: これらのエラーは Eclipse インデクサー/パーサーから発生し、機能に影響を与えないため、無視または削除します。プロジェクトがビルドされると、メッセージも消えます。または、Scannerからのエラーを表示しないように問題ビューを設定することもできます:問題ビューメニューから「コンテンツの設定」を選択し、左上の「すべての項目を表示」チェックボックスのチェックを外し、タイプリストの「C/C++スキャナー検出問題」チェックボックスをオフにしてください。 問題点: Kinetis SDKには、KDSで使用されるツールチェーンとは異なるGNU ARM組み込みツールチェーン用に構成されたプロジェクトが付属しています。そのため、KDS のファイル作成プロジェクトは、KDS で変更しないと使用できません。 回避策: KDS プロジェクトを作成し、SDK ファイルを追加します。 問題: Processor Expert プロジェクトのビルドは、リンク中に "arm-none-eabi/bin/ld.exe を報告します。エントリシンボルReset_Handlerが見つかりません」考えられる原因は、ベクタ テーブルを含む CPU コンポーネントのプロジェクト ソースが正しく生成されていないことです。 回避策: ベクタ テーブルとリンカ ファイルの生成を強制します。CPUコンポーネントの[ビルド]プロパティタブに移動し、たとえばヒープサイズのスタックサイズを変更してから、コードを再生成して再度ビルドします。   デバッグ 問題: 「バグ」(または「デバッグ」)ツールバーのアイコンをクリックすると、「Launch DEbug Configuration Selection」という名前のダイアログが表示され、そこからデバッグが失敗します。 回避策: [デバッグ] ツールバー アイコンの小さな三角形のドロップダウンの後ろのリストからデバッグ構成を選択します。 問題: Eclipse 内から OpenOCD デバッグ セッションを開始しようとすると、基になる OpenOCD ツールの起動に失敗すると、Eclipse プロセス マネージャーがハングしているように見えるか、情報のないエラー メッセージが表示されて失敗することがあります。OpenOCDの起動に失敗する原因としては、ボードが接続されていない、ボードが間違ったOpenSDAアプリケーションを実行している、またはOpenOCDに不正なオプションが渡されているなどが考えられます。コマンドラインツール /openocd/bin/openocd.exeを実行すると、より有益な出力が得られる場合があります。 回避策: ボードが正しく接続され、電源が入っていることを確認してください。 問題: 場合によっては、OpenOCD と CMSIS-DAP を使用すると、ボード上の K64F チップがロックされ、CMSIS-DAP がアクセスできなくなる可能性があります。チップへのアクセスを回復するには、P&Eマルチリンクまたはセガーケーブルが必要です。 回避策: 最新の CMSIS-DAP リリースを使用すると、その問題が解決されている可能性があるため、必ず最新の CMSIS-DAP リリースを使用してください。P&E または Segger のデバッグ ファームウェアを使用して、ボードをデバッグします。新しいファームウェアをロードする手順:a)OpenSDA USBポートでFRDM-K64Fボードに電力を供給し、リセットボタンを押しながらボードに電力を供給しますb)リセットボタンを離すと、ボードはBOOTLOADERデバイスとして列挙され、緑色のLEDが点滅します。c) DEBUG_K64F_MBED_PEMICRO_V108をコピーします。BIN ファイルを BOOTLOADER デバイスに保存してください。緑色のLEDが速く点滅します。c)ボードを通常どおりリパワーアップします:緑色のLEDは常に点灯します。 問題: PATH 変数の末尾に 2 つのセミコロン (;;) またはセミコロンがある場合、gdb デバッガーの起動が失敗する可能性があります。${cross_prefix}gdb${cross_suffix}で指定された gdb デバッガーが見つからない可能性があります。「Error while launching command: gdb --version」というエラーメッセージが表示されます。 回避策: この問題の原因として考えられるのは、PATH 環境変数の 2 つのセミコロン、または変数の末尾のセミコロンです ( https://bugs.eclipse.org/bugs/show_bug.cgi?id=389823 を参照)。PATH に 2 つのセミコロンまたは末尾のセミコロンがある場合は、それを削除します。これで問題が解決しない場合は、起動構成設定で、代わりに gdb の${cross_suffix}を使用して、GDB 実行可能ファイルを直接指${cross_prefix}てください。"C:\Freescale\KDS_1.0\toolchain\bin\arm-none-eabi-gdb.exe"です。 問題: クイック スタート ガイド (このコミュニティのものではなく、レイアウトにインストールされています) には、OpenOCD デバッグ構成は必要ないと記載されていますが、"-f kinetis.cfg"は、[その他のオプション] ボックスで指定する必要があります。 回避策: その他のオプションボックスで「-f kinetis.cfg」を指定します。 問題: mbed CMSIS-DAP イメージの現在のバージョンでは、メタ安定性が見られることがあります。これは、OpenOCD によって "CMSIS-DAP 書き込みエラー (0x04)" メッセージと "ポーリング ターゲット kinetis.cpu 失敗" メッセージとして示されます。原因として考えられるのは、無効なプログラムがデバイスにフラッシュされていることです。 回避策: 別のデバッグ テクノロジ (P&E Multilink、Segger J-Link) を使用して、有効なプログラムをデバイスにフラッシュします。 問題: MK64 デバイス用のベア プロジェクト (KSDK や Processor Expert なし) を作成すると、デバッグ時にプログラムが main に到達しないことがあります。これは、COP ウォッチドッグがリセットをトリガーしたことが原因です。 回避策: この問題を回避するには、Processor Expert プロジェクトで示されているように、__init_hardware でウォッチドッグを無効にします。「ベア」プロジェクトのウォッチドッグの無効化を参照してください。 問題: 実行中のターゲット デバッグ セッションからの '切断' が期待どおりに機能しません (例:ターゲットを停止します)。 回避策: デバッグ コンフィギュレーションで [Other options] として使用します。 -f kinetis.cfg -c "kinetis.cpu configure -event gdb-detach { レジュメ }"     =========================================================================== Freescale、Freescaleのロゴ、Kinetis、Processor Expertは、以下の商標です。 フリースケールセミコンダクター株式会社米国特許& Tm.オフ。その他すべての製品 またはサービス名は、それぞれの所有者に帰属します。ARMは ARM Limitedの登録商標です。(c) 2014 フリースケールセミコンダクター株式会社 =========================================================================== 全般 Re:Kinetis Design Studio V1.0.1ベータ・リリース・ノート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Fernando, CodeWarrior はまだ存在し、メンテナンスされている製品です。ただし、すべての新しいKinetisデバイスはKDSによってサポートされます。 Erich Re:Kinetis Design Studio V1.0.1ベータ・リリース・ノート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, 今後、KDSがCodewarrior IDEに取って代わるのか知りたいです。 ありがとうございます Fernando
記事全体を表示
PCF8523 ベアメタルサンプルプロジェクト <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> この資料では、PCF8523を使用したサンプルプロジェクトを示し、NXPの RTCデバイス を簡単に使用できることを示しています。 PCF8523は、超低電力発振器をベースに、インターフェースにI2C-バスを使用したリアルタイムクロックです。その機能の一部を以下に示します。 超低消費電力 秒から年までの時間とカレンダーを提供 精度は32.768kHzの水晶振動子に基づいています クロック動作電圧:1.0V〜5.5V 低バックアップ電流:VDD = 3.0VおよびTamb = 25°Cで標準150nA 2 ライン双方向 1 MHz Fast-mode Plus (Fm+) I2C インターフェイス、スレーブ アドレス: 読み取り D1h、書き込み D0h バッテリバックアップ入力ピンとスイッチオーバー回路 割り込み機能を備えた自由にプログラム可能なタイマーとアラーム CL=7pFまたはCL=12.5pFの水晶振動子用にプログラム可能な統合発振器負荷コンデンサ 周波数調整用のプログラム可能なオフセット・レジスタ 内蔵パワーオン・リセット (POR) この例では、ドキュメント UM10760 に基づいて I2C インターフェイスを使用して PCF8523 が構成され、毎秒割り込みが生成されます。割り込みが生成されると、その時刻が読み取られ、さまざまな変数に格納されます。 このプロジェクトは、 FRDM-KL25Z プラットフォームと OM13511 (I²CバスRTC PCF8523デモボード)を使用して作成されました。完全なソースコードは KDS IDEで記述されています。この投稿に添付されている完全なプロジェクトを見つけることができます。 プロジェクトの参考としてOM13511を使用することを強くお勧めします。
記事全体を表示
FTF-HCW-F1138.pdf <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 开发周期中最困难的一步是从概念到原型。第二是从原型到生产。可穿戴设备也不例外。本课程将首先比较和对比目前可用于原型可穿戴项目的开源参考设计。在下半部分,我们将以飞思卡尔参考设计为例,介绍项目进入制造和生产阶段所面临的挑战和可用的资源。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 开发周期中最困难的一步是从概念到原型。第二是从原型到生产。可穿戴设备也不例外。本课程将首先比较和对比目前可用于原型可穿戴项目的开源参考设计。在下半部分,我们将以飞思卡尔参考设计为例,介绍项目进入制造和生产阶段所面临的挑战和可用的资源。
記事全体を表示
HOWTO: S32 Config Tool (S32V2xx) を使用して、シンプルな点滅 LED プロジェクトを作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このドキュメントでは、付属の例「hello_world_s32v234」を再現する簡単なプロジェクトを作成する手順を順を追って説明します。このデモの目的は、S32 SDK を使用して、S32V234 プラットフォームのサンプル アプリケーションをユーザーに提供することです。このデモでは、2 つの LED (PTA8 と PTA9) を切り替えます。このデモで使用されているハードウェアは SBC-S32V234 EVBで、 NXPのS32デバッグプローブまたは P&E Microのデバッグプローブを介してPCに接続されています。 設定 S32 Design Studio 3.1 以降がインストールされ、かつ S32V2xx 開発パッケージがインストールされている SBC-S32V234 EVBが電源に接続され、かつスイッチがオン S32 デバッグ プローブまたは P&E マイクロ デバッグ プローブを JTAG 接続を介して SBC-S32V234 EVB に接続 S32デバッグプローブは、USBケーブルまたはイーサネットケーブルを介してPCに接続されています(付属の電源を介して電源が必要で、USBポートに接続されています)。HW セットアップの詳細については、「HOWTO: S32 デバッガーと S32 デバッグ プローブを使用して ISP アプリケーション プロジェクトでデバッグを開始する」を参照してください。 P&E MicroデバッグプローブをUSBケーブルでPCに接続 手順 M4 コアの新しいアプリケーション プロジェクトを作成します ファイル -> 新規 -> S32DS アプリケーションプロジェクト プロジェクト名を入力し、Cortex-M4 S32V234プロセッサを選択して、[次へ]をクリックします。 「...」をクリックします。SDK を選択するには、次の手順を実行します S32V234 SDK v1.0.0 (またはそれ以降のバージョン) を選択します。 S32 Configuration Tool のチェックボックスがオンになっていることに注意してください。S32 構成ツールは S32 SDK に依存しています。 S32 Debugger (デフォルト) または PE Micro GDB サーバーを選択します。「終了」をクリックします 新しいプロジェクトがProject Explorerに表示され、S32V234_M4.mexファイルもそこにあります。 この.mexファイルには、このプロジェクトの S32 Configuration Tool のすべての設定データが含まれています。プロジェクト名をクリックすると、S32 Configuration Tool のツールバー アイコンがアクティブになります。 S32 Configuration Toolボタンをクリックするか、.mexをダブルクリックしますファイルを使用して S32 Configuration Tool パースペクティブを開きます。ツールバーの新しいパースペクティブ ボタンに注目してください。 ピンツールパースペクティブに移動すると、これはS32構成ツールが起動されたときに開くデフォルトのパースペクティブです。 右下にエラーがあることに注意してください。S32 SDK の PINS ドライバーに依存しています。このドライバーは必須ではなく、ドライバーが必要ないまれなケースもありますが、ほとんどの場合、ユーザーはドライバーを含めることを選択する必要があります。                                                                                                                            エラーを解決するには、エラー メッセージを右クリックしてコンテキスト メニューを表示し、[SDK コンポーネント 'PINS' をプロジェクト ' ' に追加する ] オプションを選択します。 コンテキスト メニュー オプションを選択すると、プロジェクトに追加されるファイルのリストを確認するための確認ウィンドウが表示されます。この場合、オプションによって新しいファイルは作成されなかったため、確認する必要はありません。チェックボックスをオンにすると、今後この確認ウィンドウが表示されないようにすることができます。[はい] をクリックして、変更を確定します。 ピン パースペクティブの左上にある [Peripheral Signals] タブを選択します SIUL2のチェックボックス ポップアップウィンドウのPeripheral SIUL2で、スクロールしてgpio、8 >> [A11] PA8、gpio、9 >> [B11] PA9を見つけます。それぞれの横にあるチェックボックスをオンにします。 選択したピンごとに、追加のポップアップメニューが表示されます。両方のピンを出力として設定します。次に、[OK] をクリックし、[完了] をクリックします。 それぞれの識別子を次のように設定します ピン Identifier PTA8/A11 LED1の PTA9/B11 LED2の 周辺機器ツールに移動 左上の[周辺機器]タブを選択し、チェックボックスをオンにしてMC_ME [OK] をクリックします。これで、ドライバーがインストールされました。 時計ツールに移動 以下の設定を変更します。これらは実行モード固有ではありません。図内のオブジェクトにマウスポインタを合わせると、名前、現在の設定、出力値など、オブジェクトに関する情報を含むツールチップウィンドウが表示されます。 プリスケーラー ENETPLL_PHI0の変更 (.pll2Config/.phi0Divider)2から8まで 設定を変更するには、まずダイアグラムのプリスケーラーボックスをクリックし、次に右側の[詳細]パネルの値をクリックします。これにより、使用可能な値のリストが表示されます。リストから目的の値を選択します。変更が成功すると、値が強調表示されます。または、プリスケーラーボックス内の値をダブルクリックすると、値のドロップリストが表示され、選択を行うことができます。 プリスケーラVIDEOPLL_PHI0の変更 (.pll4Config/.phi0Divider)4から2へ マルチプレクサAUX0_MUX(CGM0_AUX0_MUX)をFIRCからDDRPLL_DFS1に変更 マルチプレクサAUX8_MUX(CGM0_AUX8_MUX)をFIRCからDDRPLL_PHI0に変更 次の2つを見つけるには、クロックダイアグラムを下にスクロールする必要があります。 マルチプレクサCGM0_AUX7_MUX(MC_CGM_0_AUX7_MUX)をFIRC_CLKからENETPLL_PHI0に変更 マルチプレクサCGM2_AUX2_MUX(MC_CGM_2_AUX2_MUX)をFIRC_CLKからENETPLL_PHI0に変更 [コードの更新] をクリックします 「OK」をクリックします C/C++ パースペクティブへの切り替え 「board \ pin_mux.c」の設定を使用してピンinitを挿入します まだ開いていない場合は、Project Explorer から次のファイルをダブルクリックします。 'ボード\pin_mux.c' 'src\main.c' SDK Explorer を使用する クイックアクセスフィールドに移動し、「sdk」と入力します 「SDK Explorer」を選択します。 必要に応じて、新しい [SDK Explorer] タブを目的のペインにドラッグします。一般に、このツールでは、背の高いタブ ウィンドウの方が適しています。 [Project Explorer] タブでプロジェクト名を選択し、CLOCK_DRV関数定義の一覧が表示されるまで SDK の一覧を展開します。 関数 'CLOCK_DRV_Init()' を main() にドラッグアンドドロップします'main.c' のコメント '/* ここにコードを書いてください */' の後。 次に、関数が定義するPINS_DRVを見つけます。 . 次の関数を 'main.c' の main() 関数にドラッグアンドドロップします。関数呼び出し CLOCK_DRV_Init() の後: PINS_DRV_Init() PINS_DRV_ClearPins() 関数呼び出しが必要な形式ではないので、変更しましょう。 SDK Explorer からドラッグ&ドロップ 私たちのアプリケーションのためにこれに変更してください status_t = CLOCK_DRV_Init(定数 clock_user_config_t*); CLOCK_DRV_Init(&clock_InitConfig0); status_t = PINS_DRV_Init(uint32_t, const pin_settings_config_t[]); PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr); PINS_DRV_ClearPins(GPIO_Type* 定数, pins_channel_type_t); PINS_DRV_ClearPins(LED1_PORT, ((1< clock_InitConfig0は 'board/clock_config.c' で定義されています。 NUM_OF_CONFIGURED_PINS、LED1_PORT、LED1_PIN、LED2_PORT、LED2_PINは 'board/pin_mux.h' で定義されています。 g_pin_mux_InitConfig_Arrは 'board/pin_mux.h' で定義されています。 LED1_PORT == LED2_PORT FOR ループの内容を置き換えてピンを切り替えます (PINS_DRV_TogglePins() は SDK Explorer から取得されます) 翻訳元 NEW for(;;) { if(exit_code != 0) { 壊す; } } for (;;) { / *点滅が見えるように少し遅れを挿入します* / 遅延(720000); /* 出力値 LED1 と LED2 を切り替えます */ PINS_DRV_TogglePins(LED1_PORT, (1 << LED1_PIN)|(1 << LED2_PIN)); } 遅延関数コードをmain.cに挿入します 遅延() void delay(volatile int cycles) { /* 遅延機能 - 何サイクルも何もしない */ while(サイクル--); } 今main.c次のようになります プロジェクトをビルドする これで、ELFファイルができました ハードウェアで実行する準備が整いました。デバッグ コンフィギュレーションを開きます 新しいプロジェクト ウィザード (手順 1f) で選択したデバッガーと、ビルドの種類 Debug_TCM のデバッガー グループ内でデバッグ構成を選択します S32デバッガ/S32デバッグプローブ 「デバッガー」タブを選択します。S32デバッグプローブへの接続方法を構成するには、いくつかのセットアップが必要です 次の 2 つのオプションがあります。 イーサネット USB   プローブをイーサネット経由で接続する場合は、S32デバッグプローブに付属のクイックスタートガイドまたはS32デバッグプローブユーザーガイドを参照して、プローブの接続方法とホスト名またはIPアドレスの確認方法を確認してください。     プローブをUSB経由で接続すると、COMポートがポート選択設定に表示されます。複数の S32 デバッグ プローブが接続されている場合は、どの COM ポートが正しいかを判断する必要があります。そうしないと、S32 デバッグ プローブの COM ポートのみが表示されます。   PEMicro GDB Server デバッグ プローブの設定が完了したら、[デバッグ] をクリックしてコードを実行します。 デバッグパースペクティブの起動に同意します。 これでデバッガが起動し、main() の最初の行にあるデフォルトのブレークポイントで停止していることがわかります。ここから、レジューム、ステップ、ブレークポイントの設定、ウォッチ変数の設定、およびレジスタの監視を行うことができます。 再開すると、EVBのLEDが点滅します。PINS_DRV_TogglePins() にブレークポイントを設定し、[再開] を使用して LED が点灯および消灯するのを確認できます。
記事全体を表示
机器人运动控制 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 描述 特性 结构框图 产品 工具 描述 工厂自动化系统不仅通过强大的通信路径彼此互联,还通过直观的 HMI 与用户互联。 为了满足这些需求和对更环保、更高效工业过程的需求,这些系统需要超可靠的解决方案,来实现快速连接和牢固的安全性。 NXP 的机器人运动控制解决方案提供计算性能、嵌入式连接、低延迟和实时开源操作系统,以满足多轴运动的要求。Layerscape LS1043A 系列提供广泛的计算性能,具有 2 核和 4 核 SoC 以及节能的 A53 ARM 内核。此外,LS1043A 还包括集成连接选项,可实现运动控制和机器人领域所需的低延迟和低抖动。 特性 高精度旋转矢量 高端PLC 工业安全网关 高性能摩托车和驾驶员 结构框图 产品 类别名称1: MCU 产品网址 1 QorIQ ® Layerscape 1043A | 恩智浦 产品描述 1 QorIQ LS1043A 和 LS1023A 处理器包含四通道、10 GHz 多协议 SerDes,支持高速接口,包括最多六个支持 IEEE ® 1588 的千兆以太网端口、三个 DMA 控制的 PCI Express ®代 2.0 端口和一个 SATA 3.0 端口。 类别名称2: 收发器 产品网址 1 TJA1057 | 高速CAN收发器 | 恩智浦 产品描述 1 TJA1057是Mantis系列高速CAN收发器中的一员。 它可在控制器局域网(CAN)协议控制器和物理双线式CAN总线之间提供接口。 产品网址 2 22位双向低电压转换器 | NXP 产品描述 2 GTL2000 允许在 1.0 V 和 5.0 V 之间进行双向电压转换,无需使用方向引脚。 类别名称 3: 传感器 产品网址 1 PCT2075:I2C 总线 Fm+,精度为 1 摄氏度 | NXP 产品描述 1 PCT2075 是一款温度数字转换器,在 -25°C 至 +100°C 范围内具有 ± 1 ° C 的 精度 。 类别名称 4: RTC 产品网址 1 PCF85363A | NXP  产品描述 1 PCF85363A是一款CMOS实时时钟(RTC)和日历,最适合低功耗应用,并在主电源损耗时自动切换到电池。 工具 产品 链接 QorIQ ® LS1043A开发板 QorIQ ® LS1043A开发板 | 恩智浦 OM13257:适用于Fm+开发套件的通用温度传感器子卡 用于 Fm+ 开发套件的通用温度传感器子卡 | NXP OM13514:I²C 总线 RTC PCF85363A 的 PC 评估板 I²C总线RTC PCF85363A的PC评估板 | NXP 框图 工业控制
記事全体を表示
例 MPC5566 ハードウェア ベクター モード <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> この例では、ハードウェア ベクトル モードを使用して LED のトグルを実行します。   *UPDATE* - 内部 RAM 機能が追加され、例外が修正されました。 * * 詳細説明: * - 1秒LED1トグル(emios割り込みを使用) * - sw_button1経由のirq 0割り込みを使用したLED2トグル * - IVOR10 経由の Decrementer を使用した 1 秒の LED3 トグル * - 割り込みのハードウェアベクトルモード設定 * * ------------------------------------------------------------------------------ *テストHW:MPC5566 EVBマザーボード、PPC5566 MVR132 * 対象 : 内部フラッシュ、内部RAM * Fsys:80MHz PLL 8MHz水晶リファレンス付き * * ------------------------------------------------------------------------------ * EVB接続とジャンパー構成 * * EVBマザーボードMPC5566 * * LED1 D17 * LED2 A17 * LED3 C16 ※SW1はピン2を使用し、AF19に接続しています * ********************************************************************************* 全般
記事全体を表示
例 S32K312 PIT BTCU ADC-1 BCTU_ADC_DATA_REG DMA DS3.5 RTD300 *******************************************************************************  本デモ・アプリケーションは、S32K3xx MCU向けのADC_SARおよび  BCTU IPドライバの使用法を示すことを目的としています。  本例ではPIT0トリガーを使用してBCTU変換リストをトリガーし、 ADC1で変換を実行します。ADCチャネルは  ADC-1で変換するために選択されます。ADC1:  P0, p1, p2, p3, p4, p5, p6, S10  BCTU_ADC_DATA_REGからの変換結果はDMAによって結果配列に移されます。  ADCチャネルS10はボードのポテンショ・メータに接続されています。  ------------------------------------------------------------------------------ * テストHW:S32K3X2EVB-Q172 * MCU:S32K312 * コンパイラ:S32DS3.5 * SDKリリース:RTD 3.0.0 * デバッガ:PE micro * ターゲット:internal_FLASH ******************************************************************************** PIT停止を有効にする:--- すべてのチャネルはADC-1用で、BCTUリストにあります:-- [NEW DATA DMA enable mask(NEW DATA DMA有効マスク)]:-- これらのビットフィールドをMCRレジスタで制御します 「ADCターゲットマスク」 :-- [Trigger Configuration (TRGCFG_0 - TRGCFG_71)(トリガー構成 (TRGCFG_0~TRGCFG_71))]の[ADC_SEL]ビット・フィールドを制御します。 単一の変換の場合、有効にできるインスタンスは1つだけです したがって、ターゲット・マスクの可能な値は次のとおりです: 1 (0b001) ADC0 2 (0b010) ADC1 3 (0b100) ADC2 | 変換のリストでは、並列変換も有効にできます 例えば 3 (0b011) ADC0とADC1の並列変換 トリガーは、[Adc Target Mask(Adcターゲット・マスク)]においてパラレル変換ADC0、ADC1のリストとして構成されています。 ADC チャネルのリストは[BCTU List Items(BCTUリスト項目)]で定義され、順序は[Adc Target Mask(Adcターゲット・マスク)]によって指定されます。BctuListItems_0はADC0、BctuListItems_1 はADC1などです。 Re: 例 S32K312 PIT BTCU ADC-1 BCTU_ADC_DATA_REG DMA DS3.5 RTD300 ADC変換時間 DmaCh0_Callback 関数に挿入された TriggerMux と Testpoints を使用して、トリガー(PIT CH0)と DMA 経由のデータ読み取りの間の経過時間を測定しようとしました。 1回の変換にかかった時間を正確に測定するために、BCTUリスト内すべての要素で「次のトリガーがチャネル待ち」オプションを確認しました。他の設定は例のとおりにしておきました(時刻、ADCサンプリング時間 = 220など)。 取得時間は約13マイクロ秒で、私には非常に長いように思えます。 どなたか2マイクロ秒で取得する方法を教えていただけますか? ありがとうございます Gionatha
記事全体を表示
IARプロジェクトビルドS32K144 私は約S32K144 S32DSルーチンに従ってIARプロジェクトを作成したいと思います。プロジェクトのコンパイル後、デバッグ モードに入るとエラーが発生します。また、S32DSルーチンからxmlファイルをエクスポートしてプロジェクトを作成しようとしましたが、再びこのエラーが発生しますが、S32DSでデバッグできます。 これは私が作成したIARプロジェクトですが、その間にどの設定項目に問題がありますか?助けてくれてありがとう Re:S32K144 IARプロジェクトビルド ご協力いただきありがとうございます。 Re:S32K144 IARプロジェクトビルド こんにちは@Embedded_novice これは、I-Jetの代わりにJ-Linkを使用する際の問題のようです。以下の投稿をご覧ください。 解決済み: Re: S32K311スタックポインタが正しくアライメントされていない - NXP Community [解決済み]スタックポインタが不正なアライメントに設定されている - J-Link/フラッシャー関連 - SEGGER - フォーラム 代わりに、プロジェクトをIAR EWにエクスポートすることもできます。 S32K1xxシリーズマイコン アプリケーション開発ガイド - IARツールチェーン サンプルエンジニアリングおよび使用方法に関するFAQ (qq.com) HOWTO:S32DSプロジェクトをIAR EWにエクスポート(S32K14x/S32K11x) - NXP Community Best regards, Julián
記事全体を表示
如何在 RT1176 中将 CM4 核心项目移至 SDRAM RT1176 有两个核心。通常情况下,CM7 核心是主内核。启动时,CM7 将首先启动。然后,它会将 CM4 的映像复制到 RAM 并启动 CM4 内核。详细信息请参见 AN13264。 在 RT1176 中,CM4 拥有 128K ITCM 和 128K DTCM。这块空间并不算大,但足以让 CM4 完成一些辅助任务。然而,有时客户需要 CM4 承担更多工作。例如,CM7 可能运行机器学习算法,而 CM4 需要处理 USB/ENET 和摄像头。这将需要超过 128K 的代码空间。在这种情况下,CM4 的镜像应迁移至 OCRAM1/2 或 SDRAM。OCRAM 和 SDRAM 均连接至 NIC-301 AXI 总线仲裁器 IP,两者性能和特性相似。本文将尝试使用 SDRAM,因其迁移难度更高。迁移前,客户需了解一个重要事项。 CM4 访问 OCRAM/SDRAM 的 R/W 速度较慢。因为 CM4 通过 XB(LPSR 域-AHB 协议)然后通过 NIC(WAKEUPMIX 域 AXI 协议)从 SDRAM 请求数据,并且时钟限制是 BUS/BUS_LPSR。如果将代码和数据都放置在 SDRAM 中,性能将显著降低。SDRAM 仅可通过系统总线访问(因此,在这种情况下无法实现哈沃德分时)。如果其他总线主控器正在访问同一内存,性能会因仲裁(在 XB 或 NIC 上)而进一步下降。因此,用户应合理规划整个内存空间,以避免访问冲突。   为工作做好准备 1.1 测试环境: • SDK:2.9.1 适用于 i.MX RT1170 • MCUXpresso: 11.4.0 示例:SDK_root\boards\evkmimxrt1170\multicore_examples\hello_world。 设置硬件和软件 通过将 SW1 设置为 OFF OFF ON OFF,将电路板设置为 XIP 启动模式。从 SDK 导入 hello_world 示例。构建项目。   将调试选项移至 SDRAM 在 CM7 项目中,添加 SDRAM 空间到属性->MCU 设置->内存详细信息 然后在属性->设置->多核中,将CM4主内存区域更改为SDRAM。 与其他 IDE 不同,MCUXpresso 可以通过 IDE 本身唤醒 M4 项目线程并下载 M4 镜像。它调用 implicit。此字段告知 IDE 在何处放置 CM4 图像。 在属性->设置->预处理器中,添加 XIP_BOOT_HEADER_DCD_ENABLE。这是将 DCD 添加到镜像的头部。DCD 可用于对 SDRAM 控制器进行编程,以实现最佳设置,从而提高启动性能。 接下来,切换到CM4项目。将 SDRAM 空间添加到内存表中,就像我们在 CM7 项目中所做的一样。   在属性->托管链接器脚本中,最好在 DTCM 中公布堆和堆栈空间。它也可以放置在SDRAM中,但需特别注意。 之后,我们可以开始调试。您可以看到,SDRAM 已被 CM4 镜像填充。点击“继续”按钮,CM4 项目将在主程序的开头处暂停。 迁移到 SDRAM 以作为发布选项 要在发布模式下编译项目,必须将 CORE1_IMAGE_COPY_TO_RAM 添加到已定义符号表中。但这还不够。SDK 的 CM7 项目不复制 CM4 镜像。我们必须将其添加到 CM7 项目中。 3.1 创建名为 incbin.S 的新文件。这是代码 .section .core_m4slave , "ax" @progbits @preinit_array .global dsp_text_image_start .type dsp_text_image_start, %object .align 2 dsp_text_image_start: .incbin "evkmimxrt1170_hello_world_cm4.bin" .global dsp_text_image_end .type dsp_text_image_end, %object dsp_text_image_end: .global dsp_data_image_start .type dsp_data_image_start, %object .align 2 dsp_ncache_image_end: .global dsp_text_image_size .type dsp_text_image_size, %object .align 2 dsp_text_image_size: .int dsp_text_image_end - dsp_text_image_start 3.2 在 hello_world_core0.c 中,添加这些代码 #ifdef CORE1_IMAGE_COPY_TO_RAM extern const char dsp_text_image_start[]; extern int dsp_text_image_size; #define CORE1_IMAGE_START ((uint32_t *)dsp_text_image_start) #define CORE1_IMAGE_SIZE ((int32_t)dsp_text_image_size) #endif 3.3 在 Project Explorer 窗口中右键单击 evkmimxrt1170_hello_world_cm4.axf,选择 Binary Utilities->Create Binary。将创建一个名为 evkmimxrt1170_hello_world_cm4.bin 的二进制文件。将其复制到 CM7 项目的发布文件夹中。如果您希望这项工作自动完成,可以将该命令添加到 properties->settings->Build steps->Post-build steps。 编译项目并下载。按下重置按钮。过一会儿,您会看到一个小 LED 灯在闪烁。该 LED 由 CM4 驱动。 仅在SDRAM上调试CM4项目 如我们所知,CM4 可以在不启动 CM7 的情况下独立进行调试。但在 ITCM 和 DTCM 中就是这样。它也可以在 SDRAM 中工作吗?是的,但原始的调试脚本文件不支持此功能。我已附上新的脚本文件。它可以在下载 CM4 代码之前初始化 SDRAM。用这个文件替换旧的 .scp文件,其他内容无需更改。 回复:如何将 CM4 核心项目移至 RT1176 的 SDRAM 运行  你好,感谢@jingpan。我认为你对这个方向非常熟悉,因此期待你的回复。 首先,你在文章中提到了将 CM4 程序放入 SDRAM 运行,而我的当前需求是将 CM7 程序放入 SDRAM,同时将 CM4 程序放入 SRAM(OCRAM 还是 SRAM ITCM?)。请问 CM4 和 CM7 程序的 MCU 配置应该如何设置?我按照自己的配置尝试后,编译时出现了错误。    其次,由于使用了 SDRAM,需要对 SDRAM 进行初始化。你在文章中提到通过 dcd 进行配置,能否介绍具体的配置方法和流程?RT1170_connect_M7_wake_M4_SDRAM_init.7z 这个文档只是 SDRAM 初始化的结果,并未说明如何初始化 SDRAM。
記事全体を表示
新しいS32DS_Power_Win32_v2017を入手するにはどうすればよいですか。R1アクティベーションコード? ソフトウェアをインストールしてアクティブにできない場合、ヒントは次のとおりです:アクティベーションリクエストをリモートアクティベーションサーバーに送信し、結果の応答を処理するときにエラーが発生しました。ライセンスは生成できません。すでに有効期限が切れています。新しいアクティベーションコードを取得するにはどうすればよいですか? アクティベーション |インストール |ライセンス |インストーラーのダウンロード Re:どうすれば新しいS32DS_Power_Win32_v2017を手に入れることができますか。R1アクティベーションコード? よろしくお願い申し上げます。 Re:どうすれば新しいS32DS_Power_Win32_v2017を手に入れることができますか。R1アクティベーションコード? Hi, S32DS for PAライセンスが延長されました。古いコードでS32DSを再度アクティベートしてください。
記事全体を表示
[RTD400 MCAL 3] K312 MCUクロックシステム構成 【RTD400 MCAL 3】K312 MCUクロックシステム構成 1. アブストラクト 本ドキュメントでは、K3チップMCALのMCUでクロックシステムを構成する方法について説明します。この話題は以前LLDを行っていたときにはいつも軽視されがちでした。というのも、K3のクロックシステムは非常に単純で、内部高速・低速クロックソース、外部高速・低速クロックソース、PLL逓倍率、そして各種コア周辺モジュールで共有するだけだからです。K3のRMでは、規則を枠組み化するためにいくつかの選択肢まで用意されています。LLDの観点、特にS32DS CT設定の観点から見ると、さらに簡潔かつ明瞭です。以下にCTの図を示します。 図1 図2 このようなクロックシステムを使用すると、数回タップして入力するだけでコードを生成できます。しかし、LLD は自由すぎるため、MCAL では問題が発生することがよくあります。そこで、私はこの MCAL MCU のクロックシステム全体を理解するために時間を費やすことにしました。この記事では、K312を例として説明します。他のK3シリーズも似ています。 2. クロックシステムの理論と構成 2.1 K312クロックシステム RMのクロック章を参照すると、システム全体のブロック図を確認できます。 図3 このブロック図は各部の状況を明確に示しています。クロックソースは4つあります。 内部高速クロック FIRC:48MHz、±5% 誤差、最大起動時間 25μs 内部低速クロック SIRC: 32KHz、±10% 誤差、最大起動時間 3ms 外部高速クロックFXOSC:8~40MHz、起動安定化時間はFXOSC_CTRL[EOCV] × 128 外部低速クロックSXOSC:32.768KHz、起動安定時間SXOSC_CTRL[EOCV]×128 One PLL: input 8-40MHZ, VOC output 640M-1280Mhz, PLL_PHIn_CLK output 25-480MHz. MUX_0: Output CORE_CLK, AIPS_PLAT_CLK, AIPS_SLOW_CLK, HSE_CLK, DCM_CLK MUX_1: システムタイマSTM0_CLK出力 MUX_3: FLEXCAN0-2クロックを出力 MUX_4: FLEXCAN3-5クロック出力 MUX_5: CLKOUT_STANDBY出力 MUX_6: 出力 CLKOUT_RUN MUX_11: 出力 TRACE_CLK RTC_CLK: RTC クロック 2.1.1PLL PLLの観点では、逓倍率がどの値に関係しているかを知る必要があり、次の式で計算できます。 図4 整数の場合、上図の赤枠で示された方法が一般的であり、この記事でもその方法を使用して設定します。 PLL_PHIは最終的にPLLから出力されるクロックで、他のMUXで選択するために対応するMCへ供給されます。 2.1.2MUX_0システム 詳細なMUX_0システムはRMから確認できます。 図5 ご覧のとおり、MUX_0のクロックソースはPLLまたは内部FIRCの2種類です。 その後、コアクロックは後で生成できます。AIPS_PLAT_CLK、AIPS_SLOW_CLK、HSE_CLK、DCM_CLK。 では、生成されるクロックの具体的な周波数はいくつでしょうか。原則として各モジュールに対応する最大クロックを満たせますが、K3シリーズはさらにいくつかのオプション推奨を提示しています。例えばK312ではRUN時にオプションBモードの使用が推奨されており、とりわけHSEクロックは通常、このオプション推奨を厳格に満たす必要があります。 2.1.3MUX_6クロック出力 チップ内の該当クロック状況を確認するために、CLKOUTピン経由で対応クロックを出力できます。CLKOUTピンは複数のクロックソース選択に対応しています。具体的な状況は以下のとおりです。 図6 図中の黄色で示した内容がK312のCLKOUT_RUNでサポートされるものです。クロック構成後、対応するクロックを選択して出力が設定と一致しているかをテストします。 2.1.4option B推奨ソリューション 本記事では、K312でoption BのクロックをEB上で構成します。 図7 2.2 EB設定 まず、新しいK312 EBプロジェクトを作成します。具体的な作成方法については前回の記事を参照してください。 [S32K3 Tools Part] RTDの既存MCALデモを他のK3チップへ移植する方法 本記事では、RTD400 MCALに基づくMCUモジュールに対応するクロック構成に焦点を当てます。MCUを構成するには、参考資料として次の2つのドキュメントを参照する必要があります: C:\NXP\SW32K3_S32M27x_RTD_R21-11_4.0.0\eclipse\plugins\Mcu_TS_T40D34M40I0R0\doc:RTD_MCU_UM.pdfとRTD_MCU_IM.pdf 設定方法が分からない場合は、ドキュメントで推奨されるデフォルト値に従うだけで問題ありません。 次の図はMCUの概要を示します。主に構成するモジュールは次の3つのコンポーネントです。 全般、McuClockSettingConfig、McuModeSettingConf 図8 2.2.1 一般設定 図8に加えて、内部および外部の高速・低速クロック制御とPLL制御を有効にし、対応するAPIおよび水晶発振器周波数を追加する必要があります。これを有効にしないと、その後の対応する設定を行うことができません。 図9 2.2.2 McuClockSettingConfig 構成 ここはMCUクロック設定の中核部分で、クロックソース、PLL、各種MUX条件を含みます。 まず、クロック構成を追加する必要があります。 図10 クリックすると詳細設定が表示されます。 図11 全部で17項目あります。オプション1と6はデフォルト設定のままで構いません。ボードに外部スロークロック水晶発振器5が接続されていないため、これは設定しません。残りは実際の状況に応じて設定してください。以下で順に説明します。 2.2.2.1 McuFIRC構成 内部高速クロック、48MHz: 図12 2.2.2.2 McuSIRC構成 内部スロークロック32kHz 図 13 2.2.2.3 McuFXOSC 構成 外部水晶発振器16MHzは、実際の接続状況に応じて入力してください。 図 14 2.2.2.4 McuCgm0ClockMux0 構成 Mux0の設定では、コアクロック、AIPS_PLAT_CLK、AIPS_SLOW_CLK、HSE、DCM_CLKを構成し、option Bの要件を満たすようにし、クロックはPLL_PHI0_CLKから供給されます。実際に設定する際は、まずPLLクロックを設定して正しいPLL_PHI0_CLKおよびPLL_PHI1_CLKを出力させます。 図15 2.2.2.5 McuCgm0ClockMux1 構成 図 16 必要なモジュールのクロックソースに応じて設定できます。 2.2.2.6 McuCgm0ClockMux3 構成 FLEXCAN0〜2モジュールのクロックソースを設定します。 図17 2.2.2.7 McuCgm0ClockMux4 構成 FLEXCAN3〜5モジュールのクロックソースを設定します。 図18 2.2.2.8 McuCgm0ClockMux5 構成 CLKOUT_STANBYモジュールのクロックソースを設定します。 図 19 2.2.2.9 McuCgm0ClockMux6 構成 CLKOUT_RUNモジュールのクロックソースを設定します。 図20 2.2.2.10 McuCgm0ClockMux11 構成 TRACE_CLKモジュールのクロックソースを設定します。 図21 2.2.2.11 McuRtcClockSelect設定 RTCモジュールのクロックソースを設定します。 図 22 2.2.2.12 McuPLL構成 PLLモジュールのクロックソースを設定します。 図23 2.2.2.13 McuClockReferencePoint 構成 周辺モジュールの基準クロックおよびクロックソース選択インターフェースを設定します。 図24 これでクロック設定は完了です。 検証のためには、CLKOUT_RUN 出力を使用して、対応するクロックをピン PTD10 に出力して確認することができます。 2.2.3 McuModeSettingConf 構成 McuのMcuModeSettingConf→McuPeripheralで、使用したいペリフェラルを有効にする必要があります。 図25 2.2.4 PORT構成 内部クロックをCLKOUT_RUNに出力する必要があるため、K312のPTD10 MSCR106をチェックし、以下のようにPORTピンを追加します。 図26 3. テスト結果 次に、S32K312-EVBボード上でEBのCLKOUT_RUNのクロックソースを変更し、クロックが設定に一致するかをテストします。 一般的に使用されるMCU関連ドライバは次のとおりです。 図27 システム起動時のMCU初期化の呼び出し順序は以下のとおりです。 1). Mcu_Init() 2). Mcu_InitClock() 3)Mcu_GetPllStatus() ‒ PLLがロックするまで 4). Mcu_DistributePllClock() 5). Mcu_SetMode() 6). Mcu_InitRamSection() - 必要な場合 対応するmainコードは次のとおりです。 #include "Mcu.h" #include "Mcu_Cfg.h" #include "Port.h" #include "Dio.h" #include "Port_Cfg.h" #include "Platform.h" void TestDelay(uint32 delay); void TestDelay(uint32 delay) { static volatile uint32 DelayTimer = 0; while(DelayTimer < delay) { DelayTimer++; } DelayTimer = 0; } /** * @brief Main function of the example * @details Initialize the used drivers and uses the Icu * and Dio drivers to toggle a LED on a push button */ int main(void) { uint8 count = 0U; uint8 u8TimeOut = 100U; /* Initialize the Mcu driver */ #if (MCU_PRECOMPILE_SUPPORT == STD_ON) Mcu_Init(NULL_PTR); #elif (MCU_PRECOMPILE_SUPPORT == STD_OFF) Mcu_Init(&Mcu_Config_VS_0); #endif /* (MCU_PRECOMPILE_SUPPORT == STD_ON) */ /* Initialize the clock tree and apply PLL as system clock */ Mcu_InitClock(McuClockSettingConfig_0); #if (MCU_NO_PLL == STD_OFF) while ( MCU_PLL_LOCKED != Mcu_GetPllStatus() ) { } Mcu_DistributePllClock(); #endif /* Apply a mode configuration */ Mcu_SetMode(McuModeSettingConf_0); /* Initialize all pins using the Port driver */ Port_Init(NULL_PTR); /* Initialize Platform driver */ Platform_Init(NULL_PTR); while (count++ < 10) { Dio_WriteChannel(DioConf_DioChannel_Digital_Output_LED_Q172, STD_HIGH); Dio_WriteChannel(DioConf_DioChannel_Digital_Output_LED_Q257, STD_HIGH); TestDelay(5000000); Dio_WriteChannel(DioConf_DioChannel_Digital_Output_LED_Q172, STD_LOW); Dio_WriteChannel(DioConf_DioChannel_Digital_Output_LED_Q257, STD_LOW); TestDelay(5000000); } // Exit_Example(TRUE); return (0U); } #ifdef __cplusplus } #endif 3.1 CLKOUT FIRC_CLK DIV2 図28 FIRC の元の 48Mhz クロックが 2 で分周され、24Mhz のクロック波形が得られることが確認でき、これは正しいです! 3.2 CLKOUT SIRC_CLK DIV2 図29 SIRCの元の32kHzクロックが2分周され、16kHzのクロック波形が得られていることが確認でき、正しいことが分かります。 3.3 CLKOUT FXOSC_CLK DIV10 図30 FXOSCの元の16MHzクロックは10で分割され、1.6MHzのクロック波形が得られることがわかります。 3.4 CLKOUT PLLPH0 CLK DIV10 図31 PLLPH0 の元の 120MHz クロックが 10 で分割され、12MHz のクロック波形が得られ、正しいことが確認できます。 3.5 CLKOUT コア CLK DIV10 図32 COREの元の120MHzクロックが10分周され、12MHzのクロック波形が得られていることが確認でき、正しいことが分かります。 3.6 CLKOUT PLLPH1 CLK DIV4 図33 PLLPH1の元の48MHzクロックが4分周され、12MHzのクロック波形が得られていることが確認できます。 3.7 CLKOUT HSE CLK DIV10 図 34 HSEの元の60Mhzクロックが10で分周され、6Mhzのクロック波形が得られていることが確認でき、正しいです。 3.8 CLKOUT AIPS_PLAT CLK DIV10 図 35 AIPS_PLAT_CLKの元の60MHzクロックが10分周され、6MHzのクロック波形が得られていることが確認でき、正しいことが分かります。 3.9 CLKOUT AIPS_SLOW CLK DIV10 図 36 AIPS_SLOW_CLKの元の30MHzクロックが10分周され、3MHzのクロック波形が得られていることが確認でき、正しいことが分かります。
記事全体を表示