Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
Profinet移植到iMX95EVK 您好, 我正在尝试将 NXP-Port GMBH 提供的 Profinet 协议栈移植到我的 iMX95 EVK 上,该芯片运行在 Linux 内核上。 我找到了以下链接,其中在i.MX-RT1180和 iMX94 上都进行了测试。 Profinet堆栈链接 我的问题是: 1. 请确认 imx95 支持此功能,并且该协议栈可以移植用于评估目的。 2. 请分享一些我可以参考的文档,以便将此技术栈移植到 Linux 上。 如果您还需要我提供任何其他信息,请告诉我。 谢谢! 高拉夫 Re: Profinet porting on iMX95EVK 希望你一切安好。 目前,i.mx95 不支持 PROFINET 工业以太网协议软件。 仅限上述设备: Oswalag_0-1786397230469.pngOswalag_0-1786397230469.png Re: Profinet porting on iMX95EVK 嗨@Oswalag , 谢谢回复。 我已经检查过 imx94 和 imx95 非常相似,如果该协议栈在 imx94 上运行正常,那么经过一些努力,它应该可以移植到 imx95 上。 我有几个问题: 1. 请确认 MMX94 上的 M7 内核或 Linux 内核是否移植了 Profinet 协议栈。 2. 是否有任何文档可以帮助将程序移植到 IMX94 上? 谢谢! 高拉夫 Re: Profinet porting on iMX95EVK 你好, 关于这个问题有任何进展吗? Re: Profinet porting on iMX95EVK 你好, 请查看以下情况说明书,其中包含有关核心成员职责的信息。 https://www.nxp.com/docs/en/fact-sheet/PROFINETFS.pdf 所有可用文档均可在以下网址找到:https://www.nxp.com/design/design-center/software/development-software/software-for-industrial-networking/profinet-industrial-ethernet-protocol-software :PROFINET-INDUSTRIAL-COMMUNICATIONS-SOFTWARE 如需更多信息,您可以联系NXP Pro 支持服务。
查看全文
Issues related to RAM space allocation Hello to all NXP official technical staff, I have encountered some problems while using the S32K144. Ni__0-1786357891196.png In this address allocation table The size of the System RAM spaces SRAM_L (extends downwards) and SRAM_U (extends upwards). Does the S32K144 chip support user customization? The problem of allocating addresses for global variables Global variables with non-zero initial values are stored in SRAM_L. Variables initialized to zero are stored in SRAM_U. This is why, and also if SRAM_L and SRAM_U support custom sizes. Are there any rules regarding the start and end addresses of their two address ranges? Why do global variables with or without initial values have different address ranges allocated by the chip? I'd like to learn more about the flash memory allocation for this chip. If there are any tutorials or resources available, could you tell me where I can download them? I sincerely look forward to your reply. Thank you so much! Re: 关于RAM空间分配的问题 dear VaneB I don‘t know if it's appropriate to address you like this I learned a lot from receiving your reply Thank you very much for your careful explanation But I still have one question Is there a document that outlines the writing specifications for linker script files I would like to learn about the writing style and grammatical structure of script files My English proficiency is not very good I hope you can understand what I mean I sincerely look forward to receiving your reply Thank you very much. Re: 关于RAM空间分配的问题 Hi @Ni_  SRAM_L and SRAM_U are physical memory regions with fixed address ranges defined by the device architecture. Accesses cannot occur across the 0x20000000 boundary that separates the two SRAM arrays. Therefore, the arrays must be treated as independent memory regions when performing burst accesses. The linker is not responsible for automatically distributing objects across SRAM_L and SRAM_U. Instead, the placement of variables and sections is determined by the linker script defined by the developer. Therefore, it is up to you to decide how memory sections are allocated between SRAM_L and SRAM_U, provided that the assigned addresses remain within the valid memory ranges of the device. BR, VaneB
查看全文
MIMXRT1160 XIPがランダムに失敗する 私は、166MHzで動作する8ビットフラッシュメモリからXIPを実行する複数のボードを所有しています。そのうちの1つが、時折「未定義の命令」エラーで失敗する。 信号の整合性の問題を疑っていますが、PCBにテストポイントがないので、それを確認できる唯一の方法は速度を166MHzから133MHzに下げることで、そのボードの問題が「解決」しているようです。 このエラーは、mcubootからアプリケーションをチェーンロードするときに最も頻繁に出るのが示唆的です。アプリケーション実行時にはより稀です。信頼できるトリガー方法も見つかりません。故障が現れるまで何度も電源を入れ直す必要があります。 このXIPの故障をより正確に診断する方法はありますか? Re: MIMXRT1160 XIP fails randomly こんにちは、 @tbonkers さん。 ご説明いただいた現象は、フラッシュデータラインのPCB配線や信号品質の余裕が限られているため、166MHzにおける読み出しサンプリングマージン(セットアップ/ホールド)が不足していることが原因である可能性が最も高いです。これにより両方の症状も説明できます。133 MHzに落とすとサンプリングウィンドウが広がり、問題が「消える」ことになります。そしてMCUbootのチェーンロードは、コールドリセット直後に最初に密度の高いキャッシュコールド命令フェッチであり、マージンが最も厳しい場所です。そのため、そこで最も失敗しやすく、ランタイムフェッチは主にキャッシュに当たってほとんどトリガーされません。 以下のチェックを推奨します。すべてソフトウェア側で、PCBテストポイントは不要です。 まずはダミーサイクルから始めましょう。読み出しLUT内のダミーサイクル数が、166MHzにおけるオクタルフラッシュのデータシート仕様と厳密に一致していることを確認してください。自動生成されたFCB(例:プロビジョニングツールからのもの)がより低い値を使用している場合は、データシートで指定された値に設定し、データ有効ウィンドウを広げてサンプリングマージンを拡大するために1〜2回のダミーサイクルを追加できます。ダミーサイクルが不十分なため、最初のデータビートがターンアラウンド/未確定領域に配置されてしまい、断続的なエラーの典型的な原因となる。 読み取りサンプルクロックソースを確認します。166 MHz は readSampleClksrc=3 ( kFlexSPIReadSampleClk_ExternalInputFromDqsPad:フラッシュ デバイスから提供されるストローブ/DQS を読み取る) の場合にのみ仕様を満たします。現在0または1の場合、166MHzは仕様外であり、これは「133MHzで修正される」という記述と完全に一致します。基板上に実際のDQSトレースが存在することを確認し、このモードを使用してください。 これらの調整後も断続的な故障が続く場合は、166 MHzのマージンボトルネックを上記のステップ1〜3で隔離しながら、安全な基準として133 MHzで動作できます。また、こちらの投稿も参考になるかもしれません: https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Octal-flash-IS25WX256-dummy-cycles/mp/2178828   幸運をお祈りしています、 ギャビン Re: MIMXRT1160 XIP fails randomly エラーログや回路図の共有が役立つかもしれませんが、今のところの故障率はどうでしょうか? Re: MIMXRT1160 XIP fails randomly こんにちは、 @Gavin_Jia さん。 読み取りコマンドを様々なダミーサイクル数でテストしてみましたが、やはりエラーが発生します。 フラッシュボラタイルレジスタのダミーサイクル数を20に設定し、166 MHzをサポートできるようにしました。フラッシュのデータシートによると、20回のダミーサイクルで最大200 MHzをサポートするはずです。 readSampleClksrc=3はbootROMによって設定され、デバッガ接続で確認されます。 DQSトレースは確かに存在する。 時には、アプリケーションが実行中、最初の大きなフラッシュ読み取りの後に故障が発生することがあります。 Re: MIMXRT1160 XIP fails randomly こんにちは、 @tbonkers さん。 詳細なテストをありがとうございました。あなたの調査結果に基づくと、これは166MHzオクタルDDR XIPの読み出しパスがサンプリング/信号完全性マージンの限界付近で動作しているという状況と最も整合性が取れています。 readSampleClksrc=3 およびDQSトレースは必要条件ですが十分条件ではありません。DDR DQSモードでは、RT1160側はDQSからSIOへの相対スキューが~±1ナ秒以内に保たれ、166 MHzがインターフェースの上限であるため、マージンは最小限です。 さらに調査したところ、基板を改造することなく現在の問題を解決するのに役立つ可能性のある解決策が以下のとおりです。 DLLのエラータERR011377を適用してください。RT1160の訂正表には、DLLロックステータスビットが設定された後も、外部フラッシュへの即時読み書きがタイミングの問題により誤ったデータを返す可能性があると記載されています。回避策としては、ロックビットが設定されてから少なくとも512回のFlexSPIルートクロックサイクルを待ってからフラッシュにアクセスすることです。この遅延は、ブートローダーおよびFlexSPI/DLL/クロックを再設定するアプリケーションのすべてのパスに適用されるようにしてください。これは「チェーンロード時に最も頻繁で、実行時に断続的」とよく合致します。 定量化可能なRAM常駐ストレステストを実行します(繰り返し電源のオンオフよりも効果的です) 。テストコードと障害ハンドラをITCM/OCRAMに配置し、CRC比較を使用してAHBメモリマップから大きなフラッシュブロックを繰り返し読み出し、166/133/120MHzをスイープします。周波数が低下するにつれてエラー率が急激に低下する場合、それはタイミング/SIマージンの問題を裏付けるものです。 mcubootのCASE、ブートローダーが外部NORを消去・プログラムした場合、アプリケーションにジャンプする前にI/Dキャッシュを無効化しなければなりません。また、アプリケーションが異なるクロック/DLL/LUT/パッド設定でFlexSPIを再初期化していないかも確認してください。 最終的に166MHzのみが故障し、133MHzが安定している場合は、現在の基板の安全な動作周波数として133MHzを推奨します。166MHzが生産上必須の場合は、PCBのDQS/SCLK/SIOの長さのマッチング、インピーダンス、クロストーク、パッド駆動強度を見直し、次回の改訂でこれらの信号のテストポイントを追加する必要があります。 よろしくお願いします、 ギャビン
查看全文
RAM領域割り当てに関する問題 NXPの公式技術スタッフの皆様、こんにちは。S32K144の使用中にいくつか問題が発生しました。 Ni__0-1786357891196.png このアドレス割り当てテーブルでは システムRAMのサイズは、SRAM_L(下方向に拡張)とSRAM_U(上方向に拡張)という領域に分けられます。 S32K144チップはユーザーによるカスタマイズに対応していますか? グローバル変数のアドレス割り当ての問題 初期値がゼロでないグローバル変数はSRAM_Lに格納されます。 ゼロで初期化された変数はSRAM_Uに格納されます。 これが理由であり、またSRAM_LとSRAM_Uがカスタムサイズをサポートしている場合にも当てはまります。 2つのアドレス範囲の開始アドレスと終了アドレスに関して、何か規則はありますか? 初期値を持つグローバル変数と持たないグローバル変数では、チップによって割り当てられるアドレス範囲が異なるのはなぜですか? このチップのフラッシュメモリ割り当てについてもっと詳しく知りたいのですが、チュートリアルや参考資料などがあれば、ダウンロードできる場所を教えていただけますか? ご返信を心よりお待ちしております。 どうもありがとうございます! Re: 关于RAM空间分配的问题 親愛なるVaneB あなたにこのように話しかけるのは適切かどうかわかりません あなたの返信から多くのことを学びました 丁寧なご説明をありがとうございました。 でも、まだ一つ質問があります。 リンカースクリプトファイルの書き方仕様をまとめたドキュメントはありますか? スクリプトファイルの文体や文法構造について学びたいです 英語力はあまり良くありません 私の言いたいことがわかれば幸いです ご返信を心よりお待ちしております。 ご返信よろしくお願いします。 Re: 关于RAM空间分配的问题 こんにちは、 @Ni_ SRAM_LとSRAM_Uは、デバイスアーキテクチャによって定義された固定アドレス範囲を持つ物理メモリ領域です。アクセスは2つのSRAMアレイを隔てる0x20000000境界を越えて行うことはできません。したがって、バーストアクセスを行う際は配列を独立したメモリ領域として扱う必要があります。 リンカは、SRAM_LとSRAM_Uにオブジェクトを自動的に分散させる役割を担っていません。その代わりに、変数とセクションの配置は、開発者が定義したリンカースクリプトによって決定されます。したがって、割り当てられたアドレスがデバイスの有効なメモリ範囲内に収まる限り、SRAM_LとSRAM_Uの間でメモリ領域をどのように割り当てるかは、ユーザー自身が決定する必要があります。 BR、VaneB Re: 关于RAM空间分配的问题 こんにちは、 @Ni_ アプリケーションノートが用意されています。S32K3デバイス向けに設計されているものの、RTDで使用されているリンカーの概念は、S32K1デバイスにも基本的に同じである。したがって、これはリンカーの理解と設定に役立つ参考資料となるはずです。 AN14893 : S32K3xx リンカーファイルとスタートアップコード
查看全文
TRACE32 烧录过程中发生内存错误 _0-1786361688597.png 使用 TRACE32 脚本进行刷写时,无法访问内存。根本原因可能是什么? Re: Memory error occurs during flashing in TRACE32 如附件脚本所示,Lauterbach 偶尔无法访问 RAM。这个问题可以通过通过 PE 重新刷写软件来解决。 Re: Memory error occurs during flashing in TRACE32 你好@代码织梦师, 请问您使用的是哪款设备? 同时验证.cmm文件中的闪存算法路径脚本与设备衍生产品相符。 从图片来看,我推测您正在读取 S32K3 中的 SRAM,这需要 ECC 初始化,您能否确认您或启动文件是否在 POR 后正确初始化了 SRAM ECC? 此致, 朱利安 Re: Memory error occurs during flashing in TRACE32 你好@代码织梦师, 可能是 SRAM ECC 初始化,尽管如果启用了 SRAM ECC,调试器和启动代码都应该初始化 SRAM ECC。 您可以尝试使用 T32 中的示例脚本 init_sram.cmm: Julin_AragnM_0-1786473457854.png 此致, 朱利安
查看全文
适用于 MCSPTR2AK396 开发套件的 lwip_FreeRTOS_s32k396 示例项目 你好!我正在使用 S32K396 MCSPTR2AK396 三相永磁同步电机控制开发套件。为了测试基础固件,我安装了以下软件包: S32DS_3.6.5_RFP_win32 S32K3_ETPU_SW_4.9_2.0.1_D2512 SW32K3_S32M27x_RTD_R23-11_7.0.0_QLP03_D2512 SW32K3_FreeMASTER_Driver_1.5.0_D2512 S32K3xx_AMMCLIB_RTM_1_1_45_BIN MCSPTR2AK396_SW GCC 版本 10.2 经过多次尝试同步所有软件版本均告失败后,终于成功了,基础固件开始运行。不过,接下来我想测试以太网通信功能,而这正是我目前遇到的尚未解决的问题。 我还安装了: SW32K3_FreeRTOS_11.1.0_0.8.0_CD1_D2603 SW32K3_TCPIP_STACK_4.0.0_D2512 我尝试了测试项目 lwip_FreeRTOS_s32k396,但它始终无法编译,总是出现错误;描述中总是存在冲突和其他问题。我尝试使用最新版本的 SW32K3_TCPIP_STACK_5.0.0_CD01_D2605,并且在更新代码过程中必须进行文件替换。最终,固件编译成功,虽然出现了一些警告,但没有出现错误。 之后,我便开始进行测试。我的系统设置如下:个人电脑 -> GeekStore 100BT1-PRO2 汽车变流器 ( http://pinzhi-tech.com.cn/en/home_eng/product_list_100base-t1_eng/100bt1-pro2_eng/ )-> MCSPTR2AK396。我调整了计算机上以太网连接的 IP 地址和固件中指定的 IP 地址,使它们位于同一子网中。然而,从计算机尝试 ping 电机的分配 IP 地址却失败了,尽管变流器显示网络轮询正在进行中。 问题可能出在哪里?是不是我不应该使用最新版本的 TCPIP_STACK?电路板本身是否存在问题?控制器板上的标签标明了版本 B1 和 B。是否可以获取专门针对这些修订的更多文档(在网站上,我只看到了修订版 A 的文档)?任何建议或疑问,我都非常感激。 Re: lwip_FreeRTOS_s32k396 example project for MCSPTR2AK396 Development Kit 你好@Anna_Anna , 是的,是 fsdata.c之前版本中报告的 EthIf.c 文件问题已修复;EthIf.c来自 RTD 的文件只是一个短截线。我们提供了自己的 EthIf 最小实现,因此可以安全地将 RTD 中的文件从项目中排除。 其次,是的,根据您的描述,该示例似乎运行正常。需要进行连接,并且应该按照所述方式进行(将CRS_DV布线/焊接至PTD14 )。 此致, 朱利安 Re: lwip_FreeRTOS_s32k396 example project for MCSPTR2AK396 Development Kit 谢谢,我稍后会尝试这种方法,并向你汇报结果。 Re: lwip_FreeRTOS_s32k396 example project for MCSPTR2AK396 Development Kit 你好@Anna_Anna , 首先,我不确定 TCPIP v4.0.0 存在哪些错误,因为它也与 RTD 7.0.0 兼容。FreeRTOS 7.0.0 CD01 软件包,但是最新的 TCPIP 协议栈 (v5.0.0) 可以正常工作。能否告知一下您修改了哪些文件? 我顺利地导入、生成和编译了该项目。我的环境:S32DS v3.6.0,RTD v7.0.1、FreeRTOS v7.0.0 CD 01 和 TCPIP 协议栈版本 5.0.0CD 01。 MCSPTR2AK396似乎存在设计缺陷。EMAC_MII_RMII_RX_DV ( PTD14 ) 未连接到RX_CTL - CONFIG6 : MCSPTR2AK396 EVB 以太网连接,CRS_DV 信号澄清。 也就是说,该任务和操作系统是否正在运行? xTickCount — 如果 RTOS 滴答中断处于活动状态,则此值应持续递增。 xSchedulerRunning — 如果调度程序正在运行,则应将其设置为 1。 此致, 朱利安   Re: lwip_FreeRTOS_s32k396 example project for MCSPTR2AK396 Development Kit 你好@Julián_AragónM ! 使用 TCPIP v4.0.0 构建测试项目时遇到的问题已通过从构建过程中排除 fsdata.c 和 EthIf.c 这两个文件得到解决。此冲突似乎已在 5.0.0 版本中自动解决。 我还通过 S32DS 调试器的“表达式”窗口检查了变量 xSchedulerRunning 和 xTickCount 的值。xSchedulerRunning 的值确实为 1,而 xTickCount 的值依次递增(1、5001、10001……),这让我得出结论:FreeRTOS 在板载上运行正常,问题不在于软件。如果我理解正确,剩下的唯一原因就是硬件问题——TJA1103A 上的 CRS_DV (CONFIG6) 引脚与 PTD14 引脚之间没有连接?要解决这个问题,我需要将这两个触点焊接在一起吗?请确认。 此致, 安娜 Re: lwip_FreeRTOS_s32k396 example project for MCSPTR2AK396 Development Kit 你好 关于设计文件,我可以看到 MCSPTR2AK396 的硬件设计包包含 B2 版本: Julin_AragnM_3-1786576291659.pngJulin_AragnM_3-1786576291659.png 此致, 朱利安 Re: lwip_FreeRTOS_s32k396 example project for MCSPTR2AK396 Development Kit 你好。在我将 MCU 的引脚 41 (PTD 14) 和 TJA1103A 的引脚 25 (RX_CTL/CONFIG6) 焊接好之后,ping 功能就真正开始工作了。谢谢!
查看全文
通用IO 基于 S32K324 MCU,如何使用 S32DS 将 GPIO 配置为高阻抗状态。 Re: GPIO HI 请参考之前类似的讨论: S32K3 GPIO 高阻态 如果该引脚之前可能已启用内部上拉,为了满足 S32K3XXRM 中的三态定义,应调用Siul2_Port_Ip_SetPullSel (..., PORT_INTERNAL_PULL_NOT_ENABLED) 以确保 PUE=0; 此致敬礼, Robin
查看全文
S32K322 在 8MHz 频率下的 SPI 占空比并非 50%。 尊敬的恩智浦团队: 我们正在进行一项改进活动,我们需要使 8MHz SPI SCLK 在 SPI 事务中具有周期性。我们测量了8MHz 的 SPI SCLK (由 S32K322 中的 SPI 外设驱动器驱动),发现50% 的占空比没有保持。当我们把频率降低到 1/2/4 MHz 时,我们发现这些 SCLK 频率下的占空比仍然保持在 50%。 问题- 这是外设驱动程序的硬件限制,还是可以通过更改驱动程序设置来实现 8MHz 下所需的 50% 占空比? 请查看附件截图,其中占空比维持在 1MHz 而不是 8MHz。 注:我们连接了来自Saleae的逻辑分析仪,该分析仪具有更高的采样分辨率(250MS/s)来测量 SPI 信号。 Re: The SPI duty cycle of S32K322 is not 50% for 8MHz 您好, LPSPI 时钟占空比由 SCKSET 和 SCKHLD 时序参数决定。只有当这些字段被编程为相等的值时,才能获得 50/50 的占空比。根据所选的 LPSPI 功能时钟和生成 8 MHz 所需的分频器值,由于时钟发生器的时序分辨率,可能无法实现精确的 50/50 占空比。观察到的 76 ns / 48 ns 高低时间似乎与这种分频器量化效应一致。 PetrS_0-1786090730852.png 因此,请尝试根据 LPSPI 功能时钟频率、TCR[PRESCALE] 和 CCR/CCR1 寄存器(SCKSET、SCKHLD、SCKDIV)的内容计算预期占空比,并确定不同的时钟源或分频器配置是否可以实现更接近 50/50 的占空比。   BR,彼得
查看全文
S32K356 RTDの選択 S32K356を使用する予定ですが、バージョン7.0.0と7.0.1しか利用できないことがわかりました。しかし、対応するautosar...AUTOSAR R21を使用する場合、どのバージョンをお勧めしますか? wenming_0-1786093683425.png Re: S32K356 RTD选择 SW32K3_S32M27x_RTD_R21-11_6.0.0_P05_D2510も試してみましたが、何度も失敗しました。S32D32のバージョンに関係しているのではないかと考えています。3.6.7も試してみました。では、どのバージョンのS32D32を使用すればよいのでしょうか? wenming_0-1786106406261.png Re: S32K356 RTD选择 こんにちは@wenming さん おっしゃる通りです。たとえS32K356がSW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_ReleaseNotes.pdfの「サポート済みデリバティブ」セクションに記載されていても、S32K356プロジェクトは作成できません。 RTD 6.0.0 P05リリースノートには、このP05リリースがS32K356派生モデルのS32DS/CTサポートを追加すると記載されています。 よろしくお願いいたします。 パベル Re: S32K356 RTD选择 バージョン6.0.0の説明によると、S32K356はサポートされていません。 wenming_0-1786103361744.png Re: S32K356 RTD选择 こんにちは@wenming さん S32K3 RTDバージョン6.0.0(AUTOSAR R21-11)は、AUTOSAR R21とのS32K356に推奨される選択肢です。 よろしくお願いいたします。 パベル Re: S32K356 RTD选择 こんにちは@wenming さん スクリーンショットをありがとうございます。 エラーメッセージから判断すると、これはS32DSのバージョン制限によるものではないようです。S32DSがインストールするアイテムを収集/ダウンロードしている最中にエラーが発生し、重要なメッセージは次のとおりです。 ZLIB入力ストリームの予期しない終了 失敗した項目は、S32DSのプラットフォーム/デバッグ関連アーティファクトです。例えば: com.nxp.s32ds.doc.platform.resources com.nxp.s32ds.lrc.gdb.arm64.linux.win32 これは通常、アーティファクトのいずれかが完全にダウンロードされなかったか、ダウンロード/解凍中に破損したことを示しています。つまり、この問題はRTD 7.0.1とS32DS 3.6.7の互換性制限というよりは、更新サイトやダウンロード、キャッシュの問題のように見えます。 リリースノートに関して:記載されているS32DSバージョンは、そのRTDリリースにおけるベースライン/テスト済みのS32DSバージョンとして理解してください。しかし、S32DSはモジュール式であり、RTDのインストールでは、関連するプラットフォーム、ツール、デバッガ、コンパイラ、ドキュメントコンポーネントが現在のインストールで欠けているか古い場合は、更新またはインストールが必要になる場合があります。 以下の手順をお試しください。 S32DSを再起動して、もう一度インストールを試してください。 NXPのアップデートサイトへのネットワーク接続が安定していることを確認してください。 可能であれば、インストール時にオンラインダウンロードのみに頼るのではなく、公式のオフラインアップデートサイトZIP/パッケージを使用してください。 S32DSに必要なGCC 10.2ツールチェーンがインストールされていることを確認してください。 問題が解決しない場合は、S32DS 3.6.x をクリーンインストールしてみてください。インストール後、追加のパッチやアップデートパッケージを適用する前に、まずRTD 7.0.1の基本パッケージをインストールしてください。 したがって、現在のスクリーンショットから判断すると、RTD 7.0.1がS32DS 3.6.7で使えないとは結論づけません。今回のエラーは、必要なS32DSアップデートファイルのダウンロードが不完全または破損していることを示唆しています。 参考までに、私はS32DS 3.6.6にSW32K3_S32M27x_RTD_R23-11_7.0.1_D2603_DesignStudio_updatesite.zipを正常にインストールできました。私のセットアップでは、S32K3 RTDパッケージに必要なGCC 10.2ツールチェーンを追加でインストールするだけで済みました。   よろしくお願いいたします。 パベル Re: S32K356 RTD选择 S32DSのバージョンを3.6.10にアップグレードしました。これにより、追加コンポーネントなしでRTD 7.0.1をインストールできます。今後は開発にS32DS 3.6.10 + RTD 7.0.1を使用します。後でautosarが必要になった場合は…バージョンR21へのアップデート情報があれば、お知らせください。よろしくお願いいたします。 Re: S32K356 RTD选择 こんにちは@wenming さん この問題はS32DSのバージョンに関連している可能性があります。 ただし、まずQLP01がインストールされていることを確認してください。SW32K3_S32M27x_RTD_R21-11_6.0.0_P05_D2510_ReleaseNotes.txtには「このリリースはこのS32K3_S32M27xリアルタイム・ドライバAUTOSAR R21-11バージョン6.0.0 QLP01の上に載っている」と記載されています。 よろしくお願いいたします。 パベル Re: S32K356 RTD选择 wenming_0-1786415389796.png wenming_1-1786415468027.png 上記の画像に示すように、バージョン 6.0.0 QLP01 もインストールに失敗します。もう 1 つの問題は、RTD リリース ノートにはインストールに必要なのは S32DS 3.6.2 のみと記載されていることです。バージョン 3.6.7 を使用しているのに、なぜコンポーネントの更新を求められるのでしょうか?これはリリースに関連しています...メモの内容が一致しません。原因は何でしょうか? Re: S32K356 RTD选择 こんにちは@wenming さん いくつか追加の発見がありました。 朗報です。S32DS 3.6.2にRTD 6.0.0 QLP01とP05をインストールすることができました。しかし、リリースノートの記述にもかかわらず、RTD 6.0.0 QLP01は、まずクリーンなRTD 6.0.0のインストール環境の上にインストールする必要がありました。その後、P05も無事に取り付けられるようになりました。 残念ながら、このインストール手順を経ても、SDKはS32DSのS32K356プロジェクトにまだ接続できません。 古いAUTOSAR版をお探しだと理解しています。しかし、観察された挙動から判断すると、S32DSでRTD 6.0.0で動作するS32K356セットアップは確認できません。S32K356として、実用的なS32DSサポートは新しいRTD 7.0.0で利用可能になっているようです/ 7.0.1 リリース。 よろしくお願いいたします。 パベル Re: S32K356 RTD选择 S32DSのバージョン互換性の問題を解決するにはどうすればよいですか?S32DS3.6.7にRTD7.0.1をインストールできないのはなぜですか?また、アップデートを促され続けるのはなぜですか? wenming_0-1786513965538.png Re: S32K356 RTD选择 こんにちは@wenming さん Q1: S32DSのバージョン互換性の問題はどう解決すればいいですか? 具体的にどの不適合メッセージが見られているのか、もう少し具体的に教えていただけますか?   Q2: なぜS32DS3.6.7にRTD7.0.1をインストールしず、アップデートを促され続けるのですか? アップデートを促すメッセージ自体はエラーではありません。選択したRTDパッケージが新しいコンポーネントや追加コンポーネントに依存している場合、S32DSは関連するプラットフォームやツールパッケージの更新を求めることがあります。   また、S32K3 RTDパッケージで必要なGCC 10.2ツールチェーンがS32 Design Studioにインストールされているか必ず確認してください。   よろしくお願いいたします。 パベル Re: S32K356 RTD选择 wenming_0-1786523357428.png これはRTD 7.0.1のインストール時に表示されるエラーメッセージです。バージョン制限によるものと思われますか?また、RTDリリースで説明されているS32DSバージョンは、原則としてS32DSコンポーネントを更新することなくインストールできるはずです。それでもコンポーネントの更新が必要な場合は、より使いやすい新しいインストールバージョンをお勧めする方が良いでしょう。
查看全文
i.MX SDKによるRT1170 SDRAM設定例:自動リフレッシュが無効化されている? NXPチームの皆様、こんにちは。 私たちはMCUXpresso SDKの例を参考に、カスタム i.MX RT1170ベースのハードウェアのSDRAM構成を作成しました: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/blob/main/_boards/evkbmimxrt1170/demo_apps/shell/shell.mex 私たちの設計は ISSI IS42S16320F SDRAM をSEMCインターフェースに接続しています。 残念ながら、この構成では時折システムの不安定性が発生しています。SDRAM設定を詳しく確認したところ、例の構成では オートリフレッシュが無効になっているように見え ました: Masmiseim_0-1786008762531.png これは驚きでした。なぜなら、私たちの理解ではIS42S16320Fはデータの整合性を維持するために定期的なリフレッシュサイクルが必要であり、したがって自動リフレッシュが有効になっているはずだからです。 以下の点について説明していただけますか? 提供されたSDKの例ではオートリフレッシュが意図的に無効になっているというのは正しいですか? もしそうなら、この構成の根拠は何ですか? SDRAMのリフレッシュサイクルは、SEMCコントローラやソフトウェアの初期化コードが他の場所で処理しているのでしょうか? カスタムハードウェア設計のISSI IS42S16320Fでは、Auto-Refreshを明示的に有効にすることをおすすめしますか? 再開まで今しばらくお待ちください。 よろしくお願いいたします。 i.MXRT 101x Re: i.MX RT1170 SDRAM Configuration from SDK Example: Auto-Refresh Disabled? こんにちは、 @Masmiseim さん。 例で示されているDCD構成は、RT1170-EVKBで使用されているSDRAM向けに実装されています。ご存知の通り、各SDRAMデバイスには独自のタイミング要件や初期化パラメータがあるため、例に含まれるSEMC構成はあなたの特定のSDRAMと完全に互換性がない場合があります。 この例では、最終的なSDRAM初期化シーケンスの一部として自動リフレッシュ機能が有効化されます。しかし、初期化プロセス中は自動リフレッシュビットが無効化されたままであり、必要なリフレッシュ操作はSEMCのIPコマンドを通じて実行されます。以下の画像に示されています。 Habib_MS_4-1786056205833.png Habib_MS_6-1786056292017.png これらの設定をSDRAMでカスタマイズしたい場合は、MCUXpressoの設定ツールを使ってDCDを生成できます。これにより、次の図に示すように、デバイスの要件に応じてSDRAMパラメータを設定できます。   Habib_MS_7-1786056301151.png 一方で、「semc_cm7」というSDKの例(バージョン26.06)があり、SEMCペリフェラルを外部SDRAMで使う方法を示しています。 最後に、この コミュニティ投稿 ではOmarが有用なSEMCレジスタの設定例を提供しています。 BR ハビブ Re: i.MX RT1170 SDRAM Configuration from SDK Example: Auto-Refresh Disabled? SDKから使おうとする もの はあくまで 例 として扱うのが賢明なので、 すべてを必ず確認・検証すべきです。
查看全文
IMX95 は can1 の親子関係の変更に失敗しました can1を有効にしようとしました 私のデバイスツリーのピンはimx95 evkに従い、&micfilを無効にします IMX95_PAD_PDM_CLK__AONMIX_TOP_CAN1_TX  0x39e IMX95_PAD_PDM_BIT_STREAM0__AONMIX_TOP_CAN1_RX  0x39e しかし、以下のエラーが発生しました。 [ 9.968941] CANデバイスドライバインターフェース [ 9.976800] scmi-pinctrl-imx scmi_dev.8:エラー設定 config -13 [ 9.976814] scmi-pinctrl-imx scmi_dev.8:pin_config_set 操作がピン 121 で失敗しました [ 9.976893] clk: can1 を syspll1_pfd1_di に再親付けできませんでした: -1 [ 9.978973] 内部エラー: 同期外部アボート: 0000000096000010 [#1] SMP [ 9.978986] リンクされているモジュール: flexcan(+) can_dev neoisp(+) at24 rpmsg_ctrl rpmsg_char pwm_fan enetc4_uio(O) fsl_ecat_enetc4 fsl_ecat_enetc_core moal(O) mlan(O) furuse [ 9.979017] CPU: 5 UID: 0 PID: 357 Comm: (udev-worker) Tainted: GMO 6.18.2-rt3-1.0.0-1.0.0 #1 PREEMPT_RT [ 9.979026] 汚染: [M]=MACHINE_CHECK、[O]=OOT_MODULE [ 9.979028] ハードウェア名: Axiomtek i.MX95 scm136 ボード (DT) [ 9.979031] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 9.979035] pc : flexcan_read_le+0x0/0x20 [flexcan] [ 9.979060] lr : flexcan_probe+0x454/0x834 [flexcan] [ 9.979067] sp : ffff800086133820 [ 9.979069] x29: ffff800086133850 x28: ffff8000862b0000 x27: ffff000085a182a0 これを直す方法を知っている人はいますか? Re: IMX95 failed to reparent can1 こんにちは、Zhiming_Liu ご返信ありがとうございます。 おっしゃる通り、システムマネージャーの設定を変更する必要があります。 Re: IMX95 failed to reparent can1 こんにちは、 @HenryHsu さん。 以下は、私が以前i.MX95 EVKで行ったテスト結果です。下記の変更を加えて、ご自身のdtsファイルをご確認ください。   dtsの変更点:     Zhiming_Liu_2-1785995739657.png diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts index ab7bd4fdaadf..5eb3011f0894 100644 --- a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts @@ -380,7 +380,7 @@ &flexcan1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan1>; xceiver-supply = <&reg_can1_stby>; - status = "disabled"; + status = "okay"; }; &flexcan2 { @@ -623,23 +623,23 @@ spidev0: spi@0 { }; }; -&micfil { - #sound-dai-cells = <0>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&pinctrl_pdm>; - pinctrl-1 = <&pinctrl_pdm_sleep>; - assigned-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>, - <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>, - <&scmi_clk IMX95_CLK_AUDIOPLL1>, - <&scmi_clk IMX95_CLK_AUDIOPLL2>, - <&scmi_clk IMX95_CLK_PDM>; - assigned-clock-parents = <0>, <0>, <0>, <0>, - <&scmi_clk IMX95_CLK_AUDIOPLL1>; - assigned-clock-rates = <3932160000>, - <3612672000>, <393216000>, - <361267200>, <49152000>; - status = "okay"; -}; +// &micfil { +// #sound-dai-cells = <0>; +// pinctrl-names = "default", "sleep"; +// pinctrl-0 = <&pinctrl_pdm>; +// pinctrl-1 = <&pinctrl_pdm_sleep>; +// assigned-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>, +// <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>, +// <&scmi_clk IMX95_CLK_AUDIOPLL1>, +// <&scmi_clk IMX95_CLK_AUDIOPLL2>, +// <&scmi_clk IMX95_CLK_PDM>; +// assigned-clock-parents = <0>, <0>, <0>, <0>, +// <&scmi_clk IMX95_CLK_AUDIOPLL1>; +// assigned-clock-rates = <3932160000>, +// <3612672000>, <393216000>, +// <361267200>, <49152000>; +// status = "okay"; +// }; &mu7 { status = "okay"; @@ -960,19 +960,19 @@ IMX95_PAD_GPIO_IO35__HSIOMIX_TOP_PCIE2_CLKREQ_B 0x4000031e >; }; - pinctrl_pdm: pdmgrp { - fsl,pins = < - IMX95_PAD_PDM_CLK__AONMIX_TOP_PDM_CLK 0x31e - IMX95_PAD_PDM_BIT_STREAM0__AONMIX_TOP_PDM_BIT_STREAM_BIT0 0x31e - >; - }; + // pinctrl_pdm: pdmgrp { + // fsl,pins = < + // IMX95_PAD_PDM_CLK__AONMIX_TOP_PDM_CLK 0x31e + // IMX95_PAD_PDM_BIT_STREAM0__AONMIX_TOP_PDM_BIT_STREAM_BIT0 0x31e + // >; + // }; - pinctrl_pdm_sleep: pdmsleepgrp { - fsl,pins = < - IMX95_PAD_PDM_CLK__AONMIX_TOP_GPIO1_IO_BIT8 0x51e - IMX95_PAD_PDM_BIT_STREAM0__AONMIX_TOP_GPIO1_IO_BIT9 0x51e - >; - }; + // pinctrl_pdm_sleep: pdmsleepgrp { + // fsl,pins = < + // IMX95_PAD_PDM_CLK__AONMIX_TOP_GPIO1_IO_BIT8 0x51e + // IMX95_PAD_PDM_BIT_STREAM0__AONMIX_TOP_GPIO1_IO_BIT9 0x51e + // >; + // }; pinctrl_ptn5110: ptn5110grp { fsl,pins = <     システムマネージャーの修正: diff --git a/configs/mx95evk.cfg b/configs/mx95evk.cfg index 9250d02..6722097 100755 --- a/configs/mx95evk.cfg +++ b/configs/mx95evk.cfg @@ -389,7 +389,7 @@ SYS ALL # Resources M7P OWNER # CPUs must be first -CAN_FD1 OWNER +// CAN_FD1 OWNER FSB READONLY IRQSTEER_M7 OWNER LPIT1 OWNER @@ -612,6 +612,7 @@ CAMERA5 OWNER CAMERA6 OWNER CAMERA7 OWNER CAMERA8 OWNER +CAN_FD1 OWNER CAN_FD2 OWNER CAN_FD3 OWNER CAN_FD4 OWNER   結果: Zhiming_Liu_3-1785995783165.png  
查看全文
FRDM-MCXA156:MCUXpresso IDEでSWOトレース(データ、プロファイル、割り込み)が動作しない こんにちは、みんな、 現在、 FRDM-MCXA156 の開発ボードを使っていて、デバッグ中に SWO(シリアルワイヤー出力) で問題が発生しています。 アプリケーションは正常にデバッグされましたが、 SWOトレースウィンドウには以下のようなデータが一切届きません。 SWOデータ SWOプロファイル SWO割り込みトレース SWO ITMコンソール 問題のトラブルシューティングのため、以下の点を既に確認しました。 SWOピンはConfig Toolsを使用して正しく設定されました。 TRACEクロックは有効化され、96 MHzに設定されており、MCUコアクロック(MCXA156 96 MHzで動作)と一致します。 プロジェクトは、オンボードのMCU-Linkプローブを搭載したLinkServerを用いてデバッグされています。 これらの設定にもかかわらず、デバッグ中はすべてのSWOトレースウィンドウが空のままです。 参考までに、 SWOトレース構成、 SWOデータ、 SWOプロファイル、その他のウィンドウのスクリーンショットと、関連するプロジェクト構成を添付しました。 この問題の原因について、またはFRDM-MCXA156でSWOトレースを有効にするために必要な追加の設定手順があるかどうかについて、ご助言やご提案をいただければ大変ありがたいです。 お時間とご協力に感謝いたします。 #swo #frdm-mcxa156 開発ボード MCXA Re: FRDM-MCXA156: SWO Trace (Data, Profile & Interrupts) Not Working in MCUXpresso IDE 前のスレッドについてですが、 SWO有効化設定とクロックのスクリーンショットを以下に添付します。 よろしくお願いします。 Re: FRDM-MCXA156: SWO Trace (Data, Profile & Interrupts) Not Working in MCUXpresso IDE こんにちは、 @sidsal FRDM-MCXA156ボードの場合、SWO信号をオンボードデバッガに接続する抵抗R36は、デフォルトではDNP(未実装)となっています。R36を入力して再度テストしてもらえますか? Alice_Yang_0-1786344510075.png よろしくお願いします。 BR アリス Re: FRDM-MCXA156: SWO Trace (Data, Profile & Interrupts) Not Working in MCUXpresso IDE ご指摘ありがとうございます、 @Alice_Yang さん。FRDM-MCXA156の回路図を確認し、P0_2/SWO信号をオンボードのMCU-Linkデバッガに接続するR36がDNPとしてマークされていることを確認しました。 また、FRDM-MCXN947では、SWO接続(R130)に相当する部分に0Ωの抵抗器が取り付けられていることにも気づきました。FRDM-MCXA156のR36にも、オンボードのMCU-Linkデバッガを通じたSWOトレーシングを有効にするために0 Ω抵抗を埋め込むべきか確認していただけますか? さらに、なぜR36がFRDM-MCXA156でデフォルトで未入力(DNP)されているのか、説明していただけますか?特定のボード設計上の理由や制限で、そのボードを無人のままにしておく必要があるのでしょうか?つまりSWO機能は使えないのですか? ご協力ありがとうございます。 Re: FRDM-MCXA156: SWO Trace (Data, Profile & Interrupts) Not Working in MCUXpresso IDE こんにちは、 @sidsal 「CFRDM-MCXA156のR36にも0 Ω抵抗を入れて、オンボードのMCU-Linkデバッガを通じたSWOトレーシングを有効にするべきか確認していただけますか?」" はい。SWO機能を使用する場合は、0Ω抵抗を取り付けるか、それに応じて接続部をはんだ付けする必要があります。 「さらに、なぜR36がFRDM-MCXA156でデフォルトで未登録(DNP)されているのか、説明していただけますか?」 ->>これはすべてのユーザーがSWO機能を必要としているわけではないため、0 Ω抵抗がデフォルトで埋められていないからだと思います。 よろしくお願いします。 BR アリス Re: FRDM-MCXA156: SWO Trace (Data, Profile & Interrupts) Not Working in MCUXpresso IDE ご支援ありがとうございます@Alice_Yang。
查看全文
S32K1 互补型 PWM 您好,NXP专家们 我们在日产的空调压缩机项目中使用了S32K142芯片。然而,日产公司要求了解该芯片的 FTM 如何确保实现互补 PWM 输出。因此,他们希望获得协助,提供解释和支持材料,或测试报告以验证此功能。谢谢。 Chenxu1_0-1785987344020.png Re: S32K1 Complementary PWM 嗨@ Chenxu1 芯片级保护主要体现在架构上:一个通道定义 PWM 时序,伴随通道由内部互补逻辑产生,可选的死区时间/同步更新硬件可保持非重叠和一致的更新。 S32K-RM Rev14.1: Senlent_0-1785999338085.png Re: S32K1 Complementary PWM 你好,Senlent,谢谢你的回复。 我们很清楚 FTM 如何输出互补 PWM。在芯片层面,它如何确保互补波形的位置正确?这是我们的客户最想了解的信息。 Re: S32K1 Complementary PWM 嗨@ Chenxu1 它可以读取和测试 AN5303 及其提供的裸机代码。 https://www.nxp.com/docs/en/application-note/AN5303.pdf Senlent_0-1785997622463.png 以下是我之前测试时记录的一些步骤,供您参考。 我设置了互补 PWM 模式,并插入了 2µs 死区时间(我忘记保存整个项目了,但修改非常简单)。 Senlent_3-1785997707326.png Senlent_1-1785997665931.png Senlent_2-1785997677611.png
查看全文
Problems encountered during IDE and RTD installation Hello, I have installed S32DSIDE 3.6.6 software. 3859b5427f61973af225339173048fd.png Then I installed the RTD package. YangLuYao_0-1786007576122.png However, the SDK cannot be found when creating a new application project, as shown in the image below. YangLuYao_1-1786007624669.png YangLuYao_2-1786007639499.png This problem has been bothering me for a long time. I look forward to your reply. Thank you. My computer configuration is as follows: YangLuYao_3-1786007691107.png My computer has JDK 8 and JDK 17, and Python versions 13, 14, and 15 installed.   Re: 关于安装IDE和RTD遇到的问题 Thanks, I discovered this problem, and then I wanted to install gcc-10.2. I found a webpage about compilers. YangLuYao_0-1786064846455.png I didn't know which one to use, so I downloaded both of these EXE files to install. YangLuYao_1-1786064901733.png However, after installation, creating a new project in the S32DS software still did not show gcc-10.2. YangLuYao_2-1786065074605.png Then I tried to download it through the extension manager, but I kept getting errors and failing to download it successfully. Could you please guide me on what to do next? Thank you! YangLuYao_3-1786065134265.png Re: 关于安装IDE和RTD遇到的问题 Hello @YangLuYao, I've translated your query, so please let me know if there are any misunderstandings. Please try selecting NXP GCC 10.2 instead. S32K1 RTD does not support GCC 11.4 yet: Julin_AragnM_0-1786049379556.png Julin_AragnM_2-1786049434923.png Best regards, Julián Re: 关于安装IDE和RTD遇到的问题 I've solved the problem, thank you! Re: 关于安装IDE和RTD遇到的问题 Sorry, the past two days were the weekend, and this is the error message I reported this morning after trying to recreate the game. YangLuYao_0-1786325441496.png Re: 关于安装IDE和RTD遇到的问题 Hello @YangLuYao, Sorry for the late reply. From the image, it seems you are trying to install NXP GCC 6.3.1 (build 1620), you should actually install v10.2 (build 1728): Julin_AragnM_0-1786577752319.png Julin_AragnM_1-1786577760152.png If this still does not work, I guess you can try to install it externally: Installing software in S32 Design studio. Things I would check: Unstable network when installing. Proxy / Firewall at your workplace. Antivirus / Security checks. Disk space. Other than that, I'm not sure what could be the root cause. You could try re-installing S32DS and trying to install NXP GCC 10.2 again. Best regards, Julián
查看全文
S32K312 HSE 安全启动:pInstAuthTag 能否指向存储在 UTEST DCF 记录区域中的签名? 您好,NXP支持团队, 我们正在 S32K312 上实施基于 HSE 的安全启动和 SMR,并想确认 SMR 签名是否可以永久存储在 UTEST DCF 记录区域中。 我们目前的实施方案如下: 我们在 UTEST 中存储了一个 512 字节的 RSA-4096 签名,起始地址为: 0x1B001A00U 已占用地址范围为: 0x1B001A00 至 0x1B001BFF 该区域属于 UTEST DCF 记录区域。 我们的项目在这个领域不需要任何 DCF 配置。因此,我们目前正在考虑使用未使用的 DCF 记录空间来存储永久网络安全数据,包括公钥和 SMR 签名。 由于我们的使用场景中软件映像及其签名是固定的,因此预计在产品生命周期内签名不会发生变化。 在 SMR 条目中,我们按如下方式配置签名引用: smrEntry.pInstAuthTag[0]= 0x1B001A00U; smrEntry.pInstAuthTag[1]= 0U; 我们预期,在后续的安全启动验证期间,HSE 将直接从 pInstAuthTag[0] 指定的 UTEST 地址读取 512 字节的签名。 通过 HSE_SRV_ID_SMR_ENTRY_INSTALL 安装 SMR 入口时,我们最初将安装服务认证标签配置为引用相同的 UTEST 地址: pSmrEntryInstall->pAuthTag[0] = 0x1B000A00U; 然而,SMR 安装服务返回了 HSE_SRV_RSP_INVALID_PARAM,显然是因为 UTEST 地址被拒绝为该服务的无效输入地址。 作为一种变通方法,在调用 SMR 安装服务之前,我们将 UTEST 中的 512 字节签名复制到共享 RAM 缓冲区中: UTEST 0x1B000A00 | | 复制 512 字节 v 共享 RAM 缓冲区 然后,我们按如下方式配置安装请求: pSmrEntryInstall->pAuthTag[0] = PTR_TO_HOST_ADDR(signatureRamBuffer);   pSmrEntryInstall->authTagLength[0] = 512U; SMR条目本身仍然包含: smrEntry.pInstAuthTag[0]= 0x1B000A00U; 按照此配置,HSE_SRV_ID_SMR_ENTRY_INSTALL 返回成功,SMR 条目已成功安装。 请您澄清以下问题? 0x1B001A00U 是 S32K312 上 hseSmrEntry_t.pInstAuthTag[0] 的有效地址吗? 在后续的安全启动过程中,HSE_B 能否直接访问 UTEST DCF 记录区并读取 pInstAuthTag[0] 引用的签名? 成功的 HSE_SRV_ID_SMR_ENTRY_INSTALL 响应是否确认持久的 pInstAuthTag[0] 地址对后续启动时的 SMR 验证有效,还是安装服务仅验证通过 hseSmrEntryInstallSrv_t.pAuthTag[0] 提供的签名? 以下哪种内存区域可接受: hseSmrEntryInstallSrv_t.pAuthTag[0] 和: hseSmrEntry_t.pInstAuthTag[0] 在我们的测试中,当直接使用 UTEST 地址作为 pAuthTag[0] 时,UTEST 地址会被拒绝;但是,当将相同的签名复制到 RAM 中,而 pInstAuthTag[0] 仍然指向 UTEST 时,SMR 安装就会成功。 此配置是否可能通过 SMR 安装,但在下次 RESET 或安全启动时失败,因为 HSE 在启动时无法访问 UTEST 地址? 当项目不需要 DCF 记录时,是否允许将未使用的 UTEST DCF 记录区域存储客户应用程序数据(例如公钥或 SMR 签名)? 使用此 DCF 记录区域是否会与 HSE 固件、ROM 启动代码、未来的 DCF 处理、生命周期转换、调试配置或设备配置扫描产生任何冲突? 在 UTEST 区域中存储原始 512 字节签名是否存在任何对齐、记录格式、ECC、编程、锁定或访问限制? 如果 pInstAuthTag[0] 不支持 UTEST,持久 SMR 签名是否应该始终存储在普通应用程序代码闪存或数据闪存中? 我们主要想确认的是,以下配置是否得到官方支持,以及是否安全适用于生产环境: /* 安全启动期间使用的持久签名位置/* smrEntry.pInstAuthTag[0] = 0x1B000A00U;   /仅在 SMR 安装期间使用的临时 RAM 副本 */ pSmrEntryInstall->pAuthTag[0] = PTR_TO_HOST_ADDR(signatureRamBuffer);   pSmrEntryInstall->authTagLength[0] = 512U; MCU:S32K312 HSE 类型:HSE_B 签名算法:RSASSA-PSS,采用 RSA-4096 签名长度:512 字节 持久签名地址:0x1B001A00U 谢谢! Re: S32K312 HSE Secure Boot: Can pInstAuthTag Point to a Signature Stored in the UTEST DCF Record Ar 抱歉,签名位置不是 0x1B000A00U。它是 0x1B001A00U。 Re: S32K312 HSE Secure Boot: Can pInstAuthTag Point to a Signature Stored in the UTEST DCF Record Ar 嗨@Yiming2 我在我的开发板上进行了测试,因为文档中没有明确说明是否可以使用 UTEST。我的结果也类似。 如果 pAuthTag = pInstAuthTag = 0x1B001A00,则我收到 HSE_SRV_RSP_INVALID_ADDR 响应。 然后我将 pAuthTag 放入 RAM 内存中,同时 pInstAuthTag 仍然指向 UTEST,这样就可以了。一旦通过 BOOT_SEQ 位启用安全启动,安全启动即成功,应用程序即可正常工作。HSE能够读取UTEST DCF区域中的签名。 根据测试结果,HSE 固件显然会检查地址 pAuthTag 是否位于 RAM 或代码/数据闪存中,而 UTEST 中的 pInstAuthTag 则被接受。 虽然没有相关文档记载,但确实有效。 但如果您不打算更新签名,则可以选择将 HSE_SMR_CFG_FLAG_INSTALL_AUTH 保持为零,这样将使用内部验证方案(内部哈希)进行验证。您的签名仅用于安装,pInstAuthTag 将被忽略。 我认为,如果您不打算更新镜像,那么这种设置更有意义。此外,验证速度也会快得多(哈希算法与 RSA 算法相比)。这可能是保持简单并获得更好性能的最佳方法。 如果设置了 HSE_SMR_CFG_FLAG_INSTALL_AUTH 并使用了 pInstAuthTag,则主要针对想要轻松更新应用程序的用例:应用程序和身份验证标签已更新,您无需修改或重新安装该 SMR。 DCF 扫描到停止记录为止(全部为 0xFF),其余部分将被忽略。通常情况下,DCF 区域不应该用于存储用户数据,但我认为这里没有问题。 UTEST 的唯一限制是它必须是 OTP 区域。同样,ECC 的限制也适用于代码或数据闪存——一旦对对齐的双字进行编程,就不应该再次对同一个双字进行编程,因为这会导致 ECC 错误。 此致, Lukas
查看全文
S32K312 HSEセキュアブート:pInstAuthTagはUTEST DCFレコード領域に保存されている署名を指し示せますか? こんにちは、NXPサポートチームの皆さん、 S32K312上でHSEベースのSecure Boot with SMRを実装しており、SMR署名がUTEST DCFレコード領域に恒久的に保存できるかどうかを確認したいと考えています。 現在の実装は以下のとおりです。 UTESTには、以下のアドレスから始まる512バイトのRSA-4096署名が格納されます。 0x1B001A00U 占有されている住所範囲は以下のとおりです。 0x1B001A00~0x1B001BFF この地域はUTEST DCF記録領域に属します。 当プロジェクトでは、このエリアにおけるDCFの設定は一切必要ありません。そのため、未使用のDCFレコード空間を公開鍵やSMR署名を含む永久的なセキュリティデータを保存することを検討しています。 ソフトウェアイメージとその署名は当社のユースケースで固定されているため、製品のライフ期間中にシグネチャが変更されることは期待されていません。 SMRエントリでは、署名参照を次のように設定します。 smrEntry.pInstAuthTag[0]= 0x1B001A00U; smrEntry.pInstAuthTag[1]= 0U; 我々の予想では、その後のセキュアブート検証中に、HSE は pInstAuthTag[0] で指定された UTEST アドレスから 512 バイトの署名を直接読み取ります。 HSE_SRV_ID_SMR_ENTRY_INSTALLを通じてSMRエントリをインストールする際、最初にインストールサービス認証タグを同じUTESTアドレスを参照するように設定しました。 pSmrEntryInstall->pAuthTag[0] = 0x1B000A00U; しかし、SMRインストールサービスはHSE_SRV_RSP_INVALID_PARAMを返しました。これは、UTESTアドレスがサービスに対する無効な入力アドレスとして拒否されたためと思われます。 回避策として、SMRインストールサービスを呼び出す前に、UTESTから512バイトの署名を共有RAMバッファにコピーします。 UTEST 0x1B000A00 | | 512バイトをコピー V 共有RAMバッファ 次に、インストール要求を以下のように設定します。 pSmrEntryInstall->pAuthTag[0] = PTR_TO_HOST_ADDR(signatureRamBuffer);   pSmrEntryInstall->authTagLength[0] = 512U; SMRエントリ自体には、以下の内容が含まれています。 smrEntry.pInstAuthTag[0]= 0x1B000A00U; この構成では、HSE_SRV_ID_SMR_ENTRY_INSTALL は成功を返し、SMR エントリは正常にインストールされます。 以下の質問について、もう少し詳しく教えていただけますか? S32K312 上の hseSmrEntry_t.pInstAuthTag[0] のアドレスとして、0x1B001A00U は有効ですか? その後のセキュアブート時に、HSE_B直接UTEST DCFレコード領域にアクセスし、pInstAuthTag[0]で参照されたシグネチャを読み取ることはできますか? HSE_SRV_ID_SMR_ENTRY_INSTALL 応答が成功した場合、永続的な pInstAuthTag[0] アドレスが後の起動時の SMR 検証に有効であることが確認されるのでしょうか、それともインストール サービスは hseSmrEntryInstallSrv_t.pAuthTag[0] を介して提供される署名のみを検証するのでしょうか? メモリ領域には、以下の用途で受け入れられる違いがありますか? hseSmrEntryInstallSrv_t.pAuthTag[0] そして: hseSmrEntry_t.pInstAuthTag[0] 私たちのテストでは、UTEST アドレスを pAuthTag[0] として直接使用すると拒否されますが、同じ署名を RAM にコピーし、pInstAuthTag[0] がまだ UTEST を指している場合は SMR のインストールが成功します。 この構成はSMRインストールに合格しても、次のリセットやセキュアブート時にHSEがUTESTアドレスにアクセスできないため失敗する可能性はありますか? プロジェクトでDCFレコードが不要な場合でも、未使用のUTEST DCFレコード領域は公開鍵やSMR署名などのお客様アプリケーションデータを保存することが許されていますか? このDCFレコード領域の使用は、HSEファームウェア、ROMブートコード、FUTURE DCFプロセッシング、ライフサイクルの移行、デバッグ設定、またはデバイス構成スキャンと競合を引き起こす可能性がありますか? このUTEST領域で生の512バイト署名を保存する際、アラインメント、レコードフォーマット、ECC、プログラミング、ロック、アクセス制限などはありますか? もしUTESTがpInstAuthTag[0]でサポートされていない場合、永続的なSMRシグネチャは常に通常のアプリケーションコードフラッシュかデータフラッシュに保存されるべきでしょうか? 確認したい主な点は、以下の構成が公式にサポートされており、本番環境での使用が安全かどうかです。 /* セキュアブート中に使用される永続的な署名場所/* smrEntry.pInstAuthTag[0] = 0x1B000A00U;   / SMRインストール時のみ使用される一時的なRAMコピー */ pSmrEntryInstall->pAuthTag[0] = PTR_TO_HOST_ADDR(signatureRamBuffer);   pSmrEntryInstall->authTagLength[0] = 512U; MCU:S32K312 HSEタイプ:HSE_B シグネチャアルゴリズム:RSA-PSSとRSA-4096 シグネチャ長:512バイト 永続署名アドレス:0x1B001A00U よろしくお願いします。 Re: S32K312 HSE Secure Boot: Can pInstAuthTag Point to a Signature Stored in the UTEST DCF Record Ar 申し訳ありませんが、署名位置は0x1B000A00Uではありません。それは0x1B001A00Uです。 Re: S32K312 HSE Secure Boot: Can pInstAuthTag Point to a Signature Stored in the UTEST DCF Record Ar こんにちは@Yiming2 UTESTが使えるかどうかがドキュメントに明示的に記載されていないので、ボードでテストしました。そして、私も同様の結果を得ました。 pAuthTag = pInstAuthTag = 0x1B001A00 の場合、HSE_ SRV_ RSP_ INVALID_ ADDR 応答を受け取りました。 その後、pInstAuthTagがまだUTESTを指している状態で、pAuthTagをRAMメモリに配置したところ、うまくいきました。セキュアブートがBOOT_SEQビットで有効化されると、セキュアブートは成功し、アプリケーションは動作します。HSEはUTEST DCFエリア内の署名を読み取ることができます。 テスト結果に基づくと、HSEファームウェアはアドレスpAuthTagがRAMまたはコード/データフラッシュメモリ内にあるかどうかをチェックし、UTESTのpInstAuthTagは受け入れられることが明らかです。 公式には文書化されていないが、効果はある。 しかし、署名を更新する予定がない場合は、HSE_SMR_CFG_FLAG_INSTALL_AUTHゼロのままにするオプションがあり、内部検証方式(内部ハッシュ)が検証に使われます。署名はインストール時のみに使用され、pInstAuthTagは無視されます。 私の意見では、イメージを更新する予定がない場合は、この設定の方が理にかなっています。また、検証もはるかに高速になります(ハッシュアルゴリズムとRSAアルゴリズムの比較)。これが、シンプルさを保ちつつパフォーマンスを向上させるための最良の方法でしょう。 HSE_SMR_CFG_FLAG_INSTALL_AUTHが設定されてpInstAuthTagを使用している場合、これは主にアプリケーションを簡単に更新したい場合のユースケースを対象としています。つまり、アプリケーションタグと認証タグが更新され、SMRを修正・再インストールする必要がなくなります。 DCFは停止レコード(すべて0xFF)までスキャンされ、残りは無視されます。通常、DCFエリアはユーザーデータ用に使われるべきではありませんが、ここでは問題が見当たりません。 UTESTの唯一の制約は、OTPエリアであるということです。また、ECCに関する同様の制限が適用されます(コードフラッシュやデータフラッシュと同様)。一度アラインメントされたダブルワードがプログラムされると、同じダブルワードを再度プログラムするとECCエラーが発生するため、再度プログラムしてはいけません。 よろしくお願いいたします。 ルーカス
查看全文
S32K3 请求支持在传输完成后始终开启 LPI2C 引脚低电平超时监控 您好,NXP 我们尝试利用 I2C_MASTER_EVENT_PIN_LOW_TIMEOUT 事件来实现从设备 SDA 保持低电平时的恢复。在测试过程中,我们观察到,一旦传输完成或检测到异常情况,引脚低电平超时中断就会关闭。 企业微信截图_17859835472427.png 我们期望此中断能够持续保持启用状态,因为需要对总线进行实时监控,并且在传输结束时不能清除超时中断启用状态。我们认为当前 RTD 7.0.1 对超时中断的处理存在缺陷。 NXP能否就如何正确处理此事提供官方建议或指导? 此致, 显龙 Re: S32K3 Request to support always-on LPI2C Pin Low Timeout monitoring after transfer completion 你好@wuxianlong , 感谢您提供的详细描述以及您指出的驱动程序代码。 您的观察是正确的:在当前的 RTD 实现中,LPI2C_IP_MASTER_PIN_LOW_TIMEOUT_INT 作为主传输中断处理的一部分被启用,并在主传输结束时再次被禁用。这意味着 RTD 驱动程序在传输完成后不会将此中断保持启用状态,作为永久总线监视机制。 从硬件角度来看,S32K3 LPI2C 模块支持引脚低电平超时功能。超时阈值由 MCFGR3[PINLOW] 配置,当选定的 SCL 或 SDA 线保持低电平的时间超过配置的阈值时,可以设置 MSR[PLTF] 标志。参考手册还指出,即使 LPI2C 控制器处于空闲状态,也可以设置此标志。 然而,这种硬件功能并不一定意味着 RTD 驱动程序会持续保持相应的中断启用状态。当前的 RTD 实现似乎是在进行主传输的背景下处理此事件的。 对于传输完成后持续的 I2C 总线监控,建议在应用层进行处理,例如在总线恢复逻辑中检查 MSR[PLTF] 状态。另请注意,引脚低电平问题本身必须通过软件解决。当低电平条件仍然存在时,PLTF 标志不能被清除,必须先清除该标志才能生成新的 START 条件。 此致, 帕维尔
查看全文
IDEおよびRTDのインストール中に発生した問題 こんにちは、S32DSIDE 3.6.6ソフトウェアをインストールしました。 3859b5427f61973af225339173048fd.png 次に、RTDパッケージをインストールしました。 YangLuYao_0-1786007576122.png しかし、下の画像に示すように、新しいアプリケーションプロジェクトを作成する際にSDKが見つかりません。 YangLuYao_1-1786007624669.png YangLuYao_2-1786007639499.png この問題は長い間私を悩ませてきました。ご回答をお待ちしております。ありがとうございます。私のコンピューターの構成は以下のとおりです。 YangLuYao_3-1786007691107.png 私のコンピューターには、JDK 8とJDK 17、そしてPythonのバージョン13、14、15がインストールされています。   Re: 关于安装IDE和RTD遇到的问题 ありがとうございます。この問題に気付いた後、gcc-10.2をインストールしようと思いました。コンパイラに関するウェブページを見つけました。 YangLuYao_0-1786064846455.png どちらを使えばいいのか分からなかったので、両方のEXEファイルをダウンロードしてインストールしました。 YangLuYao_1-1786064901733.png しかし、インストール後、S32DSソフトウェアで新しいプロジェクトを作成しても、gcc-10.2は表示されませんでした。 YangLuYao_2-1786065074605.png その後、拡張機能マネージャーからダウンロードしようとしましたが、エラーが発生してダウンロードに失敗し続けました。次に何をすればよいか教えていただけますでしょうか?よろしくお願いいたします。 YangLuYao_3-1786065134265.png Re: 关于安装IDE和RTD遇到的问题 こんにちは、 @YangLuYao さん。 ご質問の内容を翻訳しましたので、誤解があればお知らせください。 代わりにNXP GCC 10.2を選択してみてください。S32K1 RTDはまだGCC 11.4をサポートし ていません : Julin_AragnM_0-1786049379556.png Julin_AragnM_2-1786049434923.png よろしくお願いします、 ジュリアン Re: 关于安装IDE和RTD遇到的问题 こんにちは@YangLuYaoさん スタンドアロンツールチェーンをダウンロードする必要はありません。S32DSは既にNXP GCC 10.2を提供しています。 Julin_AragnM_0-1786119575796.png ツールチェーンを選択し、「 1項目をインストール/更新」をクリックした後、「次へ」をクリックすると、S32DSが再起動を促します。再起動後、インストールされていることが確認できるはずです。 Julin_AragnM_1-1786119784429.png もし誤りがあれば教えてもらえますか? よろしくお願いします、 ジュリアン Re: 关于安装IDE和RTD遇到的问题 問題を解決できました。ありがとうございました! Re: 关于安装IDE和RTD遇到的问题 申し訳ありませんが、ここ2日間は週末だったため、今朝ゲームを再現しようとした際に報告したエラーメッセージはこれです。 YangLuYao_0-1786325441496.png Re: 关于安装IDE和RTD遇到的问题 こんにちは、 @YangLuYao さん。 返信が遅くなり申し訳ありません。画像から判断すると、NXP GCC 6.3.1 (ビルド 1620) をインストールしようとしているようですが、実際には v10.2 (ビルド 1728) をインストールする必要があります。 Julin_AragnM_0-1786577752319.png Julin_AragnM_1-1786577760152.png それでも動かなければ、外部インストールを試してみるのも良いかもしれません:S32 Design Studioにソフトウェアをインストールする。 私が確認する項目: インストール時にネットワークが不安定になる。 職場におけるプロキシ/ファイアウォール。 ウイルス対策やセキュリティチェック。 ディスク容量。 それ以外に根本的な原因はわかりません。S32DSを再インストールして、NXP GCC 10.2を再度インストールしてみるのも手です。 よろしくお願いします、 ジュリアン
查看全文
i.MX RT1170 同步动态随机存取存储器\(SDRAM\) 配置示例(来自 SDK):自动刷新已禁用? 您好,NXP团队, 我们参考 MCUXpresso SDK 示例,为我们定制的基于 i.MX RT1170 的硬件创建了 SDRAM 配置: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/blob/main/_boards/evkbmimxrt1170/demo_apps/shell/shell.mex 我们的设计采用连接到 SEMC 接口的ISSI IS42S16320F SDRAM 。 遗憾的是,使用此配置时,我们偶尔会遇到系统不稳定的情况。在详细检查 同步动态随机存取存储器\(SDRAM\) 设置时,我们注意到示例配置中自动刷新功能似乎已被禁用: Masmiseim_0-1786008762531.png 这让我们感到惊讶,因为根据我们的了解,IS42S16320F 需要定期刷新周期来维护数据完整性,因此我们期望自动刷新功能已启用。 请您澄清以下几点? 提供的 SDK 示例中是否故意禁用了自动刷新功能? 如果是这样,这种配置背后的逻辑是什么? 同步动态随机存取存储器(SDRAM)刷新周期是否由SEMC控制器或软件初始化代码在其他地方处理? 对于采用定制硬件设计的 ISSI IS42S16320F,您是否建议显式启用自动刷新功能? 感谢您的支持。 顺祝商祺! i.MX RT101x Re: i.MX RT1170 SDRAM Configuration from SDK Example: Auto-Refresh Disabled? 你好@Masmiseim , 示例中提供的 DCD 配置是为 RT1170-EVKB 上使用的同步动态随机存取存储器(SDRAM) 实现的。您可能知道,每个 SDRAM 设备都有自己的时序要求和初始化参数,因此示例中包含的 SEMC 配置可能与您的特定 SDRAM 不完全兼容。 在本例中,自动刷新功能作为最终 同步动态随机存取存储器(SDRAM) 初始化序列的一部分启用。但是,在初始化过程中,自动刷新位保持禁用状态,所需的刷新操作是通过 SEMC IP 命令执行的,如下图所示: Habib_MS_4-1786056205833.png Habib_MS_6-1786056292017.png 如果您想为 同步动态随机存取存储器(SDRAM) 自定义这些设置,可以使用 MCUXpresso 配置工具生成 DCD。这样,您可以根据设备要求配置 同步动态随机存取存储器(SDRAM) 参数,如下图所示:   Habib_MS_7-1786056301151.png 另一方面,有一个名为“semc_cm7”的 SDK(版本 26.06)示例,演示了如何将 SEMC 外设与外部同步动态随机存取存储器(SDRAM)一起使用。 最后,Omar 在这篇社区帖子中提供了一个配置 SEMC 寄存器的示例,这可能很有用。 BR 哈比卜 Re: i.MX RT1170 SDRAM Configuration from SDK Example: Auto-Refresh Disabled? 始终将您尝试使用 SDK 中的任何内容视为示例,因此您应该检查并验证所有内容。
查看全文
S32K322のSPIデューティサイクルは8MHzでは50%ではありません NXPチームの皆様へ           SPIトランザクション内で8MHzのSPI SCLKを周期的にする必要がある改善活動に取り組んでいます。SPI SCLKを8MHzで測定しました(S32K322ではSPI周辺機器のペリフェラルのドライバによって駆動されます)が、50%のデューティは維持されていないことがわかりました。周波数を1/2/4MHzに下げると、これらのSCLK周波数において50%のデューティ比が維持されることが確認できる。 質問 です - これはペリフェラルのドライバの ハードウェア的な制限なのでしょうか?それともドライバ設定を変えれば8MHzで望む50%の稼働率を得られるのでしょうか? 1MHzで当直が維持されて8MHzでないスクリーンショットをPFA(公開ファイル)してください 注: Saleaeのロジックアナライザーを接続しており、SPI信号を測定するためにより高いサンプリング解像度(250MS/s)を持っています Re: The SPI duty cycle of S32K322 is not 50% for 8MHz こんにちは、 LPSPIクロックのデューティサイクルは、SCKSETおよびSCKHLDタイミングパラメータによって決定されます。これらのフィールドが同じ値にプログラムされている場合にのみ、50/50のデューティサイクルが得られます。選択されたLPSPI機能クロックと8MHzを生成するために必要な分周器の値によっては、クロックジェネレータのタイミング分解能により、正確な50/50のデューティサイクルが実現できない場合があります。観測された76ナノ秒/48ナノ秒の高低時間差は、このような除算器の量子化効果と一致しているように見える。 PetrS_0-1786090730852.png ですので、LPSPIの機能クロック周波数、TCR[PRESCALE]、およびCCR/CCR1レジスタ(SCKSET、SCKHLD、SCKDIV)の内容から期待デューティサイクルを計算し、異なるクロックソースやディバイダ構成で50/50に近いデューティサイクルが得られるかどうかを判断してください。   BR、ペトル
查看全文