Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
GCCビルドに初期化されていないデータセクションを追加する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> KDSおよびCodewarrior for MCU GCCビルドでは、リンカはリセット後にRAMを初期化し、メイン機能を入力します。ただし、一部のアプリケーションでは、ユーザーはリンカーがデータセクションを初期化することを望んでいません。典型的なケースは、ブートローダ+アプリケーションの組み合わせプロジェクトで、2つのプログラムが同じRAMメモリを共有する必要がある場合です - ユーザーアプリケーションが共有RAMにデータを書き込んでから、ソフトウェアリセットによってブートローダを呼び出すと、ブートローダは正確なデータを読み取ることができます。共有 RAM のデータは、ブートローダー リンカの初期化によって上書きされません。この記事では、GCCビルドに初期化されていないデータセクションを追加する方法について2つの方法を紹介します。   メソッド1。リンカファイルでNOLOADキーワードを使用します。 NOLOAD : セクションはロード不可としてマークして、プログラムの実行時にメモリにロードされないようにする必要があります。たとえば、以下のセクション.bufframと .bss2は "NOLOAD" としてアドレス指定され、プログラムの実行開始時にロードする必要はありません。 詳しくは、Eclipse上のマイコンの記事 http://mcuoneclipse.com/2014/04/19/gnu-linker-can-you-not-initialize-my-variable/ をご覧ください。   メソッド2。初期化されていない RAM の C コードでポインターを使用します。 この方法では NOLOAD は使用されません。これを利用する手順は次のとおりです。 ステップ1:リンカファイルで初期化されていないRAMを定義しないでください。 ステップ2:Cファイルで、ポイントを使用して初期化されていないアドレスにアクセスします。   詳細については、デモがリストされている添付ドキュメントを参照してください。 全般 Re:GCCビルドに初期化されていないデータセクションを追加する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このドキュメントは、KDSおよびCodewarrior for Kinetis GCCビルド用です。 S32DSのMPC5744Pに関する質問がある場合は、S32DSスペースで質問することをお勧めします https://community.nxp.com/community/s32/s32ds  Re:GCCビルドに初期化されていないデータセクションを追加する方法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私はMPC5744PにS32DSを使用しており、キーワードNOLOADを使用してみましたが、正しく動作しないようです。 起動時に特定のRAMメモリを初期化せず、初期化されていないRAMを読み書きすると、ECUの電源がオンになるたびにMCUがIVOR1エラーを生成します。 しかし、起動時にアプリケーションとブートローダが共有する特定のRAMメモリを初期化し、アプリケーションで共有RAMにデータを書き込んでからソフトウェアリセットによってブートローダを呼び出すと、ブートローダは正確なデータを読み取る ことができません 。 何よりも、MPC57xxのS32DSでRAMメモリを読み書きする場合は、起動時にRAMメモリを初期化しないと、ECUの電源投入時にIVOR1エラーが発生します。正しいですか?感謝。
View full article
AMF-ACC-T1659 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 除了故障安全系统架构之外,容错能力在高度自动化的汽车中也变得越来越重要。本次会议讨论了容错系统架构的理论基础,并展示了如何使用飞思卡尔微控制器构建这些架构,特别是在高级驾驶辅助系统 (ADAS) 领域。利用飞思卡尔汽车产品组合中内置的关键功能安全概念,可以实现高效、可扩展的解决方案,涵盖从故障安全系统到容错和故障运行架构的范围。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 除了故障安全系统架构之外,容错能力在高度自动化的汽车中也变得越来越重要。本次会议讨论了容错系统架构的理论基础,并展示了如何使用飞思卡尔微控制器构建这些架构,特别是在高级驾驶辅助系统 (ADAS) 领域。利用飞思卡尔汽车产品组合中内置的关键功能安全概念,可以实现高效、可扩展的解决方案,涵盖从故障安全系统到容错和故障运行架构的范围。
View full article
Example_C40_Ip_ECC_Fault_Skip_S32K312_DS34_RTD2211_v1 ************************************************************************************************ * 详细说明: * 此示例展示了如何跳过在 C40_Ip_Read() 期间导致无法纠正的 ECC 错误异常的指令。 * ----------------------------------------------------------------------------------------------- * 测试硬件:S32312EVB-Q172 * MCU:S32K312 * 调试器:S32DS 3.4、PEMicro Multilink * 目标:internal_FLASH ************************************************************************************************* 回复: Example_C40_Ip_ECC_Fault_Skip_S32K312_DS34_RTD2211_v1 Hi @danielmartynek      RTD3.0.0 P01里有这个选项,RTD3.0.0 P07里则没有这个选项了。     目前已移植到RTD3.0.0 P07版本上验证可以了。     用C40_Ip_ReportEccUnCorrectedError();替换了C40_Ip_DsiHandler(); 回复: Example_C40_Ip_ECC_Fault_Skip_S32K312_DS34_RTD2211_v1 @danielmartynek  请问下在RTD3.0.0 P07下,C40_Ip_DsiHandler函数已经没有了,该怎么处理异常呢?请帮忙指导下,谢谢。
View full article
RT1160(外部SDRAMおよびウェイトピン付きSRAM搭載) 私はRT1160を外部16ビットSDRAMと16ビットSRAM(FPGA通信用)と組み合わせて使用しています。SRAMインターフェースは、待機ピン付きのSRAM読み書き操作(SRAM)として非同期モードとして構成されます。待機信号がSDRAMのリフレッシュタイミングと競合して何らかの問題を引き起こすのではないかと考えています。SDRAMにコードを書き込んで、SRAM ASYNC書き込み時にwaitピンを約10ms以上ローレベルに保つようにテストしましたが、時々約1msで終了してしまうことがあり、その理由はわかりません。 SDRAMとSRAMの両方を使う場合に制限があるのでしょうか?ご協力いただきありがとうございます。 Re: RT1160 with external SDRAM and SRAM with wait pin こんにちは 約1ミリ秒で終了するとおっしゃっていますが、具体的に何を指しているのでしょうか?SRAMへの書き込みはエラーを返すのか、それともハードフォルトに入るのか?これはどのくらいの頻度で起こりますか? 以下のテストを手伝ってもらえますか? 1. 内部メモリ(SDRAMではない)からコードを実行し、長時間かかる非同期SRAM書き込みを繰り返します。 2. 内部メモリからコードを実行したまま、同じテストを再度実行しますが、今回はSDRAMを有効にした状態でアイドル状態にします。 3. 最初に述べたとおりにテストを実行しますが、SRAM待機信号をアクティブに保持します。 さらに、上記の検査を含めて、以下の点を確認してもらえますか? 転送中にSRAM信号を監視できますか? 各テストのSTEMCイントラレジスタ値を教えてもらえますか? 結果を教えてください。 よろしくお願いします、 パブロ
View full article
Matlab2023a 调用 S32DS3.5 时遇到错误 亲爱的MBDT团队:我们使用 MATLAB 2023a 脚本在编译 Simulink 模型后生成代码,然后调用 eclipsec.exe 进行无界面后台编译。构建完成后,将在 Simulink 诊断查看器中创建一个超链接,用于直接打开与已编译项目对应的工作区。该工作流在 S32DS 3.4 版本中运行非常顺利。然而,在升级到 S32DS 3.5.8 之后,出现了两个问题:问题 1:单击 Simulink 创建的超链接将启动后台进程 s32ds.exe,随后会弹出一个窗口,并立即关闭。我们尝试了多种解决方案,例如在 s32ds.ini 文件中添加参数 `"-vm \bin\javaw.exe" `(但这对 s32ds.exe 没有任何影响),并在系统环境变量中将 JDK 11 设为优先选项。这些尝试都没有解决问题。问题 2:如前所述,通过 MATLAB 脚本调用 eclipsec.exe 会触发屏幕截图中显示的错误:Java 已启动但返回退出代码 =1。我们将"\bin\javaw.exe、" 以及 JDK 11 的路径设置为系统环境变量的最前项。命令提示符正确显示了 Java 11(64 位),但 Simulink 编译时仍试图加载 jvm.dll。删除"client\jvm.dll 后"或者"server\jvm.dll" ,程序会改为定位 java.exe,但仍会报告错误,退出代码为 4。此外,在所有情况下,手动编译依然能够成功。所有相关的文件和设置都将上传以供您参考。请帮忙提供一些建议,以解决这个问题。谢谢。 Re: Matlab2023a Envokes S32DS3.5 Encountered Error 你好, 从你的信息来看,我理解你有一个 Simulink 模型,并使用 Embedded Coder 为其生成代码。然后您设置了一个使用 eclipsec 编译代码的工作流程。我发现的主要问题是 MATLAB 目前没有使用正确的 Java 版本。你有没有尝试就这个问题联系过他们? 此外,我怀疑您没有使用 NXP 开发的基于模型的设计工具箱(例如,S32K3、S32K1 等)。如果我错了,请告诉我。 此致, 索林·班奇拉
View full article
when FRDM-A-S32K358 on sale? I heard that the FRDM-A-S32K358 is being released as a development board for the S32K358. When will this product be released? Digiikey says it will be released on May 18, 2026, but I would like to know the exact date. Re: when FRDM-A-S32K358 on sale? Hi I'm sorry, but for now I only see that the FRDM-A-S32K358 will be released in 2026 Q2, without a specific date. Best Regards, Robin
View full article
S32K314 FreeRTOSのスタンバイ移行と実行モードへの復帰 私はS32K314、RDT 7.0.0を使用して割り込みとタスクを組み合わせたプロジェクトを開発しています。およびFreeRTOS 7.0.0。 割り込みとタスクは正常に機能しています。RTCで計測した指定時間が経過した後、実行モードからスタンバイモードに移行し、再び実行モードに戻るコードを実装しました。 システムが実行モードからスタンバイモードに移行し、その後リセットが発生してMCUブートローダーが再び実行されることを確認しました。 しかし、MCUの初期化が開始され、PLLがロックされた後、MCUペリフェラルにクロックを分配するプロセス中にエラーが発生します。POR(起動・再起動)中は正常に動作するため、システムをスタンバイモードに移行するプロセスに何らかのエラーがあると考えられます。 手伝っていただけませんか? Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 追加情報: このプロジェクトはスタンバイRAMを定義します。RAMは、BSSの先頭から始まる32キロバイトの領域として割り当てられます。この領域には、スタンバイ状態から復帰した後に必要となるデータが格納されます。 /*--- スタンバイモードへの移行 ---*/ /* RTCタイマーがWKPU0を起動するためのタイムアウトを設定します */ Gpt_StartTimer(GptConf_GptChannelConfiguration_GptChannelConfiguration_RTC, RTC_BASE_CLOCK_HZ * seconds); /* すべてのOSタスクを一時停止します */ vTaskSuspendAll(); /* クロックモードをスタンバイに初期化します */ Mcu_InitClock(McuClockSettingConfig_Standby); /* 時計モードを設定します */ Mcu_SetMode(McuModeSettingConf_Standby); .....(リセット発生) /*--- MCU初期化 ---*/ /* スタンバイRAM領域をキャッシュ不可に設定する */ MpuConfigurator_AllocateStandbyRamToNonCacheable(); /* キャッシュ不可モードを有効にする */ MpuConfigurator_Enable(); /* MCUモジュールを初期化します */ Mcu_Init(NULL_PTR); /* 実行モードでクロック設定を初期化します */ if (E_OK == Mcu_InitClock(McuClockSettingConfig_Run)) { /* ポーリングによってPLLロックを待機する */ while (MCU_PLL_LOCKED != Mcu_GetPllStatus()) { /* PLLがロックされるまで待機 */ } /* PLLクロックをシステムに分配する */ Mcu_DistributePllClock(); ← ここでエラーが発生します Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode こんにちは@Teruhikoさん エラーに関する詳細情報を入手できますか?これはどのような種類の障害例外ですか? https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-HARDFAULT-Handling-Interrupt-DS3-5-RTD300/ta-p/1806259 https://community.nxp.com/t5/S32K-Knowledge-Base/How-To-Debug-A-Fault-Exception-On-ARM-Cortex-M-V7M-MCU-S32K3XX/ta-p/1595570 https://community.nxp.com/t5/S32K-Knowledge-Base/Fault-handling-on-S32K14x/ta-p/1114447 コードをステップ実行することで、例外が発生する正確な場所を特定することもできます。 DCM_GPRレジスタにエラーがないか確認してください。RM、表231。DCMは、製品ファミリにおける機能と利用可能性を制御します。 リセット後のSRAM初期化が正しく行われなかったことが原因である可能性があります。 それを監視するERMは存在するが、モジュールのクロックはデフォルトではゲートで遮断されている。 ありがとうございました。 BR、ダニエル Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode こんにちは@Teruhikoさん MCUがスタンバイモードを終了した後、デバッガを接続できるようになるはずです。 デバッグを容易にするために、アプリケーションの先頭に無限ループを追加することを検討してください。そうすることで、デバッガーを接続して、そこから実行をステップ実行できます。 volatile int var = 1; while(var){} MCU_WAKEUP_REASON の代わりに MCU_POWER_ON_RESET が検出された場合は、次のレジスタを確認してください: DCMROPP1~4。 ありがとうございました。 BR、ダニエル Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode こんにちは、danielmartynek-san、 返信が遅くなり申し訳ありません。 システムがスタンバイモードに移行するとJ-TAGとの通信が途絶えるため、詳細なエラー情報を取得できていません。現在、デバッグ用のコードを書いています。 現在分かっていることをお伝えしたいと思います。 私は以下の条件下でリセットの原因を調査しました。 ・スタンバイモードへの移行後、RTCタイムアウト後に自動的にリセット復旧します。 → リセット原因: MCU_WAKEUP_REASON ・スタンバイモードに入った後、スタンバイモード中にWKPU割り込みで復帰した場合のリカバリをリセットする → リセット原因: MCU_WAKEUP_REASON ・RTCがスタンバイモードに移行した後、タイムアウトが発生してWKPU割り込みによってウェイクアップした際のリカバリをリセットする → リセット原因: MCU_POWER_ON_RESET リセット係数は正しいと思います。 各リセット要因における起動シーケンスの違いは、何らかの関連があるのではないかと推測される。 エラーの詳細が分かり次第、別途ご回答いたします。 Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode こんにちは@Teruhikoさん 時計は良さそうだ。 質問が1つあります。POR後にMCUをスタンドアロンで実行した場合(デバッガを使用しない場合)、アプリケーションは正常に動作しますか? 私が質問する理由は、アプリケーションがデバッガー経由で起動されると、デバッガーがシステム初期化の一部を実行するからです。スタンドアロン動作の場合、アプリケーションはこの初期化処理を自身で行う必要があります。スタンバイ状態から復帰すると、MCUはリセットされ、デバッガが切断されるため、動作は実質的にスタンドアロン起動と同じになります。 Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode こんにちは、ダニエルさん。 返信が遅くなり申し訳ありません。 回路設計に関していくつか疑問点があったので、それが今回の問題とどのように関連しているのか調べていました。 その結果、回路内のポート割り当てに問題があることが判明しました。 スタンバイ状態からの復帰時にリセットが発生すると、MCUに供給される電源電圧が不安定になった。 これまでいただいたすべてのサポートに心から感謝いたします。 どうもありがとうございます。 Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode こんにちは@Teruhikoさん Mcu_InitClock(Standby)の設定とは何ですか? それでも時計のオプションの1つであるべきです。例:表157。オプションA - 高性能モード(CORE_CLK @ 160 MHz)。 「動作が不安定」または「異常な挙動を示す」とは、具体的にどういう意味ですか? Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode こんにちは、ダニエルさん アドバイスありがとうございます。 リセットしたら再接続できました。 コードをステップ実行すると、MCUペリフェラルの初期化は成功するのですが、OSタスクの起動プロセス中に「xSemaphoreCreateRecursiveMutex()」を呼び出すと、プログラムの動作が不安定になります。 さらに、この関数をステップ実行すると、`heap_4.c` の関数 `void * pvPortMalloc( size_t xWantedSize )` の次のセクションで動作が不安定になります。 2026-05-21 190438.png ヒープ割り当てが失敗しているようです。 スタンバイモードに移行する前に、何か手順を踏むべきことはありますか? Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode こんにちは、ダニエルさん。 本プロジェクトにおける「実行」モードと「スタンバイ」モードの設定を以下に示します。 ご提供いただいた表157の設定は、実行モードに適用されているものと理解しております。 また、表160のクロック値はスタンバイモードにも適用されていると考えています。RTCが時間を計測し、WKPUが再起動をトリガーできるように、これらのブロックにクロックを設定しています。 <不安定な挙動の説明> コードをステップ実行すると、現在の情報がIDEのコンソール画面に表示されます。前述の「heapVALIDATE_BLOCK_POINTER()」を実行すると、コンソール画面がスクロールし始め、ステップの実行が不可能になります。 <スタンバイモード> 。 K314_StandbyMode.png <実行モード> K314_RunMode.png   Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode スタンバイモードへの移行方法は以下のとおりです。 ・MCAL MCUモジュールの設定では、スタンバイモードの動作モードとして「STANDBY」が既に選択されています。 ・Design Studioの時計ツールでは、「実行」と「待機」用に既に個別の機能グループを作成済みです。 <手順> 1.通常動作モードでは、「Mcu_InitClock(Run)」と「Mcu_SetMode(Run)」の順に関数を呼び出すことで、実行モードで動作させることができます。 ... 2. スタンバイモードに移行するには、「Gpt_StartTimer(GptConf_GptChannelConfiguration_GptChannelConfiguration_RTC, RTC_BASE_CLOCK_HZ * seconds)」を呼び出してタイマーを開始します。これにより、指定された時間が経過すると、RTC を介してシステムが自動的に実行モードで起動します。 3.実行中のすべてのOSタスクを一時停止するには、「vTaskSuspendAll()」を呼び出します。 4. 「Mcu_InitClock(Standby)」を呼び出し、続いて「Mcu_SetMode(Standby)」を呼び出し、スタンバイモードに移行します。 vTaskSuspendAll() を呼び出す理由は、以下のリンク先の情報に基づいています。 https://community.nxp.com/t5/S32K/S32K312-Does-FreeRTOS-need-to-be-shut-down-before-entering/mp/1756857
View full article
S32K314 FreeRTOS 待机转换和返回运行模式 我正在使用 S32K314 和 RDT 7.0.0 开发一个结合了中断和任务的项目、和 FreeRTOS 7.0.0。 中断和任务运行正常。我已经实现了从运行模式过渡到待机模式的代码,并在 RTC 测得的指定时间过后返回运行模式。 我已经确认系统从运行模式过渡到待机模式,之后会重置,导致 MCU 引导加载程序再次运行。  但是,在 MCU 初始化开始和 PLL 锁定之后,向 MCU 外围设备分配时钟的过程中会发生错误。由于在 P.O.R. 运行时可以正常工作,我认为在将系统切换到待机模式的过程中存在一些错误。 您能帮帮我吗? Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 附加信息: 该项目定义了待机 RAM。RAM 从 BSS 开始分配为 32 千字节的区域。该区域在从待机模式恢复后存储必要的数据。 /*---过渡到待机模式---*/ /* 设置 RTC 计时器唤醒 WKPU0 的超时时间 */ Gpt_StartTimer(GptConf_GptChannelConfiguration_GptChannelConfiguration_RTC, RTC_BASE_CLOCK_HZ * seconds); /* 暂停所有操作系统任务 */ vTaskSuspendAll(); /* 将时钟模式初始化为待机 */ Mcu_InitClock(McuClockSettingConfig_Standby); /* 设置时钟模式 */ Mcu_SetMode(McuModeSettingConf_Standby); ..... (Reset Occur) /*---MCU 初始化---*/ /* 将待机 RAM 区域设置为不可缓存 */ MpuConfigurator_AllocateStandbyRamToNonCacheable(); /* 启用不可缓存模式 */ MpuConfigurator_Enable(); /* 初始化 MCU 模块 */ Mcu_Init(NULL_PTR); /* 运行时钟初始化设置模式 */ if (E_OK == Mcu_InitClock(McuClockSettingConfig_Run)) { /* 通过**轮询**等待 PLL 锁定 */ while (MCU_PLL_LOCKED != Mcu_GetPllStatus()) { /* 等到 PLL 锁定 */ } /* 将 PLL 时钟分配给系统 */ Mcu_DistributePllClock();  ← 这里出现错误 Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 嗨,@Teruhiko、 您能找到有关该错误的更多信息吗?故障异常属于哪种类型? https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-HARDFAULT-Handling-Interrupt-DS3-5-RTD300/ta-p/1806259 https://community.nxp.com/t5/S32K-Knowledge-Base/How-To-Debug-A-Fault-Exception-On-ARM-Cortex-M-V7M-MCU-S32K3XX/ta-p/1595570 https://community.nxp.com/t5/S32K-Knowledge-Base/Fault-handling-on-S32K14x/ta-p/1114447 您也可以逐步执行代码,以确定触发异常的确切位置。 检查 DCM_GPR 寄存器是否有任何错误。RM, 表 231。产品系列中由 DCM 控制的功能和可用性。 这可能是由于 RESET 后的 SRAM 初始化不正确。 有 ERM 可以对此进行监控,但默认情况下,模块的时钟处于封闭状态。 谢谢! BR,丹尼尔 Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 你好,@Teruhiko、 MCU 退出待机模式后,就可以连接调试器了。 为了方便调试,可以考虑在应用程序开始时添加一个无限循环,这样就可以连接调试器,并从那里开始逐步执行。 volatile int var = 1; while(var){} 如果观察到的是 MCU_POWER_ON_RESET,而不是 MCU_WAKEUP_REASON,请检查下列寄存器:DCMROPP1-4. 谢谢! BR,丹尼尔 Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 你好,丹尼尔-马蒂克先生、 对于延迟回复,我深表歉意。 由于在系统转换到待机模式时与 J-TAG 的通信会中断,因此我还无法获得详细的错误信息。我目前正在编写调试代码。 我想和大家分享一下我们目前了解到的情况。 我已经调查了以下条件下的重置原因: ・过渡到待机模式后 RTC 超时后自动恢复复位  → 重置原因:MCU_WAKEUP_REASON ・进入待机状态后,在待机模式下通过 WKPU 中断唤醒时重置恢复  → 重置原因:MCU_WAKEUP_REASON ・在过渡到待机模式后 RTC 超时后通过 WKPU 中断唤醒时重置恢复  → 重置原因:MCU_POWER_ON_RESET 我相信重置系数是正确的。 我怀疑每个重置因子的启动顺序差异是相关的。 一旦我掌握了有关错误的更多细节,我将另行回复。 Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 你好,@Teruhiko、 时钟看起来不错。 一个问题:当你在 POR 之后独立运行 MCU 时(不带调试器),应用程序能运行吗? 我问这个问题的原因是,当应用程序通过调试器启动时,调试器会执行部分系统初始化。在独立组网 \\(SA\\) 操作中,应用程序必须自己处理此初始化。退出待机状态后,MCU 会重置并断开调试器的连接,因此其行为实际上与独立启动相同。 Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 嗨,丹尼尔先生、 对于延迟回复,我深表歉意。 我对我们的电路设计有一些疑问,所以我在调查它与这个问题的关系。 结果,我发现电路中的端口分配有问题。 当从待机状态唤醒时发生 RESET 时,施加到 MCU 的电源电压变得不稳定。 我非常感谢你们迄今为止提供的所有支持。 非常感谢。 Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 你好,丹尼尔先生 谢谢您的建议。 重置后我能够重新连接。 当我逐步完成代码时,单片机外设初始化成功了,但当我在启动操作系统任务过程中调用 "xSemaphoreCreateRecursiveMutex() "时,程序却表现异常。 此外,当步进该函数时,在 `heap_4.c` 中函数 `void * pvPortMalloc( size_t xWantedSize )` 的以下部分,行为变得不稳定。 2026-05-21 190438.png 堆分配似乎失败了。 在过渡到待机模式之前,我应该采取哪些步骤? Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 你好,@Teruhiko、 Mcu_InitClock(Standby) 配置是什么? 它仍然应该是时钟选项之一,例如 表 157.选项 A - 高性能模式(CORE_CLK @ 160 MHz)。 你说它表现不稳定或不稳定,到底是什么意思? Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 嗨,丹尼尔先生、 本项目中 "运行 "和 "待机 "模式的设置如下所示。 我认为您提供的表 157 中的设置已应用于运行模式。 我还认为表 160 中的时钟值已应用于待机模式。我正在为这些方块设置时钟,这样 RTC 就可以测量时间,WKPU 可以触发重启。 当我逐步完成代码时,当前信息会显示在 IDE 控制台屏幕上。执行上述 "heapVALIDATE_BLOCK_POINTER() "时,控制台屏幕开始滚动,无法执行步骤 . K314_StandbyMode.png K314_RunMode.png   Re: S32K314 FreeRTOS Standby Transition and Return to Run Mode 下面介绍如何过渡到待机模式。 在 MCAL MCU 模块设置中,"STANDBY "已被选为待机模式的运行模式。 ・ 在 Design Studio 的时钟工具中,我已经为 "运行 "和 "待机 "创建了不同的功能组。 1.在正常运行模式下,按 "Mcu_InitClock(Run) "和 "Mcu_SetMode(Run) "的顺序调用函数,即可在运行模式下工作。 ... 2.要过渡到待机模式,请调用 "Gpt_StartTimer(GptConf_GptChannelConfiguration_GptChannelConfiguration_RTC, RTC_BASE_CLOCK_HZ * seconds) "启动定时器,定时器将在指定时间后通过 RTC 自动唤醒处于运行模式的系统。 3.调用 "vTaskSuspendAll() "暂停所有正在运行的操作系统任务。 4. 调用 "Mcu_InitClock(Standby)",然后调用 "Mcu_SetMode(Standby) "过渡到待机模式。 调用 vTaskSuspendAll() 的原因是基于下面链接中的信息。 https://community.nxp.com/t5/S32K/S32K312-Does-FreeRTOS-need-to-be-shut-down-before-entering/m-p/1756857
View full article
VS 代码扩展更新破坏了 RTOS 查看器 你好 到目前为止,我们使用的是 1.9.20 版本(旧版)的 vscode 工具,并使用https://marketplace.visualstudio.com/items?itemName=mcu-debug.rtos-views查看 freertos 线程的状态 (RT1189)。更新后,该工具不再工作,只显示"RTOS 检测未完成。下次停止时会恢复。" 有什么建议吗? 谢谢! Re: VS code extension update broke RTOS viewer 您好, MCUXpresso for VS Code 长期以来一直拥有自己的 RTOS 查看器。请查阅https://mcuxpresso.nxp.com/mcux-vscode/latest//html/RTOS-Details.html 此外,还有一项旧的更改,即扩展从使用Microsoft C/C++ 调试适配器迁移到基于 Cortex-Debug 的自有调试适配器。你必须创建一个新的调试配置,它会自动创建一个基于我们调试适配器的配置(你会注意到"mcuxpresso-debug" 作为类型)。 PS.请注意,如果使用 Segger 调试探针,则需要特别启用 RTOS 支持(请参阅 https://mcuxpresso.nxp.com/mcux-vscode/latest//html/Debug-Views.html#enabling-rtos-awareness)。 此致, 克里斯蒂安 Re: VS code extension update broke RTOS viewer 我们在调试时使用 -Og 标志编译,改成 -O0 后,查看器就能正常工作了。但我想该工具还需要改进,因为 Og 应该是标准编辑-调试程序的默认设置。 与此无关的是,我还在调试控制台中看到以下警告 "warning: could not convert ' \Main.cpp' from host encoding (CP1252) to UTF-32。 这种情况通常不会发生,请提交错误报告。" 谢谢! Re: VS code extension update broke RTOS viewer 谢谢! 事实上,该信息来自 MCUXpresso RTOS 视图本身(我错误地引用了另一个插件)。 我附上了 launch.json 和自定义设备脚本(它与 Linkserver 26.3.123 的 mimxrt1180-evk.json 相同,但"connect-script" 是"RT1180_reset.scp" 。 我们的应用程序在 hyperram 中运行,使用 SDK 2.16。已正确设置 Freertos 变量。 我可以通过我们的应用程序调试一个步骤,但 RTOS 详细信息视图仍显示"RTOS 检测未完成。它将在下一次停止时恢复。" 谢谢! Re: VS code extension update broke RTOS viewer @cristiantepus有什么最新消息吗? Re: VS code extension update broke RTOS viewer 今天我发现 MCUXpresso RTOS 查看器在发布模式下无法运行,也无法显示任何内容。 但是 https://marketplace.visualstudio.com/items?itemName=mcu-debug.rtos-views 可在-Og和发布模式下使用,但无法与当前的mcuxpresso vscode插件一起使用(被禁用?)。有办法恢复吗? Re: VS code extension update broke RTOS viewer 你好@arunkumar_g、 我们提供的 RTOS 详细视图依赖于 ELF 文件中存在的一些符号(如"FreeRTOSDebugConfig", " pxCurrentTCB", " uxCurrentNumberOfTasks", 等等)。我同意"RTOS 检测没有完成。" 没有说明出错的原因,我们将确保更清楚地说明这一点。 关于你在 " debug " 与 " 版本 " 中获得的结果,我想说这是编译器/链接器优化的结果——所需的符号被去掉了,所以任何消费者都找不到这些符号。在这种情况下,不仅 RTOS 详细信息视图会失效,底层 GDB 线程感知(LinkServer、J-Link、PEmicro)也无法在调用堆栈视图中显示和调试 FreeRTOS 任务。在这种情况下,我只能建议你确保更新代码,这样你就可以确保在两个 " debug " 和 " 版本 " 编译模式下都存在所需的符号。我们将确保更新文档和工具中的信息,以明确哪些符号是必需的,但却缺失了,从而导致视图无法显示数据。 您还提到 MCU 调试 RTOS 视图在这种特殊情况下可以工作。有可能,但我上次检查时还没有任何版本支持(版本可通过检查"FreeRTOSDebugConfig" 找到)。请记住,FreeRTOS 的数据结构是 RTOS 版本所特有的。要启用 MCU 调试视图,您可以询问维护者如何添加 "mcuxpresso-debug" 调试适配器(MCUXpresso 专用)。 鉴于您使用的是基于旧版 SDK 2.16 的项目,我建议您改用基于 CMake& Kconfig 的最新 MCUXpresso SDK。   一些有用的链接: - RTOS 详细信息:RTOS 详情 - MCUXpresso for VS Code 26.04 文档 - MCUXpresso SDK:MCUXpresso SDK 文档 - MCUXpresso SDK 文档   谢谢! 阿德里安
View full article
a53_sys_scst_loadstore_test7 こんにちは、 A53ランタイムテストには、SCST_A53_S32G_RFP_2.0.2ライブラリを使用しています。 現在、テスト a53_sys_scst_loadstore_test7 の実行中に問題が発生しており、エラーコードERR_SCST_FAILED_A53_C3が返されます。 ユーザーマニュアルには、MMUによる特定のアクセス権限が必要であると記載されています。 2026-04-08 14_26_05-A53_S32G_SCST_User_Manual.pdf - Adobe Acrobat Reader (64-bit).png MMUはセクション名ではなく「アドレス範囲」のみを受け入れるため、テストまたはMMU構成において、このマッピングがどのように想定されているかを示す例を提供していただけますか?また、現在テストが失敗している理由を詳しく教えていただけますか? サポートありがとうございます。 Re: a53_sys_scst_loadstore_test7 こんにちは、 @nmansour さん。 お問い合わせいただきありがとうございます。ご質問についてですが、MMU選択の設定方法に関するサンプルをご用意しております。 「A53 SCST Linux Integration Demo」 というデモファイルです。インストール後、 C:\NXP\SCST_FW_A53_S32G_1.0\scst_fw\src\mmu_config.c にある mmu_init() 関数をご確認ください。この関数内で、メモリ範囲の初期化方法が確認できます。ご覧のとおり、明示的な値ではなくセクション名を使用していますが、それらの名前はコンパイル時に値に解決されます。 結果が失敗した可能性のある理由については、 C:\NXP\SCST_A53_S32G_RFP_2.0.2\SCST_SYS\src\h\a53_sys_scst_configuration.h にある A53_SYS_SCST_RAM_DATA_TARGET0_VADDR の 定義について記載されている内容を確認してください。 先ほどご紹介したデモ版は、以下の手順でダウンロードできます。 - https://www.nxp.com/にアクセスしてアカウントにログインしてください。 「マイNXPアカウント」にアクセスし、「ソフトウェアライセンスとサポート」を選択してください。 Screenshot 2026-04-08 143902.png Screenshot 2026-04-08 143956.png - 次に「アカウントを表示」をクリックしてください。これによりFlexNetポータルに移動し、利用可能なすべての製品を確認できます。 Screenshot 2026-04-08 144259.png Screenshot 2026-04-08 145044.png - 次に、 オートモーティブ SW – S32G Reference ソフトウェアに移動し、次にオートモーティブ SW - S32G A53 SCST Linux Integration Demo に移動します。実行ファイルをダウンロードして Screenshot 2026-04-08 145425.png そのファイルを実行すると、私が上で述べた例を見つけることができます。 他に質問があれば教えてください。 Re: a53_sys_scst_loadstore_test7 こんにちは、 @alさん、返信ありがとうございます。 提供されたデモを確認しましたが、いくつか質問がありますので、ご説明いただけると幸いです。 - デモでは、リンカーファイル内のリンカーセクションの割り当てに依存します。 このオプションは使用できません。なぜなら、ランタイムテストはPHアプリケーション内でコンパイルおよびリンクされ、リンクはQNXによって行われるからです。 では、これを回避する方法はありますか? - チェックするように言われたファイル A53_SYS_SCST_RAM_DATA_TARGET0_VADDR については、現在定義されていません。私の理解では、仮想アドレス マクロまたはリンカ セクションを使用します。これは代替品になり得るでしょうか? ユーザーマニュアルで「適切なMMUマッピング」とは具体的にどういう意味ですか?属性だけを指すのでしょうか、それとも他に何か不足しているものがあるのでしょうか?EL1のMMU構成については、QNXによって処理されるため、こちらで変更することはできません。   Re: a53_sys_scst_loadstore_test7 こんにちは、 @nmansour さん。 SCST トピックについてさらに調査したところ、QNX Integration Example of S32G A53 SCST Library というドキュメントを見つけることができました。それはまさにあなたが探しているものを見つけるのに役立つはずです。 ご質問の内容についてですが、QNXに関するサポートは当コミュニティで提供しているサポート範囲外となりますので、QNXのベンダーに直接お問い合わせいただくことをお勧めします。 他に何かお手伝いできることがあれば、遠慮なくお申し付けください。 Re: a53_sys_scst_loadstore_test7 迅速なご返信ありがとうございます。 リンカーセクションの代わりにVADDRを使用することについて、何かご意見をいただけますでしょうか? これについて説明されている資料はどこで見つけられますか? A53_SYS_SCST_RAM_DATA_TARGET0_VADDR 特に以下の2点について: - チェックするように言われたファイル A53_SYS_SCST_RAM_DATA_TARGET0_VADDR については、現在定義されていません。私の理解では、仮想アドレス マクロまたはリンカ セクションを使用します。これは代替品になり得るでしょうか? ユーザーマニュアルで「適切なMMUマッピング」とは具体的にどういう意味ですか?属性だけを指すのでしょうか、それとも他に何か不足しているものがあるのでしょうか? Re: a53_sys_scst_loadstore_test7 こんにちは、 @nmansour さん。 回答は、お送りしたプライベートメッセージに記載されています。 よろしくお願いします。 Re: a53_sys_scst_loadstore_test7 Yi Yangからの情報: これは既知の問題です。テストID=59はQNX環境では実行できません。実行できるテストの範囲は0~58のみです。詳細については、アプリケーションノートを参照してください。AN13294 チケットをクローズできます。
View full article
CAAM 演出 你好 我有一个项目示例(源于 SDK 25.06.00 CAAM 示例),附在后面,我想测量仅计算 CRC 的 CAAM 性能。事实上,当我运行这个示例时,我立刻感觉它太慢了。为此,我使用了DWT->CYCCNT 寄存器。 我还将其与软件实施进行了比较。 我在 RT1170-EVKB 上运行它,得到的结果是这样的: Screenshot_2026-03-21_18-25-56.png   如果说第一项计算对于 CAAM 这样的加速器来说已经显得太慢(甚至比软件实现还要慢),那么第二项计算就太疯狂了。 有什么问题?也许是 SDK 中的一个错误? 顺祝商祺! 最大值 Re: CAAM performaces 你好@Kan_Li 感谢您的回复。 不幸的是,你的回答恰恰证实了我的担忧:在回复之前,所附项目显然根本没有打开过。 我这样说的原因很简单,也很客观: 该项目已经使用了 CAAM_CRC()。这不是我忽视的理论可能性,也不是我忘记尝试的替代途径。在随附的示例中,它@@ 已经存在了,而这正是我的测量中表现最差的路径。 Screenshot_2026-03-24_09-20-48.png 因此,我想再次澄清,我并没有发布关于如何使用驱动程序的通用问题。我花时间准备并附上了一个源自SDK示例的完整项目,特别是为了让恩智浦的支持人员可以直接构建、运行和验证行为。 我比较了相同 CRC 的计算结果: 软件中 与 CAAM 结果与我报告的问题如出一辙:对于硬件加速器来说,测得的性能出乎意料地差,在其中一个测试案例中,性能比软件实现要差得多。 这就是问题所在。 而不是 "也许可以试试 CAAM_CRC()"。 这已经完成了。 当客户附加一个可随时运行的项目时,通常不会浪费论坛存储空间、网络带宽或任何人的时间。这是因为客户希望支持人员能亲手重现问题,尤其是在项目已经为此最小化的情况下。 也许是我太相信附带的复制项目会在回答之前得到真正的审查。如果是这样,那就是我的责任了。 但如果这就是对附带完整复制器的技术帖子的关注程度,那么坦率地说,许多用户抱怨他们得到的支持质量不高也就不足为奇了。 因此,让我以一种现在不可能被误解的方式来重述这个问题: 所附项目已经使用了 CAAM_CRC()。 我使用 DWT->CYCCNT 测量了周期计数。 我比较了同一目标上的软件 CRC 和 CAAM CRC。 CAAM 的性能比预期的要差,有一次甚至比软件差了一大截。 鉴于这些事实,恩智浦能否采取以下措施之一: 使用所附项目重现结果、 解释管理费用的来源、 说明这是否是 SDK/驱动程序的问题、 或明确说明这些性能指标是预期的。 如果能提供具体的技术分析,我们将非常感激,而不是那些与所附例子本身已经相矛盾的建议。 致以最诚挚的问候, Max Re: CAAM performaces 你好@mastupristi、 SDK 示例使用了单独的 CRC 初始、更新和结束函数。驱动程序确实有一个一次性使用的 CAAM_CRC()函数,可以用来替代它,速度应该会更快。请尝试使用 CAAM_CRC(),并检查是否有任何不同。 祝您愉快, Kan ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"标记正确" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请打开一个新主题并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: CAAM performaces 你好@mastupristi、 对不起,是我不好!我正在查看您与我们分享的另一个 CRCendianess 项目。你们的项目在我的项目视图中靠得太近了,而且它们的 main() 几乎是一样的,......。很抱歉我忽略了这一点!   我刚刚使用不同的 CRC 输入数据长度对您的项目进行了测试,当要 CRC 的数据足够长时,例如您在测试中使用的数据长度的两倍,基于 CRC 初始、更新和结束的硬件计算比软件实现要好,但 CAAM_CRC() 在测试中总是最差的情况。 2026-03-24_19-04-07.png 感谢您的耐心等待! 祝您愉快, Kan ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"标记正确" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请打开一个新主题并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: CAAM performaces 你好@mastupristi、 看来我的主板出了点问题,我刚刚使用另一个 RT1170EVKB 主板得出了以下结果。 2026-03-25_18-57-37.png 你还有其他板可以再试一次吗? 祝您愉快, Kan ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"标记正确" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请打开一个新主题并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: CAAM performaces 你好@Kan_Li 令我担忧的是,在3个板和总共4次测试中,我们看到的行为截然不同,数字也截然不同。 让我们牢记一点:CAAM 是 MCU 的内部外设,它与 MCU 内部的 RAM 相互影响。实际上,板上的哪些外部元器件会以如此显著且不一致的方式影响 CAAM? 在这一阶段,似乎有理由考虑关键问题实际上是否可能在 MCU 方面。 这是我的 EVK 上的照片 rt1176.png 另外,能否请您说明一下,您是在什么确切条件下从 3 次测试中得出这些数字的?特别是 使用了哪个板, 安装了哪个 MCU、 以及在设置或条件方面是否存在其他相关差异。 最重要的是,你如何解释我和你的数字之间的差异? 目前我没有其他板可供进一步测试。 此致问候 最大值   Re: CAAM performaces 你好@mastupristi, 我这边的设备是 MIMXRT1176DVMAA/0P94B/CTAS2152A,和你的设备一样,在我的测试中,为了避免任何程序在调试你的代码之前在闪存启动,我将启动模式设置为串行下载模式并在SRAM中运行你的代码。你也这样做了吗?有可能从你这边跨板分享你的结果吗? 顺祝商祺! 坎 Re: CAAM performaces 你好@Kan_Li 我尝试了 "将应用程序链接到 RAM"(项目附后) Screenshot_2026-04-14_09-28-09.png 通过这种设置,我得到了以下结果: mastupristi_0-1776151857026.png 如您所见,情况有了明显改善,但真正令人惊讶的是,使用 CAAM 进行首次 CRC 计算所需的时间与 SW 版本相同。 使用 CAAM(CAAM_CRC())进行最新的 CRC 计算需要耗费 3.37 亿个周期(以前需要 14.22 亿个周期,因此只减少了 4 倍)。 我设法借到了另一个 EVKB,上面有这个微控制器 mastupristi_2-1776152915756.png 结果如下 mastupristi_1-1776152680926.png 因此,软件实现在这两个板上的行为完全相同。这并不奇怪,事实上,这正是我所期待的。 第一个 CAAM 所需的时间稍长,而第二个 CAAM 所需的时间要短得多(2.52 亿个周期)。 以下是摘要: SW CRC32 iSCSI SW CRC16 CCITT 硬件 (CAAM) CRC32 iSCSI(分别调用 init、update 和 finalize) 硬件 (CAAM) CRC16 CCITT(调用 CAAM_CRC() 这给我提出了很多问题 这种表现上的不一致性,尤其是第 4 号,令人十分担忧。是什么原因造成的? 与软件实现相比,这种加速器似乎根本没有加快速度。真的是这样吗,还是我遗漏了什么? 此致问候 最大值 Re: CAAM performaces 你好@mastupristi、 我仍在对 4 号检测结果进行内部核查,有更多信息时会通知你们。 对于其他测试,您是否按 SW/HW 计算了更多数据? 在核心上运行的 SW 确实能从缓存中获得一些好处,但当你放入更多数据时,你就会发现其中的差别。 顺祝商祺! 坎 Re: CAAM performaces 你好@mastupristi、 内部之后。经过讨论,我们发现问题是由 DCACHE 失效引起的: DCACHE invalidate 函数会降低函数的性能,因为项目使用了写入缓存 ("CACHE_MODE_WRITE_THROUGH=1") 配置,这也启用了宏 ("CAAM_OUT_INVALIDATE") 。这是在 SDK 示例中实现的,以避免数据一致性问题,主要是在中间件中。由于出现 ERR050396(如下),TCM 无法用于写入。 以下是该功能的测量结果: Kan_Li_0-1779782204663.png Kan_Li_1-1779782204669.png Kan_Li_2-1779782204657.png 在本例中,"输出" 位于非缓存区域,因此无需在该特定函数中进行无效处理。 /*!@brief CRC 的输出缓冲区。*/ uint8_t AT_NONCACHEABLE_SECTION(crc_output[4U]); 因此,当 DCACHE 失效被取消时: Kan_Li_3-1779782204733.png 最高优化 -O3 已启用: Kan_Li_4-1779782205151.png 考虑到数据访问的限制以及 CAAM 配置结构的处理,在这种情况下,从 ITCM 执行的优化 SW 实现(数据在 DTCM 中,频率为 @800 MHz)可能比 CAAM 更快。我认为,这取决于有效载荷的大小以及 SW 计算是否经常中断的整体应用概念。 顺祝商祺! 坎
View full article
[S32K566] MRAM OTP write Hi,  Autoever asked a question regarding the OTP write. When an OTP write operation is on execution, OTP read, MRAM read/write are not allowed. In the S32K3 RTD, there is an option of "Mem Load Access Code On Jab Start" in the S32K3_infls.jpg attached, but I couldn't find this option in the current S32K5 RTD. Do we have a plan to add this option into S32K5 RTD? In the current version, how should I implement the OPT write routine? Thanks. Jose Luis. RTD Re: [S32K566] MRAM OTP write Hi @nxf59838 , SW team follows RM to implement code, as you can see: For tasks: read MRAM - write MRAM, OTP read - MRAM write they can be executed at same time with different partitions, but this not allowed for OTP write. I think you can put this question to HW team. Best regards, Nhi Re: [S32K566] MRAM OTP write Hello Nhi, The question was related to the following: In the S32K3 RTD, there is an option of "Mem Load Access Code On Jab Start" in the S32K3_infls.jpg attached, but I couldn't find this option in the current S32K5 RTD. Do we have a plan to add this option into S32K5 RTD? In the current version, how should I implement the OPT write routine? also, another question is  - In the Mem_43_MRAM_MemMap.h file, the section MEM_43_MRAM_START_SEC_RAMCODE can be found, but it does not seem to be currently used. - Is there any plan to implement functionality using MEM_43_MRAM_START_SEC_RAMCODE? Thanks. Jose Luis. Re: [S32K566] MRAM OTP write Hi Nhi, I will sent your answer. Thanks. Jose Luis. Re: [S32K566] MRAM OTP write Hi @nxf59838 , In S32K3, the feature Mem Load Access Code On Jab Start  to load access code that was stored same block with block want to write to SRAM, and this was done before starting write task to avoid read while write. If this feature isn't supported, for some cases that allow to read while write with different partitions, you can write to other partitions(except partition store access code) to solve the problem. But K5 doesn't allow to read, write MRAM or read OTP during write OTP so this can't solve the problem.  In current driver of K5, I just saw the example with DSP core loaded to MRAM. You can refer to the example of Platform. If you load access code to OTP space, then write to OTP, the issue can happen. For this, you just can load access code to SRAM to solve the problem. Other examples (M7, M4, R52 core), access code stored in SRAM, so it can't cause the issue read while write when you execute OTP write. As far as I know, SW team has no plan to implement this feature yet.  For the question about Mem_43_MRAM_MemMap.h, the section MEM_43_MRAM_START_SEC_RAMCODE  is in SRAM. As far as I know, we don't have the plan to use this section yet. Best regards, Nhi
View full article
带有 C++ S32DS 项目的 SDK <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 如何使用 S32 SDK 创建 C++ S32DS 项目? (我正在尝试使用 S32K144 EVB)。 谢谢! 尼科拉 S32K1系列的S32SDK Re: SDK with C++ S32DS project 对不起,对于新项目,我仍在使用曾经创建过的项目副本,所以我不记得具体步骤了,但我检查了原始 C (SDK) 链接器文件和 C++(非 SDK)链接器文件的差异,并将 C++ 链接器文件中的部分添加到 C 项目(现已转换为 C++ 项目)的旧文件中。我已经有了一些经验,所以这对我来说并不难。 或许也可以使用 C++ L.F.,只需从 SDK 项目中添加正确的内存部分即可。 也许彼得提供的链接会对你有所帮助。我认为您只需调整 S32K358 链接器文件中的内存大小/位置即可。 Re: SDK with C++ S32DS project 请参阅本帖: https://community.nxp.com/t5/S32K/S32K358-C-project-based-on-S32DS3-5/m-p/2058809#M46635 Re: SDK with C++ S32DS project 看来到了 2026 年,这个问题依然存在,我们依然需要这种解决方法。 下一步 - 创建不含 SDK 的 C++ 项目,并将其链接器文件复制到含 SDK 的项目中。 您能具体介绍一下您是如何一步步完成的吗?例如,您是否删除了带有 SDK 的项目(基于 C 的恩智浦 S32DS 项目)中的旧链接器文件,然后用 C++ 项目中的链接器文件替换了它们? Re: SDK with C++ S32DS project 请参阅本帖: 关于基于 S32DS3.5 的 S32K358 C++ 项目 - NXP Community Re: SDK with C++ S32DS project 大家好 你们能详细介绍一下诺瓦利斯给出的提示吗?我尝试用 SDK 创建 C 项目并将其转换为 C++,但没有成功。 谢谢! Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好, ,我可能找到了方法,这样就不必在构造函数中使用 new() 了 只需在 main.c 中添加 __libc_init_array(); 调用即可。 void __libc_init_array(void); void main(void) { __libc_init_array(); main_app(); // 如上所述 } 现在 cObject 对象(构造参数); 似乎运行正常。 Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,特拉维斯、 请参阅 Martin 的说明来构建与您的 C 代码兼容的 C++ 应用程序项目。它对我很有效,但有两个小缺点: (1) 您必须将生成的代码保存在另一个 C 应用程序项目中,然后复制粘贴到您的 C++ 项目中。 (2) 为 C++ 项目设置包含路径在开始时可能会很麻烦。也许有更简单的方法。 干杯, 梓潼 Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,马丁、 感谢您的答复!我用 S32 SDK 在 C 语言中创建一个 C++ 项目的路径也差不多。 我关注这篇文章来封装 C++ 对象以便它们可以在 C 代码中使用:教程:如何将 C++ 库/类集成到 C 程序中-Teddy Engineering GmbH 我还读到,如果使用 freeRTOS,建议使用 ``pvPortMalloc()`` 和 ``pvPortFree()`` 来覆盖 ``new`` 和 ``delete```:无法正确创建新对象 - FreeRTOS 干杯, 梓潼 Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我对此也非常好奇。在某些应用程序中,使用面向对象的基本原理更容易编写和维护更简洁、无错误的代码,而使用 C++ 则要容易得多。如果能更直接地提供这种支持,而不需要所有的步骤,生活就会轻松很多。 我更愿意使用恩智浦工具,但我觉得这限制了我。 Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我的做法是,使用 SDK 创建普通 C 项目,然后将文件/新建/转换为 C/C++ 项目 然后你必须进入项目属性、C/C++ 版本/设置/标准 S32DS C 编译器/包含,然后复制必要的行并将其粘贴到 C++ 编译器/包含中 下一步 - 创建不含 SDK 的 C++ 项目,并将其链接器文件复制到含 SDK 的项目中。 然后,我创建了 main_app.cpp,将函数 main_app() 定义为 extern"c" ,并从 main.c 中的 main() 函数调用 main_app(),然后我就可以从 main_app()调用 C++ 类了。 现在我可以编译它,应用程序似乎也可以工作,我还可以使用处理器专家等...... 我发现的唯一问题是,像这样使用构造函数: cObject object(constructor params); 并不能像预期的那样 我必须使用 cObject *object = new cObject(constructor params); Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,吉日、 请允许我提出一个后续问题:如果我真的需要在 S32K 项目中使用一些 C++ 代码,您有什么建议?到目前为止,我想到了以下几种可行的方法: 1.使用 S32K DS 以外的其他编译器。 2。将 C++ 代码构建到与 C 兼容的静态库(包含封装器等)中,然后将其添加到 S32K DS 中的 C 项目中。 非常感谢、 梓潼 Re: SDK with C++ S32DS project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,尼古拉 遗憾的是,S32DS 不支持在 S32K SDK 中使用 C++。 Jiri 
View full article
在 FRDM-MCXW71 EVK 上运行 BLE 示例时出现断言错误 你好,团队、 我目前正在使用 FRDM-MCXW71 EVK,用 Visual Studio Code 编写一个 BLE 应用程序。 由 mcxw71evk_cmsis_button_toggle_led 的示例成功版本、闪烁和运行。 但是,当我编译并刷新 mcxw71evk_adv_ext_peripheral_freertos 示例时,编译和调试过程成功完成,但是当我运行应用程序时,会出现断言错误。 能否请您帮我了解一下是什么原因导致了这个问题?如果 BLE 示例需要任何其他配置,请告诉我。 感谢您的支持。 致以最崇高的敬意, Ramdev #MCXW71 #BLE 模拟(ADC|CMP|DAC|OPAMPS) 开发板 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,克莉丝汀、 感谢您的反馈, 我使用的是 MCUXpresso SDK 版本 25.12.0。该项目成功构建,调试会话启动时没有任何问题。但是,一旦调试完成,我点击运行选项,应用程序就会立即出现断言错误。 我附上了终端日志供你参考。 能否请您查看一下日志,并就该问题的可能原因提供建议? 感谢您的支持。 致以最崇高的敬意, Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,@Ramdev 感谢您为我们创建案例。 请告诉我您的 SDK 版本和重现该问题的详细步骤。 如果可能,也请帮助提供相关截图和日志。 我倾向于在本地检查是否能重现这个问题。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 您好,恩智浦团队, 我想跟进我之前的询问。请您在方便时提供最新信息。 如果需要我提供任何补充信息,请告诉我。 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 您好,恩智浦团队, 。请您在方便时提供最新信息。 如果需要我提供任何补充信息,请告诉我。 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,@Ramdev 请尝试以下方法: 1. 修改 frdm_mcxw71\ mcuxsdk\ 中间件\ 无线\ 蓝牙\ boards\ frdmcxw71\ 蓝牙\ adv_ext_preinclude.h #define gAppLowpowerEnabled_d 1 //从 0 到 1   2.使用 blhost 加载位于以下目录中的 NBU FW: mcuxsdk\ 中间件\ 无线\ ble_controller\ bin\ mcxw71_nbu_ble_hosted.sb3   如果您不知道如何使用 blhost 闪存 NBU FW bin,请参考以下链接: https://community.nxp.com/t5/MCX-W71-Training-Secure-MCUs-for/FRDM-MXCW71-Hands-On-2-Recognize-NBU-Incompatible-Versions/ta-p/1970129   我已经在本地进行了验证,现在可以正常工作了:   扩展广告应用程序 - 外围设备 按 WAKESW 查看菜单 扩展广告应用程序 - 外围设备 按 WAKESW 查看菜单 扩展广告应用程序 - 外围设备 按 WAKESW 查看菜单 扩展广告应用程序 - 外围设备 按 WAKESW 查看菜单 扩展广告应用程序 - 外围设备 2 ss WAKESW 查看菜单 扩展可扫描广告 从手柄 0 开始   请告诉我您的结果,如果对您有效,请帮助将我的答案标记为该问题的解决方案。这样我们就可以结案了。 谢谢您!   顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,@Ramdev 对不起,我被另一项更优先的任务挡住了。 我会尽量在今天检查这个问题,并及时分享我的更新。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,Christine, 感谢您提供的最新信息。期待您的回复。 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,克里斯蒂安,我这边的 CMSIS GPIO 示例也能正常运行,问题是当我运行"mcxw71evk_adv_ext_peripheral_freertos" 这样的示例时,会出现断言错误,你能验证一下吗? Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好 Christine, 在 launch.jason 中我更新了 .elf文件,除此之外我没有做任何更改。 我也做了同样的事,但效果很好。 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,@Ramdev 感谢您的耐心等待。 我在本地进行了尝试,但没有遇到您的错误。 我可以成功版本、调试和运行它。 请参阅下面的测试结果输出: ---- 打开串行端口 COM4 ---- CMSIS GPIO 示例! 使用按钮切换 LED! CMSIS GPIO 示例! 使用按钮切换 LED! CMSIS GPIO 示例! 使用按钮切换 LED! CMSIS GPIO 示例! 使用按钮切换 LED! CMSIS GPIO 示例! 使用按钮切换 LED! 按下按钮! 按下按钮! 按下按钮! 按下按钮! 按下按钮! 按下按钮! 按下按钮! 按下按钮! 你修改了什么地方吗? 我正在使用 SDK25.12.00,并使用这个工具链来构建: .mcuxpressotools/arm-gnu-toolchain-14.2.rel1-mingw-w64-x86_64-arm-none-eabi/bin/arm-none-bin/arm-none-eabi-none-none-eabi-none-     请检查您的工具链。   如果你修改了任何地方,请告诉我。   下面的附件是我的控制台日志,似乎与你的类似。   但在你的控制台日志中,我看到 : [21923] 信息:Launcher.core.短截线:[短截线 (2336)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中的导线 ACK 故障   能否请您用其他例子试一试?像 hello_world 一样?       顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,@Ramdev 你修改过什么吗?还是只使用我们的默认示例? 当然,我也可以在我这边试试这个例子:adv_ext_peripher_freertos 。 稍后,我将与大家分享我的成果。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK Hi Christine , 感谢您提供的最新信息。 没问题,我理解。 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,@Ramdev 感谢您的回复。 我尝试了这个 BLE 示例:frdmmcxw71_adv_ext_peripheral_freertos,也遇到了和您一样的问题。 以下是错误信息: [11834] 调试:Launcher.core.短截线:短截线 (13333)-> GDB (2340):b '+' [35169] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35214] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35259] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35286] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35333] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35368] INFO:launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35401] info: launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35435] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35520] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中的导线 ACK 故障 让我检查一下,尽快反馈给您。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨克里斯汀, 很抱歉回复晚了。我遇到了另一个调试会话无法启动的问题。 在 VS Code 版 McuXpresso 中,出现以下错误: 无法启动:远程连接已关闭 (从目标选择扩展远程 172.0.0. 1:2356) 我还尝试过使用 LinkFlash (v25.12.83) 对主板进行编程,但它显示以下错误:无法连接到核心 Et: 31: 无法连接到芯 片的调试端 口 Pc: (100) 目标操作失败 在硬件方面,USB_ACT 绿色 LED 亮起,ISP_EN_MLINK 红色 LED 闪烁,USB LED 也亮起。 之前板运行良好,但现在我无法在 FRDM-MCXW71 板上调试或刷新任何示例。 由于这个问题,我无法检查您之前提到的断言错误解决方案。您能建议如何解决这个问题吗? 致敬、 拉姆德夫 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,Christine, 感谢您提供的最新信息。我已为此问题创建了一个支持链接 链接:https://community.nxp.com/t5/Wireless-MCU/FRDM-MCXW71-debug-issue/m-p/2327185#M20304 周一有空时,能否请您看一看? 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,@Ramdev 对于新问题,能否请您帮助创建一个新的主题? 为避免混淆,我们通常建议客户用一个案例跟踪一个问题。 下周一我会拿给你检查,现在我正在处理另一个问题。 感谢您的企业。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,@Ramdev 它对你有用吗? 如果在您那边可行,能否请您帮忙将我的答案标记为此例的解决方案? 这样我们就能及时结案。 如果您有任何其他问题,请随时向我们提交新案例。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,@Ramdev 感谢您创建新主题。 我看到我们的同事已经在新的主题上支持你了。 新问题解决后,请继续测试该问题,并告诉我是否还需要我们的帮助。 顺祝商祺! Christine。
View full article
S32DS Warnings from Clock IP with S32K5xx RTD 0.8.0 When using S32K5xx RTD 0.8.0 I receive a number of warnings from the Clock IP module when compiling.  DirkEtzler_0-1771115696535.png Is there a way to correct them?  Are these warnings safe to ignore?  Is there a plan to get them fixed? Re: S32DS Warnings from Clock IP with S32K5xx RTD 0.8.0 Hello @DirkEtzler , Thank you for your question. As mentioned previously, the S32K5 family is currently an NPI (New Product Introduction) device. For this reason, all support requests must be handled directly through your assigned NXP FAE. Alternatively, please create a support ticket at: https://support.nxp.com/s/?language=en_US The system will automatically route your request to the appropriate FAE team for further assistance. Thank you for your understanding. Best regards, Pavel
View full article
调整 EFLEXPWM 的占空比问题 现在我需要实现 6 通道互补 EFLEXPWM 波形生成。我选择了 SUB0、SUB1 和 SUB2 的 PWM_A 和 PWM_B。现在我想调整占空比。如何利用这些寄存器实现这一目标?我不太清楚手册中提到的与 VAL 值有关的操作。 刚开始使用 EFLEXPWM 时,我完全懵了,不知道如何操作。请帮帮我,我将不胜感激。 Re: Adjust the duty cycle issue of EFLEXPWM 您好, 数字设备 RM 的 238 和 243 显示了子模块内 PWMA/PWMB 和 PWMX 信号生成方面的 valN 寄存器含义。对于每个输出,子模块将一对定时值 (smnValm) 与子模块计数器进行比较以控制输出 脉冲,一个定时值用于控制开启边缘,一个用于控制关断边缘。 PetrS_1-1770735832538.png 因此 PWMA 边沿由 VAL2/VAL3 控制 PWMB 边沿由 VAL4/VAL5 控制 PWMX 边沿由 VAL0/VAL1 控制 BR, Petr
View full article
S32G274 デュアルコア起動後のCAN通信のデバッグ 現在、M コアと A コアの両方が同時に起動された場合の CAN 通信をデバッグしています。CAN ピンは PC_11 と PC_12 です。M7コアのAPPプロジェクトでFLEXCANを適用する必要があるため、AコアのLinuxのBSP35.0でllce_can0の設定を無効にしました(図を参照)。しかし、現象は、A コアが Uboot にあるときは M7 コアの flexcan は正常に通信しているのに、A コアが Linux に入ると M7 コアの flexcan が正常に動作しなくなるというものです。A コアの他にどこを変更する必要があるか教えてください。 sdx111_0-1770203152639.png sdx111_2-1770203430530.png sdx111_3-1770203435694.png sdx111_4-1770203442267.png Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up 上記の指示に従って変更を加えました。しかし、A コアが Linux システムに入った後も、M コアの CAN0 通信は依然として異常です。 s32g274ardb2 ログイン: root root@s32g274ardb2:~# ls /sys/firmware/devicetree/base/soc/siul2@4009c000/siul2-pinctrl@4009c240/llce_can0_pins ls: '/sys/firmware/devicetree/base/soc/siul2@4009c000/siul2-pinctrl@4009c240/llce_can0_pins' にアクセスできません: そのようなファイルまたはディレクトリはありません root@s32g274ardb2:~# ls /sys/firmware/devicetree/base/soc/llce@43a00000/llce_can0/ ls: '/sys/firmware/devicetree/base/soc/llce@43a00000/llce_can0/' にアクセスできません: そのようなファイルまたはディレクトリはありません Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up こんにちは@sdx111さん、 Linux で LLCE can0 ピンの使用を削除するには、次の変更を適用してください。 diff --git a/arch/arm64/boot/dts/freescale/s32g.dtsi b/arch/arm64/boot/dts/freescale/s32g.dtsi index de9caffb3ca1..ff02f046676b 100644 --- a/arch/arm64/boot/dts/freescale/s32g.dtsi +++ b/arch/arm64/boot/dts/freescale/s32g.dtsi @@ -379,18 +379,18 @@ llce_can_logger15: llce_can_logger15 { status = "okay"; }; - llce_can0: llce_can0 { - compatible = "nxp,s32g-llce-can"; - mboxes = <&llce_mb S32G_LLCE_CAN_CONF_MB 0>, - <&llce_mb S32G_LLCE_CAN_RX_MB 0>, - <&llce_mb S32G_LLCE_CAN_TX_MB 0>; - mbox-names = "config", "rx", "tx"; - clocks = <&clks S32G_SCMI_CLK_LLCE_CAN_PE>; - clock-names = "can_pe"; - pinctrl-names = "default"; - pinctrl-0 = <&llce_can0_pins>; - status = "disabled"; - }; +// llce_can0: llce_can0 { +// compatible = "nxp,s32g-llce-can"; +// mboxes = <&llce_mb S32G_LLCE_CAN_CONF_MB 0>, +// <&llce_mb S32G_LLCE_CAN_RX_MB 0>, +// <&llce_mb S32G_LLCE_CAN_TX_MB 0>; +// mbox-names = "config", "rx", "tx"; +// clocks = <&clks S32G_SCMI_CLK_LLCE_CAN_PE>; +// clock-names = "can_pe"; +// pinctrl-names = "default"; +// pinctrl-0 = <&llce_can0_pins>; +// status = "disabled"; +// }; llce_can1: llce_can1 { compatible = "nxp,s32g-llce-can"; @@ -615,23 +615,23 @@ usbotg: usb@44064000 { }; &pinctrl { - llce_can0_pins: llce_can0_pins { - llce_can0_grp0 { - pinmux = ; - input-enable; - slew-rate = ; - }; - - llce_can0_grp1 { - pinmux = ; - output-enable; - slew-rate = ; - }; - - llce_can0_grp2 { - pinmux = ; - }; - }; +// llce_can0_pins: llce_can0_pins { +// llce_can0_grp0 { +// pinmux = ; +// input-enable; +// slew-rate = ; +// }; +// +// llce_can0_grp1 { +// pinmux = ; +// output-enable; +// slew-rate = ; +// }; +// +// llce_can0_grp2 { +// pinmux = ; +// }; +// }; llce_can1_pins: llce_can1_pins { llce_can1_grp0 { diff --git a/arch/arm64/boot/dts/freescale/s32g274a-bluebox3.dts b/arch/arm64/boot/dts/freescale/s32g274a-bluebox3.dts index 0247b542f98b..fe93303e8ca9 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-bluebox3.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-bluebox3.dts @@ -91,9 +91,9 @@ &llce_boot_status { status = "okay"; }; -&llce_can0 { - status = "okay"; -}; +//&llce_can0 { +// status = "okay"; +//}; &llce_can1 { status = "okay"; diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi index afe8a5cea3e1..ada20f67f2d7 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi @@ -168,9 +168,9 @@ &llce_boot_status { status = "okay"; }; -&llce_can0 { - status = "okay"; -}; +//&llce_can0 { +// status = "okay"; +//}; &llce_can1 { status = "okay"; その後、以下のように llce can0 ノードとピンを一覧表示すると、llce_can0 は表示されないはずです。 root@s32g274ardb2:~# ls /sys/firmware/devicetree/base/soc/siul2@4009c000/siul2-pinctrl@4009c240/llce_can0_pins ls: cannot access '/sys/firmware/devicetree/base/soc/siul2@4009c000/siul2-pinctrl@4009c240/llce_can0_pins': No such file or directory root@s32g274ardb2:~# ls /sys/firmware/devicetree/base/soc/llce@43a00000/llce_can0/ ls: cannot access '/sys/firmware/devicetree/base/soc/llce@43a00000/llce_can0/': No such file or directory 対照的に、これらのノードがある場合、上記のようにリストすると、デバイス ツリーのサブノードが表示されます。 変更後に M7 で CAN0 を使用できるかどうかをお知らせください。 Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up こんにちは@sdx111さん、 わかりました。設定をテストして、またご連絡します。 よろしくお願いします。 Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up こんにちは@sdx111さん、 あなたが言及したような動作は見たことがありません。PFE と CAN が相互に干渉しているのです。ただし、 pinctrl-s32g.c#L430で、問題を解決できるかもしれない変更をいくつか行いました。問題のあるピンのある行を削除しました。あなたの場合は次の 2 つの行になります。 S32CC_PINCTRL_PIN(S32G_MSCR_PC_11), S32CC_PINCTRL_PIN(S32G_MSCR_PC_12), 私は RDB2 の RGB LED に対応するピンでこのテストを実行しました。リストからそれぞれのピンを削除すると、ピンは「浮いた」状態のままになり、Linux の起動時に通常オフになる LED ではなく、わずかにオンになっている LED を確認できます。 そのテストを実行して、M7 コアで CAN0 ピンが正しく動作するかどうかを教えてください。 よろしくお願いします。 Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up A の BSP35.0 の can0 と llcecan0 の両方の初期化コードを削除した後、M コアが PFE をロードしていないときに、M コアの can0 は正常に通信できるようになりました。しかし、/fsl-auto-yocto-bsp35.0/build_s32g274ardb2/conf/local.confに「DISTRO_FEATURES_append += 'pfe'」と「NXP_FIRMWARE_LOCAL_DIR = '/home/hhkj/linux3/fsl-auto-yocto-bsp35.0/firmware_bin/'」を追加した場合、つまり、PFE が A コアにロードされた後、M コアがクラッシュしたようです。CAN0 と SGMII モードを使用する M コアでは PFEMAC0 と pfemca1 を適用し、PFEMAC2 の RGMII モードを使用する A コアでは PFEMAC2 を適用する必要があるため、M コアで CAN0 通信のみが実行されている場合、M コアに PFE のファームウェアをロードすると A コアの CAN0 通信に影響する理由を知りたいです。 Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up 内部的に調査したところ、LLCE および PFE の使用時に制限は見つかりませんでした。Linux の起動前と起動後に次のレジスタが変化するかどうか確認できますか? alejandro_e_0-1770676601912.png よろしくお願いします。 Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up pinctrl-s32g.cに必要な変更を加えました指示に従ってファイルしてください。しかし、問題は依然として残っています。PFE ファームウェア (添付画像を参照) をロードするたびに、A コアが Linux システムに入った後、M7 コアの CAN0 が異常になります。PFE ファームウェアをロードしないと、A コアが Linux システムに入った後、M7 コアの CAN0 は正常に機能します。問題はどこで探せばいいのでしょうか?または、PFE ファームウェアをロードした後にテストしていただけますか? 1.png   2.png     Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up 1.私が観察した現象は、A コアが PFE をロードして起動した後、M7 の flexcan0 が正常に通信できないことです。具体的な状況としては、現時点では、cantest 上位コンピュータを使用して CAN メッセージを flexcan0 に送信すると、メッセージは正常に送信できますが、M7 の flexcan0 はまったく応答せず、外部に何も送信しません。したがって、この時点でM7がクラッシュしたと推測します。したがって、あなたが言及した 2 つのレジスターは間違いなく正常です。 2. Linuxを起動した後、関連するレジスタの値を読み取る方法を知りたいです。それは何のコマンドですか? 3.PFE ファームウェアのロードを有効にした後、プログラム内のどのファイルと機能が特定のロード プロセスになりますか?HIL1 を HIL0 に変更する必要がある場合、どうすればいいでしょうか? Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up こんにちは@sdx111さん、 更新が遅くなって申し訳ありません。ここ数週間はオフィスを離れていました。まだ問題は解決していませんか?もしそうなら、最新情報を教えてください。 トピックを続けるために新しい投稿を作成されたことに気付きました。同僚が問題を解決した場合は、私にもお知らせください。 ありがとうございます。 Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up こんにちは@sdx111さん、 分かりました。これについて新しい投稿を作成していただけますか?非アクティブ時間のため、投稿のステータスを追跡するために使用しているツールがこの投稿を閉じました。このトピックの続きであることを説明する新しい投稿を作成し、必要に応じて私にタグを付けて引き続き協力してもらうこともできます。 ご不便をおかけして申し訳ございません。 Re: S32G274 Debugging CAN Communication After Dual-Core Boot-up 今も変わりません。問題は解決されていません。
View full article
测量中心板(帆船)的压力 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 我现在正在做一个学校项目,涉及在帆船上安装传感器。这里指的是小艇。 其中一项任务是测量中板(船中间的可伸缩龙骨)两侧的压力,看哪边压力更大。因此,我只想看看一方和另一方的区别。 我认为压差传感器可能不错,所以我查看了一些压差传感器,如 MP3V5010 和 MPXV7025。 但据我从数据表中了解到的情况。 1.它们只为干燥空气而设计,所以这将是一个问题。用于测量压力的管子/管道会接触到水(在水中),因此如果船翻了(这很常见),水很有可能会进入传感器。 2.这些传感器(MP3V5010 和 MPXV7025)只能测量 P1>P2。传感器MPXV7025 的量程为 -25 kPA 至 25 kPa,但数据表中仍然规定 P1 必须高于 P2。 如果 P1 必须高于 P2,我如何测量 -25 kPa? 因此,我的问题是"防水" 传感器可以吗?(在管道里放点东西之类的),还是说有什么传感器更适合这种应用,对水不敏感? 压力传感器 Re: Measuring of pressure in a center board (Sailboat) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 谢谢 Re: Measuring of pressure in a center board (Sailboat) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 除干燥清洁的空气外,其他介质可能会溶解凝胶或被凝胶吸收,从而损坏模具表面或导致线缆断裂。与其他介质相比,某些类型的介质损坏芯片的时间更长,因此可以采用一次性应用。 我想请你参考应用笔记 AN3728:“IPS PRT 压力传感器的媒体兼容性”,除了提供的信息外,还值得考虑。 在这篇应用笔记第 3 页中,您可以看到我们已经测试了几种介质,主要是在具有耐介质凝胶的部件上,但是我们无法保证这些设备在这些条件下的长期可靠性。 要将我们的传感器用于除干燥空气以外的其他介质,一种可能的解决方案是尝试使用 "抗介质凝胶 "型压力传感器。 恩智浦使用两种不同类型的凝胶将芯片与环境隔离: 氟硅凝胶(FE-53 型)用于我们所有标准类型的压力传感器。 耐介质凝胶 (Sifel) 被用于我们的压力传感器,例如在高温环境下使用的传感器,主要应用于汽车领域 由于我假设您需要的压力传感器能够测量同一系统中的正压和负压,因此我建议您使用MPVZ7025DP压力传感器。 这也是一个集成压力传感器,这意味着它们已经过出厂校准、温度补偿和信号调节,因此外部硬件需要最少(仅用于解耦和滤波的电容)。 不幸的是,MPVZ7025DP 不再由恩智浦制造,但你可以在罗切斯特电子公司找到这款设备,该公司是恩智浦过时设备的授权代理商。 我希望这些传感器中的一个能帮上忙。 祝您愉快, Jose ----------------------------------------------------------------------------------------------------------------------- 注:如果本帖回答了您的问题,请点击正确答案按钮。Thank you! -----------------------------------------------------------------------------------------------------------------------
View full article
边缘人工智能应用中恩智浦 MCU 的功率优化策略 大家好 我目前正在设计一款基于恩智浦微控制器的低功耗边缘计算设备,并想从社区获得一些建议。该系统执行间歇性传感器采样和本地推理,然后将汇总结果发送到主机系统进行进一步分析。 在开发和测试期间,我使用一台支持人工智能的笔记本电脑来分析性能、验证推理输出并监测长时间运行的功耗模式。我面临的主要挑战是优化 MCU 的功耗,同时保持可接受的推理任务响应时间。 MCUXpresso 中是否有推荐的低电源模式、时钟缩放技术或 SDK 功能可以很好地应对此类工作负载?如果您有任何关于平衡恩智浦 MCU性能和功耗的实际经验,将非常有帮助。预先感谢您的真知灼见。
View full article
エッジAIアプリケーションにおけるNXP MCUの電力最適化戦略 こんにちは、みんな、 現在、NXP マイクロコントローラをベースにした低電力エッジ コンピューティング デバイスを設計しており、コミュニティからアドバイスをいただきたいと考えています。システムは断続的なセンサ サンプリングとローカル推論を実行し、要約された結果をホスト システムに送信してさらに分析します。 開発とテスト中は、 AI 対応のノートPCを使用してパフォーマンスのプロファイルを作成し、推論出力を検証し、長時間実行時の電力消費パターンを監視します。私の主な課題は、推論タスクの許容可能な応答時間を維持しながら、MCU 側の電力使用量を最適化することです。 MCUXpresso には、この種のワークロードに適した推奨の低電力モード、クロック スケーリング手法、または SDK 機能はありますか?NXP MCUのパフォーマンスと電力のバランスに関する実際の経験は非常に役立ちます。ご意見をよろしくお願いします。
View full article