Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
s32g llce insmod llce_can.ko エラー 私は S32G399A チップを使用し、カーネルを手動でコンパイルし、LLCE ファームウェアとドライバーをルート ファイル システムに統合しましたが、下の画像に示すように、LLCE CAN ドライバーを手動でロードするときにエラーが発生しました。 これはファームウェアの互換性の問題でしょうか?それとも依存関係が不足していることが原因でしょうか? ご返信をお待ちしております! エンジニアの皆様 私は S 3 2 G 3 9 9 A チップを使用しており、カーネルを手動でコンパイルし、LLCE ファームウェアとドライバーをルート ファイル システムに統合し、LLCE CAN ドライバーを手動でロードしていますが、以下に示すようにエラーが発生しました。 ファームウェアの互換性の問題がありますか、それとも他の依存関係が不足していますか? ご返信をお待ちしております! liuchi_0-1753877704319.png Re: s32g llce insmod llce_can.ko err この問題は解決しました。カーネルイメージをLLCE関連ドライバすべてを対象にコンパイルされた統合版イメージに更新すると、正常にロードできるようになります。 Re: s32g llce insmod llce_can.ko err こんにちは ログから判断すると、llce_can.ko が依存する他のモジュールが事前にロードされていなかった可能性があります。BSPUM の以下のセクションを参照して、もう一度お試しください。 chenyin_h_0-1753933304930.png BR チェイン
View full article
MBDT BMS Pkg アドオンと S32k3xx v1.5.0 の互換性、または v1.4.0 の並行インストール S32K3xx MBDT v1.4.0 で正式にサポートされている MBDT 用の NXP_Support_Package_BMS アドオンを使用しようとしています。 私のシステムには、進行中の他のプロジェクト用にすでに MBDT v1.5.0 がインストールされていますが、アドオンはこの新しいバージョンでは動作しないようです。 現在、BMS 開発には S32K396 POC ボードを使用しています。 ありますか: アドオンをv1.5.0と互換性を持たせる方法、または 競合なく、同じ MATLAB インストールまたはシステム上で、v1.4.0 と v1.5.0 の両方を並行してインストールして実行する方法はありますか? 並行インストールが可能な場合は、正しいセットアップ手順を教えてください。 Re: Compatibility of MBDT BMS Pkg Add-On with S32k3xx v1.5.0 or Parallel Installation of v1.4.0 こんにちは、 BMS 用のモデルベース デザイン ツールボックスは現在、S32K3 1.4.x 用の MBD ツールボックスとのみ互換性があります。現時点では、MBD Toolbox for S32K3 1.5.0 と互換性を持たせる方法はありません。 次に、同じ MATLAB インストールに v1.4.0 と v1.5.0 の両方を並行してインストールすることはできません。唯一の実行可能な代替手段は、別の MATLAB をインストールし (ライセンスで許可されている場合)、そこにツールボックスの 1 つをインストールすることです。 よろしくお願いいたします。 ソリン・バンチラ
View full article
IW611 Wi-Fiモジュールのドライバとファームウェア こんにちは、 Wi-Fi ドライバを構築する手順と、IW611 に関連するいくつかの質問を明確にしたいと思います。ぜひご覧になってみてください。ありがとう。 私はカーネル 5.10 を使用しており、私の理解に基づいて、IW611 用の WiFi ドライバを構築する手順は次のとおりです。間違っていたら訂正してください。 1) クローンリポジトリ: http://github.com/nxp-imx/mwifiex.git 私のカーネルバージョンに最も近いバージョンをチェックアウトします。例: lf-5.10.y_1.0.0 質問: この lf-5.10.y_1.0.0 ブランチの最終更新は 4 年前です。そのブランチのソース コードは最新であり、すべての IW611 機能をサポートしていますか? 2) 5.10 カーネル ソース コードを指す KERNELDIR= をエクスポートします。 3) $CROSS_COMPILEを更新する 3) wlan_src に cd する 4) クリーン&ビルドを実行する その他の質問 https://github.com/nxp-imx/imx-firmware.gitのファームウェアの場合、IW611 に使用されているファームウェアをどのように確認すればよいですか?また、私のCASEでは lf-5.10.y_1.0.0 ブランチもチェックアウトする必要があるというのは正しいでしょうか? IW611 ライアン Re: IW611 Wifi module driver and firmware こんにちは@RyanKhor 質問: この lf-5.10.y_1.0.0 ブランチの最終更新は 4 年前です。そのブランチのソース コードは最新であり、すべての IW611 機能をサポートしていますか? --> リリースごとに機能リストを提供していますので、ご確認いただけます。i.MX アプリケーションプロセッサ向け組み込み Linux | NXP Semiconductors https://github.com/nxp-imx/imx-firmware.git にあるファームウェアについて 、IW611に使用されているファームウェアを確認するにはどうすればよいですか?また、私のCASEでは lf-5.10.y_1.0.0 ブランチもチェックアウトする必要があるのでしょうか? --> iw611 と iw612 は同じファームウェアを共有します。 よろしくお願いいたします。 ショーン
View full article
RW612 ROM 引导加载程序卡在 ISP 模式,无法从外部闪存加载 MCUBoot 问题描述 我在使用恩智浦 RW612 时遇到了一个持续的问题,即无论使用哪种二进制结构或配置,ROM 引导加载程序总是进入 ISP 模式,而不是从外部闪存启动。 症状 一致的 ISP 模式:设备始终以相同的寄存器值进入 ISP 模式 PC 寄存器:0x1302B460(ROM 引导程序地址) 神奇数字R1=0x5AC33CA5, R3=0x5AC33CA5, R6=0x55AACC33, R7=0x33CCAA55, R8=0x5AA55AA5, R10=0xC33CA55A, R11=0x55AACC33 性能:所有测试配置完全相同 我的测试结果 自定义 McuBoot 版本: 已签名和未签名的二进制文件 不同的 FCB 配置(带/不带 CMML) 各种偏移配置(0x400、0x1000) 官方 Zephyr 样品: frdm_rw612 板配置 rd_rw612_bga 板配置 sysbuild 和标准版本 用 imgtool 签名 二进制结构已验证: 偏移量 0x0000 处的 MCUBoot 头魔法 (0x3DB8F396) FCB 签名 (FCFB),偏移量 0x0400 带有 LUT 条目的完整 FlexSPI 配置 适当的 IVT/MBI 标头 当前设置 板:采用 RW612 的定制板 外部闪存:Fidelix 存储器(IRIS-W106-30B 模块) 工具链:Zephyr 4.1.0使用 Zephyr SDK 0.17.0 编程通过 SWD 接口连接 J-Link 社区问题 启动顺序要求:RW612 ROM 引导加载程序成功从外部闪存启动的确切要求是什么?是否有我遗漏的特定硬件配置要求? FCB 格式验证:ROM 引导加载程序期望的 FCB 格式是什么?是否有必须满足的验证要求或特定参数? 硬件配置:外部闪存熔丝所需的特定跳线设置、引脚配置或启动设置是否未记录在案? 已知问题:RW612 ROM 引导加载程序和外部闪存启动是否存在已知问题?有人成功从外部闪存启动过吗? 工作示例:有没有人有在 RW612 上成功从外部闪存启动的工作示例?您使用的是什么配置? 替代方法:如果外部闪存启动存在局限性,那么推荐的生产部署替代方案是什么? 调试步骤:你建议采取哪些调试步骤来确定 ROM 引导加载程序拒绝 FCB 的原因? 补充背景 事实上,即使是官方 Zephyr 样本(frdm_rw612 和 rd_rw612_bga)也会导致相同的 ISP 模式行为,这表明这可能是其中任何一种模式的根本问题: ROM 引导加载程序的实现 硬件配置要求 我们对启动过程的理解 如能提供任何指导或工作实例,将不胜感激! Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck。 为了获得更好的模块支持,我建议您直接联系模块制造商(uBlox),以获取与您的模块相关的各种文档。 如果您还有其他问题,请告诉我。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 谢谢,我看到了我想,当我实施它时,它没有工作...我需要回去再看一遍。 此外,我最近还发现 Segger(例如我的 jLink Pro)没有加载器可以正确刷新包含 RW612 芯片的 IRIS-W106-30B 模块使用的 Fidelix 型内存的二进制文件... 所以我也必须弄清楚(除非你有我能使用的加载器)。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck。 感谢您提供最新的测试结果。关于闪存锁定,请参阅 "如何解决 FRDM-RW612 闪存问题(闪存锁定)"帖子,只需注意在创建新工作区时选择模块专用内存即可。 如果您能解锁闪光灯,请告诉我。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 仅供参考...我能够实现这些变化。 目前,我的定制板已经锁定了闪存,我正在努力在刷新和测试之前将其解锁。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 是的,我知道了,并做了修改。 我正在使用一款带有 IRIS-W106-30B 模块(包含 RW612)的定制板。我将在周末进行测试。谢谢。 如果有问题,我会联系他们,并汇报我的进展情况。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck。 关于您需要签名/身份验证的启动映像的问题,请参阅 UM11865 第 78 页,其中详细介绍了启动过程的验证,如果您没有使用安全启动 ROM,则镜像不需要签名。 此外,请确认您是否遵循了我从应用程序代码中心分享的指南/示例。 如果这些信息有用,请告诉我您的发现。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 顺便说一下...昨天深夜我找到了 UM11865 用户手册...我还将查看您发布的文件......以下是我今天上午的调查摘要: IRIS-W106-30B 模块(基于 RW612)的 ROM 引导加载程序仍停留在 ISP 模式(PC = 1302B460),而不是从外部闪存切换到 MCUBoot 引导加载程序。 调查结果 ✅ 已确认的工作元器件: -通过 FCB(闪存配置块)访问 FlexSPI 外部闪存-FCB 签名:42464346 位于 0x08000400 -IVT(图像矢量表)签名:0x08001040 处的 402000D1 -Arm Cortex-M33 矢量表:0x08001400 处的有效堆栈指针 3000B320-外部闪存编程和验证成功 -ROM 引导加载程序可读取的所有启动结构 ❌ 已确定根本原因: -IVT boot_data_ptr (0x08001060) 指向包含全零的位置-链接 器未将启动数据结构正确放置在闪存中 -ROM 引导加载程序会验证启动结构,但在验证阶段拒绝映像 主要技术细节: - 内存布局:FCB@0x400 → IVT@0x1040 → ARM_vectors@0x1400 - IVT 指针:boot_data_ptr=0x08001060,self_ptr=0x08001040 - ROM 引导加载程序成功初始化 FlexSPI 并读取闪存内容 - 问题发生在映像验证期间,而非闪存访问期间 版本配置: -将 Zephyr RTOS 与 mcuBoot 一起使用-config_nxp_rw6xx_boot_header=Y -config_trusted_execution_nonsecure=Y-适用于 IRIS-W106-30B 的自定义 IVT 标头和 FCB 恩智浦社区的剩余问题 RW612 ROM 引导加载程序是否需要签名/经过身份验证的启动映像才能移交 给外部闪存引导加载程序? ROM 引导加载程序似乎可以正确验证所有启动结构,但拒绝 移交。缺少启动数据结构表明: 1.链接器脚本问题导致无法在 Flash 2 中正确放置启动数据。即使是移交引导加载程序,ROM 引导加载程序也需要签名映像(HAB/安全启动)3. 其他验证要求(我将查看文档) 如果您对 RW612 专用 ROM 引导加载程序的验证要求有更多了解,我们将不胜感激。 非常感谢你们的帮助! Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 非常感谢,我会去看看,并向您汇报。 我认为问题的根源在于 ROM 引导加载程序无法验证闪存中的 MCUBoot 引导加载程序...我将在今天晚些时候向您汇报 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck,希望你一切都好。 请查看 产品页面 上的 UM11865-RW61x 用户手册的第 11 章- 非安全启动 ROM ,其中包含有关 RW61x 启动模式以及 FCB 配置和结构的信息。 此外,请参阅从 FRDM-RW612 到第三方模块存储器的迁移指南,其中提供了配置 IRIS-W106-30B 特定闪存的指南和示例。 注意:你提到你曾尝试将 RD-RW612-BGA 二进制文件加载到 EVK 中,此过程可能会导致闪存锁定而无法写入闪存,如果你看到这种行为,请查看以下关于如何解决问题的文章:如何解决 FRDM-RW612 中的闪存问题(闪存锁)。 如果这些资源对你有帮助,请告诉我。
View full article
S32K358 上の AUTOSAR 4.7.0 での受信割り込みの設定 こんにちは、皆さん 現在、プロジェクトをRTDからAUTOSAR 4.7.0(SWバージョン3)に移行中です。 送信と受信の両方が割り込みモードで動作するように設定されています。 RTD セットアップでは、各メッセージ オブジェクトに独自のバッファーが割り当てられていました。メッセージを受信すると、受信 IRQ 機能がトリガーされ、メッセージ オブジェクト番号を使用して、対応するバッファにアクセスして処理できるようになりました。 現在、AUTOSAR では、受信割り込み処理を適切に構成する方法がわかりません。 AUTOSAR で受信割り込み用のメッセージ オブジェクト バッファを割り当てたりアクセスしたりするにはどうすればよいですか? 受信 ISR コールバック (CanIf または CanDrv 経由など) を実装または構成するための推奨方法はありますか? このワークフローの例やドキュメント参照はありますか? いくつかの例を確認しましたが、受信割り込み処理を明確に説明している例は見つかりませんでした。 ヒントや設定例があれば、ぜひ教えてください! Re: Configuring Reception Interrupts in AUTOSAR 4.7.0 on S32K358 こんにちは、 @thorben_kampさん、 SW バージョン 3 とは、S32K3 RTD v3.0.0 ASR21-11 のことを指していると思います。 RTD パッケージは、S32K358 CAN 通信用の AUTOSAR サンプル ルーチンを提供します。 Snag_12dd019.png ただし、ループバック操作用に構成されているため、出力ピンには信号が表示されません。出力ピン (S32K3X8EVB の CAN0 の場合は PTA6/7) を設定し、CAN インスタンス モードをループバックから通常/ユーザー モードに変更する必要があります。HW 構成に応じて、CANトランシーバを初期化する必要もあります。 S32K3X4EVB-T172 の割り込み MCAL ベースの例がここに投稿されています: [RTD600 MCAL & IP] S32K3X4EVB-T172 FlexCAN 例割り込み/ポーリング - NXP コミュニティ。S32K344 ベースですが、同じメインルーチンをCAN使用します。この例は単に最も基本的な構成を示すものであり、AUTOSAR にまったく準拠していないことに注意してください。 よろしくお願いします、 ジュリアン
View full article
S32K311の書き込み操作用のフラッシュドライバ実装 こんにちは、 PFlash へのデータ書き込みで問題が発生しています。リファレンス マニュアルの指示に従いましたが、まだメモリに書き込むことができません。これについてどうか助けてください。それは時間的に重要だから。 参考までに私のコードも添付しておきます。 ありがとうございました。 Re: FLash driver implementation for write operation in S32K311 こんにちは、ダニエル。 1.リファレンスマニュアルに記載されている以下のすべてのレジスタの組み合わせを使用してロック解除を試みました。 PFLASH.PFCBLK_SSPELOCK[0].R = 0x00000000U; //PFlashブロック0 PFLASH.PFCBLK_SSPELOCK[1].R = 0x00000000U; //PFlashブロック1 FLASH.SPELOCK.R = 0x00000000U; FLASH.SSPELOCK.R = 0x00000000U; FLASH.XSPELOCK.R = 0x00000000u; FLASH.XSSPELOCK.R = 0x00000000u; PFLASH.PFCBLK_SPELOCK[0].R = 0x00000000U; PFLASH.PFCBLK_SPELOCK[1].R = 0x00000000U; PFLASH.PFCBLK_SPELOCK[2].R = 0x00000000U; PFLASH.PFCBLKU_SPELOCK[0].R = 0x00000000U; // UTESTブロックロック ただし、DFlash は常にロックされたままであり、消去/プログラムを試行すると PES=1 が設定されます。 以下を明確にしていただけますか: S32K311 上の D-Flash ブロックの正しいレジスタとレジスタ インデックス。 S32K311 上の D-Flash に特別なロック解除メカニズム (UTEST ヒューズ、FCCU、ライフサイクル状態など) が必要かどうか。 D-Flash のロック解除 + 書き込みが成功したことを示す参考例。 2. P-Flashの最後の256KBのロックを解除できません: 上記のすべてのレジスタの組み合わせを使用した後でも、 0x004B0000 ~ 0x004FFFFF以上の値はロックされたままになります。 この領域は別のロック ブロック (ブロック 2?) によって制御されていますか? それとも D-Flash と共有されていますか? Re: FLash driver implementation for write operation in S32K311 こんにちは@emb-enockal さん、 0x00480008から始まる8バイトをプログラムするには、DATA[2-3]レジスタにデータを書き込む必要があります。 ロックに関しては、火曜日まで不在のため、現時点ではハードウェアでテストできません。 RTD ドライバ (C40_Ip) を参考にすることをお勧めします。 danielmartynek_0-1763131926248.png よろしくお願いいたします。 ダニエル Re: FLash driver implementation for write operation in S32K311 こんにちは、ダニエル。 ご説明ありがとうございます。 はい、プログラミングしていたのと同じ PFlash ブロックから書き込み関数を実行しようとしていることに気付きました。書き込みルーチンを別のブロックに移動すると、動作するようになりました。 ただし、2 つの追加の問題があります。 PFlash連続書き込み アドレス0x00480000に 8 バイトを書き込むと成功します。 しかし、次の 8 バイトを0x00480008に書き込もうとすると、操作は失敗します。 書き込みが成功する次のアドレスは128 バイト後になります。 コントローラは 128 バイト (4 ページ) 境界でのプログラミングのみを許可するようです。 同じ 4 ページ内で小さいチャンク (8 バイト) を連続してプログラムする方法はありますか? それとも 128 バイトすべてを一度に書き込む必要がありますか? DFlashロック解除の問題 推奨されている通り、 SPELOCK[2]とSSPELOCK[2]を使用してBlock_2のロックを解除しようとしましたが、ブロックはロックされたままです。 モジュール レベルおよびプラットフォーム レベルのロック レジスタをクリアすることも試みましたが、DFlash 領域はまだロック解除されません。 以下は私が試みたロック解除シーケンスです。 PFLASH.PFCBLK_SSPELOCK[0].R = 0x00000000U; //PFlashブロック0 PFLASH. PFCBLK_SSPELOCK [1]. R = 0x00000000U; //PFlashブロック1 FLASH.SPELOCK.R = 0x00000000U; FLASH.SSPELOCK.R = 0x00000000U; FLASH.XSPELOCK.R = 0x00000000u; FLASH.XSSPELOCK.R = 0x00000000u; DFlash Block_2 のロックを解除する正しい方法を理解し、同じ 4 ページ内での連続書き込みがサポートされているかどうかを確認する方法を教えていただけますか? ご協力ありがとうございます。 Re: FLash driver implementation for write operation in S32K311 こんにちは@emb-enockal さん、 フラッシュ プログラミング コードは、プログラムされているフラッシュ ブロックと同じフラッシュ ブロック内に存在してはなりません。 同じフラッシュ ブロックをプログラムする必要がある場合は、実行コードが SRAM に配置されていることを確認してください。 この例では、C40_Ip API は SRAM に配置されています。 参考までに、 https://community.nxp.com/t5/S32K-Knowledge-Base/S32K312-C40-Ip-SRAM-RTD-500-DS35/ta-p/2074245を参照してください。 DFlashはBlock_2にあり、SPELOCK[2]とSSPELOCK[2]によってロックされています。 よろしくお願いいたします。 ダニエル Re: FLash driver implementation for write operation in S32K311 こんにちは、皆さん S32K311 (48 ピン) の PFlash/DFlash プログラミングで行き詰まっています。書き込み関数の最後にブレークポイントを配置すると、 P-Flash をプログラムできるようになりましたが、そのブレークポイントを保持しないと、CPU が逆アセンブリにジャンプし、RWE フラグが 1 に設定されます。 また、 D-Flash のロックを解除できません(すべてのロック解除の試行が無視されるようです)。お知らせ下さい。 私が観察したのは次の通りです: PFlash 書き込みシーケンスは、書き込み関数にブレークポイントを設定している場合にのみ完了します。そのブレークポイントを削除すると、CPU は書き込み要求の直後に逆アセンブリに移行します (割り込み/フェッチ障害のように見えます)。 次のロック解除シーケンスを書き込んだにもかかわらず、D-Flash はロックされたままです。 PFLASH.PFCBLKU_SPELOCK[0].R = 0x00000000U; /* UTESTブロックロックをクリアする(試行済み)*/ /* モジュールロックをクリアする */ FLASH.SPELOCK.R = 0x00000000U; FLASH.SSPELOCK.R = 0x00000000U; /* プラットフォームレベルのブロックロック解除 */ PFLASH.PFCBLK_SPELOCK[0].R = 0x00000000U; PFLASH.PFCBLK_SSPELOCK[0].R = 0x00000000U; 参考までにコードも添付しました。 Re: FLash driver implementation for write operation in S32K311 こんにちは@emb-enockal さん、 問題の説明を詳しく説明していただけますか? エラーフラグは表示されますか? 簡単にするために、ブロッキング方法から始めることをお勧めします。 danielmartynek_0-1762959571607.png danielmartynek_1-1762959967169.png DATA レジスタはクワッドページに揃える必要があります。 プログラム中のブロックからコードを実行することはできません。 よろしくお願いいたします。 ダニエル Any support, information, and technology (“Materials”) provided by NXP are provided AS IS, without any warranty express or implied, and NXP disclaims all direct and indirect liability and damages in connection with the Material to the maximum extent permitted by the applicable law. NXP accepts no liability for any assistance with applications or product design. Materials may only be used in connection with NXP products. Any feedback provided to NXP regarding the Materials may be used by NXP without restriction.
View full article
Yocto 在使用 populate_sdk 和 devtool 以及 tee.bin 时出现错误 您好, 我已经为 i.MX8M PLUS 处理器板安装了 Yocto 发行版。 能够编译我自己的程序,创建我使用的工具链: bitbake core-image-minimal -c populate_sdk 然后,我想更改 linux 映像(DTS 定义),因此安装了 devtool: devtool modify virtual/kernel 因此,我在进行更改后创建了 linux 映像: devtool 版本 linux-imx 这行得通,但是如果我现在想在 Yocto 上安装新配方,我会再做一遍: bitbake core-image-minimal -c populate_sdk 现在我遇到了一个与 tee.bin 有关的错误: 错误:imx-启动-1.0-r0 do_compile:执行错误("/HOME/YO/Atenea/yocto/ibr215-yocto5.0-电路板支持包-20241101/ibr215/tmp/work/imx8mpevk-参考发行版、系统开发套件。-linux/imx-启动/1.0/temp/run.do_compile.4739 ",1,无,无) 错误:失败日志文件存储在:/HOME/YO/Atenea/yocto/ibr215-电路板支持包-20241101/ibr215/tmp/work/imx8mpevk-参考发行版、系统开发套件。-linux/imx-启动/1.0/temp/log.do_compile.4739 日志数据如下: | 调试:执行 shell 函数 do_compile | cp:无法统计 "/home/yo/Atenea/Yocto/IBR215-yocto5.0-电路板支持包-20241101/ibr215/workspace/deploy/images/tee.bin":没有这样的文件或目录 我做错了什么? 此致
View full article
非 XIP 通过 JTAG RT1176 根据这份应用笔记:https://www.nxp.com/docs/en/application-note/AN14069.pdf,非 XIP 图像只能通过 UART 和 USB 通过 MCU Boot Utility 加载。 我想确认在 MCUXpresso IDE 中是否无法通过 MCU Link 或 Jlink 将 XIP 映像加载到闪存中? 如果必须使用 MCU Link,我想确认这些是正确的 UART 引脚。我在数据表上看不到通过 USB 启动的选项:https://www.nxp.com/docs/en/data-sheet/IMXRT1170AEC.pdf(如果我错过了,请原谅)。我在网上看过几件事提到通过 USB 启动只是将 USB 连接到相同的 UART 引脚吗? AnteoJ_1-1753239974271.png 谢谢! 安特奥 Re: NON XIP via JTAG RT1176 你好@AnteoJ、 感谢您对 NXP MIMXRT 系列的关注! 非XIP映像,例如从SD卡启动的镜像,需要使用McubootUtility或恩智浦的官方MCUXpresso安全配置工具进行刷新。 如果映像是 XIP,则可通过 JLink/DAP 等调试器将其编程为闪存。这在 MCUXpressoIDE 或其他集成开发环境中都很容易实现。 如果您使用的是 RT1170-EVK/EVKB,您会发现电路上有一个 MCU-Link,它是一个板调试器,可以方便客户在不使用外部调试器的情况下直接通过板调试器刷新程序和进行调试。此外,通过对不同固件进行编程,MCU-Link 可更改为 JLink 或 CMSIS-DAP 调试器。 详情请查看 EVK/EVKB 硬件原理图。 致以最诚挚的问候, Gavin
View full article
S32Gがシリアルポート経由でプログラムできない問題 S32G3 こんにちは。質問のとおり、私は S32G399A チップを再び使用しています。通常の起動後、シリアルポートを接続し、Flash Tools ツールを使用して書き込みます。エラー報告インターフェースは以下のとおりで、電流は約 30mA (12V 電源) 低下する可能性があります。原因を特定し、どの方向を調査すべきかを判断するのにご協力いただけますか。ありがとう。 LONGGANGSU_0-1753251671159.png Re: The issue of S32G failing to be programmed through the serial port この問題は解決しました。ご返信ありがとうございます。 Re: The issue of S32G failing to be programmed through the serial port こんにちは。更新された情報に基づくと、問題は時計の設計に関連している可能性があります。 現在、S32 フラッシュ ツールでは S32G3 カスタム ボード + オシレーターはサポートされておらず、状況をサポートする現在利用可能なバイナリ ファイルも確認されていません。 ご不便をおかけして申し訳ございません。 BR チェイン Re: The issue of S32G failing to be programmed through the serial port こんにちは、 1. 現在、S32G-VNP-RDB3 をベースに独自のマザーボードを設計しています。 2. フラッシュ ツール: バージョン: 2.3.2 (下の画像の通り)。 LONGGANGSU_0-1753267499379.png 3. 私のマザーボードのフラッシュ モデルは MX25UW51245GXDQ00 です。 私が経験している問題は時計の問題によって発生しているのでしょうか? 私のクロックは現在シングルエンドクロックを使用しています。回路図の一部を以下に示します。 LONGGANGSU_1-1753267647526.png その後、今日の午後、BOOTMOD[1:0]を1:0に変更したところ、SRAMへの書き込みは可能になり、シリアルポートからも「hello world」と出力できるようになりましたが、Flashへの書き込みはまだできませんでした。原因の解析をお願いできますか?ありがとうございます。 Re: The issue of S32G failing to be programmed through the serial port こんにちは、 @LONGGANGSU ご投稿ありがとうございます。 S32G ボードの QSPI をフラッシュする意思があると理解しています。 1. カスタムボードを使用しているかどうか教えていただけますか?あるいはNXPのRDB3/EVB3でしょうか? 2. 使用されているフラッシュツールのバージョンは? 3. カスタム ボードの場合、QSPI の部品番号は何ですか。それはフラッシュ ツールで選択したものと同じですか。 BR チェイン
View full article
S32K148 FlexCAN1 中断转到 DefaultISR,尽管矢量表注册正确 - FreeRTOS 矢量表设置: 启动过程中通过 startup_S32K148.S 将向量表从闪存复制到 RAM __VECTOR_RAM 正确设置为 0x1FFF8000 S32_SCB->VTOR 正确指向 RAM 向量表 Assertion e_assert_void((uint32_t)__VECTOR_RAM == S32_SCB->VTOR) 通过 中断注册: 使用 intc_register_handler(CAN1_ORed_0_15_MB_IRQn,CAN1_ORed_0_15_MB_IRQHandler,NULL) 处理程序地址被正确写入__VECTOR_RAM[104](IRQ 88 + 16 = 向量 104) intc_set_priority(CAN1_ORed_0_15_MB_IRQn、17) 将优先级设为 17 intc_enable_irq(CAN1_ORed_0_15_MB_IRQn) 在 NVIC 中启用中断。 FlexCAN1 配置: 邮箱数量:已配置 32 个邮箱(FEATURE_CAN1_MAX_MB_NUM = 32U) 活动邮箱:IMASK1 寄存器显示值 0x00000600 中断分组:使用 CAN1_ORed_0_15_MB_IRQn,它应处理邮箱 0-15 FreeRTOS 配置: configMAX_SYSCALL_INTERRUPT_PRIORITY = 16 configPRIO_BITS = 4 使用基于 BASEPRI 的中断屏蔽 NVIC 优先级分组设为 0:S32_SCB->AIRCR = 0x05FA0000 | (0)<< 😎 我验证了什么? 向量表完整性:调试器确认 __VECTOR_RAM[104] 包含正确的处理程序地址 NVIC 配置:NVIC->ISER[2]& (1<< 24) 显示 IRQ 88 已启用 优先级设置:NVIC->IP[88] = 17 确认优先级已设置 中断发生:FlexCAN1 硬件正在生成中断 (IFLAG1 = 0xF0000200) 处理程序功能:CAN1_ORed_0_15_MB_IRQHandler 存在并已正确链接 调查结果: 当 CAN 中断触发时,执行会转到 DefaultISR,而不是已注册的处理程序 没有发生硬故障或其他异常 尝试了多种不同方法(直接向量操作、优先级调整等) 无论中断优先级高低,问题始终存在(已测试 5、17、20)。 Re: S32K148 FlexCAN1 Interrupts Going to DefaultISR Despite Proper Vector Table Registration - FreeR 您好, 矢量表必须自然对齐到对齐值大于或等于(支持的例外数 x 4)的 2 的幂次。 对于包含 170-180 个向量的矢量表,2 的下一个次方为 256,将其从字转换为字节会得到 1024 字节对齐后的字节对齐方式为 1024。 BR, Petr Re: S32K148 FlexCAN1 Interrupts Going to DefaultISR Despite Proper Vector Table Registration - FreeR 当我在链接文件中注释了这一行后,它就能正常工作了 /* SRAM_L */ /* m_session (RW) :ORIGIN = 0x1FFE0000, LENGTH = 0x00000080 */ m_data (RW) :ORIGIN = 0x1FFE0080, LENGTH = 0x0001FF80 尽管我在调试模式下检查了 VTOR,它指向了 0x1FFE0080,我想它应该能工作,但它没有,你知道它为什么不能工作吗 谢谢你 Re: S32K148 FlexCAN1 Interrupts Going to DefaultISR Despite Proper Vector Table Registration - FreeR 您好, 如果您不能共享简化项目,那么请说明您使用的 S32DS 和驱动程序版本(无、SDK、RTD),以便我尝试复制行为。 BR, Petr Re: S32K148 FlexCAN1 Interrupts Going to DefaultISR Despite Proper Vector Table Registration - FreeR 在我的案例中,FIFO 实际上不使用中断(它会轮询),但对于普通邮箱,我想使用中断。 谢谢 Re: S32K148 FlexCAN1 Interrupts Going to DefaultISR Despite Proper Vector Table Registration - FreeR 您好, RXFIFO 中断也会调用 CAN1_ORed_0_15_MB_IRQn,因此如果这对 RXFIFO 的报文有效,那么对其他常规 MB 也应该有效。 BR, Petr Re: S32K148 FlexCAN1 Interrupts Going to DefaultISR Despite Proper Vector Table Registration - FreeR 我想补充的一点是,我还启用了 fifo 功能,因为我正试图为 UDS 和普通 MBs CAN(带中断的应用报文)启用 fifo CAN,在我目前的实现中,UDS 正常工作(fifo),但应用报文无论接收到什么,都会触发默认处理程序,即使所有寄存器都正确无误,这会有影响吗? Re: S32K148 FlexCAN1 Interrupts Going to DefaultISR Despite Proper Vector Table Registration - FreeR 您好, 我猜是 SCB->VTOR 或向量表偏移量 0x1A0 没有预期值。但你已经检查过了。 能否分享显示问题的简化项目? BR, Petr Re: S32K148 FlexCAN1 Interrupts Going to DefaultISR Despite Proper Vector Table Registration - FreeR 我添加了这段代码,当我向微控制器发送信息时,它将进入该函数,"g_active_vector" 的值为"104" void defaultisR (void) { /* 从 SCB-> ICSR 寄存器中捕获活动向量数 */ g_active_vector = (S32_SCB-> ICSR & S32_SCB_ICSR_VECTACTIVE_MASK) > > S32_SCB_ICSR_VECTACTIVE_SHIFT;而 (1) {__asm (" nop ");}} 我还检查了 SCB 和 NVIC 寄存器,当程序跳转到默认 isr 时: SCB->ICSR -> 0x0440F868 对于 NVIC 寄存器 ISER、ICER,你可以看到捕获附件,对于 IP,除了 NVICIP88 NVICIP89 之外,它们都设置为 0x00,它们都等于 0x50 elb1_0-1753773975254.png Re: S32K148 FlexCAN1 Interrupts Going to DefaultISR Despite Proper Vector Table Registration - FreeR 您好, 矢量表和中断配置似乎都是正确的。 您是否还使用了其他中断,如 PIT 中断,并且这些中断都能正常命中? 你可以尝试修改 defaultISR 来捕获活动矢量数。SCB->ICSR 提供当前活动的中断编号(VECTACTIVE 字段) 无效 DefaultISR(void) { uint32_t 活动向量 = (SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk) >> SCB_ICSR_VECTACTIVE_Pos; 当 (1); // 在此断点检查 "active_vector } 或者在 DefaultISR 中设置断点,在运行时检查 SCB->ICSR、NVIC 寄存器(ISER、ICER、IPR 等)和向量表内容。 此外,你不能临时为每个 IRQ 分配唯一的虚拟处理程序来查看触发信号了哪一个。 BR, Petr
View full article
Corruption on HSE Status Register Images below for reference abdul_rahiman_csg_0-1753449874831.png abdul_rahiman_csg_1-1753449924290.png abdul_rahiman_csg_2-1753449953207.png abdul_rahiman_csg_3-1753449971206.png abdul_rahiman_csg_4-1753449998730.png using S32K312 and facing issues with the HSE firmware: 1.The HSE status register value appears corrupted (0x4038C107). 2.Unable to access HSE APIs due to this status corruption. 3.Attempts to erase or reflash the HSE firmware have failed. 4.Writing to MU0_TR1 register or memory to trigger erase/reset commands does not work. 5.Observed multiple software resets during a single external reset when debugger is connected. Request: 1.Could you please provide the correct procedure to erase and reflash the HSE firmware on the S32K312? 2.If reflashing the HSE firmware is not possible due to the current corrupted state, what steps can be taken to recover the HSE or resolve the status register corruption? 3.Any known issues or workarounds for the multiple resets observed during hard reset with debugger attached? 4.How can I resolve the corrupted HSE status register issue and regain access to the HSE APIs? Procedure followed during HSE firmware flashing: step 1: flashed the provided PINK file without IVT along with the demo application and the secure boot application ELF files. step2: Reset done Step3: Observed "??" marks at HSE locations 0x005d4000 and DCM registers Step4: We reflashed our bootloader at address 0x00400000 and the application at address 0x00442000 Step5: When performing a hard reset with the debugger connected, we observed multiple resets triggered from the software side, despite issuing only a single external reset command
View full article
[RW612] 安定性の問題を分析する方法 バックグラウンド: 事前評価には RW612 EVK (freeRTOS 付き) を使用しています。 そして、Wi-Fi-BT COEX がうまく機能するように努めています。このプロセス中に、安定性の問題が発生しましたが、さらにデバッグする方法がわかりません。 RW612 プラットフォームの NXP ドキュメントを検索しましたが、安定性の問題の分析方法を説明するドキュメントやトレーニングは見つかりませんでした。 rw612 プラットフォームで安定性の問題を分析する方法について情報を共有していただけますか? ちなみに、私はSDK 1.2.3 SDK_25_06_00_FRDM-RW612を使用しています。 よろしくお願いします。 Re: [RW612] How to analyze Stability Issue こんにちは、アレックス。 ベースとして使用している SDK の例を指定していただけますか? 例に何か変更を加えましたか?この「安定性の問題」をどのようにテストしていますか? このアプリケーションノートを確認することをお勧めします: RW61x評価ボードのNXP Wi-FiおよびBluetoothデバッグ機能の設定 よろしくお願いいたします。 リカルド Re: [RW612] How to analyze Stability Issue こんにちは、リカルドさん。 情報をありがとうございました!はい、以前、Wi-Fi と BT の COEX の CASE について、これら 2 つのドキュメントを確認しました。 さらに、 SDK_25_06_00_FRDM-RW612をベースに開発中に、 EVKボードがクラッシュし、以下のようなログが出力されるという安定性の問題が発生しました。 呼び出しソケットタスク初期化 呼び出しソケットタスク初期化 新しいソケットを作成しています。 socket_task_init ソケットスレッドが作成されました しながら行う tcp_connect_thread wifi tcp 接続中... tcp_connect_thread wifi tcp 接続中... IPv4 [2025-08-26 21:43:05.933]#ASCII を受信> しながら行う [2025-08-26 21:43:06.922]#ASCII を受信> しながら行う [2025-08-26 21:43:07.922]#ASCII を受信> しながら行う [2025-08-26 21:43:08.930]#ASCII を受信> しながら行う [2025-08-26 21:43:09.931]#ASCII を受信> しながら行う [2025-08-26 21:43:10.261]#ASCII を受信> として そして、最後の「AS」プリントはアサートであるべきだと思いますが、SDKs / ユーザー マニュアルのドキュメントから、この問題の根本原因をさらに突き止めるのに役立つ方法を取得できませんでした。 SO、この安定性の問題をデバッグする簡単な方法を見つけるのに役立つガイドを共有していただけますか? よろしくお願いいたします。 アレックス Re: [RW612] How to analyze Stability Issue こんにちは、 あなたの調子が良いといいのですが。SDK の共存例を使用していますか? このアプリケーションノート「RW61xの共存の概要」を確認することをお勧めします。 また、このユーザーマニュアルのセクション8 「RW61x用NXP Wi-FiおよびBluetoothデモアプリケーション」もご確認ください。 これが役に立つことを祈ります! よろしくお願いいたします。 リカルド
View full article
S32K310 / S32K311 ADC 复用器 我正试图使用 RTD5.0.0(较新的 RTD6.0.0 也有同样的问题)为 S32K310 配置 ADC MUX 模式。 最新的技术参考手册修订版11包含了第38.1节表232中的一些信息。说明 S32K311(可能还有 S32K310)变体的哪些额外 ADC 通道需要 MUX 配置。例如 DavidHodgson_0-1756480129127.png 不过,解释哪个寄存器位设置对应哪个 GPIO 引脚的 2 个部分并不用于这些额外配置: 第 38.2.51 节功能 RESET 4 时读写 GPR (DCMRWF4),0/7/8/11/12/28 位的寄存器字段被标记为保留 第 60.1.7 节表 345 还忽略了 DCMRWF4 GPR_bits 0、7、8、11、12 和 28 的配置。仅说明 1、2、3、4、5、6、9 和 10 位的配置情况 我相信问题与之前的帖子是一样的: 已解决:S32K311_S32K310 ADC 复用模式通道异常 - NXP Community 已解决:在错误的引脚上触发信号 ADC-恩智浦社区 但解决方案就在S32K311_ADC_Mux_Control.xlsx文件中,而该文件并不可用。 基本上,我只需要知道下面标记为问号的寄存器 DCMRWF4 的位设置: 位0 mux_mode_en_adc1_s18 ?:GPIO_70 ?GPIO_6 位1 mux_mode_en_adc0_s8 0: gpio_0 1: gpio_45 位2 mux_mode_en_adc0_s9 0: gpio_1 1: gpio_46 位3 mux_mode_en_adc1_s14 0: GPIO_69 1:GPIO_32 位4 mux_mode_en_adc1_s15 0: gpio_4 1: gpio_33 位7 mux_mode_en_adc0_s12 ?:GPIO_72 ?GPIO_78 位8 mux_mode_en_adc0_s13 ?:GPIO_73 ?GPIO_79 位11 mux_mode_en_adc0_s14 ?:GPIO_32 ?GPIO_80 位12 mux_mode_en_adc0_s17 ?:GPIO_75 ?GPIO_44 位28 mux_mode_en_adc0_p2 ?:GPIO_8 ?GPIO_10 感谢您的帮助 戴维 Re: S32K310 / S32K311 ADC mux 你好,戴维、 很抱歉给您带来不便! 我将向您发送 S32K311_ADC_Mux_Control.xlsx. 我从内部渠道了解到,这个问题有望在 S32K3 RTD 7.0.0 中得到修复。至于 S32K3XXRM 的内容问题,我已提醒文档团队进行修复。 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题并参考已关闭的主题。 -------------------------------------------------------------------------------
View full article
MCU 无法从 VLPS 模式唤醒 您好 ,我们正在为恩智浦的 MCU SW - S32K146 开发电源管理器。电源管理器使用以下三种状态。 运行模式 VPLR 模式 VPLS 模式 此外,还使用了以下时钟源选项。 FIRC SIRC 在启动期间,我们的时钟源为FIRC,电源模式为运行模式。之后,我们将配置 SPLL。在此期间,MCU 电源模式仍为运行模式。在运行模式之后,当 MCU 需要进入 VLPR -> VLPS 模式时,我们要执行以下步骤: 取消初始化: 看门狗 CAN(在这一步中,我们实现了一个封装函数,用于安全地注销 CAN 通道。该函数首先检查所请求的 CAN 实例是否在有效范围内,以及是否已在配置中启用。如果有效,它会调用恩智浦的 Flexcan_DRV_deinit () API 来正确关闭 CAN 硬件并版本资源。) GPIO 引脚(在实施的这一阶段,我们使用 PINS_DRV_Init()函数和睡眠配置数组对所有 MCU 引脚进行了低功耗配置。这可确保将未使用的引脚设置为安全状态(输入具有上拉/下拉功能)以最大限度地减少漏电流,同时具有唤醒功能的引脚保持活动状态,用于基于中断从 VLPR/VLPS 模式中唤醒。) CAN_STD 和 CAN_EN 引脚设置为低电平。 安装并启用两个中断处理程序。(PORTE(PTE4 引脚)和 PORTA)。此外,两个 uint8_t 标志被设置为 true(默认设置为 0)(当我们进入 VPLS 模式时,一个 LMPTR 定时器也会启用,因此基本上有三个中断工作)。 然后,我们将MCU电源模式设置为VLPR,然后立即设置为VLPS模式。 正常运行: 在 VLPS 模式下,PORTE 上接收到监测引脚的中断,标志值为 true,首先禁用 IRQ,然后对 MCU 进行软复位,RESET MCU,操作从启动开始恢复正常。 我们遇到了以下问题,因此希望得到您的支持,以了解我们是否做错了什么。 问题:有时,MCU 会随机陷入一种状态,只有通过关闭电源和机才能 RESET。 我们的假设在 MCU 卡死的上述状态中,我们假设可能会发生以下情况。 中断处理程序回调函数中使用的标志是非易失性的。虽然在安装中断处理程序时将标志设置为 true,但我们怀疑没有正确读取当前标志值(易失、非易失问题)。 如果 MCU 在从 RUN 进入 VLPR->VLPS 模式期间收到中断信号,则 MCU 可能会进入停止状态。 Re: MCU not wakeup up from VLPS mode 嗨,@Sami2098、 目前,MCU 已不再处于这种状态。但是,如果这个问题再次发生,那么当MCU运行发行版本时,我应该如何获取寄存器值转储。 如果碰巧再次进入这种状态,可以尝试通过调试器中的"Attach to running target" 配置连接 MCU。例如,使用 S32DS"Registers" 查看和导出。或使用 TRACE32 将值导出为 CSV:调试 - 如何从 TRACE32 导出变量值 - Stack Overflow。 由于我们没有使用 "退出时休眠 "功能,我们是否需要"在进入 VLPS" 之前,我们是否需要使用 DSB + ISB 指令来确保适当的同步? 如果需要,那么以这种方式调用函数是否正确? 这只是两个建议,因为以前也出现过类似的问题,客户使用的是退出时休眠功能。我想确认配置是否相同。 DSB + ISB 在您的实施中看起来很好。这主要是为了确保在继续进行 VLPS 之前完成任何正在进行的数据处理。 调用INT_SYS_ClearPending()看起来也不错,这将在进入低功耗前检查是否有挂起的中断。 这是一个非常奇怪的问题,因为它很难重现。 致以最诚挚的问候, Julián Re: MCU not wakeup up from VLPS mode 您好@Julián_AragónM, 感谢您一直以来的支持。请在下面找到您问题的答案。 至于处于停机状态的设备... 你能测量电流消耗吗? 遗憾的是,在问题发生之前,我们没有连接电流表,而且由于问题很少发生,使用电流表需要中断蓄电池连接,从而导致 POR。 设备在 VLPS 上还是永远不会进入低功耗? 目前我们还不能确定。目的是让设备进入VLPS。不过,它也有可能陷入某种未知状态。 您能分享这个州的登记转储情况吗? 目前,MCU 已不再处于这种状态。但是,如果这个问题再次发生,那么当MCU运行发行版本时,我应该如何获取寄存器值转储。 此外,您是否配置了退出时休眠功能? 没有,目前我们没有使用退出时休眠功能。 /* ISR 退出时不重新进入(深度)睡眠状态 */ S32_SCB->SCR&= ~(S32_SCB_SCR_SLEEPONEXIT_MASK); 关于您的建议,我有几个问题。 由于我们没有使用 Sleep on Exit 功能,我们是否需要"使用 DSB + ISB 指令,以确保在进入 VLPS" 之前适当同步? /* Cpu 将进入深度睡眠状态 */ asm( ISB ); STANDBY(); // where STADBY() - #define STANDBY() __asm volatile ( wfi ) __asm("DSB"); __"" >"" 我们正在研究应用层。那么,在将电源模式切换到 VLPS 之前,我需要调用以下函数吗? void int_sys_clearPending (irqn_Type IRQNumber);//<-在切换到 VLPS 之前调用这个函数? power_sys_setMode(POWER_MANAGER_VLPS、POWER_MANAGER_POLICY_FORCIBLE);谢谢,最诚挚的问候, Re: MCU not wakeup up from VLPS mode 嗨,@Sami2098、 是的,进入 VLPS 时,会请求非 CPU 总线主站进入停止模式: Snag_a5879e3.png 您必须注意 VLPS 模式的 DMA 配置。这与 ERR011063 有关: Snag_a91d106.png 但是,如果禁用 DMA 时仍出现此问题,那么问题可能与此没有直接关系。 如果在 VLPS 中或之后不需要 DMA,则 EDMA_DRV_Deinit() 函数是正确的方法。 至于处于停机状态的设备... 你能测量电流消耗吗?设备在 VLPS 上还是永远不会进入低功耗?您能分享这个州的登记转储情况吗? 此外,您是否配置了退出时休眠功能?曾经报告过这样一个问题:当 MCU 尝试处理 ISR 并通过退出时休眠返回 VLPS 时,会卡死在停止状态。解决方法是设置数据同步障碍,以确保在继续之前完成任何数据操作。 我的建议是在进入 VLPS 之前确保没有待处理的中断(我认为一个简单的如果 ((NVIC->ISPR[0]& NVIC->ISER[0]) == 0) 检查就足够了),并使用 DSB + ISB 指令确保在再次进入 VLPS 之前正确同步。 致以最诚挚的问候, Julián Re: MCU not wakeup up from VLPS mode @Julián_AragónM 我们目前使用 3 个 DMA 通道:0、1 和 3。 0 映射到 Flex I/O UART。 1 映射到 LPUART 0 RX 3 映射到 LPUART 1 RX 当我们进入 VLPS 时,发现只有 DMA 0 启用。我们使用 for (int ch = 0; ch< 16; ch++) { // S32K146 有 16 个通道 if (DMA->ERQ& (1<< ch)) { printf("DMA 通道%d is ENABLED\r\n", ch); } } 此 for 循环仅用于调试版本,不用于发行版。我们没有明确禁用 DMA 1 和 3,但观察到它们可能仍被驱动程序函数static void LPUART_DRV_StopRxDma(uint32_t instance) 禁用。 我们尝试在进入 VLPS 之前使用 status_t EDMA_DRV_Deinit(void)明确禁用 DMA 通道。 我们的目的是确保在进入 VLPS 状态之前停止 DMA 传输。我们的方法是否正确? 但这一声明与我们目前面临的 MCU 停机问题无关。我们观察到,无论是否采取上述步骤,我们都得到了停止状态。我只想问,在进入 VLPS 之前,是否需要明确调用 status_t EDMA_DRV_Deinit(void)。 Re: MCU not wakeup up from VLPS mode 你好@Julián_AragónM 今天测试时,我们再次卡在 MCU 停止状态。过去三周以来,一切运行正常。我们完全绕过了 VLPR 状态。现在我们直接从 Run 到 VLPS(中间没有 VLPR)。我们还从时钟频率证实了这一点,总线时钟为4Mhz,系统时钟为8Mhz。我们还确认,在使用 VLPS 之前,时钟源是 SIRC,所有其他时钟源都已禁用。 在 MCU 停止状态下,我们连接了 JTag,并能使用 RTT 查看器进行连接。以下是 RTT 查看器在 MCU 停止状态下的截图。 RTTViewerInMCUHalt.png   没有什么能让 MCU 活起来。我们唯一能确定的办法就是断电。我们的 MCU 目前处于这种状态,如果您希望我们在这种状态下进行尝试,我们将等待您的回复。这是因为这个问题很难重现,而且我们也不知道什么时候会再次发生。等待您的回复。 Re: MCU not wakeup up from VLPS mode 嗨,@Sami2098、 是的,如果不用作唤醒中断,则应禁用 LPTRM IRQ 和时钟源。 这样可以减少不必要的电流,避免在离开 VLPS 时发生不必要的 ISR。 致以最诚挚的问候, Julián Re: MCU not wakeup up from VLPS mode 您好, ,感谢您的支持。你说得对。在我们的项目中,我们并不需要过渡到 VLPR,因此绕过了它。根据您的意见,我们想进一步询问是否有必要同时对 LPTMR IRQ 进行去初始化。LPTMR 中断每 1 毫秒触发一次,基本上是在运行整个 MCU 代码。当 MCU 转换到 VLPS 状态时,我们将不再使用该 LPTMR 中断。相反,我们使用 GPIO 引脚作为唤醒源。因此,在 VLPS 模式下,我们实际上并不需要 LPTMR IRQ。 那么,由于 LPTMR IRQ 是使用时钟源的外设,我们是否也应该对其进行去初始化? Re: MCU not wakeup up from VLPS mode 嗨,@Sami2098、 除非您在 MCU 停止运行后尝试连接,否则我真的无法找出这个问题的根本原因。 项目是否需要 VLPR? 它可以从 RUN 直接转到 VLPS。这也会降低ERR011063 的风险。 有关模式过渡的信息,请参阅 AN5425 中的第 5.6 章:S32K1xx 的电源管理单元。但你的程序似乎是正确的;首先禁用使用时钟源的外设,将系统时钟切换到 SIRC,然后禁用所有其他时钟源。 致以最诚挚的问候, Julián Re: MCU not wakeup up from VLPS mode 您好, 不确定,但我也遇到了同样的问题。 我希望你是在唤醒 ISR 中禁用了 VLPS? ,如果是这样,你可以在退出时禁用低功耗/休眠/唤醒之前,尝试挂起任何未使用的中断或你想唤醒的 ISR 中的相同中断。 Re: MCU not wakeup up from VLPS mode 同时,我们还使用 NXP API 检查了时钟频率: uint32_t sysClk = 0; uint32_t busClk = 0; /* 获取系统时钟频率 */ CLOCK_SYS_GetFreq(CORE_CLOCK,&sysClk); /* 获取总线时钟频率 */ cloc k_sys_getFreq (BUS_CLOCK,& busCLK); 我们在运行模式下收到了以下值:内 核/系统时钟:8 MHz 总线时钟:4 MHz 我们在 VLPR 模式下收到了以下值:内 核/系统时钟:4 MHz 总线时钟:4 MHz 这些值是在调用恩智浦 API 从运行模式转为 VLPR 模式后收到的: POWER_SYS_SetMode(POWER_MANAGER_VLPR,POWER_MANAGER_POLICY_FORCIBLE); Re: MCU not wakeup up from VLPS mode 这种情况很少发生。这发生在两周前,但当时我们只做了 POR。从那以后,我们再也无法重现这个问题。 我目前正在使用恩智浦SDK API进行电源模式切换,在这些API中,正在设置SIRC时钟。那么,我是否需要在切换前手动检查时钟频率?我认为应用程序接口已经在处理这个问题了。 我使用的应用程序接口是 status_t POWER_SYS_SetMode(uint8_t powerModeIndex、 power_manager_policy_t policy); 我是这样说的: POWER_SYS_SetMode(POWER_MANAGER_VLPR, POWER_MANAGER_POLICY_FORCIBLE); POWER_SYS_SetMode(POWER_MANAGER_VLPS, POWER_MANAGER_POLICY_FORCIBLE); 问题 我们能找到问题的根源吗? 目前,我们会在进入 VLPR 之前去初始化看门狗。是否可以在 VLPR 之后但在进入 VLPS 模式之前对其进行去初始化? 是否有任何演示应用程序可用于手动配置 VCCR? Re: MCU not wakeup up from VLPS mode 你好@Sami2098 RUN->VLPR->VLPS 的步骤似乎是正确的。板进入 "halt" 状态后你能连接到它吗?(通过使用"Attach to target" 选项)。 这个问题可能是由时钟配置引起的。ERR011063(摘自S32K146_0N73V😞😞 Snag_622231.png 这只适用于 从 VLPR 模式 进入 VLPS 模式 的例程 ,而您的情况正是如此。请尝试更改 VCCR 配置。 致以最诚挚的问候, Julián Re: MCU not wakeup up from VLPS mode 您好, 在 VLPS 模式下,我们将按以下方式初始化用于中断的 GPIO 引脚。 1.[PINS_DRV_ClearPortIntFlagCmd(PORTE); INT_SYS_InstallHandler(PORTE_IRQn, IF_PORTE_IRQHandler, NULL); INT_SYS_EnableIRQ(PORTE_IRQn);   那么我们只需调用下面的接口函数即可跳转到 VLPS 模式。 POWER_SYS_SetMode(POWER_MANAGER_VLPS, POWER_MANAGER_POLICY_FORCIBLE);]。   这种做法正确吗?还是应该遵循以下程序? 2.[PINS_DRV_ClearPortIntFlagCmd(PORTE); INT_SYS_InstallHandler(PORTE_IRQn, IF_PORTE_IRQHandler, NULL); INT_SYS_EnableIRQ(PORTE_IRQn); 然后清除 INT_SYS_ClearPending(PORTE_IRQn); ->??? 那么我们只需调用下面的接口函数即可跳转到 VLPS 模式。 POWER_SYS_SetMode(POWER_MANAGER_VLPS, POWER_MANAGER_POLICY_FORCIBLE);]。   还是下面这些? 3.[ // 准备期间禁用中断 INT_SYS_DisableIRQ(PORTE_IRQn); // 清除硬件标志 PORTE->ISFR = 0xFFFFFFFF; // 清除 NVIC 挂起 INT_SYS_ClearPending(PORTE_IRQn); // 现在启用中断 INT_SYS_EnableIRQ(PORTE_IRQn); // 再次清除,以避免任何运行时事件 PORTE->ISFR = 0xFFFFFFFF; INT_SYS_ClearPending(PORTE_IRQn); // 进入 VLPS POWER_SYS_SetMode(POWER_MANAGER_VLPS, POWER_MANAGER_POLICY_FORCIBLE); ]   哪种方法最合理?   MCU 还能因为第二种方法而进入某种停止状态吗?有风险吗?   非常感谢你们一直以来的支持。   此致,
View full article
S32 汽车平台:先进控制系统的性能 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 燃烧和发动机控制正在转向计算密集型技术。了解 S32 汽车平台如何利用 Arm ® NEON 和数学加速来支持这一趋势。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 燃烧和发动机控制正在转向计算密集型技术。了解 S32 汽车平台如何利用 Arm ® NEON 和数学加速来支持这一趋势。
View full article
電動化—高電圧バッテリ管理システム用MC3377xバッテリセルコントローラ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> HV BMS用MC33771x ICの製品トレーニング1-短いBMS市場紹介(含む。主要なプレーヤー、要件、競合他社);2- NXP BMSロードマップと主要製品(BCC14、BCC6、TPL)の紹介差別化と価値提案を含む3つの主要なBMSアプリケーション(14V、48V、HVデイジーチェーン、HV CAN、ワイヤレス)。4-市場、アプリケーション、リファレンスデザイン、および製品の見通し。5- 機能安全の側面 - システム安全の目標と機能安全の実装方法。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> HV BMS用MC33771x ICの製品トレーニング1-短いBMS市場紹介(含む。主要なプレーヤー、要件、競合他社);2- NXP BMSロードマップと主要製品(BCC14、BCC6、TPL)の紹介差別化と価値提案を含む3つの主要なBMSアプリケーション(14V、48V、HVデイジーチェーン、HV CAN、ワイヤレス)。4-市場、アプリケーション、リファレンスデザイン、および製品の見通し。5- 機能安全の側面 - システム安全の目標と機能安全の実装方法。
View full article
スマートhome_infographic.pdfのためのNFC <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 今日、モバイルネットワーク事業者は、自分だけのスマートホームキットを簡単に手に入れることができます。多くの場合、複雑さは、それらが動作する標準と同じくらい多様なデバイスの最初のセットアップに伴って発生します。NFCは、このプロセスをタップアンドコネクトと同じくらい簡単にすることを約束します。このインフォグラフィックでは、スマートホームにNFCを装備する5つの理由と、エコシステムへのメリットが紹介されています。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 今日、モバイルネットワーク事業者は、自分だけのスマートホームキットを簡単に手に入れることができます。多くの場合、複雑さは、それらが動作する標準と同じくらい多様なデバイスの最初のセットアップに伴って発生します。NFCは、このプロセスをタップアンドコネクトと同じくらい簡単にすることを約束します。このインフォグラフィックでは、スマートホームにNFCを装備する5つの理由と、エコシステムへのメリットが紹介されています。
View full article
Sensors_Multimarkets_may16.pdf <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
View full article
LS1043 GPIO support in Linux SDK This document introduces how to configure RCW to support GPIO on LS1043 platform, how to configure Linux Kernel to load Linux GPIO driver to access GPIO from SYSFS and using loopback method to do verification on the target board. RCW configuration to support GPIO Configure GPIO driver in Linux Kernel Verify GPIO on the target board QorIQ LS1 Devices Re: LS1043 GPIO support in Linux SDK For all those who - like me - were searching for a list to map the individual pins to the GPIO number.. This is the answer I got from NXP Technical Support (thank you, Fedor!): modified table (refer to the QorIQ LS1043A Reference Manual, Table 2-3. CCSR Block Base Address Map): GPIOs 384-415, /soc/gpio@2330000: GPIO4[0-31] GPIOs 416-447, /soc/gpio@2320000: GPIO3[0-31] GPIOs 448-479, /soc/gpio@2310000: GPIO2[0-31] GPIOs 480-511, /soc/gpio@2300000: GPIO1[0-31] even if not all 32 signals are implemented for each GPIOn set, the math is identical - i.e., for GPIO4_03 it is: 384+3=387
View full article
Let´s start with KSDK! What is it KSDK? = Kinetis Software Development Kit Kinetis SDK v2 is a collection of comprehensive software enablement for NXP Kinetis Microcontrollers that includes: •system startup •peripheral drivers •USB and connectivity stacks •Middleware •Real-time operating system (RTOS) kernels. Documents – Release Note, API Reference Manual, Getting Started with KSDK, for USB – User Guide, USB Composite Device Guide, USB Device Reference Manual and USB Host Reference Manual. All these documents is possible to find at Software Development Kit for Kinetis MCUs|NXP or \SDK_2.0_selected_device\docs KSDK Structure Diagram KSDK Features •ARM® and DSP standard libraries, and CMSIS-compliant device header files which provide direct access to the peripheral registers •Open-source peripheral drivers •Open-source RTOS wrapper driver •Real time operation systems (RTOS) including FreeRTOS OS, μC/OS-II, and μC/OS-III •Stacks and middleware in source or object formats including: − CMSIS-DSP -  a suite of common signal processing functions − FatFs - a FatFile System for small embedded systems − mmCAU - Memory-Mapped Cryptographic Acceleration Unit − SDMMC - software component supporting SD Cards and eMMC − DMA Manager - software component used for managing on-chip DMA channel resources − mbedTLS and WolfSSL - cryptographic SSL/TLS libraries − lwIP and USB Stack - a light-weight TCP/IP stack KSDK Evolution KSDK v1/v2 – what new features KSDK 2.0 brings •MQX Kernel removed from KSDK -> focus on FreeRTOS •MQX RTCS Ethernet and MFS File System Stacks -> lwIP and FatFS •OSA, Power Manager and Clock Manager -> no longer required by the drivers •USB Stack re-write -> BSD licensed solution •No platform library -> single project with all needed files •Mbed TLS now included as part of the accelerated cryptography drivers •Eliminates separate HAL and Peripheral Driver -> single driver for each peripheral •Processor Expert -> Kinetis Expert Tool •Updates for KDS -> via online update tool •Installation of KSDK -> KEX Tool (smaller download & sizes) •KEX Tool -> pin muxing selection & generation, clock configuration, low power estimation Simplified folder structure KSDK highlights & benefits •Collection of software enablement offered by free •KSDK is fully supported in these IDE: − Atollic® TrueSTUDIO® − GNU toolchain for ARM® Cortex® -M with CMake build system − IAR Embedded Workbench − Keil™ MDK-ARM − Kinetis Design Studio IDE •KSDK supports most of Kinetis MCUs •Created examples for drivers, USB, RTOS, demo applications •Start with development without device register knowledge Support & download Official support of KSDK: Kinetis Software Development Kit Create new SR according to: How to submit a new question for NXP Support More about KSDK... KSDK Official Website www.nxp.com/ksdk Introducing Kinetis SDK v2 https://community.freescale.com/docs/DOC-329783 Kinetis SDK 2.0 Transition Guide Kinetis SDK 2.0 Transition Guide KSDK Community https://community.freescale.com/community/kinetis/kinetis-software-development-kit Let´s continue in reading! See Let´s start with FreeMASTER!​
View full article