Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
I2C経由でP3T1750DPZにアクセスする際に特別な注意が必要ですか? Hello,  念のため、I2CターゲットとしてI2C経由でP3T1750DPZにアクセスすると、 このパーツをI2Cモードにするには特別な注意が必要ですか? (ピンのストラップ、レジスタのプログラミング) 図3から、特別な配慮は必要ないと思います。 この部品は、次の場合に一般的なI2CターゲットデバイスとしてI2Cコントローラーに応答する必要があります I2Cコントローラーは、開始条件でP3T1750DPZにアクセスします。 よろしくお願いします。 道上 典弘 アヴネット Re:I2C経由でP3T1750DPZにアクセスするときに特別な注意が必要ですか? おっしゃる通りです。 ありがとうございます!
View full article
S32K3XX可以支持开放联盟SPI协议吗 Hello NXP, 我需要在以太网通信中使用支持OA-SPI(开放联盟SPI)接口的MAC-PHY收发器。未找到相关信息。能否给我一些相关信息,谢谢您的帮助。 文档链接: OPEN Alliance 10BASE-T1x MAC-PHY 串行接口(opensig.org) 回复:S32K3XX可以支持开放联盟SPI协议吗 好的,我明白了。谢谢你的回复 回复:S32K3XX可以支持开放联盟SPI协议吗 Hi, 是的,它通常看起来像标准 SPI 通信,因此 LPSPI 模块能够处理它。但给定的协议必须由自己完成。 BR, Petr
View full article
[LPC54S018]SPIFIピン、IOCON設定変更時にフォルトが発生します。 次のピンの IOCON 設定を変更しようとすると、エラーが発生します。 PIO0_23 PIO0_24 PIO0_25 PIO0_26 PIO0_27 PIO0_28 以下に、エラーを生成するコードの一部、または場合によってはスタックする部分を示します。 void main(void) { uint32_t regValue; /* Init board hardware. */ BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitBootPeripherals(); #ifndef BOARD_INIT_DEBUG_CONSOLE_PERIPHERAL /* Init FSL debug console. */ BOARD_InitDebugConsole(); #endif IOCON->PIO[0][23] = 256; IOCON->PIO[0][24] = 256; IOCON->PIO[0][25] = 256; IOCON->PIO[0][26] = 256; IOCON->PIO[0][27] = 256; IOCON->PIO[0][28] = 256; gpio_pin_config_t DUT_SYNCDAC_config = { .pinDirection = kGPIO_DigitalOutput, .outputLogic = 0U }; /* Initialize GPIO functionality on pin PIO0_28 (pin M9) */ GPIO_PinInit(GPIO, 0U , 28U, &DUT_SYNCDAC_config); このエラーは表示されず、[Link Applciation to RAM] を選択し、デバッグ モードでコードを実行すると、すべての FW が機能します。なぜでしょうか。   Re: [LPC54S018]SPIFIピン、IOCON設定変更時にフォルトが発生します。 解決!このように! プレーンロードイメージは、外部フラッシュを解放するソリューションです。 Re: [LPC54S018]SPIFIピン、IOCON設定変更時にフォルトが発生します。 Hi,  答えをありがとう、私はすでにLPC54S018のアーキテクチャを知っています。しかし、それでも私には不思議です。 フラッシュはバイナリFWを格納するために使用されますが、MCUの起動時にバイナリをMCU RAMにロードし、ブートの最後にマイクロコントローラがフラッシュを解放する必要があります 私は間違っていますか? ご回答をよろしくお願い申し上げます。 Re: [LPC54S018]SPIFIピン、IOCON設定変更時にフォルトが発生します。 Hi, これがspifiフラッシュハードウェア回路です。 P0_23、P0_24、P0_25、P0_26、P0_27、P0_28ピンがSPIFIモジュールピンとして機能していることがわかりますが、LPC54018にはオンチップフラッシュがなく、命令ごとに上記のピンを介してSPIFIフラッシュからコードを読み込んで実行します。GPIOなどで上記のピンを構成すると、spifiフラッシュから読み取られるバイナリコードが正しくなく、間違ったバイナリコードが実行されると、ハードウェア障害が発生します。 結論として、アプリケーションコードでP0_23、P0_24、P0_25、P0_26、P0_27、P0_28ピンを構成することはできません。 それがあなたを助けることができることを願っています BR シャンジュン・ロン
View full article
MPC5777C MCAN 卡在 TX 缓冲区请求待处理状态 Hello, 我正在尝试在我们的定制板上使用 M_CAN 接口。我尝试使用该论坛提供的其中一个示例中的源代码片段: https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/Example-MPC5777C-MCAN-simpleTXRX-GHS616/ta-p/1109280 我只是使用 M_CAN1 而不是 M_CAN0 来发送消息,接收器只是一个 Kvaser 接口。我已将引脚 195 和 196 配置为备用功能 (0x3),以将它们用作 M_CAN1 接口。外部振荡器用作接口时钟。 我面临的问题是,当我尝试从专用缓冲区发送任何消息时,我可以看到缓冲区 0 的位在 TXBRP 中设置,但消息从未发送,并且 TX 引脚的状态也从未改变,它一直保持高位。我可以看到消息 RAM 已使用帧数据进行更新,并且我还测试了当使用 TEST 寄存器时我可以设置和重置 TX 引脚状态。我确实看不到寄存器中的任何错误(见附图)。 知道为什么界面从不发送消息吗?如果需要更多信息,请随时询问。 此致 回复:MPC5777C MCAN卡在TX缓冲区请求待处理状态 Hello, 是的,看起来软件中有一个错误,导致 IMUX 寄存器被错误的值覆盖,从而为 M_CAN1 RX 引脚选择了错误的输入。 谢谢你的帮助。 此致 回复:MPC5777C MCAN卡在TX缓冲区请求待处理状态 Hi, 寄存器值的另一个提示是:离开初始化模式后,PSR[ACT] 仍然为 0,这表明模块未与总线同步,因此无法启动传输。这可能是由于引脚配置错误或 RX 引脚显示为低电平。您可以尝试断开收发器并将 TX/RX 引脚连接在一起。 您是否也设置了相应的 IMUX 寄存器来选择您正在使用的引脚? 对于 3N45H 示例,您可以参考https://community.nxp.com/docs/DOC-342013 BR, Petr 回复:MPC5777C MCAN卡在TX缓冲区请求待处理状态 Hello, 是 3N45H。 此致 回复:MPC5777C MCAN卡在TX缓冲区请求待处理状态 Hi, 我从寄存器视图看到检测到了 ACK 错误,但在这种情况下我希望设置错误计数器并且 TX 信号应该是可见的。 使用的MCU掩膜组是什么?实际上,2N45H和3N45H之间差别不大。 BR, Petr
View full article
LX2160 ARDBのYOCTOビルド こんにちはチーム、 最近、YOCTO lx2160 ARDBビルドで以下のエラーが発生しています 1.リポジトリ init -u https://github.com/nxp-qoriq/yocto-sdk.git-b カークストーン -m ls-5.15.71-2.2.0_distro.xml 2.リポジトリ同期 source distro-setup-env -m  lx2160ardb-rev2 ビットベイクLS-イメージ-メイン パスが存在しないと思う更新を手伝ってくれませんか。 エラー:management-complex-10.35.0-r0 do_fetch:フェッチャーの失敗:フェッチコマンドエクスポートPSEUDO_DISABLED = 1;エクスポート DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/618713977/bus";export PATH="/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/sysroots-uninative/x86_64-linux/usr/bin:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/usr/bin/tar-native:/YOCTO_lx2160/sources/poky/scripts:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/usr/bin/aarch64-fsl-linux:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot/usr/bin/crossscripts:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/usr/sbin:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/usr/bin:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/sbin:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/recipe-sysroot-native/bin:/YOCTO_lx2160/sources/poky/bitbake/bin:/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/hosttools";export HOME="/home/ryathnah";LANG=C git -c core.fsyncobjectfiles=0-c gc.autoDetach=false -c core.pager=catclone --bare --mirror https://github.com/nxp-qoriq/qoriq-mc-binary/YOCTO_lx2160/downloads/git2/github.com.nxp-qoriq.qoriq-mc-binary--progress が終了コード 128 で失敗し、出力なし エラー:management-complex-10.35.0-r0 do_fetch:Bitbake Fetcherエラー:FetchError('どのソースからもURLを取得できません。'git://github.com/nxp-qoriq/qoriq-mc-binary;protocol=https;nobranch=1') エラー:障害のログファイルが/YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/temp/log.do_fetch.3000871に保存されています エラー:タスク(/YOCTO_lx2160/sources/meta-qoriq/recipes-dpaa2/management-complex/management-complex_10.35.0.bb:do_fetch)が終了コード「1」で失敗しました ありがとうございます。 ランガ 日時:LX2160 ARDBのYOCTOビルド 皆さん、こんにちは。 同じことを解決できる: LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=481d6288552113961a835bbabceb0c33" MCのbbファイルのmd5sumを修正しました。 ありがとうございます R 日時:LX2160 ARDBのYOCTOビルド こんにちはチーム、 変更後に以下のエラーに直面します。 エラー:management-complex-10.35.0-r0 do_populate_lic:QA問題:management-complex:LIC_FILES_CHKSUMが file://NXP-Binary-EULA.txt と一致しません。md5=1db1363924ceccb1edea921b6495bdc2 management-complex: 新しい md5 チェックサムは 481d6288552113961a835bbabceb0c33 です。 management-complex: 選択したライセンステキストは次のとおりです。 vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 著作権© 2017-2020 NXPの壁紙全著作権所有。 ソフトウェアライセンス契約(以下「本契約」といいます) 付随するバイナリソフトウェアの使用、複製、または配布 ライセンシーは、本契約の条件に同意したことになります。 ライセンスソフトウェア。「バイナリソフトウェア」とは、以下で指定されているバイナリ形式のソフトウェアを意味します。 付録A 本契約の条件に従い、NXP USA, Inc. (「NXP」)は、ライセンシーに世界的、非独占的、ロイヤリティフリーのライセンスを付与します ... 合意。   別紙A バイナリソフトウェア 本契約では、バイナリ形式のソフトウェアのみを提供できます 本契約の対象となるソフトウェアの一覧は次のとおりです。 MCバイナリファームウェア ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ management-complex: /YOCTO_lx2160/build_lx2160ardb-rev2/tmp/work/lx2160ardb_rev2-fsl-linux/management-complex/10.35.0-r0/git/NXP-Binary-EULA.txt でライセンス情報が変更されているかどうかを確認します [license-checksum] エラー: management-complex-10.35.0-r0 do_populate_lic: 致命的な QA エラーが見つかりました。タスクは失敗しました。 エラー:障害のログファイルが/ YOCTO_lx2160 / build_lx2160ardb-rev2 / tmp / work / lx2160ardb_rev2-fsl-linux / management-complex / 10.35.0-r0 / temp / log.do_populate_lic.2737681に保存されている エラー:タスク(/YOCTO_lx2160/sources/meta-qoriq/recipes-dpaa2/management-complex/management-complex_10.35.0.bb:do_populate_lic)が終了コード「1」で失敗しました 注: タスクの概要: 4362 個のタスクを試行しましたが、そのうち 4331 は再実行する必要がなく、1 個が失敗しました。 日時:LX2160 ARDBのYOCTOビルド レシピのsources/meta-qoriq/recipes-dpaa2/management-complex/management-complex_10.35.0.bbを以下のように変更してください。 SRCREV = "836d7bf606b51c18b5e3726d68dcf3b3ac4de74a" 次のように変更します。 SRCREV = "73d323d2538d7fe7ae93d88c2c5c4489f5891fcb"
View full article
並列NORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 Hello, パラレルNORフラッシュ(256KB*16)をIMXRT1062と接続したいのですが、このプロセッサのアドレスとデータバスのポートピンは同じです。それで、私はADV#を見つけました。このADV#ピンの用途は何ですか? SRAMのこのノートを見つけました。NORフラッシュも同じですか? ADV# ピン は、ADV# 入力を Low にアサートすることにより、アドレス パス (ADQ=Address Buffer) を有効にします。ADV# が High の場合、データ パスは有効になります (ADQ=I/O バッファー)。 Re:パラレルNORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 わかりました。ありがとう Re:パラレルNORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 SEMC 側から見ると、データ ピンとアドレス ピンは MUX モードになるため、NOR フラッシュ専用のアドレス/データ ピンを持つことはできません。通信は次のようになります。 これらの信号を分離するために外部コンポーネントを使用することについて。それは実行可能に見えますが、それは私たちの側でテストされていないので、それがあなたの適切な解決策であるかどうかは確認できません。 よろしくお願いいたします オマル Re:パラレルNORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 私に返信してください! Re:パラレルNORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 わかりました、助けてくれてありがとう。 もう一つ教えてください。 アドレス バスとデータ バスを分離するためのパラレル NOR フラッシュをどのようにインターフェースできますか?直接インターフェースできますか? imxrt1062 の同じ端子を NOR フラッシュ アドレスとデータ ピンで接続すると、コマンドはパラレル NOR フラッシュの両方のバスで転送されます。 画像を1枚添付しました。 imxrt1062とフラッシュチップの間に74LVC164245 ICを2つ追加することを考えています。アドレス/データ転送をフラッシュチップに分離できるようにしました。   Re:パラレルNORフラッシュ(ADMUX)インターフェースでのADV#ピンの使用 はい、ADV on nor フラッシュの使用は SRAM と似ています。 よろしくお願いいたします オマル
View full article
How to add iMX8QXP PAD (GPIO) Wakeup <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [Chinese translation] See attachment   Original link: https://community.nxp.com/docs/DOC-345322 i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus
View full article
Q&A: iMX6Q/DL WEIMはアンアライメント・アクセスをサポートしていますか? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 質問: Linux のアライメントトラップは、WEIM の (外部 FPGA への) アライメントされていないアクセスで見られました アライメントトラップ:testFPGA(1027)PC = 0x000086dc Instr=0xe1d330b0アドレス= 0x08000001 FSR 0x011 この問題は、Sabre AI のプラットフォーム SDK EIM パラレル Nor Test で再現できます - WEIM_BASE_ADDR +1 にアクセスすると例外が発生します。 EIM テスト開始: フラッシュサイズ:0x 2000000 フラッシュ消去... . おっと、データの中止が発生しました! 例外発生時のレジスタ: cpsr = nZCvqeAift スーパーバイザー (0x60000113) r0 = 0x00000000 r8 = 0x00000000 r1 = 0x00000000 r9 = 0x00000000 r2 = 0x00000001 r10 = 0x00000000 r3 = 0x08000001 r11 = 0x10409770 r4 = 0xdeadfeed r12 = 0x00000001 r5 = 0x10002458 sp = 0x10409734 r6 = 0x00000000 lr = 0x1000ef9c r7 = 0x00000094 pc = 0x1000bfd0 dfsr = 0x00000001 DFAR = 0x08000001 アクセスの種類: 読み取り 障害ステータス:0x1 EIM または AXI HW のアドレス アラインド アクセスは必須ですか。それとも、アラインされていないアクセスをサポートすることは可能ですか? 答え: EIM は、非アラインメント・アクセスをサポートする必要があります。また、ARM アーキテクチャは、MMU コプロセッサがそのために設定されている場合に限り、データ バスとアドレス バスへのアンアラインメント アクセスをサポートします。 cp15 sctlr[1] を確認してみてください。Linuxは、アライメントされていないメモリへのアクセスを推奨せず、場合によってはバスエラーが発生し、カーネルパニックが発生します。そのため、ドライバーとセットアップ アーキテクチャ ファイルは、アラインされていないメモリ アクセスをサポートする必要があります。 ARMインフォメーションセンター /linux/ドキュメンテーション/unaligned-memory-access.txt EIM デバイスは AXI スレーブで、アンアライメント アクセスをサポートする必要があります。リファレンス マニュアルと EIM コールのサブチャプター「AXI(マスター) バス サイクル サポート」があります。この章には、AXI to Memory Burst Splits Number という表があり、アラインメントされたアドレスまたはアラインされていないアドレスへのバースト アクセスの増分が示されています。これらは EIM 用であり、AXI バスだけを指すものではないと思います。 いずれにせよ、アライメントされていないアクセスがバーストモードでのみ機能する必要があるかどうか(これは私には意味がありません)、またはRM情報が正しくないかどうかは明確ではありません。また、サポートされていない信号の同じ章では、アライメントされていない信号はリストされていないため、アライメントされていないアクセスがサポートされています。 それに関する一般的なARM情報とリンクします。 http://forums.arm.com/index.php?/topic/8862-axi-narrowunaligned-read-transfers/ AXI4 - アラインされたアドレスとアラインされていないアドレス - ARM Community
View full article
自行编译MCU固件 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我们的调试固件一般都是从nxp官网下载的。nxp.com/opensda。但有时我们想根据自己的要求修改bootloader和固件的源代码。因此我们引入开源项目daplink。Arm Mbed DAPLink 是一个开源软件项目,可以对在 Arm Cortex CPU 上运行的应用软件进行编程和调试。DAPLink通常称为接口固件,它运行在连接到应用MCU的SWD或JTAG端口的辅助MCU上。 它提供k20引导加载程序和接口固件以及k26引导加载程序和接口固件。很多frdm板子使用k20作为调试器,也有少数板子使用k26作为调试器。 开发板: FRDM-K64 操作系统: WIN10   steps: 1.安装git、python2.7.11以上版本,将这两个软件添加到电脑系统环境变量中(必需),最好将python下的scripts文件夹添加到环境变量中,安装keil。DAPlink目前仅支持keil IDE 。 2.使用python安装pip,可以网上搜索教程 3.安装virtualenv,使用powershell(按住shift并单击鼠标右键),输入'pip install virtualenv' 4.之后命令都在powershell下完成。获取源代码。 输入' git clone https://github.com/mbedmicro/DAPLink ' 注意:必须使用git下载代码,否则编译代码将失败。 它将在您的当前目录中生成一个 DAPLink 文件夹 5.进入目录。输入 'cd DAPLink' ,此文件夹下的 docs/DEVELOPERS-GUIDE.md 更详细地介绍了如何使用此 DAPLink 6.Create a virtual environment,Input ’virtualenv venv’ 7.输入'venv/Scripts/activate.bat'来激活虚拟环境 8.安装必要的工具, 'pip install -r requirements.txt' 9.生成keil工程, 输入“progen generate -t uvision” 它将生成 projectfiles/uvision,进入该文件夹你会发现各种引导加载程序和固件。名字带‘bl’的是bootloader,名字带‘if’的是接口固件,要拖进mcu里。打开第一个关于k20的项目。编译完成后会生成一个bin文件。带有crc的bin文件就是我们要刻录或者拖拽的。对于名称“if”而言也是相同的。编译时会调用git命令。如果不将该命令添加到环境变量中,编译将会失败。 这是引导加载程序源代码 Bin文件 这是接口固件。 生成的bin文件中,‘0x’为固件地址。一般来说,DAPLink bootloader的默认固件地址是0x8000。从上图可以看到,这个宏定义的是DAPLINK_ROM_IF_START,所以我们要拖动的文件就是名称为‘0x8000’的文件。如果在引导加载程序中修改了固件起始地址,则接口固件也应进行相应的修改 把bootloader烧进k20,然后把接口固件拖进k20就可以看到这个结果了。  
View full article
PN7220 Androidサポート こんにちは、良い一日をお過ごしください。 POS決済アプリケーションとしてPN7220を使用する予定です。NFCチップPN7220のデータシートを読んで、チップはAndroid 13-14をサポートしていますが、Android 12をサポートできるかどうかを尋ねたいと思いますか? #PN722 #NFC  日時:PN7220 Androidのサポート こんにちは@qiuquanfeng  PN5190はお勧めしますが、Androidでは実行できません。 日時:PN7220 Androidのサポート Hi KellyLi  お返事ありがとうございます! POS端末アプリケーションの場合、EMVCo基準を満たす必要がありますか?他におすすめのチップはありますか? 日時:PN7220 Androidのサポート こんにちは@qiuquanfeng  PN7220はAndroid以降13をサポートしており、Android 12に起動する必要がある場合は、PN7160を切り替えることをお勧めします。
View full article
I2C 从设备无法在 LPCXpresso55S69-EVK R3 板上将 !ACK 位上的 SDA 驱动为低电平 目前正在尝试使用 FlexComm1 I2C 总线上的 LPCXpresso55S69 开发板和 Microchip USB2534 开发板。我们已经使用 ST Nucleo-U575 板通过 I2C 成功与 Microchip 板通信。 USB2534 在总线上寻址时无法响应。附件是地址字节的示波器输出。可以看出,USB2534 *正在*尝试在 !ACK 位期间拉低 SDA,但不能。值得注意的是,该图显示的是从 LPC 开发板上移除 R71 和 R72 并用外部 10k 总线上拉电阻替换它们后的结果。由于 LPC 板上原有的 2.2kOhm 电阻,!ACK 下降甚至更弱。使用板载上拉电阻时,SDA 线在 !ACK 时会降至 ~3V,而使用 4.7kOhm 时则会降至 ~2.5V,然后在 10kOm 时降至 ~2V,如图所示。因此这似乎不是一个协议问题,因为 USB2534 显然正在尝试执行 !ACK。 尽管我们使用 MCUXpresso IDE 和最新的 SDK 代码为 FlexComm1 生成 I2C 初始化序列,但我们仍然怀疑 LPC 端可能存在一些设置不正确的情况。I2C 设置完成后,读取 PIO0_13(FC1_SDA)的 IOCON 寄存器会得到 0x5105。这表明 EGP 位(位 14)尚未清除,这意味着引脚应该作为 GPIO 而不是 I2C 运行。尽管如此,正如示波器上所见,I2C 外设实际上仍在运行。我们确实尝试编辑启动代码以确保 EGP 被清除,但这没有帮助。我们的其他想法包括保留 EGP 设置并设置 OD 位(位 9)以启用漏极开路。另一种可能性是设置 ECS(位 13)来切换外围设备以使用(大概)内部上拉电阻。然而,这些都是猜测,如果有人有其他想法,我们将不胜感激。 LPC55xx 回复:I2C 从设备无法在 LPCXpresso55S69-EVK R3 开发板上将 SDA 驱动至 !ACK 位低电平 你好- 从我的帖子中看不清楚,但附加的原理图来自 Microchip USB2534 评估板,以显示 I2C 跳线引脚上的不寻常设置。如上所述,一旦我们意识到 USB2534 上没有引脚可以直接访问 I2C 总线,我们就破解了电路板,并且 LPC 运行良好(尽管仍然很奇怪为什么 ICON EGP 位等没有设置)。 回复:I2C 从设备无法在 LPCXpresso55S69-EVK R3 开发板上将 SDA 驱动至 !ACK 位低电平 Hello @E66man  从您分享的原理图来看,似乎不要将 Flexcomm1 用作 I2C。 请检查并确认使用的I2C引脚。 BR 爱丽丝 回复:I2C 从设备无法在 LPCXpresso55S69-EVK R3 开发板上将 SDA 驱动至 !ACK 位低电平 所以问题最终出在 USB2534 集线器板上。图像右上角的电路板允许访问的唯一 I2C 裸露引脚位于 10k 上拉电阻的错误一侧(同样值得注意的是,没有用于连接外部电路板的裸露接地引脚)。我们最终不得不移除 U8 插座并安装接头针,以便能够正确连接总线。看起来 Microchip 确实希望您购买他们的 ProConnect 工具来使用该主板做任何事情。 但仍然令人好奇的是,当 LPC55S69 正确执行 I2C 时,IOCON 中的所有相关位(功能位 0:3 除外)似乎都没有设置。
View full article
L2.6.35_1.1.0_130130 をコンパイルします。Ubuntu 13.10 64ビットOS上のi.MX28用 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Ubuntu 13.10 64bit LinuxホストPCをセットアップし 、i.MX28 L2.6.35_1.1.0_130130をビルドするための手順とパッチです。 GNOME プロファイルと FSL 標準 MM コーデックのビルドがテストされています。 A) 基本要件: ubuntu-13.10-desktop-amd64.iso を使用して Linux ホスト PC をセットアップします 以前のLTIBインストールと/opt/freescaleが削除されていることを確認します B) 必要なパッケージをLinuxホストPCにインストールしました $ sudo apt-get update $ sudo apt-get gettext libgtk2.0-dev をインストールするRPMバイソンM4 LibFreeType6-DEV $ sudo apt-get install libdbus-glib-1-dev liborbit2-dev intltool $ sudo apt-get ccacheをインストールする ncurses-dev zlib1g zlib1g-dev gcc g++ libtool $ sudo apt-get install uuid-dev liblzo2-dev $ sudo apt-get install tcl dpkg $ sudo apt-get asciidoc texlive-latex-base dblatex xutils-dev をインストールする $ sudo apt-get texlive texinfoをインストールする $ sudo apt-get lib32z1 lib32ncurses5 lib32bz2-1.0をインストールする $ sudo apt-get libc6-dev-i386をインストールする $ sudo apt-get u-boot-toolsをインストールする $ sudo apt-get scrollkeeperをインストールする $ sudo apt-get gpartedをインストールする $ sudo apt-get nfs-common nfs-kernel-serverをインストールする $ sudo apt-get install git-core git-doc git-email git-gui gitk $ sudo apt-get install meld atftpd $ sudo ln -s /usr/lib/x86_64-linux-gnu/librt.so   /usr/lib/librt.so C) LTIB ソース パッケージを解凍してインストールし、ホーム ディレクトリで完了したと仮定します。 $cd ~ $ tar -zxvf L2.6.35_1.1.0_130130_source.tar.gz $ ./L2.6.35_1.1.0_130130_source/install その後、~/ltibディレクトリが作成されます D)パッチを適用してL2.6.35_1.1.0_130130を作成しますUbuntu 13.10 64ビットOSにインストールしてコンパイルできます $ cd ~/ltib $ git apply 0001_make_L2.6.35_1.1.0_130130_compile_on_ubuntu_13.10_64bit_OS.patch パッチの動作 : a) この更新プログラムは、次のファイルを変更します。 dist/lfs-5.1/base_libs/base_libs.spec dist/lfs-5.1/elftosb/elftosb.spec dist/lfs-5.1/lkc/lkc.spec dist/lfs-5.1/mux_server/mux_server.spec dist/lfs-5.1/ncurses/ncurses.spec b) 次のファイルを pkgs ディレクトリに追加します。 pkgs/elftosb-2.6.35.3-1385779630.patch pkgs/elftosb-2.6.35.3-1385779630.patch.md5 pkgs/lkc-1.4-lib.patch pkgs/lkc-1.4-lib.patch.md5 E) その後、残りの LTIB env セットアップ プロセスを続行する準備が整いました。 $ cd ~/ltib $ ./ltib -m config $ ./ltib 参考情報: L2.6.35_1.1.0_130130_docs/doc/mx28/Setting_Up_LTIB_Host_on_Ubuntu_9_04.pdf https://community.freescale.com/docs/DOC-93394 https://community.freescale.com/message/332385#332385 https://community.freescale.com/thread/271675 https://community.freescale.com/message/360556#360556 scrollkeeper は gnome-desktop のコンパイル用です elftosb-2.6.35.3-1.1.0/makefile.rulesのLIBSに-lmを追加することで、elftosbのコンパイルの問題を修正 注: gstreamerをコンパイルすると、この警告がポップアップしました。ただ無視してください、それは大丈夫そうです。 i.MX2x Linux 日時:L2.6.35_1.1.0_130130をコンパイルしますUbuntu 13.10 64ビットOS上のi.MX28用 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 便利なパッチ ビルドする前に、これは多くのヒントをする必要があります。 例えば。 pkgs/elftosb-2.6.35.3-1.1.0.Makefile を変更する必要があるtar.gz LIBS = -lstdc++ から LIBS = -lstdc++ -lm に変更 あとはパッチを追加するだけです。 pkgs/elftosb-2.6.35.3-1385779630.patch pkgs/elftosb-2.6.35.3-1385779630.patch.md5
View full article
PCA9617A:5V 和 3.3V I2C 设备混合使用,这样使用 I2C 缓冲区正确吗? 大家好, 我们在设计中使用 NXP I2C 总线中继器/缓冲 PCA9617A,该设计将包括几个 5V 和 3.3V 的 I2C 设备,它们将共享一个 I2C 总线 左侧的主设备是客户系统,它将通过 I2C 总线访问所有四个组,每个组包括四个 5V I2C 从设备以及两个 3.3V 从设备。 第一个PCA9617A的目的是将所有的I2C设备分成四组,并且隔离总线电容,所以不会超过400pF。 第二个 PCA9617A 的用途是电平转换,因此 5V I2C 从属设备和 3.3V I2C 从属设备可以共享一个 I2C 总线。 我不确定下面的应用程序是否正确,您能帮忙检查一下是否有问题吗?或者您有更好的想法? 提前谢谢您。 此致 Bo 回复:PCA9617A:5V 和 3.3V I2C 设备混合使用,这样使用 I2C 缓冲区正确吗? 国伟您好, 太好了,感谢您的快速回复,这让我的设计充满信心。 此致 Boler 回复:PCA9617A:5V 和 3.3V I2C 设备混合使用,这样使用 I2C 缓冲区正确吗? Hi Boler 我看不出该电路图有任何错误。 谢谢! BR 回复:PCA9617A:5V 和 3.3V I2C 设备混合使用,这样使用 I2C 缓冲区正确吗? 国伟您好, 感谢您的更新。 是的,组 2/3/4 与组 1 具有相同的电路。 此致 Boler 回复:PCA9617A:5V 和 3.3V I2C 设备混合使用,这样使用 I2C 缓冲区正确吗? Hi Boler 感谢您对恩智浦产品的关注。 Group2/3/4 是否与 Group1 具有相同的电路? 或者您可以在此处提供完整的连接图。 BR
View full article
USBスタックver4.1.1にK60 120MHz部分のサポートを追加する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 実は、最新のFSL USBスタックがKSDKの一部になっているので、KSDKをベースにしたUSBアプリケーションをお客様が設計することをお勧めしますが、K70、K60F、KL25などの古い部分はまだKSDKでサポートされていない部分もありますので、USBスタックver 4.1.1は、まだそれらの部分をベースにしたアプリケーションを開発している人にとっては多少の助けになります。 USBスタック ver 4.1.1はK60Fの代わりにK70をサポートしますが、どちらもKinetisの120MHzパーツであるため、移植は非常に簡単です。ここでは、このパーツの移植ガイドを提供します。 ポーティングは、ホストまたはデバイスのK70 USBの例に基づいています。 1. デバイスのヘッダー ファイルを置き換えます。 MK60F12.h を使用します。代わりに、KINETIS_120MHz_SC (Kinetis 120MHz ベア メタル サンプル コード) から抽出し、このヘッダ ファイルを "C:\Freescale\Freescale USB Stack v4.1.1\Source\Host\source\bsp\P3" のフォルダに格納します。ホスト用または "C:\Freescale\Freescale USB Stack v4.1.1\Source\Device\app\common\kinetis"デバイスの場合、derivative.h を変更します。以下のように: 2. マクロ定義の変更 MK60F12.hでは、MCU_MK60F12 は MCU_MK70F12 ではなく定義されているため、このステップでは、MCU_MK70F12に関連するコード スニペットを変更する必要があります。 まず、プロジェクト内のMCU_MK70F12、たとえば、IARに基づくホストデモUSB_MSDプロジェクトで、次のように検索できます。 また、「#ifdef MCU_MK70F12」や「#ifndef MCU_MK70F12」などのマクロを見つけて、次のように変更する場合があります。 #ifdef MCU_MK70F12 ----> #if (定義MCU_MK60F12) ||(定義MCU_MK70F12) #ifndef MCU_MK70F12 ----> #if (!defined MCU_MK60F12) && (!defined MCU_MK70F12) 3. IO ドライバーの変更。 TWR-K70F120はTWR-K60F120とほぼ同じハードウェアを備えているため、ヘッダーファイルを置き換えた後にドライバーコードを変更する必要はありませんが、シリアルポートドライバーを除いて、USB_MSDデモを参照して、シリアルドライバーはsci_kinetis.cにあります。TWR-K70F120M は PTE16 と PTE17(UART2) をコンソールとして使用し、TWR-K60F120M は PTE8 と PTE9(UART5) を代わりに使用しますので、printf を正常に動作させるには、以下のようにドライバを変更する必要があります。 void sci2_init(){ #if (定義MCU_MK60F12) ||(定義MCU_MK70F12)     register uint_16 sbr, brfa;     uint_8 temp; #ifdef MCU_MK70F12 /* PTD3でUART2_TXD機能を有効にする */ PORTE_PCR16 = PORT_PCR_MUX(0x3);UARTは、このピンのalt3機能です /* PTD2のUART2_RXD機能を有効にする */ PORTE_PCR17 = PORT_PCR_MUX(0x3);UARTは、このピンのalt3機能です /* クロックを有効にする */     SIM_SCGC4 |= SIM_SCGC4_UART2_MASK; / *送信機と受信機が無効になっていることを確認してください *設定を変更します。      */     UART_C2_REG(UART2_BASE_PTR) &= ~(UART_C2_TE_MASK | UART_C2_RE_MASK); /* UART を 8 ビット モード、パリティなしに設定します */ UART_C1_REG(UART2_BASE_PTR) = 0;   /* すべてのデフォルト設定が必要なので、レジスタ全体がクリアされます */ /* ボー設定の計算 */ sbr = (uint_16)((SYSCLK*1000)/(UART_BAUDRATE * 16)); /* SBR フィールドを除く UARTx_BDH の現在の値を保存します */ temp = UART_BDH_REG(UART2_BASE_PTR) & ~(UART_BDH_SBR(0x1F)); UART_BDH_REG(UART2_BASE_PTR) = 温度 | UART_BDH_SBR(((SBR & 0x1F00) >> 8));     UART_BDL_REG(UART2_BASE_PTR) = (uint_8)(sbr & UART_BDL_SBR_MASK); /* ボーレートに近づくために分数除算が必要かどうかを判断します */ brfa = (((SYSCLK*32000)/(UART_BAUDRATE * 16)) - (SBR * 32)); /* BRFA フィールドを除く UARTx_C4 レジスタの現在値を保存 */     temp = UART_C4_REG(UART2_BASE_PTR) & ~(UART_C4_BRFA(0x1F));     UART_C4_REG(UART2_BASE_PTR) = temp |  UART_C4_BRFA(brfa);   /* 受信機と送信機を有効にする */     UART_C2_REG(UART2_BASE_PTR) |= (UART_C2_TE_MASK    | UART_C2_RE_MASK); #else //MCU_MK60F12 /* PTE8でUART2_TXD機能を有効にする */ PORTE_PCR8 = PORT_PCR_MUX(0x3);UARTは、このピンのalt3機能です /* PTE9でUART2_RXD機能を有効にします */ PORTE_PCR9 = PORT_PCR_MUX(0x3);UARTは、このピンのalt3機能です        /* クロックを有効にする */     SIM_SCGC1 |= SIM_SCGC1_UART5_MASK; / *送信機と受信機が無効になっていることを確認してください *設定を変更します。      */     UART_C2_REG(UART5_BASE_PTR) &= ~(UART_C2_TE_MASK | UART_C2_RE_MASK); /* UART を 8 ビット モード、パリティなしに設定します */ UART_C1_REG(UART5_BASE_PTR) = 0;   /* すべてのデフォルト設定が必要なので、レジスタ全体がクリアされます */ /* ボー設定の計算 */ sbr = (uint_16)((SYSCLK*1000)/(UART_BAUDRATE * 16)); /* SBR フィールドを除く UARTx_BDH の現在の値を保存します */ temp = UART_BDH_REG(UART5_BASE_PTR) & ~(UART_BDH_SBR(0x1F)); UART_BDH_REG(UART5_BASE_PTR) = 温度 | UART_BDH_SBR(((SBR & 0x1F00) >> 8));     UART_BDL_REG(UART5_BASE_PTR) = (uint_8)(sbr & UART_BDL_SBR_MASK); /* ボーレートに近づくために分数除算が必要かどうかを判断します */ brfa = (((SYSCLK*32000)/(UART_BAUDRATE * 16)) - (SBR * 32)); /* BRFA フィールドを除く UARTx_C4 レジスタの現在値を保存 */     temp = UART_C4_REG(UART5_BASE_PTR) & ~(UART_C4_BRFA(0x1F));     UART_C4_REG(UART5_BASE_PTR) = temp |  UART_C4_BRFA(brfa);    /* 受信機と送信機を有効にする */     UART_C2_REG(UART5_BASE_PTR) |= (UART_C2_TE_MASK    | UART_C2_RE_MASK); #endif        #endif } #ifdef __CC_ARM int sendchar (int ch) #else ボイドTERMIO_PutChar (char ch) #endif { #if (!defined MCU_MK60F12) && (!defined MCU_MK70F12) #if (定義MCU_MK20D5) ||(定義MCU_MK20D7) ||(定義MCU_MK40D7) /* FIFOでスペースが空くまで待つ */ while(!(UART1_S1 & UART_S1_TDRE_MASK){};        /* キャラクターを送る */         UART1_D = (uint_8)ch;   #elif(定義MCU_MK21D5) while(!(UART2_S1 & UART_S1_TDRE_MASK){};        /* キャラクターを送る */         UART2_D = (uint_8)ch;   #elif(定義MCU_MKL25Z4) ||(定義MCU_MKL46Z4) /* FIFOでスペースが空くまで待つ */ while(!(UART0_S1 & UART_S1_TDRE_MASK){}; /* キャラクターを送る */        UART0_D = (uint_8)ch;       #else /* FIFOでスペースが空くまで待つ */ while(!(UART3_S1 & UART_S1_TDRE_MASK){};        /* キャラクターを送る */         UART3_D = (uint_8)ch;     #endif   #else #ifdef MCU_MK70F12 /* FIFOでスペースが空くまで待つ */ while(!(UART2_S1 & UART_S1_TDRE_MASK){}; /* キャラクターを送る */     UART2_D = (uint_8)ch; #else /* FIFOでスペースが空くまで待つ */ while(!(UART5_S1 & UART_S1_TDRE_MASK){}; /* キャラクターを送る */     UART5_D = (uint_8)ch; #endif #endif } 4. IDE設定で正しいデバイスタイプを設定します。 IARの場合は、プロジェクトオプションの観点からデバイスファミリを変更します。 これで、TWR-K60F120MでUSBデモの実行を開始できますが、上記の手順はUSBデバイススタックでは問題ありませんが、[ USBスタックバージョン4.1.1] で述べたように、USBホストスタックにはコードの問題があります。msd_mfs_genericホストデモのコードの問題がありますので、先に進む前に問題を修正してください。 お役に立てれば幸いです。 よろしくお願いいたします。 Kan USB 日時:USBスタックver4.1.1にK60 120MHz部分のサポートを追加する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, 私はこれらの変更を行いましたが、コンパイル時にこの関数が定義されていないため、エラーが発生しました: void USB_ISR(void); usb_dci_kinetis.hでは、この関数は、#if に対してのみ定義されています。HIGH_SPEED_DEVICE コードのこの部分はHIGH_SPEED_DEVICEによって異なりますか?私は自分のアプリケーションにHSを使用しようとしています。どんな洞察もありがとう!!
View full article
i.MX93 液晶ディフXRGB8888フレームバッファをバス形式RGB888に Hello, imx93でパラレルLCDをセットアップしようとすると、ちらつきやその他の不具合が発生します。 fb-testコマンドの出力の写真を添付しました。黄色の長方形では、テキスト「GREEN」と「RED」を印刷するように設定されたピクセルの周囲に不具合があります。黄色の円には、(テキストの)ピクセルが設定された行が左にシフトされたかのように、グリッチがあります。 fb-test outputfb-testの出力 フレームバッファは、XRGB8888(bpp 32)、サイズ 800x480 として設定されます。バス形式は rgb888 として構成されています。 fbset コマンドの出力は、次のとおりです。 mode "800x480-0" # 😧 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz geometry 800 480 800 480 32 timings 0 0 0 0 0 0 0 accel true rgba 8/16,8/8,8/0,0/0 endmode バスフォーマットのデバイスツリーノード(MEDIA_BUS_FMT_RGB888_1X24): &parallel_disp_fmt { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcdif>; fsl,interface-pix-fmt = "rgb888"; status = "okay"; ports { port@1 { reg = <1>; display_out: endpoint { remote-endpoint = <&panel_in>; }; }; }; }; パネル構成: panel { compatible = "panel-dpi"; power-supply = <&reg_vdd_3v3>; backlight = <&backlight>; panel-timing { clock-frequency = <33260000>; hactive = <800>; vactive = <480>; hfront-porch = <40>; hback-porch = <88>; hsync-len = <128>; vfront-porch = <35>; vback-porch = <8>; vsync-len = <2>; de-active = <1>; pixelclk-active = <1>; }; port { panel_in: endpoint { remote-endpoint = <&display_out>; }; }; }; &lcdif { status = "okay"; }; 私が知る限り、私は物事を正しい方法で構成しましたが、何かを見逃していたかもしれません。アドバイスをいただけますか? 使用するドライバは linux 6.1.55 の lcdifv3 です。 日時:i.MX93 lcdif。XRGB8888フレームバッファをバス形式RGB888に Hello, この問題は、クロック周波数チェックが原因であると思います。 よろしくお願いします。
View full article
S32K3xx FOTA示例代码 Hello, 是否有针对 S32K3xx 的 FOTA 示例代码或示例? 谢谢! 科迪 回复:S32K3xx FOTA示例代码 @VaneB  感谢您的快速回复。 回复:S32K3xx FOTA示例代码 Hi @kodyw  示例代码可以从 S 32K3 参考软件> 汽车 SW - S32K3 - OTA 演示下载。此外,还有一些与该主题相关的培训视频,请查看它们,它们可能会对您有用。 采用 S32K3 MCU 的汽车安全和无线 (OTA) 解决方案 采用成本优化的S32K1xx和S32K3xx汽车MCU实现汽车MCU安全性和OTA解决方案 B.R. VaneB
View full article
RW612 - wifi_mqtt例「download firmware failed」 FRDM-RW612 ボードがあり、MCUXpresso IDE v24.9 (現在は最新リリース) を使用して SDK (バージョン 2.16.100、ビルド 858、2024-10-02) の wifi_mqtt 例を実行しようとしています。内蔵のMCU-Linkを使用してビルドし、ダウンロードすることができます。しかし、実行すると、次のようになります。 ************************************************ MQTT クライアントの例 ************************************************ [i] Wi-Fi接続を初期化しています... [wifi_io]エラー: ファームウェアのダウンロードに失敗しました [Wi-Fi接続]エラー: imu_wifi_init失敗しました。ステータスコード -1 【WLCMの】エラー: wifi_init失敗しました。ステータスコード -1 [!]WPLの初期化に失敗しました:1 CONFIG_WIFI_IO_DEBUGを有効にすると、出力が数行増えるだけです。 関連するコード スニペットを次に示します。 imu_wifi_init() from wifi-imu.cimu_wifi_init() から wifi-imu.c 1612 行目をコメント化しても効果はありません。ボードを手動でリセットするか、プラグを抜いてから差し込むかしても、同じ結果になります。doc/readme.md を読みましたが、「app_config.h で Wi-Fi モジュールマクロを選択してください」と記載されています。(#define WIFI_ _BOARD_)」を参照してください。 これがapp_config.hの内容です。 app_config.happ_config.h 私は何か間違ったことをしていますか?これはすぐに使える例であるべきですが、なぜ失敗しているのかわかりません。感謝。 ダナ・M 製品: WiFi RW6XX Re: RW612 - wifi_mqtt例「ファームウェアのダウンロードに失敗しました」 はは、いや、それだけだった。Wi-Fiサンプルプロジェクトの readme.md にその特定のユーザーマニュアルとセクションについての言及があれば、人々にとって非常に便利です。私は長い間NXPのMCUで開発してきましたが、最初に別の手動J-Linkコマンドを使用して別のバイナリブロブをフラッシュに入れる必要があるのは新しいトリックです。 Windowsを実行している人のために、ファームウェアをプログラミングするための便利なバッチファイルがあります。component\conn_fwloader\fw_bin に配置し、必要に応じてパスを JLink.exe に編集します。 @set JLINK="C:\Program Files\SEGGER\JLink\JLink.exe" @set FIRMWARE="rw61x_sb_wifi_a2.bin" @set FLASH_ADDRESS=0x08400000 @set COMMAND_FILE="jlink_command.txt" @echo loadbin %FIRMWARE%,%FLASH_ADDRESS% > %COMMAND_FILE% @echo quit >> %COMMAND_FILE% %JLINK% -device RW612 -if SWD -speed 4000 -CommandFile %COMMAND_FILE% @pause ポインタをありがとう。 ダナ・M Re: RW612 - wifi_mqtt例「ファームウェアのダウンロードに失敗しました」 こんにちは J-Linkを使用してWi-Fiファームウェアをダウンロードしたことを確認してください。 UM11799のセクション4.1.1を確認してください(SDKバンドルで利用可能)。 よろしく Daniel.
View full article
DMAが機能しないEmios PWMをフィードする Hi, 私はEmios PWM(OPWMBモード)を使用して、DMAを供給しようとしています。スキャッター ギャザー モードで構成された 2 つの DMA バッファーを持つテスト アプリケーションをセットアップしました。最初のものが再生終了すると、2番目のものが再生されます。現在、バッファを更新していませんが、最終的なアプリケーションでは、バッファが再生されている間、他のバッファが更新され、バッファがループ再生されます。 S32 Design Studio 3.5 と S32K3XX Real-Time Drivers AUTOSAR R21-11 Version 5.0.0 を使用しています。 DMA チャネル 0 を 2 つのエレメント (各 128 エレメントの 2 つのバッファー) を持つスキャッター ギャザー モードに設定しました。ソースは int16 のバッファであるため、"source signed offset" は 2 に設定され、"transfer size" も 2 に設定されます。宛先はEmiosレジスタ(IP_EMIOS_0->CH。UC[1]。B) したがって、"Destination Signed Offset" は 0 に設定され、"Transfer Size" は 2 に設定されます。ソース バッファーには 128 個の要素があるため、"ソースの最後のアドレス調整" は -256 (128 * sizeof(int16)) に設定されます。 PWM は、DMA 要求 (フラグ イベント応答 -> EMIOS_PWM_IP_DMA_REQUEST) をトリガーするように設定されています。 S32K312EVB-Q172ボード上で動作するテストアプリケーションを添付しました。現在、バッファはループで再生されておらず、一度だけ再生されるべきですが、まったく再生されていません。オシロスコープで確認したところ、PWM のデューティ サイクルが変化しません 私の質問は、Emios PWMをDMAチャネル0にリンクするようにDMAMUXをどのように構成するかです。これをどこで設定できるかわかりません。私がやろうとしていることは可能ですか?そうでない場合は、提案する別の解決策はありますか? ご協力いただきありがとうございます! ヒューゴ Re:DMAが機能しないEmios PWMを供給する こんにちはセンレント、 いくつかのテストを行った結果、ISRは、オシロスコープのスクリーンショットとは異なり、私の側で両方のバッファが再生されたとき(~8.72ミリ秒ごと)にのみ呼び出されることがわかりました。「Enable Major Interrupt」チェックボックスがスキャッター/ギャザーチャネル0に設定されていないため、私には正常であるように思われます。設定してみると、今はちゃんと動作し、バッファもちゃんと再生されています。以下は、両方のチャネルでスキャッター/ギャザー構成に対して行った変更です。 誰かが同じことをする必要がある場合に備えて、テストアプリケーションの最終バージョンを添付しました。 ご協力いただき、誠にありがとうございます!!本当にありがたいです! よろしく ヒューゴ Re:DMAが機能しないEmios PWMを供給する こんにちはセンレント、 ご回答ありがとうございます。P_EMIOS_0->CHを書き込むためにPWM周波数で割り込みが発生するのを避けるために、そうしたいと思います。UC[1].B.それぞれに 128 個のサンプルのバッファが 2 つあるため、1 つのバッファを再生しながら 2 つ目のバッファを更新することができます。1つのバッファが再生されると、ISRを取得し、もう1つのバッファに新しいPWM値を埋めることができます。次の ISR では、新しい値が再生され、他のバッファーを更新できます。私が提供したサンプルアプリケーションでは、PWMデューティサイクル値は定数ですが、これはテスト用でした。 今は自宅で仕事をしているので、テストするオシロスコープはありませんが、明日テストします。これまでのご協力に改めて感謝します! よろしく ヒューゴ Re:DMAが機能しないEmios PWMを供給する Hi@h_bouchard なぜこれをやりたいのかわかりませんが、あなたの考えに従って構成を変更しました そして、参照比較としてPWM出力を追加しました Re:DMAが機能しないEmios PWMを供給する こんにちはセンレント、 ご回答ありがとうございます。しかし、それでは本来あるべきことがうまくいきません。マイナーループがすべてのDMA転送を完了し、128に設定されているときに割り込みを取得する必要があります(メジャーループの反復時)。したがって、PWM周期は(1 / 29296.875 KHz)* 128転送= 4.369067 ミリ秒です。あなたのスクリーンショットでは、期間が~3.413 usであることがわかります。 また、DMA はバッファーから読み取られず、最初の要素のみが読み取られて再生されます。TCDx_SADDRがインクリメントされているようには見えません。なぜかわかりますか? よろしく ヒューゴ Re:DMAが機能しないEmios PWMを供給する Hi@h_bouchard 以下のショーのように修正していただけませんか。 Re:DMAが機能しないEmios PWMを供給する こんにちはセンレント、 ご協力いただきありがとうございます。ただし、DMAは正常に機能していないようです。バッファの最初のエレメントは eMIOS チャネルの B レジスタに書き込まれますが、ソース アドレスはインクリメントされず、PWM 周期内で 128 PWM 周期ごとに 1 回割り込みが発生するはずです (2 バイト転送の場合、マイナー ループ サイズは 256 に設定されています)。これを確認するために、DMA ISR 関数にピン トグルを追加しました。 TCD レジスタと eMIOS 設定のスクリーンショットを次に示します。 そして、これがオシロスコープのスクリーンショットです。 ご覧のとおり、0.00436907秒ごとに1回しか取得しないはずの割り込みが数マイクロ秒以内に2回発生します(1 / 29296.875 KHz(PWMフレンクエンシー)* 128)。 なぜかわかりますか? よろしく ヒューゴ Re:DMAが機能しないEmios PWMを供給する Hi@h_bouchard 後で返信して申し訳ありませんが、過負荷になっています。 このオプションを無効にしてください emios0_ch1->FENを有効にしないと、DMAリクエストは生成されません。 IP_EMIOS_0->CH.UC[1].C = (IP_EMIOS_0->CH.UC[1].C & ~(eMIOS_C_FEN_MASK)) | eMIOS_C_FEN(1); (FENビットを有効にするためのAPIが必要ですが、MCAL APIは使用していません) Re:DMAが機能しないEmios PWMを供給する こんにちはセンレント、 すみません、こちらです。 よろしく ヒューゴ Re:DMAが機能しないEmios PWMを供給する Hi@h_bouchard 「テストファームウェアを最新の変更で更新しました(firmware_test2.zipを参照)。" 「firmware_test2.zip」が見えなかったので、再確認してください。 Re:DMAが機能しないEmios PWMを供給する こんにちはセンレント、 ご回答ありがとうございます。私はRMを追加し、あなたが提案したようにそれをセットアップしました: しかし、EMIOS0 CH 1からDMAリクエストを生成できません。これがDMAチャネルの設定です。どちらのエレメント ID も同じに設定されていますが、エレメント ID 0 がエレメント ID 1 にリンクし、エレメント ID 1 がエレメント ID 0 にリンクして、停止しないダブル バッファリングが作成されます。 「Enable Start」オプションは、両方のエレメントIDに対して設定されています。DMA 割り込みは、DMA チャネルが設定された直後 (Mcl_SetDmaChannelScatterGatherConfig() の呼び出し) にトリガーされます。その後、PWMが初期化されます。PWM_Init 関数をコメント アウトしても DMA 割り込みがトリガーされ、RM に設定されている EMIOS0 CH 1 ではなく、他の何かが DMA をトリガーしていることがわかります。他に何がDMAを引き起こす可能性があるか知っていますか? テストファームウェアを最新の変更で更新しました(firmware_test2.zipを参照)。 感謝 よろしく ヒューゴ Re:DMAが機能しないEmios PWMを供給する Hi@h_bouchard 私の質問は、Emios PWMをDMAチャネル0にリンクするようにDMAMUXをどのように構成するかです。 これは「RM」で行うことができます
View full article
ISP_FLASH_TRIG_0 和 ISP_SHUTTER_TRIG_0 含义 大家好, 我正在使用 NXP i.MX 8M Plus SoC 并尝试了解两个 ISP(图像信号处理器)触发信号的功能: ISP_SHUTTER_TRIG_0 ISP_FLASH_TRIG_0 回复:ISP_FLASH_TRIG_0 和 ISP_SHUTTER_TRIG_0 含义 @joanxie谢谢你的信息 回复:ISP_FLASH_TRIG_0 和 ISP_SHUTTER_TRIG_0 含义 它们是由 ISP IP 所有者定义的,为什么您需要知道这一点?SHUTTER TRIG 时钟用于 ISP 快门模块,闪光灯触发器用于闪光灯控制,这就是我在公共社区能与大家分享的全部内容
View full article
MPC5777C- e2eECCメカニズムを無効にする方法はありますか? e2eECCメカニズムはSRAMへの64ビットアクセスに最適化されていることがわかりましたが、リアルタイムシステムでは32ビットのアクセスを実行するだけで済みます。では、e2eECCメカニズムを無効にしたり、レジスタを使用してアプリケーションに最適に最適化したりする方法はありますか? よろしくお願いいたします Matheus. Re: MPC5777C- e2eECCメカニズムを無効にする方法はありますか? Hello, 私の同僚のデビッドは、すでにスレッドであなたの質問に答えることに取り組んでいます: https://community.nxp.com/t5/MPC5xxx/MPC5777C-Questions-about-th...   新しい質問で新しいスレッドを開くのは良いことです、なぜなら私たちはすべてについて同等の知識を持っているわけではなく、他の人はすでに割り当てられているスレッドであなたの更新を見ることができないからです。   よろしくお願いいたします。 ピーター   Re: MPC5777C- e2eECCメカニズムを無効にする方法はありますか? こんにちは! PRAMCは最大16ビートバースト操作を実行でき、バスの幅は64ビットであることがわかりました。キャッシュ・ライン・サイズは 32 バイトで、これは 256 ビットに相当します。256ビットのキャッシュラインのフィルとSRAMへのキャッシュラインのライトバックは、SRAMへの4つの64ビットビートバースト要求として実行されると仮定します。 そこで、L1 キャッシュにない 32 ビット データを SRAM に書き込むように要求し、キャッシュ ライン フィルを生成し、このキャッシュ ラインを SRAM に書き戻すシナリオを想像してみましょう。PRAMC は、これらの要求を 32 ビット要求と見なしますか、それとも SRAM に対する 4 つの 64 ビット ビート バースト要求と見なしますか。 この質問は、実行するすべての 32 ビット書き込みアクセスが 64 ビット未満の書き込みトランザクションと見なされるかどうか、またはライトバック キャッシュ ポリシーを使用して、このデータを複数の 64 ビット パッケージにバースト書き込むことができるかどうかを理解するために、64 ビット未満の書き込みトランザクションを実行するための追加の e2eECC 手順の必要性を排除するために質問します。 Re: MPC5777C- e2eECCメカニズムを無効にする方法はありますか? Hello, いいえ、ECCメカニズムは常に有効になっています。HWによって完全に操作されます。 よろしくお願いいたします。 ピーター
View full article