Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

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