Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
AMMCLibとASCLibを用いたモーター制御における機能安全 オートモーティブやインダストリアルシステム向けのモータ制御を開発する際、機能安全は、モーターが意図しないトルクや速度を発生させないことを保証するための重要な要件です。 しかし、フィールド指向制御(FOC)のような複雑なアルゴリズムを機能的に安全なコンポーネントとして実装すると、アーキテクチャが著しく複雑化し、開発工数が大幅に増加し、全体的なパフォーマンスが低下します。 この問題を解決するために、NXPはセーフティ分解アプローチを採用しています。これにより、アプリケーションは安全関連以外の部分(QM)と安全関連の部分(ASIL)に分割されます。この枠組みの中で、NXPはASCLIB (オートモーティブ セーフティ チェッカーライブラリ)を提供しています。セーフティ部分向けのすぐに使えるセーフティチェッカーを提供することで、QMモータ制御部分を再設計することなく、高いセーフティ基準への準拠を実現できます。 完璧な組み合わせ:AMMCLIB(QM)+ASCLIB(ASIL) ほとんどの顧客は、コアとなるMC処理に、高度に最適化されたNXP AMMCLIB (自動車用数学およびモーター制御ライブラリ)を利用しています。AMMCLIBは優れたパフォーマンスを発揮するものの、品質管理(QM)レベルのライブラリである。 ISO 26262などの安全規格に準拠するためには、チームはQMレベルのAMMCLIBを中心に独自の安全機構を構築する必要があり、多大な時間と労力がかかった。このプロセスを効率化するため、NXPは標準化された、すぐに実用化可能なソリューションとしてASCLIBを提供しています。包括的な事前検証済み安全チェックツールを提供することで、独自の安全ソフトウェア開発の必要性を大幅に削減し、設計から認証までのサイクルを加速します。 AMMCLIBとASCLIBの連携方法 この概念が実際にどのように適用されるかを説明するために、以下のブロック図は標準的なフィールド指向制御(FOC)システムの例を示しています。このシナリオでは、モーター制御ブロックは既存のQMレベルのAMMCLIBコード上で動作し、ASCLIB安全チェッカーが重要なポイントを監視して安全性を確保します。このアーキテクチャは、 FOC PMSM向けのIEEE低複雑度セーフティコンセプトに基づいています。 このリファレンスアーキテクチャは、ASCLIBを統合する際に、既存のQMモータ制御アーキテクチャに変更を加える必要がないことを示しています。完全なデータ型互換性により、ASCLIBチェッカーはAMMCLIB信号に直接マッピングできるため、シームレスな相互接続が保証されます。 標準的なFOCは一般的な使用例ですが、ASCLIBはそれに限定されるものではありません。モジュール式で独立したブロックのおかげで、このライブラリは、センサーレスFOCやシングルシャント電流測定など、代替トポロジーや高度な技術をサポートしています。 ASCLIBの内部構造:階層型セーフティアーキテクチャ ASCLIBは、階層的にレイヤーとパッケージに整理された、高度に構造化された階層型ソフトウェアモデルを特徴としています。 サービス層(最上位層) 2つの独立したパッケージを通じて、高度な機能を安全アプリケーションに直接公開します。 高レベルチェッカー(HLC):さまざまなモータ制御システム向けにカスタマイズされた、幅広いアプリケーションのセーフティチェッカー。 障害マネージャ(FMG):エラーの同期、構成、およびアプリケーション通知を管理する高度な障害処理コンポーネント。 コア層(基礎層) サービス層で使用される低レベルの構成要素を提供します。これは2つの重要なパッケージで構成されています。 低レベルチェッカー(LLC):基本的な数学的機能と認証機能を提供します。 フォールトデバウンス(FDB):汎用的なフォールトデバウンスアルゴリズムを提供します。 💡 開発者向けヒント:ライブラリ全体は完全にモジュール化され、分離されており、独立しています。アプリケーションに独自のチェッカーが必要な場合は、LLCおよびFDBパッケージ内の既存の低レベルブロックを使用して、独自のカスタムチェッカーを簡単に構築できます。さらに、障害マネジメント(FMG)パッケージは完全にオプションであり、使用を強制されることはなく、代わりに独自のアプリケーションレベルのエラー処理を実装することも可能です。 オートモーティブに限らない 名前に惑わされないでください。ASCLIBは名称に「オートモーティブ」という言葉を含み、 ISO 26262ワークフローをネイティブにサポートし、そのセーフティ原則は普遍的なものです。ASCLIBは、IEC 61508に準拠したインダストリアルシステムに最適です。 既存の開発ワークフローにシームレスに統合できるよう、ASCLIBは2種類の配信オプションを提供しています。 純粋なC言語ソースファイル:ベアメタルまたはRTOSベースの組み込みプロジェクトに直接統合できます。 BAM(ビット精度モデル):モデルベース設計(MBD)用のすぐに使えるブロックで、セーフティアーキテクチャをMATLAB/Simulinkに直接ドラッグ&ドロップしてシミュレーションできます。 開発者にとっての主なメリット AMMCLIBは引き続きQM用です。コアMCには、既存の高度に最適化されたAMMCLIBコードを引き続き使用してください。 モデルベース開発:専用のASCLIB BAMを使用してMATLAB/Simulink内でセーフティ部品全体を構築およびシミュレーションしてからターゲットCコードを生成することで、設計サイクルを加速します。 認証手続きの迅速化:事前に設計されたセーフティブロックと統合された障害マネジメント機能により、セーフティ基準への準拠と監査プロセスが大幅に簡素化されます。 さあ、始めて、あなたの考えを共有しましょう ASCLIBは完全にMCUに依存しないように設計されているため、さまざまなハードウェアプラットフォームに柔軟に展開できます。開発を加速させるため、本製品は既に完全な検証済みであり、NXPのオートモーティブおよびインダストリアルMCUとの統合に対応しています。制御と安全性を分離することで、最高のモーター性能と妥協のない安全性という、両方の利点を享受できます。 近々、ISO 26262またはIEC 61508規格に準拠したモーター制御プロジェクトに取り組んでいますか?AMMCLIB + ASCLIB アプローチが設計をどのように簡素化できるかについて、コメント欄で議論しましょう。または、以下のフォームからフィードバックをお寄せください。[フォームへのリンク] 機能的に安全なモーター制御システムを構築することは、性能を犠牲にしたり、アーキテクチャを再設計したりすることを意味するものではありません。NXPがAMMCLIBとASCLIBを組み合わせることで、セーフティと制御を分離し、開発労力を削減し、認証を迅速化する方法を、効率性を損なうことなくご紹介します。 モータ制御 Re: Functional Safety in Motor Control with AMMCLib and ASCLib ASCLibはAMMCLibとの組み合わせでのみ動作するのでしょうか?ASCLibはいつ、どのように普及させるべきでしょうか? Re: Functional Safety in Motor Control with AMMCLib and ASCLib こんにちは、 ASCLibはAMMCLibだけに限定されるものではありません。ASCLibはデータ型レベルでAMMCLibと完全に互換性がありますが、技術的には他のライブラリやカスタムアルゴリズムとも制限なく統合可能です。   プロモーションについて: ASCLibはまだ正式にリリースされていません。しかし、私たちは実際の現場からのフィードバックを収集するために、積極的に情報共有を行っています。現在のギャップやASCLibがどのようにそれを埋められるかについて、お客様からのフィードバックを大変ありがたく思います。 Re: Functional Safety in Motor Control with AMMCLib and ASCLib こんにちは、とても強力なライブラリのようですが、ASCLibはプレミアム(有料)ソフトウェアになる予定ですか?お客様と話す際に使える資料は何でしょうか?ベータ版をリリースする予定はありますか?
查看全文
使用 ammClib 和 ASClib 实现电机控制的功能安全 在为汽车和工业系统开发电机控制时,功能安全是确保电机不会产生意想不到的扭矩或速度的核心要求。 但是,将诸如磁场定向控制 (FOC) 之类的复杂算法作为功能安全的组件实现会带来严重的架构复杂性,显著增加开发工作量并降低整体性能。 为了解决这个问题,恩智浦采用了功能安全分解方法。这将应用程序分为非功能安全相关部分 (QM) 和功能安全相关部分 (ASIL)。在此框架内,恩智浦提供了 ASCLIB(汽车功能安全检查器库)。它为功能安全部分提供即用型功能安全检查器,使您无需重新设计 QM 电机控制部件即可实现高度的功能安全合规性。 完美匹配:AMMCLIB (QM) + ASCLIB (ASIL) 大多数客户依靠高度优化的恩智浦 AMMCLIB(汽车数学和电机控制库)来实现核心 MC。AMMCLIB 性能出众,是质量管理 (QM)级别的库。 遵守功能安全标准(例如ISO 26262)要求团队围绕质量管理级别的AMMCLIB建立自定义功能安全机制,这需要花费大量的时间和精力。为了简化这一流程,恩智浦现在提供 ASCLIB 作为标准化的生产就绪解决方案。通过提供一整套预先验证的功能安全检查器,它显著减少了对专有功能安全软件开发的需求,并加快了设计到认证的周期。 AMMCLIB 和 ASCLIB 如何配合使用 为了说明这一概念如何转化为实践,下面的方框图提供了标准磁场定向控制 (FOC) 系统的示例。在这种情况下,电机控制模块根据您现有的 QM 级 AMMCLIB 代码运行,而 ASCLIB 功能安全检查器则监测关键点以确保安全。该架构基于 FOC PMSM 的 IEEE 低复杂度功能安全概念。 该参考架构表明,集成 ASCLIB 无需更改现有的 QM 电机控制架构。全面的数据类型兼容性允许 ASCLIB 校验器直接映射到 AMMCLIB 信号,确保无缝互联。 虽然标准 FOC 是一种常见的用例,但 ASCLIB 并不局限于此。该库采用模块化独立模块,支持其他拓扑结构和先进技术,包括无传感器 FOC 和单并联电流测量。 ASCLIB 内部:分层功能安全架构 ASCLIB 具有高度结构化的分层软件模型,该模型按层次结构组织为层和包: 服务层(顶层) 通过两个独立的软件包将高级功能直接暴露给功能安全应用程序: 高级检查器 (HLC):为各种电机控制系统量身定制的各种应用级功能安全检查器。 故障管理器 (FMG):复杂的故障处理组件,用于管理错误同步、配置和应用程序通知。 核心层(基础层) 提供服务层使用的低级构造块。它由两个基本套餐组成: 低级检查程序(LLC):提供基本的数学和验证功能。 故障排除 (FDB):提供通用的故障排除算法。 💡 开发人员小贴士 整个程序库是完全模块化、孤立和独立的。如果您的应用程序需要一个独特的检查器,则可以使用 LLC 和 FDB 包中现有的低级块轻松构建自己的自定义检查器。此外,故障管理 (FMG) 包完全是可选的——您无需强制使用它,而是可以实现自己的应用程序级错误处理。 不仅用于汽车 别让名字骗了你。尽管ASCLIB的标题中有 " Automotive " 并且原生支持 ISO 26262 工作流程,但其功能安全原则是通用的。ASCLIB 完全适用于符合 IEC 61508 标准的工业系统。 为了与您现有的开发工作流程无缝衔接,ASCLIB 提供了双重交付选项: 纯 C 源文件:可直接集成到任何裸机或基于 RTOS 的嵌入式项目中。 BAM(位精确模型):用于基于模型的设计 (MBD) 的即用型模块,允许您直接在 MATLAB/Simulink 中拖放和仿真功能安全架构。 开发人员的主要优势 AMMCLIB 保留 QM:继续使用现有的、高度优化的 AMMCLIB 代码来处理核心 MC。 基于模型的开发:在生成目标 C 代码之前,直接在 MATLAB/Simulink 中使用专用 ASCLIB BAM 构建和仿真整个功能安全部件,从而加快设计周期。 加速认证:预先设计的功能安全模块和集成的故障管理可显著简化您的功能安全合规和审计流程。 开始并分享您的想法 ASCLIB 的设计完全独立于 MCU,因此您可以灵活地在各种硬件平台上部署它。为了加快您的开发,它已经过全面验证,可以与恩智浦的汽车和工业微控制器集成。通过将控制与功能安全分开,您可以获得两全其美的效果:最高的电机性能和毫不妥协的功能安全性。 正在执行即将到来的 ISO 26262 或 IEC 61508 电机控制项目?让我们在评论中讨论 AMMCLIB + ASCLIB 方法如何简化您的设计,或通过下面的表格分享您的反馈:[表格链接] 构建功能安全的电机控制系统并不意味着要牺牲性能或重新设计架构。了解恩智浦如何将AMMCLIB和ASCLIB相结合,在不影响效率的情况下将功能安全与控制分开,减少开发工作量并加快认证。 电机控制 Re: Functional Safety in Motor Control with AMMCLib and ASCLib ASCLib 是否只能与 AMMCLib 配合使用?我们应该何时以及如何推广 ASCLib? Re: Functional Safety in Motor Control with AMMCLib and ASCLib 您好, ASCLib 并不局限于 AMMCLib。虽然 ASCLib 在数据类型级别上与 AMMCLib 完全兼容,但从技术上讲,它可以与任何其他库或自定义算法集成,没有任何限制。   关于此次促销活动: ASCLib尚未正式发布。但是,我们正在积极分享相关信息,以收集真实世界的反馈。我们非常希望收到客户的反馈,了解他们目前存在哪些不足,以及 ASCLib 可以如何帮助他们弥补这些不足。 Re: Functional Safety in Motor Control with AMMCLib and ASCLib 您好,ASCLib 看起来是一个非常强大的库,请问它计划成为一款付费软件吗?我们可以使用哪些材料与客户进行讨论?有计划推出测试版吗?
查看全文
MCUXpresso for VS Code: Create, Build, and Debug a new Project using AI     A step-by-step walkthrough of how to use Copilot chat to import a multi-task FreeRTOS example for the LPCXpresso55S69, building it, debugging it, and analyzing memory usage – all driven from a single natural-language prompt. Introduction This tutorial shows how GitHub Copilot AI, along with the MCUXpresso for VS Code extension, can drive a complete FreeRTOS workflow from natural-language prompts: importing an SDK example, building it, debugging it, and analyzing the resulting artifact.   Instead of clicking through views, wizards, and commands, an embedded software engineer describes the intended outcome in plain language and the agent orchestrates the extension's language model tools to carry out each step.   In this scenario, the engineer asks the MCUXpresso agent to accomplish an end-to-end task: Get started quickly with a FreeRTOS example from MCUXpresso SDK. Target the LPCXpresso55S69 board. Import the new project as a freestanding example into the VS Code workspace, then build it. Freestanding will prompt for a folder to save the project. Start debugging and automatically resume execution after 10 seconds. Analyze the build artifact to see how much memory is used. Open the linker file used to build the artifact. The MCUXpresso agent decomposes this request into a sequence of tool calls – discovering boards and SDK revisions, listing suitable examples, importing the chosen example, building all configurations, launching and resuming the debug session, opening the Image Info view, and finally opening the linker script. The sections below follow that same order. The MCUXpresso agent leverages skill files that outline how to perform actions through the extension's own tools, so the steps it takes maps directly to functionality you could also trigger manually from the MCUXpresso for VS Code UI. System Architecture FreeRTOS Multi-Task Example — LPCXpresso55S69 System Architecture Overview Hardware 💻 Host PC MCUXpresso for VS Code MCUXpresso Agent/Skills     USB 🔗 Debug Probe On-board LinkServer CMSIS-DAP     SWD TARGET 📟 LPCXpresso55S69 Runs FreeRTOS example   Component Description Host PC Runs VS Code with the MCUXpresso for VS Code extension and the Copilot AI agent and skills. The agent properly imports the SDK example, builds it, launches the debug session, and opens the Image Info and linker views. Debug Probe The on-board LinkServer / CMSIS-DAP debug probe on the LPCXpresso55S69. Bridges USB from the Host PC to the SWD debug interface of the target MCU, and hosts the GDB server used during debugging. LPCXpresso55S69 Target evaluation board (LPC55S69 dual-core Arm Cortex-M33). Runs the FreeRTOS example with multiple tasks. Getting started The engineer describes the whole goal to the MCUXpresso agent in a single natural-language prompt, and the agent carries out each step below in order. Prerequisites This tutorial assumes the environment has already been prepared with the MCUXpresso Installer, which was previously used to install all required dependencies. Before starting you should have: Visual Studio Code with the MCUXpresso for VS Code extension installed and activated, and GitHub Copilot Chat available. All toolchain and tooling dependencies installed via the MCUXpresso Installer: the Arm GNU toolchain, LinkServer debug probe support, CMake and Ninja, and the west / SDK management tooling. MCUXpresso SDK v26.06 installed via the extension. One LPCXpresso55S69 board connected to the Host PC over USB (using the on-board LinkServer / CMSIS-DAP debug probe). If any dependency is missing, the MCUXpresso agent can open the MCUXpresso Installer for you (see Troubleshooting).   Step 1 – Import a FreeRTOS example The engineer opens Copilot Chat and describes the whole goal to in a single prompt – the board, the preferred kind of example (FreeRTOS, multiple tasks), the SDK version, and the follow-up actions. The engineer states the complete goal in natural language.   To satisfy the request, the agent first establishes the context and locates a suitable example using the extension's discovery tools: mcuxpresso_listSupportedBoards – confirms the LPCXpresso55S69 is a supported board. mcuxpresso_listRemoteRevisions – selects the requested MCUXpresso SDK v26.06 revision. mcuxpresso_listSupportedExamples – finds a FreeRTOS example with multiple tasks (for example a freertos_generic example). mcuxpresso_browseFolder – lets the engineer pick the destination folder for the imported example. Choosing where the example will be imported.   The agent confirms the example selection before importing.   The example is fetched and imported into the workspace.   Step 2 – Build the project Once the example is imported, the agent builds it using mcuxpresso_buildProjectAllConfigs , which compiles all configured build configurations for the project. The agent triggers a build of all configurations.   After a successful build, the imported project is visible in the extension's Projects view, ready for debugging and further analysis. The built project appears in the Projects view.   Step 3 – Debug the project The agent starts a debug session with mcuxpresso_startDebug . This launches the GDB server against the LPCXpresso55S69 through the on-board LinkServer / CMSIS-DAP debug probe, flashes the artifact, and halts at the program entry.   Because the engineer asked to automatically resume execution after 10 seconds, the agent then calls mcuxpresso_continueDebug to resume the program, letting the FreeRTOS tasks run on the target. The debug session starts, then execution is resumed automatically. The complementary tool mcuxpresso_pauseDebug can halt the running program again if you want to inspect state after resuming.   Step 4 – Open Image Info To analyze how much memory the firmware uses, the agent opens the Image Info view with mcuxpresso_openImageInfo . This inspects the build artifact and reports the memory footprint – the sizes of the code and data regions and how they map onto the device's flash and RAM. Image Info reports the artifact's memory usage; the linker script is opened alongside it.   Step 5 – Open the Linker Script Finally, the agent opens the linker file used to build the artifact with mcuxpresso_openLinkerScript . The linker script defines the memory regions and section placement referenced by the Image Info analysis, so the engineer can correlate the reported memory usage with the actual linker configuration (shown in the same screenshot above). Verifying the Result  The workflow is successful when all of the following hold: The FreeRTOS example was imported and appears in the Projects view (you can also confirm with mcuxpresso_listProjectsFromWorkspace ). The build completed without errors and produced a build artifact. The debug session started and execution was resumed after the requested delay. The Image Info view shows the artifact's memory usage. The linker script used for the build is open in the editor. Videos The following videos capture the steps for creating and debugging a project using AI in the MCUXpresso for VS Code extension. 1. Create and import a freestanding SDK project for your NXP board using Copilot in VS Code. (function() { var wrapper = document.getElementById('lia-vid-6405639429112w960h540r214'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) 2. Build, debug, and analyze memory usage for a FreeRTOS Hello World project with Copilot. (function() { var wrapper = document.getElementById('lia-vid-6405639049112w960h540r139'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) Troubleshooting Most issues in this workflow come from missing or incomplete dependencies. In almost all cases the fix is to (re)run the MCUXpresso Installer – the MCUXpresso agent can open it for you with mcuxpresso_openInstaller .   Symptom Likely cause Suggested action Project was not imported A west tooling issue (missing or misconfigured SDK management tooling) Start the MCUXpresso Installer ( mcuxpresso_openInstaller ) and (re)install the SDK / west dependencies, then retry the import. Build error A west issue, or no Arm GNU toolchain installed Start the Installer to install or repair the Arm GNU toolchain and build tooling, then rebuild. No debug probe support LinkServer / debug probe support is not installed Start the Installer and install LinkServer / debug probe support, then reconnect the board. Debug session does not start GDB server failed to launch, or probe/toolchain support is missing Inspect the GDB server terminal output for errors. If probe or toolchain support is missing, start the Installer to install it, then start debugging again. Examples
查看全文
Getting Started: MCUXpresso for VS Code Installation & Setup for AI Introduction This Getting Started guide explains how to configure MCUXpresso for VS Code so GitHub Copilot agents can use available AI skills and MCP servers effectively when developing with MCUXpresso software and tools. If you already have MCUXpresso for VS Code installed, you can skip to Step 2 to enable Agentic AI features.  Note: The AI support in the MCUXpresso for VS Code extension is currently an experimental option. Users must enable the support after the extension is installed. Install the Tools The MCUXpresso Installer installs everything you need from a single application. Work through the prerequisites and the two steps below to reach a system that is ready to evaluate the NXP Agentic AI features with GitHub Copilot in VS Code. Prerequisites   Prerequisite Version Link MCUXpresso Installer 26.09+ Download   Note: The MCUXpresso Installer will install ALL software required – VS Code, the extension, and other software dependencies. Follow the instructions below and a single step will establish the base setup.   Step 1 – Install MCUXpresso for VS Code Installer options Enter Administrator mode. On Windows, you may need to run the installer as an administrator to avoid permission-related installation issues. Download and install the MCUXpresso Installer utility.  Launch MCUXpresso Installer from your desktop. Select the following components to install: MCUXpresso SDK Developer Arm GNU Toolchain Standalone Toolchain Add-ons LinkServer MCUXpresso Configuration Tools Note: All other components in the Installer are not required for initial development but can be added later based on other use cases. Click the Install button. Note: The Show details button will expand the selected kits to reveal other items installed as dependencies.   A green check mark will appear next to each item once installation has successfully completed. Step 2 – Enable Experimental AI in MCUXpresso for VS Code Open VS Code Settings Open Settings for the MCUXpresso for VS Code extension to enable the experimental features that support Agentic AI development: Launch VS Code. Open Settings with the shortcut Ctrl + , (Ctrl and comma). Filter by typing mcupresso experimental copilot . Click the box to enable the MCUXpresso Agentic AI resources. Close and relaunch VS Code to finish Agentic AI setup. Done: Your system is now ready to begin evaluating the NXP Agentic AI features using GitHub Copilot in VS Code.   Step 3 – Set up GitHub Copilot AI in VS Code AI features in VS Code require the user to log in to a valid GitHub account. You can use a personal account and receive a Free license, or use a corporate account that may provide Business-level Copilot access.   Display the GitHub Copilot Chat pane. Click on the Right Pane icon in the upper-right corner. Click on the GitHub Copilot icon in the lower-right corner. Log in to a valid GitHub account and authorize VS Code to link with the account. Done: The GitHub Copilot AI features are now active in the Chat pane. Videos The following videos help cover the Getting Started process with GitHub Copilot in VS Code:  1. Connect a GitHub account to Copilot in VS Code and verify it with a simple AI prompt. (function() { var wrapper = document.getElementById('lia-vid-6405641613112w960h540r180'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) 2. Use Copilot Chat agents, models, context, dictation, history, targets, and permissions in VS Code (function() { var wrapper = document.getElementById('lia-vid-6405640756112w960h540r272'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) 3. Configure Copilot tools, skills, workspace access, models, and privacy settings in VS Code. (function() { var wrapper = document.getElementById('lia-vid-6405642238112w990h540r360'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) Getting Started
查看全文
Kinetis W:[主题] CoAP 基础知识和实践 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Thread 使用 UDP 上的单播和多播传输提供应用程序框架实现所需的基本服务。 线程规范仅关注网络层;由于它与应用层无关,因此可以设计许多应用层无问题运行。 在该实验室中,用户将使用该应用层的约束应用协议 (CoAP),因为 Thread 堆栈使用 CoAP 进行大多数多跳网络管理和调试消息。 受限应用协议 (CoAP) 是一种专门用于物联网中受限节点和受限网络的 Web 传输协议。它使用具有四种方法的二进制 RESTful 协议 邮政 得到 放 删除 CoAP 还使用 ACK 响应;可确认(请求 ACK)和不可确认的消息。 Thread 堆栈使用 CoAP 来处理大多数多跳网络管理和调试消息   目标 通过本实验用户将修改固件以实现以下列表: 添加2个新的COAP URI资源“/resource1”和“/resource2”。 如果按照 CoAP 标准的规定收到 CON 请求,则在“/resource1”中发送 ACK 消息。ACK 消息中包含默认有效载荷。 所有发往“/resource1”的数据包都将触发一个 NON POST 数据包回复(独立于预期的 ACK 数据包),该回复发往具有默认有效负载的“/resource2”URI 路径。 在 shell 中打印所有 CoAP 事务,以充分了解请求何时发送以及何时收到响应,并指明方法和资源,例如 如果收到了 CON POST,则在 shell 上打印“收到了‘NON’数据包,‘POST’带有有效载荷‘ ’ 如果发送了 NON POST,则在 shell 上打印“已发送‘NON’数据包,带有有效载荷‘ ’的‘POST’ 实验室期望的流程行为如图 1 所示。 图 1 实验室期望行为示意图   设置 在下面的列表中,带有破折号(—)的组件将用于创建此实验室。   2 FRDM-KW41Z —牧师一个 来自最新 NXP 版本的 连接软件 。 — Thread Router 合格设备项目 串行终端 — TeraTerm   图2 FRDM-KW41Z   修改固件 将在 router_eligible_device_app.c 文件 中进行以下更改 。 1.定义在 shell 中用于访问资源的 URI 路径名。 #定义APP_RESOURCE1_URI_PATH“/resource1” #定义 APP_RESOURCE2_URI_PATH“/resource2” 2. 使用 coapUriPath_t 声明 URI 资源。使用此结构时,用户必须输入 URI 路径的长度和上一步创建的路径。 const coapUriPath_t gAPP_RESOURCE1_URI_PATH = {SizeOfString(APP_RESOURCE1_URI_PATH), APP_RESOURCE1_URI_PATH}; const coapUriPath_t gAPP_RESOURCE2_URI_PATH = {SizeOfString(APP_RESOURCE2_URI_PATH), APP_RESOURCE2_URI_PATH}; 3.创建资源的回调。此回调将处理接收到的数据包并根据接收到的 COAP 方法类型执行所需的操作。 static void APP_CoapResource1Cb(coapSessionStatus_t sessionStatus, void *pData, coapSession_t *pSession, uint32_t dataLen); static void APP_CoapResource2Cb(coapSessionStatus_t sessionStatus, void *pData, coapSession_t *pSession, uint32_t dataLen); 4. 为接收到的数据包添加回调处理程序,在此函数中将定义根据接收到的 COAP 方法类型执行哪些操作。 APP_CoapResource1Cb 静态无效APP_CoapResource1Cb ( coapSessionStatus_t 会话状态, 无效* pData, coapSession_t *pSession, uint32_t 数据长度 ) { 静态 uint8_t pMySessionPayload[3]={0x31,0x32,0x33}; 静态uint32_t pMyPayloadSize = 3; coapSession_t *pMySession = NULL; pMySession = COAP_OpenSession(mAppCoapInstId); COAP_AddOptionToList(pMySession,COAP_URI_PATH_OPTION,APP_RESOURCE2_URI_PATH,SizeOfString(APP_RESOURCE2_URI_PATH)); 如果(gCoapConfirmable_c == pSession->msgType) { 如果(gCoapGET_c == pSession->代码) { shell_write("'CON' 数据包已接收 'GET',有效载荷为:"); } 如果(gCoapPOST_c == pSession->代码) { shell_write("'CON' 数据包已接收带有有效载荷的 'POST':"); } 如果(gCoapPUT_c == pSession->代码) { shell_write("'CON' 数据包已接收 'PUT',有效载荷为:"); } 如果(gCoapFailure_c!=sessionStatus) { COAP_Send(pSession,gCoapMsgTypeAckSuccessChanged_c,pMySessionPayload,pMyPayloadSize); } } 否则,如果(gCoapNonConfirmable_c == pSession->msgType) { 如果(gCoapGET_c == pSession->代码) { shell_write("'NON' 数据包已接收 'GET',有效载荷为:"); } 如果(gCoapPOST_c == pSession->代码) { shell_write("'NON' 数据包接收到了带有有效载荷的 'POST': "); } 如果(gCoapPUT_c == pSession->代码) { shell_write("'NON' 数据包已接收 'PUT',有效载荷为:"); } } shell_writeN(pData,dataLen); shell_write("\r\n"); pMySession->msgType=gCoapNonConfirmable_c; pMySession->代码=gCoapPOST_c; pMySession->pCallback =NULL; FLib_MemCpy(&pMySession->remoteAddr,&gCoapDestAddress,sizeof(ipAddr_t)); COAP_SendMsg(pMySession,pMySessionPayload,pMyPayloadSize); shell_write("'NON' 数据包以 'POST' 形式发送,有效载荷为:"); shell_writeN((char*)pMySessionPayload,pMyPayloadSize); shell_write("\r\n"); } 每个 UDP 端口可以有一个 COAP 实例,如果应用程序只使用一个端口,则一个实例就足够了。 每个实例可以有多个 COAP 会话,每个数据包/事务都有一个 COAP 会话。在这种情况下,由于期望的结果是获得不同的 ACK 响应,因此需要使用新资源创建新的会话。 APP_CoapResource2Cb   静态无效APP_CoapResource2Cb ( coapSessionStatus_t 会话状态, 无效* pData, coapSession_t *pSession, uint32_t 数据长度 ) { 如果(gCoapNonConfirmable_c == pSession->msgType) { shell_write("'NON' 数据包接收到了带有有效载荷的 'POST': "); shell_writeN(pData,dataLen); shell_write("\r\n"); } } 5. 创建回调后,必须在函数APP_InitCoapDemo(void)中将其注册到 CoAP 回调数组中。 {APP_CoapResource1Cb, (coapUriPath_t*)&gAPP_RESOURCE1_URI_PATH}, {APP_CoapResource2Cb,(coapUriPath_t*)&gAPP_RESOURCE2_URI_PATH},   关于 CoAP 库的使用,有一些事情需要提及,这些事情在本实验室中没有使用,但可能对其他类型的应用程序有用。 当使用COAP_SendMsg()时,会话将默认自动关闭,除非使用pSession->autoClose进行指示。 发送消息时有两个选项: 可确认( CON ) :等待 ACK 回复,直到收到消息后才会关闭会话,或者在重传次数耗尽时关闭会话。 不可确认( NON ) :对于 NON,在发送消息后立即生效。 如果发送了一条消息但没有得到响应,则会在每个 COAP_ACK_TIMEOUT (以毫秒为单位)后发送一次重新传输,重新传输将以指数方式发送:首先在随机(2,3)秒后,接下来将超时时间加倍,依此类推,直到 达到 COAP_MAX_RETRANSMIT 。 重传停止后,会话将自动关闭并通知应用程序失败,应用程序回调将以状态 gCoapFailure_c 调用 。 当调用回调时当前会话仍然有效,但退出函数后CoAP会话将关闭它。有两种不同的解决方法: 必须创建一个新会话 设置pSession->autoClose = FALSE 。如果 autoClose 设置为 FALSE,请不要忘记使用COAP_CloseSession()从应用程序关闭会话。     运行演示 1.下载修改后的固件到开发板 2. 为每块板子打开一个串口终端,波特率为115200 图3 串行终端及其配置  3. 在其中一个板子的终端输入“ thr create ” ,该板子将成为领导者。 图 4 带有命令“thr create”的板 1 图 5 执行“thr create”命令后的 Board 1   4. 网络创建完成后, 在第二块板的终端中 输入“thr join” 。 图 6 使用命令“thr join”的板 2 图 7 执行“thr join”命令后的板 2 5. 在两个串行终端中输入命令“ifconfig” 。此命令将显示板的所有地址。 图 8 使用“ifconfig”命令后,板 1 图 9 执行“ifconfig”命令后的板 2   6. 为了测试创建的回调,必须发送 CoAP 消息。必须输入以下命令; coap                                                                                      coap CON POST fe80::5df0:2bf0:d69b:1b3c  /resource1 hello                                                                                      图10 CoAP命令发送 7. 发送的结果必须是这样的: —董事会 1 董事会 1 将向董事会 2 请求资源 1 图 11 发送 CoAP 命令之前的 Board 1 由于它已被编码,另一块板将发送 ACK 并打印消息。 图 12 发送 CoAP 命令后的 Board 1 —董事会 2 图13 收到CoAP命令后的Board 2 如果使用CON消息,请求板将收到响应,而如果消息是NON类型,则不会收到响应。 当使用这种类型的消息时,无论包类型如何,发送消息时都会打开一个新会话,并且它将发送非类型的消息。
查看全文
Kinetis W: [スレッド] CoAPの基本と実践 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Threadは、UDPを介したユニキャストおよびマルチキャスト伝送を使用して、アプリケーションフレームワークの実装に必要な基本サービスを提供します。 スレッドの仕様は、ネットワーク層にのみ焦点を当てています。多くのアプリケーション層は、アプリケーション層に依存しないため、問題なく実行するように設計できます。 このラボでは、Threadスタックがマルチホップネットワーク管理およびコミッショニングメッセージのほとんどにCoAPを使用するため、ユーザーはこのアプリケーション層のConstrain Application Protocol(CoAP)を使用します。 制約付きアプリケーションプロトコル(CoAP)は、モノのインターネット(Internet of Thing)の制約付きノードと制約付きネットワークで使用する専用のWeb転送プロトコルです。これは、4つのメソッドを持つバイナリRESTfulプロトコルを使用します 投稿 取得 置く 削除 CoAP は ACK 応答も使用します。CONfirmable (ACK が要求されました) メッセージと NONconfirmable メッセージ。 Thread スタックは、マルチホップ ネットワーク管理およびコミッショニング メッセージの大部分に CoAP を使用します   目標 このラボを通じて、ユーザーはファームウェアを変更して次のリストを実現します。 2 つの新しい COAP URI リソース "/resource1" と "/resource2" を追加します。 CoAP 標準で指定されているように CON 要求を受信した場合に備えて、"/resource1" で ACK メッセージを送信します。ACK メッセージにデフォルトのペイロードを含めます。 "/resource1" 宛てのすべてのパケットは、デフォルトのペイロードを持つ "/resource2" URI パス宛ての NON POST パケット応答 (予想される ACK パケットとは無関係) をトリガーします。 すべてのCoAPトランザクションをシェルに出力して、リクエストが送信され、レスポンスがいつ受信されたかを完全に理解し、メソッドとリソースを示します。 CON POST を受信した場合は、シェルに「'NON' packet received, 'POST'」とペイロード ' ' を印刷します。 NON POSTが送信された場合は、シェルに「'NON'パケットが送信されました。ペイロード' 'とともに'POST'を印刷 します ラボが望ましい行動をとるプロセスを図1に示します。 図1 実験室の望ましい行動を示す図   設定 次のリストでは、ダッシュ (—) の付いたコンポーネントが、このラボの作成に使用されるコンポーネントです。   2 FRDM-KW41Z — 牧師 ある 最新のNXPリリースの 接続ソフトウェア 。 — Thread Router Eligible Device プロジェクト シリアルターミナル — テラターム   図2 FRDM-KW41Z   ファームウェアの変更       router_eligible_device_app.c ファイル では、次の変更が加えられます 。 1. シェルでリソースにアクセスするために使用する URI パス名を定義します。 #define APP_RESOURCE1_URI_PATH "/resource1" #define APP_RESOURCE2_URI_PATH "/resource2" 2. URI リソースを coapUriPath_t で宣言します。この構造体を使用する場合、ユーザーは URI パスの長さと、最後の手順で作成したパスを入力する必要があります。 定数 coapUriPath_t gAPP_RESOURCE1_URI_PATH = {SizeOfString(APP_RESOURCE1_URI_PATH), APP_RESOURCE1_URI_PATH}; 定数 coapUriPath_t gAPP_RESOURCE2_URI_PATH = {SizeOfString(APP_RESOURCE2_URI_PATH), APP_RESOURCE2_URI_PATH}; 3. リソースのコールバックを作成します。このコールバックは、受信したパケットを処理し、受信したCOAPメソッドのタイプに応じて必要なアクションを実行します。 static void APP_CoapResource1Cb(coapSessionStatus_t sessionStatus, void *pData, coapSession_t *pSession, uint32_t dataLen); static void APP_CoapResource2Cb(coapSessionStatus_t sessionStatus, void *pData, coapSession_t *pSession, uint32_t dataLen); 4.受信したパケットのコールバックハンドラを追加すると、この関数では、受信したCOAPメソッドのタイプに応じて実行されるアクションが定義されます。 APP_CoapResource1Cb static void APP_CoapResource1Cb(coapSessionStatus_t sessionStatus,void *pData,coapSession_t *pSession,uint32_t dataLen){ static uint8_t pMySessionPayload[3]={0x31,0x32,0x33}; 静的uint32_t pMyPayloadSize=3; coapSession_t *pMySession = NULL; pMySession = COAP_OpenSession(mAppCoapInstId); COAP_AddOptionToList(pMySession,COAP_URI_PATH_OPTION, APP_RESOURCE2_URI_PATH,SizeOfString(APP_RESOURCE2_URI_PATH)); if (gCoapConfirmable_c == pSession->msgType) { if (gCoapGET_c == pSession->code) { shell_write("'CON' パケットはペイロードと共に 'GET' を受け取りました: "); } if (gCoapPOST_c == pSession->code) { shell_write("'CON' パケットはペイロードと共に 'POST' を受信しました: "); } if (gCoapPUT_c == pSession->コード) { shell_write("'CON'パケットはペイロードを含む'PUT'を受信しました:"); } if (gCoapFailure_c!=sessionStatus) { COAP_Send(pSession, gCoapMsgTypeAckSuccessChanged_c, pMySessionPayload, pMyPayloadSize); } } else if(gCoapNonConfirmable_c == pSession->msgType) { if (gCoapGET_c == pSession->code) { shell_write("'NON' パケットはペイロードと共に 'GET' を受け取りました: "); } if (gCoapPOST_c == pSession->code) { shell_write("'NON' パケットはペイロードと共に 'POST' を受信しました: "); } if (gCoapPUT_c == pSession->code) { shell_write("'NON' パケットはペイロードと共に 'PUT' を受信しました: "); } } shell_writeN (pData, dataLen); shell_write("\r\n"); pMySession -> msgType=gCoapNonConfirmable_c; pMySession -> コード = gCoapPOST_c; pMySession -> pCallback =NULL; FLib_MemCpy(&pMySession->remoteAddr,&gCoapDestAddress,sizeof(ipAddr_t)); COAP_SendMsg(pMySession, pMySessionPayload, pMyPayloadSize); shell_write("'NON'パケットはペイロード付きで'POST'を送信しました: "); shell_writeN((char*) pMySessionPayload, pMyPayloadSize); shell_write("\r\n"); } アプリケーションが 1 つのポートのみを使用する場合は、UDP ポートごとに 1 つの COAP インスタンスが存在する可能性があります。 インスタンスごとに複数の COAP セッションが存在する可能性があり、COAP セッションはパケット/トランザクションごとです。この場合、ACK の応答が異なることが望ましい結果であったため、新しいリソースを使用して新しいセッションを作成する必要があります。 APP_CoapResource2Cb   static void APP_CoapResource2Cb(coapSessionStatus_t sessionStatus,void *pData,coapSession_t *pSession,uint32_t dataLen){ if (gCoapNonConfirmable_c == pSession->msgType) { shell_write("'NON' パケットは 'POST' をペイロードと共に受信しました: "); shell_writeN(pData, dataLen); shell_write("\r\n"); } } 5. コールバックを作成した後 、コールバックは関数 APP_InitCoapDemo(void) の CoAP コールバック配列に登録する必要があります {APP_CoapResource1Cb, (coapUriPath_t*)&gAPP_RESOURCE1_URI_PATH}, {APP_CoapResource2Cb, (coapUriPath_t*)&gAPP_RESOURCE2_URI_PATH},   CoAPライブラリの使用については、このラボでは使用されなかったが、他のタイプのアプリケーションに役立つ可能性のある点がいくつかあります。 COAP_SendMsg() を使用すると 、 pSession->autoClose の使用方法で示されない限り、セッションはデフォルトで自動的に閉じ ます。 メッセージの送信には、次の 2 つのオプションがあります。 確認可能(CON):ACKの応答を待ち、メッセージを受け取るまでセッションを閉じるか、再送信が使い果たされたときにセッションを閉じます。 確認不可 (NON😞 NO の場合、メッセージを送信した直後。 メッセージが送信され、応答がなかった場合、再送信はCOAP_ACK_TIMEOUTごとに(ミリ秒単位)送信され、再送信は指数関数的に送信されます:最初はランダム(2、3)秒後、次にタイムアウトを2倍にするなど、COAP_MAX_RETRANSMITに達するまで続きます。 再送信が停止すると、セッションは自動的に閉じられ、アプリケーションにエラーが通知され、ステータス gCoapFailure_c でアプリケーションコールバックが呼び出されます。 コールバックが呼び出されても、現在のセッションはまだ有効ですが、CoAP セッションは関数の終了後にコールバックを閉じます。これには2つの異なる作業があります。 新しいセッションを作成する必要があります auto>Close が FALSE に設定されている場合は、アプリケーションからセッションを閉じることを忘れないでください。COAP_CloseSession() を使用して、アプリケーションからセッションを閉じることを忘れないでください 。     デモの実行    1. 変更したファームウェアをボードにダウンロードします 2. 各ボードのシリアル端子をボーレート 115200 で開きます 図3 シリアル端末とその構成  3. ボードの端末タイプ「thr create」の1つでは、このボードがリーダーになります。 図 4 ボード 1 とコマンド "thr create" 図 5 ボード 1 のコマンド「thr create」の後   4.ネットワークが作成されたら 、2番目のボードの端末に 「thrjoin」 と入力します。 図 6 「thr join」コマンドが設定されたボード 2 図 7 ボード 2 のコマンド "thr join" の後 5. 両方のシリアル端末で、コマンド「ifconfig」を入力します。このコマンドは、ボードのすべてのアドレスを表示します。 図 8 ボード 1 のコマンド "ifconfig" の後 図 9 ボード 2 のコマンド "ifconfig" の後   6. 作成されたコールバックをテストするには、CoAP メッセージを送信する必要があります。次のコマンドを入力する必要があります。 coap                                                                                      coap CON POST fe80::5df0:2bf0:d69b:1b3c  /resource1 hello                                                                                      図 10 送信する CoAP コマンド 7. 送信の結果は、次のようになる必要があります。 ― ボード1 ボード 1 は、ボード 2 にリソース1を要求します 図 11 CoAP コマンドを送信する前のボード 1 コード化されたとおりに、他のボードはACKを送信し、メッセージを印刷します。 図 12 CoAP コマンドを送信した後のボード 1 — ボード2 図 13 CoAP コマンドを受信した後のボード 2 CON メッセージを使用する場合、リクエスターボードは応答を受け取りますが、メッセージが NON T ype の場合、応答はありません。  このタイプのメッセージをパッケージタイプとは無関係に使用すると、メッセージの送信時に新しいセッションがオープンされ、NON タイプのメッセージが送信されます。
查看全文
Kinetis W: [Thread] CoAP basics and hands on   Thread provides basic services required for application frameworks implementation with the usage of Unicast and Multicast transmissions over UDP. Thread specification is only focused on the network layer; many application layers can be designed to run without any problem as it is application layer agnostic.  In this laboratory the user will work with the Constrain Application Protocol (CoAP) for this application layer as the Thread stack uses CoAP for most of the multi-hop network management and commissioning messages. The Constrained Application Protocol (CoAP) is a specialized web transfer protocol to use with constrained nodes and constrained networks in the Internet of Thing.  It uses a binary RESTful protocol with four methods POST GET PUT DELETE   CoAP also uses ACK responses; CONfirmable (ACK requested) and NONconfirmable messages. The Thread stack uses CoAP for the majority of multi-hop network management and commissioning messages   Objectives Through this laboratory the user will modify the firmware to achieve the following list: Add 2 new COAP URI resources “/resource1” and “/resource2”. Send an ACK message in “/resource1” in case a CON request was received as specified by the CoAP standard. Include a default payload in the ACK message. All packets destined to “/resource1” will trigger a NON POST packet reply (independent from the expected ACK packet) destined to “/resource2” URI path with a default payload. Print in shell all CoAP transactions to fully understand when a request was sent and when a response was received, indicating the method and the resource, e.g. If a CON POST was received, print on shell “‘NON’ packet received, ‘POST’ with payload of ‘ ’ If a NON POST was sent, print on shell “‘NON’ packet sent, ‘POST’ with payload ‘ ’   The process desired behavior by the laboratory is shown in figure 1.   Figure 1 Diagram showing the desired behavior of the laboratory     Setup In the following list, the components with a dash (—) will be the ones used to create this laboratory.   2 FRDM-KW41Z       — Rev.  A Connectivity Software from the latest NXP release.       — Thread Router Eligible Device project Serial Terminal       — TeraTerm   Figure 2 FRDM-KW41Z      Modifying Firmware         The following changes will be made in the router_eligible_device_app.c file.  1. Define the URI path names that will be used in the shell to access the resources. #define APP_RESOURCE1_URI_PATH                       "/resource1" #define APP_RESOURCE2_URI_PATH                       "/resource2"     2. Declare the URI resources with coapUriPath_t. When using this struct the user must enter the length of the URI path and the path created in the last step. const coapUriPath_t gAPP_RESOURCE1_URI_PATH = {SizeOfString(APP_RESOURCE1_URI_PATH), (uint8_t *)APP_RESOURCE1_URI_PATH}; const coapUriPath_t gAPP_RESOURCE2_URI_PATH = {SizeOfString(APP_RESOURCE2_URI_PATH), (uint8_t *)APP_RESOURCE2_URI_PATH};     3. Create the callbacks for the resources. This callbacks will handle the packet received and perform the desired action depending on the type of COAP method received. static void APP_CoapResource1Cb(coapSessionStatus_t sessionStatus, void *pData, coapSession_t *pSession, uint32_t dataLen); static void APP_CoapResource2Cb(coapSessionStatus_t sessionStatus, void *pData, coapSession_t *pSession, uint32_t dataLen);       4. Add the callback handler for the packet received, in this function it will be defined which action will be performed depending on the type of COAP method received. APP_CoapResource1Cb static void APP_CoapResource1Cb ( coapSessionStatus_t sessionStatus, void *pData, coapSession_t *pSession, uint32_t dataLen ) {   static uint8_t pMySessionPayload[3]={0x31,0x32,0x33};   static uint32_t pMyPayloadSize=3;   coapSession_t *pMySession = NULL;   pMySession = COAP_OpenSession(mAppCoapInstId);   //COAP_AddOptionToList(pMySession,COAP_URI_PATH_OPTION, APP_RESOURCE2_URI_PATH,SizeOfString(APP_RESOURCE2_URI_PATH)); pMySession->pUriPath = (coapUriPath_t *)&gAPP_RESOURCE2_URI_PATH;     if (gCoapConfirmable_c == pSession->msgType)   {     if (gCoapGET_c == pSession->code)     {       shell_write("'CON' packet received 'GET' with payload: ");     }     if (gCoapPOST_c == pSession->code)     {       shell_write("'CON' packet received 'POST' with payload: ");     }     if (gCoapPUT_c == pSession->code)     {       shell_write("'CON' packet received 'PUT' with payload: ");     }         if (gCoapFailure_c!=sessionStatus)     {       COAP_Send(pSession, gCoapMsgTypeAckSuccessChanged_c, pMySessionPayload, pMyPayloadSize);     }   }   else if(gCoapNonConfirmable_c == pSession->msgType)   {     if (gCoapGET_c == pSession->code)     {       shell_write("'NON' packet received 'GET' with payload: ");     }     if (gCoapPOST_c == pSession->code)     {       shell_write("'NON' packet received 'POST' with payload: ");     }     if (gCoapPUT_c == pSession->code)     {       shell_write("'NON' packet received 'PUT' with payload: ");     }      }   shell_writeN(pData, dataLen);   shell_write("\r\n");   pMySession -> msgType=gCoapNonConfirmable_c;   pMySession -> code= gCoapPOST_c;   pMySession -> pCallback =NULL;   //FLib_MemCpy(&pMySession->remoteAddr,&gCoapDestAddress,sizeof(ipAddr_t)); FLib_MemCpy(&pMySession->remoteAddrStorage.ss_addr, &gCoapDestAddress, sizeof(ipAddr_t));   //COAP_SendMsg(pMySession,  pMySessionPayload, pMyPayloadSize); COAP_Send(pMySession, gCoapMsgTypeNonPost_c, pMySessionPayload, pMyPayloadSize);   shell_write("'NON' packet sent 'POST' with payload: ");   shell_writeN((char*) pMySessionPayload, pMyPayloadSize);   shell_write("\r\n"); }   There can be one COAP instance per UDP port, in case the application only uses one port, one instance will be enough. There can be multiple COAP sessions per instance, a COAP session is per packet/transaction. In this case as the desired result was to have a different response of the ACK, it will be necessary to create a new session with the new resource. APP_CoapResource2Cb   static void APP_CoapResource2Cb ( coapSessionStatus_t sessionStatus, void *pData, coapSession_t *pSession, uint32_t dataLen ) {   if (gCoapNonConfirmable_c == pSession->msgType)   {       shell_write("'NON' packet received 'POST' with payload: ");        shell_writeN(pData, dataLen);       shell_write("\r\n");   }  }   5. After creating the callbacks, those must be registered in the CoAP callback array in the function APP_InitCoapDemo(void)     {APP_CoapResource1Cb, (coapUriPath_t*)&gAPP_RESOURCE1_URI_PATH}, {APP_CoapResource2Cb, (coapUriPath_t*)&gAPP_RESOURCE2_URI_PATH},   There are some things to mention of the usage of the CoAP library that were not used for this laboratory but might be useful for other types of applications. When using COAP_Send() the session will close automatically by default unless it is indicated with the usage of pSession->autoClose. There are two options while sending the message: Confirmable (CON): It waits for an ACK reply and until it gets the message it will close the session or it will close the session when retransmissions are exhausted. Non-confirmable (NON): For NON, immediately after sending the message. In case a message was sent and there was no response a retransmission will be sent each COAP_ACK_TIMEOUT (in miliseconds), the retransmissions are sent exponentially: first after random (2, 3) seconds, next doubles the timeout and so on, until COAP_MAX_RETRANSMIT is reached. After retransmissions stop, the session is automatically closed and informs the application of failure the application callback will be called with status gCoapFailure_c. When the callback is called the current session is still valid, but CoAP session will close it after exiting the function. There are two different work this out: A new session must be created Set pSession->autoClose = FALSE. If autoClose is set to FALSE, without forgetting to close the session from application, using COAP_CloseSession().     Running the demo    1. Download the modified firmware in the boards 2. Open a serial terminal for each board with a baud rate of 115200 Figure 3 Serial terminal and its configuration  3. In one of the board’s terminal type “thr create”, this board will be the leader. Figure 4 Board 1 with command "thr create" Figure 5 Board 1 after the command "thr create"   4. Once the network has been created type “thr join” in the second board’s terminal.   Figure 6 Board 2 with command "thr join" Figure 7 Board 2 after command "thr join" 5. In both serial terminals type the command “ifconfig”. This command will display all the addresses of the board.   Figure 8 Board 1 after command "ifconfig" Figure 9 Board 2 after command "ifconfig"   6. To test the callbacks created, a CoAP message must be sent. The following command must be typed;   coap                                                                                      coap CON POST fe80::5df0:2bf0:d69b:1b3c  /resource1 hello                                                                                      Figure 10 CoAP command to send 7. The result of sending must look like :   — Board 1 The board 1 will request the board 2 the resource1 Figure 11 Board 1 before sending the CoAP command As it was coded the other board will send an ACK and print the message. Figure 12 Board 1 after sending the CoAP command — Board 2 Figure 13 Board 2 after receiving the CoAP command If using the CON message the requester board will receive a response, while if the message is a NON type it will not have the response.   When using this types of messages independently of the package type when sending a message a new session will be open and it will send a NON type of message.
查看全文
KW43 Knowledge Hub The KW43 product family is a low-power, secure, single-chip wireless MCU that integrates a high performance, Bluetooth Low Energy, Bluetooth Channel Sounding, EdgeLock Secure Accelerators, and various MCU peripherals targeted for Automotive applications. The KW43 family utilizes an Arm® Cortex®-M33 core (Armv8-M architecture) running up to 96 MHz for customer applications. The family includes memory configurations of up to 1.5MB flash and 256 KB SRAM across all listed part numbers. All devices in the family integrate a state-of-the-art, scalable security architecture including Arm’s TrustZone®-M, a resource domain controller and an isolated EdgeLock Secure Accelerators supporting hardware cryptographic accelerators, random number generators and key generation, storage, and management along with secure debug. All members of the KW43 family are designed to be compliant to a SESIP Level 3 certification following the Arm PSA Level 3 profile. KW43 uses dual Arm Core Cortex-M33 (‘CM33’) and supports multiple interfaces and security features. One is for application and system use and other is for radio link layer and both cores share a common flash of 1.5 MB. The devices include a full certified Bluetooth LE 6.x controller stack with support for up to 10 simultaneous connections in any controller/peripheral combination. The multiprotocol radio subsystem integrated in the KW43 Family is energy efficient and is designed for Wi-Fi coexistence. The radio is supported with tested software stacks for Bluetooth Low Energy for standalone and hosted applications to enable a range of Automotive, IoT and industrial applications. There is also software and hardware support for 2.4 GHz proprietary protocols. To address ranging requirements, the Localization Engine (LCE) is integrated into the system for enhanced localization performance. The KW43 series is supported by the MCUXpresso Developer Experience to optimize, ease and help accelerate embedded system development. Early access program The KW43 is in pre-production, developers can get started today with the KW45/KW47, which is pin and software compatible.   you can request access contacting NXP sales team - Pascal Bernard ([email protected]) Join KW47 early access program here: KW43 Early Access Training Bluetooth Low energy 6.0 NXP Introduction Interested in Bluetooth technology? Bluetooth® Low Energy Primer – Essential reading for understanding BLE fundamentals. Bluetooth® Specifications – Full list of standards, protocols, and technical documents. Awards and Recognition - Every year, the Bluetooth Special Interest Group (SIG) celebrates the hard work and commitment of working groups, committee members, and contributors who have been recognized by their peers as making a difference in advancing Bluetooth technology.                2024: Channel Sounding              2025: Channel sounding amplitude-based attack resilience, LE test mode enhancements and Ranging profile and service.  Bluetooth AI Assistant - Amber Bluetooth Feature Overview Bluetooth_5.0_Feature_Overview  Bluetooth_5.1_Feature_Overview  Bluetooth_5.2_Feature_Overview Bluetooth_5.3_Feature_Overview Bluetooth_5.4_Feature_Overview Bluetooth_6_Feature_Overview Bluetooth_6.1_Feature_Overview Bluetooth_6.2_Feature_Overview Bluetooth_6.3_Feature_Overview Bluetooth Core Specification Core Specification 4.0 Core Specification 4.1 Bluetooth 4.1 FAQ Core Specification 4.2 Bluetooth 4.2 FAQ Core Specification 5.0 Core Specification 5.1 Core Specification 5.2 Core Specification 5.3 Core Specification 5.4 Core Specification 6.0 Core Specification 6.1 Core Specification 6.2 Core Specification 6.3 RF Switch Comparison Absorptive/Reflective Standards Comparison ETSI / FCC / ARIB requirements BLE Channel Sounding  - Overview BLE Channel Sounding - RF Hardware BLE Channel Sounding - ANSYS Modeling Tools  BLE Channel Sounding - Antenna Prototypes Validation Measurements Equipment Wireless Equipment: This article provides the links to the Equipment that helps to the project development  Useful Links How to import and run demo examples with MCUXpresso for Visual Studio Code: This article gives information on how to import and run demo examples from the new SDK with ARM GCC toolchain, in MCUXpresso for Visual Studio Code. [MCUXSDK] How to use GitHub SDK for KW4x, MCXW7x, MCXW2x - NXP Community this community post provides step by step how to use GitHub SDK [MCUXSDK] GitHub SDK - Documentation for Bluetooth LE platforms - NXP Community this community post provides the documentation for BLE platforms.  How to use the HCI_bb on Kinetis family products and get access to the DTM mode:  This article is presenting two parts: How to flash the HCI_bb binary into the Kinetis product. Perform RF measurement using the R&S CMW270 BLE HCI Application to set transmitter/receiver test commands: This article provides the steps to show how user could send serial commands to the device. Bluetooth LE HCI Black Box Quick Start Guide: This article describes a simple process for enabling the user controls the radio through serial commands. KW43
查看全文
KW45ナレッジハブ KW45の3コア・アーキテクチャには、96 MHzのCM33アプリケーション・コア、専用のCM3無線コア、分離型のEdgeLockセキュア・エンクレーブが統合されています。専用のSRAMを備えたフラッシュ・ベースの無線コアにより、高度な設定とアップグレードが可能なソフトウェア実装の無線が得られ、メイン・コア上のリソースをお客様のアプリケーション領域に活用できます。 Bluetooth Low Energy 5.3準拠の無線は、最大24のセキュアな同時接続に対応しています。EdgeLockセキュア・エンクレーブの分離された実行環境は、一連の暗号化アクセラレータ、キー・ストア処理、セキュアなライフサイクル管理を備え、メイン・コアのセキュリティ負荷を最小限に抑えます。 さらに、KW45 MCUにはFlexCANが搭載され、車載用または産業用CAN通信ネットワークへのシームレスな統合を実現できます。FlexCANモジュールは、CANのフレキシブル・データ・レート(CAN FD)に対応でき、帯域幅の拡大とレイテンシの低減に役立ちます。 KW45のブロック図 KW45アーキテクチャブロック図 書類 リファレンス・マニュアル Datasheet Errata Secure Referenceマニュアル** 認証 SESIP認定 SESIP ST PSA認証 RED 認証 欧州連合適合宣言書(EVK) 欧州連合適合宣言書(LOC) 日本MIC KW45-LOC _TELEC-20250221 添付ファイルをご覧ください Bluetooth仕様 Bluetooth_5.0_Feature_Overview  Bluetooth_5.1_Feature_Overview Bluetooth_5.2_機能_概要 Bluetooth_5.3_機能_概要 Bluetooth_5.4_Feature_Overview Bluetooth_6_Feature_Overview 評価ボード KW45 KW45-EVK KW45-EVK回路図 KW45-EVK 設計ファイル KW45-EVKユーザー・マニュアル KW45-LOCユーザーマニュアル KW45-EVKスタート・ガイド アプリケーション・ノート ソフトウェア、ハードウェア、ペリフェラル: AN14122:KW45でのRTCの使用方法 このアプリケーション・ノートでは、BLEデモでRTCペリフェラルを構成および使用する方法について説明します。 AN14141:KW45 Bluetooth Low Energy用接続スタックでウォッチドッグ・タイマ・モジュールを有効にする このアプリケーション・ノートでは、接続スタック・デモにWDOGタイマを実装するプロセスについて説明します。 AN13855:KW45/K32W1でOTAPクライアント・サービスをBluetooth LEペリフェラル機器に統合する このアプリケーション・ノートでは、Over the Air Programming(OTAP)クライアント・サービスをBLEペリフェラル機器に統合するステップとプロセスを説明します。 AN13584:Kinetis KW45およびK32W1ロードプル・レポート このアプリケーション・ノートでは、ロードプル特性での測定方法と関連する結果について説明します。 AN13860:OTAPツールを使用してKW45/K32W1にファームウェアの更新イメージを作成する このアプリケーション・ノートでは、OTAPを使ってKW45ボードでイメージを作成および更新するステップについて説明します。 AN14077:KW45(1MB)からKW45(512kB)に移行するステップ このアプリケーション・ノートでは、1MBフラッシュから512kBフラッシュへの移行に必要な初期ステップについて説明します。 電力管理: AN13230:Kinetis KW45およびK32W1 Bluetooth LEの電力消費分析 このアプリケーション・ノートでは、KW45ワイヤレスMCUの電力消費、ハードウェアの設計、低電力動作向けの最適化に関する情報を紹介します。 AN13831:KW45/K32W1電力管理ハードウェア このアプリケーション・ノートでは、KW45/K32W1 MCUで電力管理専用の各種モジュールの使用方法について説明します。 RF: AN13687:K32W1による802.15.4アプリケーションの接続テスト このアプリケーション・ノートでは、K32W1 802.15.4のRF性能を実行するために接続テスト・ツールを使用する方法について説明します。 AN13728:KW45 RFシステムでのBluetooth LEおよびIEEE 802.15.4アプリケーションの評価レポート このアプリケーション・ノートでは、BLE(2FSK変調)およびIEEE 802.15.4(OQPSK変調)でKW45ボードを使用する場合の無線周波数(RF)評価テストの結果を報告します。テストの実行時に使用可能なセットアップとツールについても説明します。 AN14098:KW45-LOC RFテスト・レポート このアプリケーション・ノートでは、KW45B41Zローカライゼーション・ボードの基本的なRFテストの結果を報告します。  AN13228:KW45-EVK RFシステムでのBLEアプリケーションに関する評価レポート このアプリケーション・ノートでは、2つの周波数シフト・キー変調を用いて、BLEアプリケーションでKW45B41Z-EVKを使用する場合のRF評価テストの結果を報告します。 AN13229:BLEアプリケーションで、KW45-EVKとRFシステムの共存に関する評価レポート このアプリケーション・ノートでは、KW45B41Z-EVKをBLEアプリケーション(2FSK変調)で使用する場合のRF評価テストの結果を報告します。 AN13512:Kinetisワイヤレス・ファミリ製品のBLEとWi-Fiアプリケーションとの共存 このアプリケーション・ノートでは、K32W1/4X低エネルギー製品のWi-Fi信号に対する耐性、およびWi-Fiとの共存状態の改善方法を取りあげます。  セキュリティ: AN13859:KW45/K32W1システム内プログラミング(ISP)ユーティリティ このアプリケーション・ノートでは、ISPモードでKW45/K32W1 MCUを起動するステップと、MCUと通信するために多様なシリアル接続を確立するステップについて説明します。 AN1403:量産時に、シリアル・ワイヤ・デバッグ(SWD)を介してアプリケーションと無線ファームウェア用にKW45フラッシュをプログラミングする このアプリケーション・ノートでは、量産時にSWDを介して必要なすべての設定を書き込み、焼き込み、プログラミングするステップについて説明します。  AN13883:SPSDKを使用してISP経由でKW45無線ファームウェアを更新する このアプリケーション・ノートでは、ISPモードでKW45/K32W1 MCUを起動するステップと、セキュア・バイナリで無線ファームウェアを更新するステップを説明します。 AN14109:SECツールを使用してKW45およびK32W148セキュアにブートするこのアプリケーション・ノートでは、SEC GUIツールで署名済みイメージとセキュア・バイナリを使用して、KW45/K32W1 MCUをセキュアにブートするステップを説明します。 AN13838:SPSDKコマンド・ライン・ツールを使用してKW45およびK32W148をセキュアにブートする このアプリケーション・ノートでは、SPSDKコマンド・ライン・ツールで署名済みイメージとセキュア・バイナリを使用して、KW45/K32W1 MCUをセキュアにブートするステップを説明します。 AN13931:KW45およびK32W148でのライフサイクルを管理する このアプリケーション・ノートでは、SEC GUIとSPSDKコマンド・ライン・ツールを使用してKW45/K32W1 MCUのライフサイクルを移行するステップを説明します。  AN14174:NPXを使用して、KW45/K32W148のフラッシュ暗号化を実行する このアプリケーション・ノートでは、KW45/K32W1 MCUでオンザフライ暗号化を有効にするステップを説明します。 AN14158:KW45/K32W148で認証をデバッグするこのアプリケーション・ノートでは、フィールドでアプリケーションをセキュアにデバッグするためにデバッグ認証を実行する方法を説明します。  AN14544:MPUおよびMCU向けのEdgeLock 2GOサービス このアプリケーション・ノートでは、NXPデバイス向けのEL2GOサービスを紹介します。このサービスにより信頼できない環境でも信頼できる形でデバイスをプロビジョニングできます。  サポート KW45に関して疑問点がある場合は、ワイヤレスMCUコミュニティ(こちら)に質問を投稿しましょう! 便利なリンク リファレンスデザイン - NXP Community [MCUXSDK]KW4x、MCXW7x、MCXW2xにGitHub SDKを使用する方法 - NXPコミュニティ GitHub SDKの使用方法をステップ別に紹介しています。 [MCUXSDK]GitHub SDK - Bluetooth LEプラットフォームのドキュメント - NXPコミュニティ BLEプラットフォーム用ドキュメントを提供しています。  KW45/KW47/MCXW71/MCXW72でのSignal Frequency Analyzer(SFA)モジュールを使用したクロック測定 - NXPコミュニティ:このコミュニティでは、Signal Frequency Analyzerの使用方法に関する手順を提示しています。 KW45(自動車)またはK32W1/MCXW71(IoT/産業)で初めてPCBを適切に構築する最良の方法... コミュニティ : KW45またはK32W148、およびMCXW7を使用してPCBを構築するためのリンクと、無線性能、低電力、無線認証(CE/FCC/ICC)に関するあらゆる要素を掲載しています。 HCI_bbをKinetisファミリ製品で使用してDTMモードにアクセスする方法:この記事は次の2つの部分に分かれています。 HCI_bbバイナリを Kinetis製品へフラッシュする方法。 R&S CMW270を使用してRF測定を行う BLE HCIアプリケーションによるトランスミッタ/レシーバテストコマンドの設定:この記事では、ユーザーはどのようにすればシリアルコマンドをデバイスに送信できるかを示す手順を説明します。 Bluetooth LE HCI Black Boxクイックスタートガイド:この記事では、ユーザーが無線をシリアルコマンドで制御できるようにするためのシンプルなプロセスを説明します。 Kinetis(K32/38/KW45およびK32W1/MCXW71)パワー・プロファイル・ツール:Kinetis(KW35/KW38/KW45)およびMCX W7x(MCX W71)パワー・プロファイル・ツールに的を絞ったページです。お使いのアプリケーション(自動車またはIoT)での電力消費量を試算したり、ソリューションのバッテリ寿命を評価したりするのに役立ちます。 KW45/K32W1 32MHzおよび32kHzの発振余裕度:この記事では、回路の発振余裕度の適切な構成について説明しています。 KW45ベースのCSの1対多デモ NXP - チャネル・サウンディング   トレーニング BLE Introduction  RFスイッチの比較 吸収型と反射型 規格の比較 ETSI/FCC/ARIB要件 BLEチャネルサウンディング - 概要 BLEチャネル・サウンディング - RFハードウェア BLEチャネル・サウンディング - ANSYSモデリング・ツール BLEチャネル・サウンディング - アンテナのプロトタイプの検証測定 機器 ワイヤレス機器:この記事には、プロジェクト策定に役立つ機器へのリンクが掲載されています。 開発ツール  SDKビルダ: MCUXpresso SDKは、オープンソースのドライバ、ミドルウェア、リファレンス例のアプリケーションを提供し、ソフトウェア開発を加速させます。 SDK GitHub:GitHubで公開されているSDKのオープンソースのドライバ、ミドルウェア、リファレンス例 NXP MCUXpresso:MCUXpresso IDEは高度な編集、コンパイル、デバッグ機能を提供し、MCU固有のデバッグ機能も追加されています。すべての汎用Arm Cortex-Mとの接続をサポートします。 NXP SPSDK:信頼性が高く使いやすいPython SDK統合ライブラリです。NXP MCUポートフォリオ全体で動作するので、お客様のクイックプロトタイピングから本番環境デプロイまで対応する強力な基盤となります。 NXP SECツール:GUIベースのアプリケーションMCUXpresso Secure Provisioning Toolは、NCP MCUデバイスのブータブル実行ファイルの生成とプロビジョニングをシンプル化するものです。 NXP OTAP Tool:ユーザーがNXP開発ボードのOver-the Air)ファームウェア・アップデートを実行するのに役立つアプリケーションです。 Config Tool: 構成ツールの統合スイート「MCUXpresso Config Tools」を利用すると、開発者はカスタムSDKをすばやく構築したり、ピン、クロック、ペリフェラルを利用して初期化Cコードを生成したり、カスタム・ボード・サポート用の値を登録したりできます。 ワイヤレスMCU用のSDKの例:ワイヤレスの例では、多くの一般的なBluetooth構成を取りあげています。 **セキュア・ファイルには追加のアクセス権をリクエストする必要があります。  ハンズオン・トレーニング 製品: K32W1 プロトコル:802.15.4 プロトコル:BLE→コネクティビティ プロトコル:Bluetooth プロトコル:Matter プロトコル:Thread プロトコル:Zigbee
查看全文
KW45 Knowledge Hub KW45’s three-core architecture integrates a 96 MHz CM33 application core, dedicated CM3 radio core and an isolated EdgeLock Secure Enclave. The Flash-based radio core with dedicated SRAM delivers a highly configurable and upgradeable software-implemented radio, freeing resources on the main core for customer application space. The Bluetooth Low Energy 5.3-compliant radio supports up to 24 simultaneous secure connections. The EdgeLock Secure Enclave’s isolated execution environment provides a set of cryptographic accelerators, key store operations and secure lifecycle management that minimizes main core security responsibilities. The KW45 MCU additionally integrates FlexCAN, helping enable seamless integration into an automobile’s in-vehicle or industrial CAN communication network. The FlexCAN module can support CAN’s flexible data rate (CAN FD) for increased bandwidth and lower latency. KW45 Block Diagram KW45 Architecture Block Diagram Documents Reference Manual Datasheet Errata Secure Reference manual** Security Certifications  SESIP Level 2 Cert SESIP Level 2 ST PSA Level 2 Certification Regulatory Certifications RED Certification EUROPEAN UNION DECLARATION OF CONFORMITY (EVK) EUROPEAN UNION DECLARATION OF CONFORMITY (LOC) Japan MIC KW45-LOC _TELEC-20250221 Bluetooth Qualifications Qualified Products | Bluetooth® Technology Website Qualification Workspace - KW45/MCX W71 Bluetooth IInterested in Bluetooth technology? Bluetooth® Low Energy Primer – Essential reading for understanding BLE fundamentals. Bluetooth® Specifications – Full list of standards, protocols, and technical documents. Awards and Recognition - Every year, the Bluetooth Special Interest Group (SIG) celebrates the hard work and commitment of working groups, committee members, and contributors who have been recognized by their peers as making a difference in advancing Bluetooth technology, like NXP! 2024: Channel Sounding 2025: Channel sounding amplitude-based attack resilience, LE test mode enhancements and Ranging profile and service.  Bluetooth AI Assistant - Amber   Bluetooth Feature Overview Bluetooth_5.0_Feature_Overview  Bluetooth_5.1_Feature_Overview  Bluetooth_5.2_Feature_Overview Bluetooth_5.3_Feature_Overview Bluetooth_5.4_Feature_Overview Bluetooth_6_Feature_Overview Bluetooth_6.1_Feature_Overview Bluetooth_6.2_Feature_Overview Bluetooth_6.3_Feature_Overview Bluetooth Core Specification Core Specification 4.0 Core Specification 4.1 Bluetooth 4.1 FAQ Core Specification 4.2 Bluetooth 4.2 FAQ Core Specification 5.0 Core Specification 5.1 Core Specification 5.2 Core Specification 5.3 Core Specification 5.4 Core Specification 6.0 Core Specification 6.1 Core Specification 6.2 Core Specification 6.3 Evaluation boards KW45 KW45-EVK KW45-EVK Schematic KW45-EVK Design Files KW45-EVK User manual KW45-LOC User manual KW45-EVK Getting Started Application Notes Software, Hardware and Peripherals: AN14122 : How to use RTC on KW45 This application note describes how to configure and use the RTC peripheral in a BLE demo AN14141 : Enabling Watchdog Timer Module on KW45 Bluetooth Low Energy Connectivity Stack This application note describes the process to implement the WDOG timer in a Connectivity Stack demo. AN13855 : KW45/K32W1 Integrating the OTAP Client Service into a Bluetooth LE Peripheral Device This Application note provides the steps and process for integrating the Over the Air Programming Client Service into a BLE peripheral device. AN13584 : Kinetis KW45 and K32W1 Loadpull Report This application note describes measurement methodology and associated results on the load-pull characteristics. AN13860 : Creating Firmware Update Image for KW45/K32W1 using OTAP tool This application note provides the steps to create and upgrade the image on the KW45 board via OTAP. AN14077 : Steps to migrating KW45 (1MB) to KW45 (512kB) This application note describes the initial steps require to migrate from 1MB flash to 512kB flash. AN14746 : EEPROM Emulation for the KW45B41Z and K32W148 This document describes the process for the EEPROM emulation for the KW45B41Z and K32W148. AN14298 32kHz Cystal-Less Mode on KW45: This application note provides information on the 32 kHz Crystal-less mode on the KW45 device. This mode allows you to reduce the cost of the system, without compromising the 32 kHz clock accuracy.  AN13227 Hardware Design Considerations for KW45B41Z and K32W148 Bluetooth LE Devices: This application note describes printed-circuit board (PCB) design considerations for the KW45B41Z83AFTA, and KW45B41Z82AFTA and K32W1480VFTAT MKW35A, MKW36A, MKW35Z, and MKW36Z 40-pin HVQFN (6x6) and 48-pin Laminated QFN (HVLQFN-7x7 pitch 0.5 mm) wettable flank) package and KW45B41Z83AFPA and KW45B41Z82AFPA MKW35A, MKW36A, MKW35Z, and MKW36Z 40-pin HVQFN (6x6) and 40-pin Laminated QFN (HVLQFN-6x6 pitch 0.5 mm) wettable flank) package Power Management: AN13230: Kinetis KW45 and K32W1 Bluetooth LE Power Consumption Analysis This application note provides information about the power consumption of KW45 wireless MCUs, the hardware design and optimized for low power operation. AN13831: KW45/K32W1 Power Management Hardware This application note describes the usage of the different modules dedicated to power management in the KW45/K32W1 MCU. AN14664 Coin cell Hardware Recommendations for Kinetis Bluetooth LE Applications: This document describes some hardware and software solutions to minimize the peaks of current at the coin cell level RF: AN13687 : K32W1 Connectivity test for 802.15.4 Application This application note describes how to use the connectivity test tool to perform K32W1 802.15.4 RF performance. AN13728 : KW45 RF System Evaluation Report for Bluetooth LE and IEEE 802.15.4 Applications This application note provides the radio frequency evaluation test results of the KW45 board for BLE (2FSK modulation) and for IEEE 802.15.4 (OQPSK modulation) applications. Also describes the setup and tools that can be used to perform the tests.  AN14098: KW45-LOC RF Test Report This application note provides basic RF test result of the KW45B41Z localization board.  AN13228 : KW45-EVK RF System Evaluation Report for BLE Applications This application note provides the RF evaluation test result of the KW45B41Z-EVK for BLE application using two frequency Shift Keying modulation. AN13229 : KW45-EVK Co-existence with RF System Evaluation Report for BLE application This application note provides the RF evaluation test results of the KW45B41Z-EVK for BLE application (2FSK modulation) AN13512 : Kinetis Wireless Family Products BLE Coexistence with Wi-Fi Application This application note provides the K32W1/4X low energy family products immunity on Wi-Fi signals and methods to improve coexistence with Wi-Fi  AN14294 : Out of Band Implementation with KW45 This document explains the steps required to set up an Out of Band (OOB) pairing connection between two KW45 EVK boards, using UART and CAN communication interfaces to share OOB data. AN2731 Compact Planar Antennas for 2.5GHz Communication: This document is not an exhaustive inquiry into antenna design. It is instead focused on helping the customers understand enough board layout and antenna basics to select a correct antenna type for their application, as well as avoiding typical layout mistakes that cause performance issues that lead to delays AN14645 How to Use Random Static Device Address for Bluetooth Application: This document introduces how to enable Random Static Device Address for a Bluetooth Low Energy application. The default device address type in the SDK is Public Device Address. AN14112 Car Connectivity Consortium (CCC) Digital Key R3 - Bluetooth LE Vehicle Keyless Access System: This document provides a hardware and software platform to implement a simple CCC Digital Key Release 3.0 system. The hardware and software components of this system allow the user to get familiar with the CCC Digital Keys R3 specification and how it can be implemented using NXP products and tools. AN13953 Integrating NFC Reader Library in a KW4X Bluetooth Low Energy Application:  This document gives instructions on how to create a Bluetooth Low Energy (Bluetooth LE) project for the EVK-KW45 development board and MCUXpresso IDE, and how to integrate NFC Reader Library. AN13049 Wi-Fi/Bluetooth/802.15.4 M.2 Key E Pinout Definition: This document defines M.2 usage for both NXP Wi-Fi/Bluetooth and Tri-Radio M.2 module design Security: AN13859 : KW45/K32W1 In-System Programming Utility This application note provides steps to boot KW45/K32W1 MCU in ISP mode and establish various serial connections to communicate with the MCU. AN14003 : Programming the KW45 Flash for Application and Radio Firmware via Serial Wire Debug during mass production This application note describes the steps to write, burn and programming all the necessary settings via SWD in mass production.  AN13883 : Updating KW45 Radio Firmware Via ISP Using SPSDK This application note provides steps to boot KW45/K32W1 MCU in ISP mode and update the radio firmware with secure binary. AN14109 : KW45 and K32W148 Secure  Boot Using the SEC Tool This application note provides steps to do secure boot KW45/K32W1 MCU using signed images and secure binaries on the SEC GUI tool. AN13838 :  KW45 and K32W148 Secure  Boot Using the SPSDK Command line Tool This application note provides steps to do secure boot KW45/K32W1 MCU using signed images and secure binaries on the SPSDK command line tool. AN13931 : Managing Lifecycles on KW45 and K32W148 This application note provides steps to do transition lifecycles KW45/K32W1 MCU using the SEC GUI and SPSDK command line tools.  AN14158: Debug Authentication on KW45/ K32W148 This application note describes how to do debug authentication to securely debug an application in the field.  AN14544 : EdgeLock 2GO Services for MPU and MCU This application note introduces the EL2GO services for NXP devices. This allows trust provisioning of the device in an untrusted environment.  AN14174: KW45/K32W1 Flash Encryption using NPXThis application note provides steps to do enable on-the-fly encryption on KW45/K32W1 MCU. AN14158: debug authentication on KW45/K32W148 This application note describes the steps for debug authentication using the Secure Provisioning SDK tool (SPSDK). AN15038 EdgeLock 2GO Provisioning MCUs via Product Type using Secure Provisioning (SEC) Tool:  This document offers an outline of the EdgeLock 2GO platform and discusses the "Device provisioning via product type" flow. The document focuses on the initial device provisioning using secure objects from the EdgeLock 2GO cloud server. AN14670  EdgeLock 2GO Provisioning via SPSDK for MCUs: This document offers an outline of the EdgeLock 2GO platform and discusses the “Device provisioning via proxy” flow. The document focuses on the initial device provisioning using secure objects from the EdgeLock 2GO cloud server.  AN14624 EdgeLock 2GO Provisioning via Secure Provisioning Tool (SEC) for MCUs: This document offers an outline of the EdgeLock 2GO platform and discusses the "Device provisioning via proxy" flow. Useful Links [MCUXSDK] How to use GitHub SDK for KW4x, MCXW7x, MCXW2x - NXP Community this community post provides step by step how to use GitHub SDK [MCUXSDK] GitHub SDK - Documentation for Bluetooth LE platforms - NXP Community this community post provides the documentation for BLE platforms.  Clock Measuring using the Signal Frequency Analyzer (SFA) module for KW45/KW47/MCXW71/MCXW72 - NXP Community : this community provides the steps on how to use the Signal Frequency Analyzer  The best way to build a PCB first time right with KW45 (Automotive) or K32W1/MCXW71 (IoT/Industrial)... Community : In this community provides the important link to build a PCB using a KW45 or K32W148 and MCXW71 and all concerning the radio performances, low power and radio certification (CE/FCC/ICC) How to use the HCI_bb on Kinetis family products and get access to the DTM mode:  This article is presenting two parts: How to flash the HCI_bb binary into the Kinetis product. Perform RF measurement using the R&S CMW270 BLE HCI Application to set transmitter/receiver test commands: This article provides the steps to show how user could send serial commands to the device. Bluetooth LE HCI Black Box Quick Start Guide : This article describes a simple process for enabling the user controls the radio through serial commands. Kinetis (../45/47/43;MCX W71/72/70) & MCX W23 Power Profile Tools (including Localization):  This page is dedicated to the Kinetis (KW35/KW38/KW45/KW47/KW43) and MCX W7x (MCX W71/W72/W70) Power Profile Tools. It will help you to estimate the power consumption in your application (Automotive or IIoT) and evaluate the battery lifetime of your solution. KW45/K32W1 32MHz & 32kHz Oscillation margins: this article provides the properly configuration for the Oscillation margins for the circuit. KW45/MCXW71 Changing Clocking peripherals from FRO6M to other clock sources:  This article provides a comprehensive guide to selecting and configuring alternative clock sources   Reference Designs Bluetooth Ranging Access Vehicle Enablement System - NXP Community Blue Ravens (Bluetooth Ranging Access Vehicle Enablement System) is a system solution developed by NXP to assist customers in designing their own BLE-based car access solutions using NXP products. Demo (video) KW45 Based CS 1 to Many Demo NXP - Channel Sounding   Training BLE Introduction  RF Switch Comparison Absorptive/Reflective Standards Comparison ETSI / FCC / ARIB requirements BLE Channel Sounding  - Overview BLE Channel Sounding - RF Hardware BLE Channel Sounding - ANSYS Modeling Tools  BLE Channel Sounding - Antenna Prototypes Validation Measurements     Equipment Wireless Equipment: This article provides the links to the Equipment that helps to the project development  Development Tools  SDK builder: The MCUXpresso SDK brings open-source drivers, middleware, and reference example application to speed your software development. SDK GitHub: SDK open-source Drivers, middleware and reference examples in Github NXP MCUXpresso: MCUXpresso IDE offers advanced editing, compiling and debugging features with the addition of MCU-Specific debugging. Supports connections with all general-purpose Arm Cortex-M.  NXP SPSDK: Is a unified, reliable, and easy to use Python SDK library working across the NXP MCU portfolio providing a strong foundation from quick customer prototyping up to production deployment. NXP SEC Tool: The MCUXpresso Secure Provisioning Tool us a GUI-based application provided to simplify generation and provisioning of bootable executables on NCP MCU devices. NXP OTAP Tool: Is an application that helps the user to perform an over the air firmware update of an NXP development board. Config Tool: MCUXpresso Config Tools, an integrated suite of configuration tools, these configuration tools allow developers to quickly build a custom SDK and leverage pins, clocks and peripheral to generate initialization C code or register values for custom board support. SDK Examples for Wireless MCUs: The wireless examples feature many common Bluetooth configurations. **For secure files is necessary to request additional access.  KW45
查看全文
KW45 知识中心 KW45 的三核架构集成了一个 96 MHz CM33 应用核心、专用 CM3 无线模块内核和一个隔离的 EdgeLock 安全区域。基于闪存的无线模块内核具有专用 SRAM,可提供高度可配置和可升级的软件实施无线模块,从而将主内核上的资源释放给客户应用空间。 符合低功耗蓝牙 5.3 标准的无线模块最多可同时支持 24 个安全连接。EdgeLock 安全区域的隔离执行环境提供了一套加密加速器、密钥存储操作和安全生命周期管理,最大限度地减少了主要内核安全责任。 KW45 MCU 还集成了 FlexCAN,有助于无缝集成到汽车的车载或工业 CAN 通信网络中。FlexCAN 模块可以支持 CAN 的灵活数据传输速率 (CAN FD),以实现更高带宽和更低延迟。 KW45 方框图 KW45 架构框图 文件 参考手册 Datasheet Errata Secure Reference 手册** 认证 SESIP 认证 SESIP ST PSA认证 RED 认证 欧盟符合性声明 (EVK) 欧盟符合性声明(LOC) 日本 MIC KW45-LOC _TELEC-20250221请参见下方附件 蓝牙规范 蓝牙 5.0 功能概述 蓝牙 5.1 功能概述 蓝牙 5.2 功能概述 Bluetooth_5.3_功能概述 Bluetooth_5.4_功能概述 Bluetooth_6_Feature_Overview 评估板 KW45 KW45-EVK KW45-EVK 原理图 KW45-EVK设计文件 KW45-EVK 用户手册 KW45-LOC 用户手册 KW45-EVK快速入门 应用笔记 软件、硬件和外设: AN14122 :如何在 KW45 上使用 RTC本应用笔记介绍了如何在 BLE 演示中配置和使用 RTC 外围设备 AN14141:在 KW45 低功耗蓝牙连接堆栈中启用看门狗定时器模块 。本应用笔记描述了在连接堆栈演示中实现 WDOG 定时器的过程。 AN13855:将 OTAP 客户端服务集成到 KW45/K32W1 蓝牙 LE 外围设备中 本应用笔记提供了将空中编程客户端服务集成到 BLE 外围设备的步骤和过程。 AN13584:Kinetis KW45 和 K32W1 负载拉动报告 本应用笔记描述了负载拉动特性的测量方法及相关结果。 AN13860:使用 OTAP 工具为 KW45/K32W1 创建固件更新镜像 本应用笔记提供了通过 OTAP 工具在 KW45 开发板上创建并升级镜像的步骤。 AN14077:将 KW45 (1MB) 迁移至 KW45 (512kB) 的步骤  本应用笔记描述了从 1MB 闪存迁移至 512kB 闪存所需的初始步骤。 电源管理: AN13230:Kinetis KW45 和 K32W1 蓝牙低功耗 (BLE) 功耗分析  本应用笔记提供了关于 KW45 无线微控制器 (MCU) 的功耗信息,包括硬件设计及优化以实现低功耗运行。 AN13831:KW45/K32W1 电源管理硬件  本应用笔记描述了在 KW45/K32W1 微控制器中用于电源管理的不同模块的使用方法。 射频: AN13687:K32W1 802.15.4 应用连接性测试 本应用笔记介绍了如何使用连接性测试工具来测试 K32W1 802.15.4 的射频性能。 AN13728:KW45 射频系统评估报告(适用于蓝牙低功耗和 IEEE 802.15.4 应用)本应用笔记提供了 KW45 开发板在蓝牙低功耗(2FSK 调制)和 IEEE 802.15.4(OQPSK 调制)应用中的射频评估测试结果。还描述了可以用于执行测试的设置和工具。  AN14098: KW45-LOC 射频测试报告  本应用笔记提供了KW45B41Z定位板的基本射频测试结果。  AN13228:用于 BLE 应用的 KW45-EVK 射频系统评估报告 本应用笔记提供了 KW45B41Z-EVK 在 BLE 应用中使用二进制频移键控调制的射频评估测试结果。 AN13229:KW45-EVK 与射频系统共存的评估报告(适用于 BLE 应用)本应用笔记提供了 KW45B41Z-EVK 在 BLE 应用(2FSK 调制)中的射频评估测试结果 AN13512:Kinetis 无线产品系列 BLE 与 Wi-Fi 共存应用  本应用笔记介绍了 K32W1/4X 低功耗产品系列对 Wi-Fi 信号的抗干扰能力,并提供了改善与 Wi-Fi 共存的方法  安全性: AN13859:KW45/K32W1 系统内编程工具  本应用笔记提供了在 ISP 模式下启动 KW45/K32W1 微控制器并建立各种串行连接以与微控制器通信的步骤。 AN1403:在批量生产中通过串行线调试(SWD)为KW45闪存编程以应用和无线固件 。本应用笔记详细介绍了在批量生产中通过SWD编写、烧录和设置所有必要参数的步骤。  AN13883: 通过 SPSDK 使用 ISP 更新 KW45 无线电固件  本应用笔记提供了在 ISP 模式下启动 KW45/K32W1 MCU 并使用安全二进制文件更新无线电固件的步骤。 AN14109:使用SEC工具实现KW45和K32W148安全启动 本应用笔记提供了使用 SEC GUI 工具,通过签名镜像和安全二进制文件实现 KW45/K32W1 MCU 安全启动的步骤。 AN13838:KW45 和 K32W148 安全启动使用 SPSDK 命令行工具本应用笔记提供了使用 SPSDK 命令行工具,通过签名镜像和安全二进制文件实现 KW45/K32W1 MCU 安全启动的步骤。 AN13931:KW45 和 K32W148 的生命周期管理 本应用笔记提供了使用 SEC GUI 和 SPSDK 命令行工具来转换 KW45/K32W1 MCU 的过渡生命周期的步骤。 AN14174:KW45/K32W148 使用 NPX 进行闪存加密本应用笔记提供了在 KW45/K32W1 微控制器上启用实时加密的步骤。 AN14158:KW45/K32W148 上的调试认证本应用笔记介绍了如何进行调试认证,以便在现场安全地调试应用程序。  AN14544:EdgeLock 2GO 服务适用于 MPU 和 MCU 本应用笔记介绍了 NXP 设备的 EL2GO 服务。该服务允许在不受信任的环境中为设备进行信任配置。 支持 如果您对 KW45 有任何疑问,请在我们的无线 MCU 社区中留下您的问题!此处 有用链接 参考设计 - NXP 社区 [MCUXSDK] 如何使用 GitHub SDK 适用于 KW4x、MCXW7x、MCXW2x - NXP 社区此社区帖子逐步介绍了如何使用 GitHub SDK [MCUXSDK] GitHub SDK - 蓝牙 LE 平台文档 - NXP 社区此社区帖子提供了 BLE 平台的文档。  使用 KW45/KW47/MCXW71/MCXW72 的信号频率分析仪 (SFA) 模块进行时钟测量 - NXP 社区:该社区提供了如何使用信号频率分析仪的步骤 首次正确构建 PCB 的最佳方式是使用 KW45(汽车)或 K32W1/MCXW71(物联网/工业)... 社区:在此社区中,您可以找到使用 KW45 或 K32W148 和 MCXW71 构建 PCB 的重要链接,所有链接均涉及无线电性能、低功耗和无线电认证 (CE/FCC/ICC) 如何在 Kinetis 系列产品上使用 HCI_bb 并进入 DTM 模式:本文分为两部分: 如何将HCI_bb二进制文件烧录到Kinetis产品中。 使用 R&S CMW270 进行射频测量 BLE HCI 应用程序设置发射机/接收机测试命令:本文提供了相关步骤,展示用户如何向设备发送串行命令。 Bluetooth LE HCI 黑盒快速入门指南:本文介绍了一个简单流程,能让用户通过串行命令控制无线电。 Kinetis (K32/38/KW45 & K32W1/MCXW71)功率配置工具: 此页面专门介绍 Kinetis (KW35/KW38/KW45) 和 MCX W7x (MCX W71) 功率配置工具。它将帮助您估算您的应用程序(汽车或物联网)的功耗,并评估您解决方案的电池寿命。 KW45/K32W1 32MHz 和 32kHz 振荡裕度:本文提供了电路中振荡裕度的正确配置。 基于 KW45 的 CS 1 对多演示NXP - 信道探测   培训 BLE Introduction  射频开关比较 吸收型/反射型 ETSI / FCC / ARIB 标准比较与要求 BLE 信道探测  - 概述 BLE 信道探测 - RF 硬件 BLE 信道探测 - ANSYS 建模工具 BLE 信道探测 - 天线原型验证测量 设备 无线设备: 本文提供了有助于项目开发的设备链接  开发工具  SDK 构建器: MCUXpresso SDK 提供开源驱动程序、中间件和参考示例应用程序,以加快软件开发。 SDK GitHub:SDK 开源驱动程序、中间件和参考示例在 GitHub 上。 NXP MCUXpresso: MCUXpresso 集成开发环境 (IDE) 提供了高级编辑、编译和调试功能,并增加了 MCU 专用的调试功能。支持与所有通用 Arm Cortex-M 的连接。  NXP SPSDK:是一个统一、可靠且易于使用的Python SDK库,适用于 NXP MCU 产品组合,为客户快速制作原型到生产部署提供坚实的基础。 NXP SEC工具: MCUXpresso安全配置工具是一款基于 GUI 的应用程序,用于简化在 NCP MCU 设备上生成和配置可启动的可执行文件。 NXP OTAP Tool: 是一款帮助用户对 NXP 开发板执行空中固件更新的应用程序。 配置工具: MCUXpresso 配置工具是一套集成的配置工具套件,这些工具允许开发人员快速构建自定义 SDK,并利用引脚、时钟和外设生成初始化 C 代码或自定义板支持的寄存器值。 无线 MCU 的 SDK 示例: 这些无线示例包含许多常见的蓝牙配置。 **对于安全文件,必须请求额外的访问权限。  动手实践培训 产品:K32W1 协议:802.15.4 协议:BLE -> 连接性 协议:蓝牙 协议:Matter 协议:Thread 协议:Zigbee
查看全文
FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC Dear All In the download page https://www.nxp.com/design/design-center/software/development-software/freemaster-run-time-debugging-tool:FREEMASTER There is the package pberna67_1-1790030347425.png However if you click the Download button, no download stats.  I need to support LPC1766, but it seams it is not supported by version 3 (strange because the Driver is indicated), but still I don't see any driver in version V2 for LPC1766 Thanks Paolo Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC Dear Michael Thanks for your fast replay! I'm already using Jlink/MCU Link and MCU Link2 without any driver, to read/write variables, however I would like to add also the Application Command management (nothing more than that). I don't need any support of USB/UART/CAN ect... interface support. " The "dreg" directory then contains drivers which do not depend on the SDK at all. The "dreg" drivers use a direct register access instead - this is basically what you need, but unfortunately again, the legacy LPC is not in the list." With this additional limitations, do you think that  dreg directory contents  is enough  for me ? I read  that V2 version the driver should support also LPC1766. Is it true ? Can you send me this driver? Thanks Paolo Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC Dear Paolo, the link you used to get the FreeMASTER driver is correct.  Unfortunately, this driver only supports the newer devices supported by NXP MCUXpresso SDK. The LPC1766 is not supported by the SDK. There are two options for you when using LPC1766: - Use FreeMASTER over JTAG (Segger J-Link or LPCLink2/CMSIS-DAP) - This will enable you to inspect and control variables. No communication driver is needed, FreeMASTER accesses the memory while the MCU is running. - Get the driver for a different part and port it to LPC1766. See more details below: The reason for the SDK dependency is that the FreeMASTER driver layers its communication drivers on top of SDK low-level drivers. You can still get the full FreeMASTER "middleware" driver from the SDK builder link when you select one of supported MCUs, such as (e.g. MCXN947). After downloading you will find the FreeMASTER code in the middleware/freemaster directory. Note that there are also other drivers in the FreeMASTER package (in the src/drivers), that might be partially useful to you. The mcuxsdk directory contains the primary drivers based on SDK low-level - you can still look at them to understand how the FreeMASTER driver code is structured. The "dreg" directory then contains drivers which do not depend on the SDK at all. The "dreg" drivers use a direct register access instead - this is basically what you need, but unfortunately again, the legacy LPC is not in the list. We have this kind of drivers for NXP DSC, Kinetis, Power Architecture, S12Z and S32 platforms. Porting this concept to LPC shall be quite straightforward task. Regards, Michal Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC Dear Michael, You convinced me to use the direct JLink SWD connection without the support of your Application Command (so there is no need to port the driver to the LPC1766). However, I just discovered that I also need to support the TSA table. In fact, I want to build a configurator for my product (parameter read/write), but it can happen that the firmware in it changes version. I don't have any display to know that version number, so it is not possible to know in advance which firmware image version is loaded, which means it is not possible to load the right .AXF file in FreeMaster in advance. I need to read the address of the variables from the host processor, so unfortunately I need to port the target driver :(, unless there are other ways to work around this problem. The only doubt I have is that you wrote: "You can see that this simple function operates directly on UART peripheral registers. Porting this to LPC means creating similar functions which operate on the LPC UART module (which is different from the Kinetis one)." I shouldn't need to port any peripheral communication driver (UART, CAN, USB), because I only need to support SWD. Is that correct? Can you elaborate more the porting "path trace" for only this option? Paolo Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC Hello Paolo, no, the V2 driver does not support the LPC. It supports some legacy platforms such as HCS08, HCS12, ColdFire or PowerPC, but not the LPC. If your motivation is just to enable Application Commands, I would suggest that it would be much easier and generally a better solution to change the way how your application is controlled. Application Commands can be easily replaced by picking a few variables into which FreeMASTER writes the control request parameters and use another variable as a "request to process". Once the target application discovers this request variable set, it can process the control command and acknowledge it by resetting the request variable back to zero. This behavior is functionally equal to Application Commands, and it enables to operate over JTAG without any communication driver. To answer your other question: The "dreg" drivers are not directly usable for you. As I wrote, the LPC is not supported, but you can create the port quite easily yourself. If you look at one of UART files such as freemaster_kxx_uart.c, you can find driver functions making atomic UART operations. For example enabling interrupts: You can see, that this simple function operates directly on UART peripheral registers. Porting this to LPC means creating similar functions which operate on LPC UART module (which is different from Kinetis one). Regards, Michal Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC Dear Michael I made the porting of the freemaster_examples/fmstr_example_pdbdm of the lpcxpresso54114 SDK in  the LPC1768 platform using the Keil MCB1700 board . Everything work well. NXP did a very good job, no change in code during the porting activity, it is a very simple task Unfortunately is not possible to attach it the to this forum as .zip file Regards Paolo Thanks and regards
查看全文
FreeMASTER 通信驱动程序 3.0,适用于 i.MX、LPC、Kinetis 和 DSC 各位 在下载页面 https://www.nxp.com/design/design-center/software/development-software/freemaster-run-time-debugging-tool:FREEMASTER 包裹在这里。 pberna67_1-1790030347425.png 但是,如果您点击“下载”按钮,则不会显示下载统计数据。我需要支持 LPC1766,但版本 3 似乎不支持(很奇怪,因为驱动程序明明已经标明了),而且我在版本 2 中仍然找不到 LPC1766 的驱动程序。 谢谢 Paolo Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC 亲爱的迈克尔 感谢您的快速回复! 我目前已经在使用 Jlink/MCU Link 和 MCU Link2,无需任何驱动程序即可读取/写入变量,但我还想添加应用程序命令管理功能(仅此而已)。我不需要任何USB/UART/CAN等接口支持。 “dreg”目录则包含完全不依赖于SDK的驱动程序。“dreg”驱动程序改用直接寄存器访问——这基本上就是你需要的,但不幸的是,传统的LPC不在列表中。 考虑到这些额外的限制,您认为 dreg 目录的内容对我来说足够了吗? 我看到有资料说V2版本的驱动程序也应该支持LPC1766。这是真的吗?你能把这个驱动程序发给我吗? 谢谢保罗 Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC 亲爱的保罗, 您用来获取FreeMASTER驱动程序的链接是正确的。遗憾的是,该驱动程序仅支持 NXP MCUXpresso SDK 支持的较新设备。SDK 不支持 LPC1766。 使用 LPC1766 时,您有两种选择: - 通过 JTAG(Segger J-Link 或 LPCLink2/CMSIS-DAP)使用 FreeMASTER - 这将使您能够检查和控制变量。无需通信驱动程序,FreeMASTER 可在 MCU 运行时访问内存。 - 获取其他部件的驱动程序并将其移植到 LPC1766。更多详情请见下文: 之所以存在 SDK 依赖关系,是因为 FreeMASTER 驱动程序将其通信驱动程序构建在 SDK 底层驱动程序之上。当您选择支持的 MCU 之一时,例如(例如),您仍然可以从 SDK 构建器链接获取完整的 FreeMASTER“中间件”驱动程序。MCXN947)。下载完成后,您将在 中间件/freemaster 目录中找到 FreeMASTER 代码。 请注意,FreeMASTER 软件包(位于 src/drivers 中)中还有其他驱动程序,这些驱动程序可能对您部分有用。mcuxsdk 目录包含基于 SDK 底层的主要驱动程序 - 您仍然可以查看它们以了解 FreeMASTER 驱动程序代码的结构。“dreg”目录则包含完全不依赖于SDK的驱动程序。“dreg”驱动程序使用直接寄存器访问——这基本上就是你需要的,但不幸的是,传统的LPC不在列表中。我们有适用于 NXP DSC、Kinetis、Power Architecture、S12Z 和 S32 平台的此类驱动程序。将这个概念移植到LPC应该是一项相当简单的任务。 问候, 米哈尔 Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC 亲爱的迈克尔: 你说服我使用直接的 JLink SWD 连接,而不需要你的应用程序命令的支持(因此无需将驱动程序移植到 LPC1766)。然而,我刚刚发现我还需要支持 TSA 表格。事实上,我想为我的产品构建一个配置器(参数读取/写入),但其中的固件版本可能会发生变化。我没有显示版本号,因此无法预先知道加载的是哪个固件映像版本,这意味着无法预先在 FreeMaster 中加载正确的 .AXF 文件。我需要从主机处理器读取变量的地址,所以很遗憾,我需要移植目标驱动程序 :(,除非有其他方法可以解决这个问题。 我唯一的疑问是,你写道: “可以看到,这个简单的函数直接操作 UART 外设寄存器。将此移植到 LPC 意味着创建类似的功能,这些功能在 LPC UART 模块上运行(该模块与 Kinetis 的 UART 模块不同)。 我不需要移植任何外围通信驱动程序(UART、CAN、USB),因为我只需要支持 SWD。是这样吗?能否详细说明一下仅针对此选项的移植“路径跟踪”? 保罗 Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC 你好,保罗, 不,V2驱动程序不支持LPC。它支持一些旧平台,如 HCS08、HCS12、ColdFire 或 PowerPC,但不支持 LPC。 如果你的动机仅仅是启用应用程序命令,我建议改变应用程序的控制方式会更容易,通常也是更好的解决方案。可以通过选择几个变量来轻松替换应用程序命令,FreeMASTER 会将控制请求参数写入这些变量,并使用另一个变量作为“要处理的请求”。一旦目标应用程序发现此请求变量集,它就可以处理控制命令,并通过将请求变量重置为零来确认该命令。这种行为在功能上等同于应用程序命令,它允许在没有任何通信驱动程序的情况下通过 JTAG 进行操作。 关于你的另一个问题:你无法直接使用“dreg”驱动程序。正如我之前所说,LPC 不受支持,但您可以很轻松地自己创建端口。如果你查看像 freemaster_kxx_uart.c 这样的 UART 文件,你会发现驱动程序函数可以执行原子 UART 操作。例如,启用中断: 您可以看到,这个简单的函数直接操作 UART 外设寄存器。将其移植到 LPC 意味着创建在 LPC UART 模块(与 Kinetis UART 模块不同)上运行的类似功能。 问候, 米哈尔 Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC 亲爱的迈克尔 我使用 Keil MCB1700 板将 lpcxpresso54114 SDK 的 freemaster_examples/fmstr_example_pdbdm 移植到了 LPC1768 平台上。一切运转良好。NXP做得非常好,移植过程中代码没有做任何改动,这是一项非常简单的任务。 很遗憾,无法将其以 .zip 格式附加到此论坛。文件 问候 保罗 谢谢,此致敬礼。
查看全文
FreeMASTER Communication Driver 3.0 for i.MX、LPC、Kinetis、DSC 親愛なるみんな ダウンロードページで https://www.nxp.com/design/design-center/software/development-software/freemaster-run-time-debugging-tool:FREEMASTER パッケージが pberna67_1-1790030347425.png しかし、ダウンロードボタンをクリックしても、ダウンロード統計は表示されません。LPC1766をサポートする必要がありますが、バージョン3ではサポートされていないようです(ドライバが示されているのに不思議です)。それでもバージョンV2にはドライバが見当たりませんLPC1766 ありがとうございます パオロ Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC 親愛なるパオロ、 FreeMASTERドライバーを入手するために使ったリンクは正しいです。残念ながら、このドライバーはNXP MCUXpresso SDKでサポートされる新しいデバイスのみに対応しています。このLPC1766はSDKでサポートされていません。 LPC1766を使用する際には、以下の2つの選択肢があります。 - JTAG (Segger J-Link または LPCLink2/CMSIS-DAP) を介して FreeMASTER を使用する - これにより、変数を検査および制御できるようになります。通信ドライバは不要で、FreeMASTERはMCUが稼働中もメモリにアクセスします。 - ドライバーを別の部品に取り寄せて、LPC1766に移植する。詳細は下記をご覧ください。 SDK依存の理由は、FreeMASTERドライバーが通信ドライバーをSDKの低レベルドライバーの上に重ねているからです。サポートするMCUのいずれかを選択すると、SDKビルダーリンクからFreeMASTERのフル「ミドルウェア」ドライバーを入手できます。例えば(例:MCXN947)。ダウンロード後、FreeMASTERのコードはmiddleware/freemasterディレクトリにあります。 FreeMASTERパッケージ(src/drivers)には他にも、あなたにとって役立つ可能性のある他のドライバーも含まれます。mcuxsdkディレクトリにはSDKの低レベルに基づくプライマリドライバーが入っていますが、FreeMASTERのドライバーコードの構造を理解するためにも確認できます。「dreg」ディレクトリにはSDKに依存しないドライバーが含まれています。「デレッグ」ドライバは代わりにダイレクトレジスタアクセスを使っています。これは基本的に必要なものですが、残念ながらレガシーLPCはリストに含まれていません。NXP DSC、Kinetis、Power Architecture、S12Z、S32プラットフォーム向けのこのようなドライバーがあります。この概念をLPCに移植するのは非常に簡単な作業となるだろう。 よろしくお願いいたします。 ミハル Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC マイケル様 迅速なご返信ありがとうございます! 私はすでにJlink/MCU LinkとMCU Link2をドライバーなしで使って変数の読み書きに使っていますが、アプリケーションコマンドマネジメント(それ以上のものではありません)も追加したいと思っています。USB/UART/CAN などのサポートは必要ありません...インターフェースのサポートです。 「dreg」ディレクトリにはSDKに依存しないドライバーが含まれています。「デレッグ」ドライバは代わりにダイレクトレジスタアクセスを使っています。これは基本的に必要なものですが、残念ながらレガシーLPCはリストに含まれていません。」 これらの追加制限を踏まえて、dregディレクトリの内容だけで十分だと思いますか? V2バージョンのドライバーもLPC1766対応していると読みました。それは本当ですか?このドライバーを送ってもらえますか? ありがとう、パオロ。 Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC こんにちは、パオロさん。 いいえ、V2ドライバーはLPCをサポートしていません。HCS08、HCS12、ColdFire、PowerPCなどの一部のレガシーなプラットフォームをサポートしていますが、LPCはサポートしていません。 もし単にアプリケーションコマンドを有効にしたいだけなら、アプリケーションの制御方法を変える方がずっと簡単で一般的により良い解決策だと思います。アプリケーションコマンドは、FreeMASTERが制御リクエストパラメータを書き込む変数をいくつか選び、別の変数を「処理リクエスト」として使うことで簡単に置き換えられます。ターゲットアプリケーションがこのリクエスト変数セットを検出すると、制御コマンドを処理し、リクエスト変数をゼロに戻して確認できます。この動作は機能的にアプリケーションコマンドと同等であり、通信ドライバなしでJTAG上で動作することを可能にします。 もう一つの質問に答えると、「ドレッグ」ドライバは直接使えるものではありません。前述の通り、LPCはサポートされていませんが、自分で簡単にポートを作成できます。freemaster_kxx_uart.cのようなUARTファイルを見ると、原子的なUART操作を行うドライバ関数が見つかります。例えば、割り込みを有効にする場合: この単純な関数はUART周辺レジスタ上で直接動作していることがわかります。これをLPCに移植するには、LPC UARTモジュール(Kinetis Oneとは異なる)上で動作する類似の関数を作成する必要があります。 よろしくお願いいたします。 ミハル Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC 親愛なるマイケルへ、 あなたのために、Application Commandのサポートなしで直接JLink SWD接続を使うよう説得されました(つまり、ドライバーをLPC1766に移植する必要はありません)。しかし、最近気づいたのはTSAテーブルもサポートしなければならないということです。実は、自分の製品用にコンフィギュレーター(パラメータ読み書き)を作りたいのですが、その中のファームウェアがバージョンを変えてしまうことがあります。バージョン番号を知るためのディスプレイがないため、事前にどのファームウェアイメージバージョンが読み込まれているかを知ることはできず、正しいFreeMasterのAXFファイルを事前に読み込むことはできません。ホストプロセッサから変数のアドレスを読み取る必要があるので、残念ながらターゲットドライバーを:(に移植する必要があります。他にこの問題を回避する方法がない限り。 唯一の疑問は、あなたがこう書いていることです: 「この単純な関数がUARTペリフェラルレジスタに直接動作していることがわかります。これをLPCに移植するには、LPC UARTモジュール(Kinetisとは異なる)上で動作する類似の機能を作る必要があります。」 ペリフェラル通信ドライバ(UART、CAN、USB)を移植する必要はないはずです。なぜならSWDをサポートすれば十分だからです。それは正しいですか?このオプションだけの「パストレース」について、もう少し詳しく教えてもらえますか? パオロ Re: FreeMASTER Communication Driver 3.0 for i.MX, LPC, Kinetis and DSC 親愛なるマイケルへ 私は Keil MCB1700 ボードを使って、lpcxpresso54114 SDK のfreemaster_examples/fmstr_example_pdbdmをLPC1768プラットフォームに移植しました。すべて順調に動作しています。NXPは非常に良い仕事をした。移植作業中にコードの変更は一切なく、非常に簡単な作業だった。 残念ながら、このフォーラムに.zipファイルとして添付することはできません。ファイル よろしくお願いいたします パオロ ありがとうございます。
查看全文
促销优惠券 您好, 为什么我的促销优惠券“ADCWFBXT”对FRDM-MCXN236无效? 普拉莫德·乔格卡 [email protected] 开发板 FRDM 培训 Re: PROMO Coupon 连我都无法使用FRDM-MCXN236 的促销优惠券。 Re: PROMO Coupon 请注意,优惠券 ADCWFBXT 的有效期至 2025 年 12 月 30 日。正如我们网站上所说: FRDM 创新——由我们负责!   祝您今天愉快。 Re: PROMO Coupon FRDM-MCXN236主板还有其他优惠券吗?
查看全文
FRDM-MCXN236にはクーポンは適用されません NXPのウェブサイトでは、この無料ボードを使って始められると宣伝していた。しかし、在庫があるにもかかわらず、クーポンコードがチェックアウト時にまだ使えません。 評価ボード Re: Coupon not valid for FRDM-MCXN236 こんにちは、 PLACEHOLDER7 その場合は、 [email protected] までにショッピングカートチームまでメールをお送りください。 そのチームはオンライン注文を担当しています。 ご理解いただきありがとうございます。 ベッキー
查看全文
LS1046A カスタムデザインHRESET_Bリリースされていません <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 LS1046Aプロセッサーを活用したカスタムデザインを作ろうとしています。(基板設計ではRDBを基準にしていました。)すべての電源レール電圧が正しいことを確認し、電源シーケンスのタイミングを測定したところ、すべてデータシートに記載されている許容範囲内であることが確認されました。私が経験している問題は、プロセッサーをリセットから解除できないことです。測定したところ、プロセッサーがHRESET_B信号を放っていません。リファレンスマニュアルによると、初期化中はプロセッサがこのラインを低く保ち、RCWの読み込みやPLLのロック後はリリースするそうです。RCWにエラーがあるのかと思い、代わりに内蔵のRCW値を使いました。(プロセッサに0x9Eと0x9F RCWの両方を固定しましたが、結果は同じでした。) 今のところ、私は少し途方に暮れています。クロックは納期通りに納品され、スルーレートはすべて仕様範囲内であり、ストラップ値を解放する前に適切な時間保持しています。リファレンスマニュアルには、PBLがエラーに遭遇した場合にRESET_REQ信号を切り替えると書かれていますが、私はそのような現象は見ていません。私の現時点での結論は、PBLが実行されていないということです。これはプロセッサがまだリセット状態にあるサインです。 何か見落としている点があるのでしょうか?次にどこを探せばいいでしょうか?私のタイミングは仕様の範囲内ですが、RDBとは完全に一致しません(ボード上の関連信号をプローブしました)。LS1046の電源シーケンス制御はどの程度敏感ですか? よろしくお願いいたします。 Re: LS1046A Custom Design HRESET_B not released こんにちは、ブライス 正しい方向にするためにどのシーケンスを変更したのか説明してもらえますか?現在、私もカスタムLS1046Aボードで同様の問題に直面しています。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 上記のご回答、ありがとうございました。 最後に、CPLDコードのパワーシーケンスの問題を解決しました。元のコードがこの問題を引き起こしていたため、コードを書き直したところ、問題は解消されました。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> プロセッサ接続の回路図を確認できるように、技術CASEを作成してください。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ハードウェアには、フラッシュメモリから取得したRCWではなく、ハードコードされたRCWを使用するように設定しました。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> RCWが外部フラッシュメモリから読み取られているかどうかを、デジタルオシロスコープを使用して確認してください。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 ご回答ありがとうございます。上記すべてが良好な状態であることを確認しました。ただし、最後の点について一つ質問があります。これは電源投入リセットシーケンスを完了するために必要な手順なのでしょうか?先ほど述べたように、RESET_REQ信号を観測できないため、PBLの実行はできないと考えています。SerDesリファレンスクロックは、PBLを実行するために必須ですか、それともPBLがシステムをセットアップしている段階で必要になりますか? よろしくお願いします。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 最初の確認段階として、以下を点検してください。 1) QorIQ LS1046A、LS1026Aデータシートの表1の注記に明示的に記載されているすべての信号のPORレベル。バスごとのピン配置リスト。 2) HRESET_Bは外部からアサートされない 3) SerDesリファレンスクロックはデータシートの要件に準拠しています。 問題が解決しない場合は、次のブリングアップステージを技術ケースとして行う方が便利です。 https://community.nxp.com/thread/381898
查看全文
LS1046A Custom Design HRESET_B not released Hello, I am working to bringup a custom design making use of the LS1046A processor. (Board design used the RDB as a reference).  I have verified that all power rail voltages are correct and have have measured the power sequencing timing which all appear to be withing the tolerances found in the datasheet. The issue I am experiencing is that I am not able to bring the processor out of reset. When measuring, I found that the processor is not releasing the HRESET_B signal. The reference manual indicates that the processor will hold this line low while it is performing initialization and will release it after loading the RCW and locking PLL's, etc. Thinking perhaps I had an error in my RCW, I used the built-in RCW values instead. (I strapped the processor with both the 0x9E and 0x9F RCW values with the same result). At this point, I'm at a bit of a loss. My clocks are provided on time, my slew rates are all within spec, and I am holding the strapping values for the correct amount of time before releasing them. The reference manual also indicates that the PBL will toggle the RESET_REQ signal if it has encountered an error, but I am not seeing this happen. So my conclusion currently is that the PBL is not even being executed which, to me, is a sign that the processor is still in a reset state. Is there something here that I am missing? Anywhere I should look next? My timings are within spec, but do not match the RDB exactly (I probed the relevant signals on the board). How sensitive is the power sequencing on the LS1046? Thanks in advance. Re: LS1046A Custom Design HRESET_B not released Hi bryce  Can you explain what sequence did you chnage to get it right? Currently I am also facing similar issue with cutsom ls1046a board Re: LS1046A Custom Design HRESET_B not released Thank you for your above answers. To tie off the thread, I have solved the issue with the power sequencing in my CPLD code. Because the original code I had was causing this issue, I re-wrote it and I no longer see the issue.  Re: LS1046A Custom Design HRESET_B not released Please create a Technical Case so I will be able to check the processor connection schematics. Re: LS1046A Custom Design HRESET_B not released We have strapped the hardware to use the hard-coded RCW, not the RCW from flash. Re: LS1046A Custom Design HRESET_B not released Please use a digital scope to check whether RCW is read from an external flash. Re: LS1046A Custom Design HRESET_B not released Hello, Thanks for your response.  I have verified that all of the above are in a good state. One question I did have about your last point, however: Is this required in order for the power-on reset sequence to complete? As I stated earlier, we are not able to observe the RESET_REQ signal, so I believe we are unable to execute the PBL. Are SerDes reference clocks required in order execute the PBL, or are they required later on while PBL is already setting up the system? Thanks Re: LS1046A Custom Design HRESET_B not released As first checking stage please inspect: 1) POR levels of all signals explicitly mentioned in the notes to the QorIQ LS1046A, LS1026A Data Sheet, Table 1. Pinout list by bus. 2) HRESET_B is not asserted externally 3) SerDes reference clocks conform to the Data Sheet requirements. If the issue will not be resolved, it is more convenient to perform next bring-up stage as Technical Case: https://community.nxp.com/thread/381898 
查看全文
此优惠券不适用于 FRDM-MCXN236 NXP 网站宣传了这款免费板。但是即使商品有库存,结账时优惠券代码仍然无法使用。 评估板 Re: Coupon not valid for FRDM-MCXN236 你好PLACEHOLDER7 在这种情况下,请您发送电子邮件至[email protected]联系我们的购物车团队。 该团队负责处理线上订单。 谢谢您的理解 贝基
查看全文
LS1046A 定制设计 HRESET_B 未发布 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好, 我正在努力开发一个使用 LS1046A 处理器的定制设计。(电路板设计参考了RDB。)我已经确认所有电源轨电压均正确,并且测量了电源时序时序,所有参数似乎都在数据手册规定的容差范围内。我遇到的问题是无法将处理器从重置状态中恢复。测量时,我发现处理器没有释放 HRESET_B 信号。参考手册指出,处理器在执行初始化时会将此线路保持低电平,并在加载 RCW 和锁定 PLL 等操作后将其释放。考虑到我的 RCW 设置可能有误,我改用了内置的 RCW 值。(我分别用 0x9E 和 0x9F RCW 值给处理器加装了 RCW 参数,结果相同)。 此时此刻,我有点不知所措。我的时钟按时交付,我的转换速率均在规格范围内,并且在释放之前,我会将捆扎值保持正确的时间。参考手册还指出,如果 PBL 遇到错误,它会切换 RESET_REQ 信号,但我没有看到这种情况发生。因此,我目前的结论是 PBL 根本没有执行,在我看来,这表明处理器仍处于 RESET 状态。 我是不是漏掉了什么?接下来我应该从哪里入手?我的时序符合规格,但与 RDB 不完全匹配(我探测了板上的相关信号)。LS1046的电源时序控制有多敏感? 先行致谢。 Re: LS1046A Custom Design HRESET_B not released 嗨,布莱斯 你能解释一下你修改了哪些步骤才做对了吗?目前我也遇到了类似的问题,使用的是定制的LS1046A主板。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 感谢您之前的解答。 最后,我已经解决了 CPLD 代码中的电源时序问题。由于我之前的代码导致了这个问题,所以我重写了代码,现在问题已经解决了。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 请创建一份技术案例,以便我能够查看处理器连接原理图。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我们已经将硬件绑定到使用硬编码的 RCW,而不是来自闪存的 RCW。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 请使用数字示波器检查是否能从外部闪存读取 RCW。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好, 谢谢你的回复。我已经确认以上所有物品都处于良好状态。关于您最后一点,我还有一个问题:这是上电复位序列完成的必要条件吗?正如我之前所说,我们无法观察到 RESET_REQ 信号,所以我认为我们无法执行 PBL。SerDes 参考时钟是执行 PBL 所必需的,还是在 PBL 设置系统时才需要的? 谢谢! Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 第一阶段检查请检查: 1) QorIQ LS1046A、LS1026A 数据表表 1 中明确提及的所有信号的 POR 水平。按总线列出引脚图。 2) HRESET_B 未被外部钳位 3) SerDes 参考时钟符合数据手册的要求。 如果问题无法解决,则更方便地将下一阶段的启动工作作为技术案例来执行: https://community.nxp.com/thread/381898
查看全文