Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
[RTD600 IP] S32K3X4EVB-T172 GPIO 唤醒 本示例项目将向用户展示如何使用和配置 WKPU + SIUL2 (GPIO) 的基本功能。 ------------------------------------------------------------------------------ * 测试硬件:S32K3X4EVB-T172 (SCH-53148 REV B2) * MCU:S32K344 * IDE:S32DS v3.5& S32DS v3.6.x * SDK 发布版本:RTD 6.0.0 * 调试器:PE Micro * 目标: internal_FLASH ------------------------------------------------------------------------------ 该示例例程将 WKPU 配置为 GPIO 中断唤醒。这是最简单的 WKPU 例子。引脚 PTB19(WKPU42)配置为唤醒。 例程等待按下SW5,然后关闭绿色 LED,并进入 Wkpu_EnterStandby() 函数: 将核心时钟切换到 FIRC。 初始化 WKPU 实例。 配置 WKPU42 (PTB19)。 进入待机(或快速待机)状态。 按下 SW6 后,MCU 将唤醒、RESET 并轮询以再次按下 S W5。 本示例按原样提供,不提供任何保证和支持。
查看全文
在 i.MX9 板上为扩展接头启用 3.3 V 和 5 V 稳压器 该补丁系列支持 i.MX93-QSB、i.MX93-FRDM 和 i.MX91-FRDM 板上的树莓派扩展连接器使用的外部 3.3 V 和 5 V 电源轨。 这些调节器已在设备树中定义,但默认情况下处于禁用状态。通过激活它们,兼容 RPI 的扩展接头可以正确地为外部模块、HAT 和附加板供电。 董事会变更: i.MX93-QSB 启用 RPI 连接器使用的 3.3 V 和 5 V 外部供电线路。 i.MX93-FRDM 启用 RPI 连接器使用的 3.3 V 和 5 V 外部供电线路。 i.MX91-FRDM 启用 RPI 连接器使用的 3.3 V 和 5 V 外部供电线路。 目的是 为兼容 Raspberry Pi 的扩展端口提供适当的电源。 为连接外部 HAT 或模块的用户提高硬件兼容性。 对齐所有 i.MX9 参考板,为 RPI 连接器使用一致的电源树配置。
查看全文
Freed Buffer out of Range Issue in Ethernet for RT1170 Hi, I am trying to execute basic ethernet testing from custom project on custom board. As a part of this project (which integrates different modules like SD card, CAN ,GPIO,ADC, Ethernet and EEPROM) basic ethernet send and receive is to be verified. But I am facing "freed buffer out of range error" before ping send. I have done all the basic initializations and configurations related to ethernet. I see the error is observed because of line  LWIP_ASSERT("Freed buffer out of range", ((idx >= 0) && (idx < ENET_RXBUFF_NUM))); in function "ethernetif_rx_free" (enet_ethernetif_kinetis.c) where the idx value I am getting it in negative. This complete functionality is working on EVK kit. What could be missing? Kindly suggest. Re: Freed Buffer out of Range Issue in Ethernet for RT1170 Hi, All The issue happens to me too on my RT1024 customer board, it is likely to happen when i put a breakpoint somewhere and it stops here, and then resume to normal running is more likely  ends up this error. Regards! Ping Re: Freed Buffer out of Range Issue in Ethernet for RT1170 If the example project is working fine in your custom board, seems the problem is on SW side. You are not using FreeRTOS right? Seems there is something interfering with the behavior of the example, probably some configurations are missing or just the example flow is being affected due the rest of the application. I would recommend you to try to use the latest SDK release which is 2.15.000. If your issue still occurs with this release, then I’m afraid there is something wrong with the flow of your application. Regards, Daniel. Re: Freed Buffer out of Range Issue in Ethernet for RT1170 Hi, Yes, the issue appears when implementing the merged source code in custom board. But, the individual source of Ethernet_ping,which was not merged with remaining interfaces is working fine in Custom board. Problem arises when the individual source of Ethernet is merged with remaining interfaces. Re: Freed Buffer out of Range Issue in Ethernet for RT1170 If I am understanding correctly, when you run the SDK example it works. But when you add your custom application, the issue appears. Can you confirm? Regards, Daniel. Re: Freed Buffer out of Range Issue in Ethernet for RT1170 Hi, Actually the individual source code of Ethernet is working fine in Custom board. When I'm trying to integrate the code then Ethernet is not working. I observed that EIR register's 25th (RXF), 26th (TXB), and 27th (TXF) bits are set to 0, and the RDAR register's 24th bit is updated to 0. But in working code of Ethernet this registers are set to '1'.  I suspect that these register updates are handled by interrupts, but I am unable to locate the specific handler responsible for these updates in my custom project codebase. Kindly help me. Re: Freed Buffer out of Range Issue in Ethernet for RT1170 Could you please double check if there are any peripheral changes (i.e. peripheral instances) needed in your project in order to make the EVK example work in your custom hardware? In case you already verified this, seems the problem is on the HW side. By any chance have you already verified your design with the HDG? Regards, Daniel. Re: Freed Buffer out of Range Issue in Ethernet for RT1170 Hi, I am using SDK version 11.6.1. I'm trying to test lwip_ping_bm_cm7 example. It is working fine in EVK. But it is not working in custom board when tried to interface all the source codes with Ethernet. What might be the issue if we are facing "Freed Buffer out of range" occurs. Please help me with this. Re: Freed Buffer out of Range Issue in Ethernet for RT1170 Hi, What SDK version are you using? What is the SDK example you are using to test this? If I understood correctly, the application works fine in an EVK, am I right? Regards, Daniel.
查看全文
i.MXRT1064 カスタム ボードをデバッグできません。 こんにちは、 デバッグ モードでコードを実行しようとすると、「アドレス "0x20d102" でブレークしましたが、デバッグ情報が利用できません」というメッセージが表示されます。 私は i.MXRT1064 カスタム ボードを使用し、LinkServer LPC-Link2 を使用してプログラミングしています。 このボードは以前は問題なく動作していましたが、突然このメッセージが表示されます。 リリースモードを試してみました。リリース コードを使用してボードを正常にフラッシュすることはできますが、その後プログラムが実行されないようです。シリアル端末からもディスプレイからも出力が表示されません。 また、Secure Provisioning Tool を使用してこのボードをプログラミングしようとしましたが、まだ動作しません。 この問題に関して、どこに焦点を当てるべきか、または何か手がかりとなるものについて、どなたか助言をいただけませんか? Re: Unable to debug i.MXRT1064 custom board. こんにちは、MayLiuさん。 ご返信ありがとうございます。 以前、ご提案いただいた設定を試しましたが、デバッグしようとすると IDEs でエラー (MI コマンドの実行に失敗しました: -target-download) が表示されました。参考までに、そのエラーのスナップショットを添付しました。 前のメッセージに戻って、現在のプログラムが実行されているアドレスをチェックしたところ、コードが ROM 領域 (アドレス 0x20E35A) にあることが示されていたことを付け加えておきます。SO、何らかの理由で、コードはアプリケーション コードに到達/起動できず、ROM 内で停止します。私の仮定は正しいでしょうか?そんなシナリオがあり得るのでしょうか? Re: Unable to debug i.MXRT1064 custom board. こんにちは@nxpsachveさん、 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 1: 「アプリケーションを RAM にリンク」を選択して再度デバッグしてみてください。 アプリケーションが RAM から正常に実行できる場合は、ボードをシリアル ダウンローダー モードに設定し、セキュア プロビジョニング ツールを使用して UART1 または USB1 でボードをプログラムしてください。   アプリケーションの実行に失敗した場合は、オシロスコープを使用してボードの電源投入シーケンスを確認することをお勧めします。   お役に立てれば幸いです。 よろしくお願いいたします。 メイリュー Re: Unable to debug i.MXRT1064 custom board. こんにちは@nxpsachveさん、 MCUXpresso IDE は BOOT 構成を変更するとは思いません。NXP RT 上のブート動作は、ハードウェア ブート構成とブート モード ピンによって決まります。 シリアル ダウンローダー モードでターゲットを検出できるため、ROM がまだ正常に実行されていることがわかります。次のステップとして、次のことが考えられます。 チップ全体の消去を実行します。 ボードを内部ブートモードに切り替え、 デバッグのためにMCUXpresso IDEに再接続してみてください。 あるいは、MCUXpresso Secure Provisioning Tool を使用してアプリケーション イメージをプログラムすることもできます。 よろしくお願いいたします。 メイリュー Re: Unable to debug i.MXRT1064 custom board. こんにちは@nxpsachveさん、 最新情報をありがとうございます。 提供された情報に基づくと、CPU は現在、アプリケーション コードではなく、Boot ROM からのコードを実行している可能性があります。   BOOT CFG と BOOT モード ピンの設定をチェックして、デバイスがユーザー フラッシュから起動するように構成されていることを確認することをお勧めします。   ボードをシリアル ダウンローダー モードに設定し、J-Link 経由で接続して、デバッガーがターゲットを検出して通信できるかどうかを確認することもできます。   よろしくお願いいたします。 マトリウ Re: Unable to debug i.MXRT1064 custom board. こんにちは、MayLiuさん。 ご提案ありがとうございます。 MCUXpresso 内に、BOOT Conf を変更したり影響を与えたりするような設定や構成があるかどうかを確認したいのですが。IDE を除外するためです。 リンク サーバーは、シリアル ダウンロード モードのときにターゲットを検出できます。
查看全文
NETC IEEE 1588 定时器软件不符合 RM 要求 在 S32ZE NETC 参考手册 " 文档标识符:S32E27NETCRM 参考手册修订版 4,2024-12-12 ",3.2.5.3.1 带漂移和误差调整的正常模式中,它声称 " 在正常运行期间,对 1588 计时器配置(例如 TMROFF_H/L)的任何更改(例如 TMR_ADD 更新除外)都需要禁用 TSN 相关功能,例如时间门调度、特定时间出发安排、直播门控和速率管制。"但是 gPTP 软件或非 NETC 设备驱动程序都不符合此规范。 GPTP_STACK RTD Re: NETC IEEE 1588 timer software does not meet the requirement of RM 我们有恩智浦的 gPTP 软件模块,对吗? 它将调用函数"EthSwt_43_NETC_CorrectPtpClk" 更新当前时间。 我说的不是"提供的有关修正定时器" 的功能。 我的问题是,当 gPTP 调用 EthSwt_43_NETC_CorrectPtpClk() 函数更新当前时间时,如何使 802.1Qbv 功能不受影响? Re: NETC IEEE 1588 timer software does not meet the requirement of RM 你好@双君竹、 ETH 驱动程序 RTD2.0.1 遵循 ASR 21-11,其中只包括一些用于时间戳的 api 函数,如 因此,我认为他们没有提供你所说的修正定时器的功能。似乎 ASR23-11 将支持有关修正计时器的功能,或者 gPTP 如果需要在 ASR21-11 中使用这些功能,则必须提出更改要求的请求。 顺祝商祺! Nhi Re: NETC IEEE 1588 timer software does not meet the requirement of RM 感谢您的关注。正如您所说,"驱动程序目前只支持从 TMR 寄存器获取当前定时器,不支持配置" ,我不明白。 用 gPTP 软件更改 OFFSET 寄存器如何?我认为 gPTP 软件肯定需要更改 OFFSET 寄存器。我的问题是,当 gPTP 软件试图更改 OFFSET 寄存器时,如何跟进 RM,以保持 TSN 功能(例如 802.1Qbv 功能)的顺利运行? Re: NETC IEEE 1588 timer software does not meet the requirement of RM 你好@双君竹、 我来回答 NETC 司机的这个问题。 -针对ZE用上市的最新版本是继RM rev 3之后的RTD 2.0.1,据我所知,下一个版本RTD 2.0.2仍遵循RM Rev 3。但是,如果有任何关于 RM 版本的更新,SW 团队会开票检查新旧 RM 之间的变化。我想他们能察觉到这种变化。 - 据我所知,直到现在,驱动程序支持的时间戳都是默认计数 TMR_CTRL[TE] = 0,而 EthEnableFreeRunningTimer 功能刚刚添加到 RTD 2.0.1,可在 1588 定时器 TMR_CTRL[TE] = 1 中工作。当前定时器将从 1588 寄存器 TMR_FRT_L/H 中获取,但这里似乎存在一个错误,因为我没有在任何地方设置 TE(详情请参见票据:ARTDCC1-593)。总之,到目前为止,驱动程序只支持从 TMR 寄存器获取当前定时器,而不支持对其进行配置。如果用户想更改 1588 寄存器配置,就会出现你所说的情况。 顺祝商祺! Nhi Re: NETC IEEE 1588 timer software does not meet the requirement of RM 你好@双君竹、 您的意思是,在更改 1588 寄存器列表之前停止 TSN 功能,对吗? 我看到当前的驱动程序不支持停止 TSN 的功能。如果要禁用 TSN 中的每个功能,似乎需要删除每个表中的条目。例如 - 费率策略:Netc_EthSwt_Ip_DeleteRatePolicerTableEntry(); - Netc_EthSwt_Ip_DeleteStreamGateControlListTableEntry(); -EthSwt_43_NETC_StopTas(); 顺祝商祺! Nhi Re: NETC IEEE 1588 timer software does not meet the requirement of RM 你好@双君竹、 在我看来,问题不仅在于启用了多少 TSN 功能,因为如果客户使用 ASR 上下文,这些功能在预编译时会通过宏启用/禁用,但也会在每个功能中启用/禁用。大家都知道,每个功能 Rate policing、流闸......都是通过下表控制的: 如果用户只是在配置工具中配置了元素,那么在禁用此功能时,SW 团队可以控制删除多少带有条目 ID 的条目。但是,如果用户通过调用函数来添加元素,那么 SW 就无法知道。但我认为用户可以在自己的应用程序中进行控制。也许我错过了一些东西,但我知道TSN将引用计时器值,因此在更改计时器配置之前将其停止并重新开始以获取新的计时器值是有意义的。我相信 SW 团队在分析该票据时会有深刻的见解。 顺祝商祺! Nhi Re: NETC IEEE 1588 timer software does not meet the requirement of RM 你好@双君竹、 如果您不再了解 ETH 驱动程序,请将 RTD 从本主题中删除,以便 gPTP 的人可以回答您的问题。 顺祝商祺! Nhi Re: NETC IEEE 1588 timer software does not meet the requirement of RM 您好, 在 gPTP 更改计时器偏移寄存器之前,我并不想禁用 TSN 功能。这是 NETC RM 的要求。 客户要求 NXP 提供符合 RM 规范的官方解决方案:如何禁用 TSN 功能,即在这种情况下,IEEE802.1Qbv客户认为这应该由恩智浦提供,因为这是硬件要求和与硬件相关的编码。 顺便说一句,我认为你的建议需要精心设计。特别是对于 802.1Qbv,如何使应用流量不受 gPTP 同步操作的影响。例如,某些流量是否可能会延迟一个 Qbv 计划周期? 谢谢! 杰夫 Re: NETC IEEE 1588 timer software does not meet the requirement of RM 您好, 是的,我还有一个问题。请帮助检查如何从以太网驱动程序的角度禁用/重新启用 802.1Qbv。并请帮助分析这种操作是否会导致 802.1Qbv 计划周期中的一个关键流量延迟? 谢谢! 杰夫 Re: NETC IEEE 1588 timer software does not meet the requirement of RM 您好, 感谢您的大力帮助。 请允许我为 AUTO 客户强调一件非常重要的事情,即当他们使用 TSN IEEE802.1Qbv 功能时,当然也需要根据 802.1Qbv 时间同步要求启用 gPTP。 他们担心 gPTP 是否会影响一个 802.1 Qbv 时隙内的关键流量。我们(恩智浦)需要澄清这一点,并提供如何做到这一点。这是一个非常专注和明确的要求。这是一个很好的例子或用例,可以让你了解情况。 是的,我们不知道客户启用了多少 TSN 功能。但是,对于每个可能使用的人,我们都需要一个解决方案。客户可以根据自己的使用情况做出正确的选择。 谢谢! 杰夫 Re: NETC IEEE 1588 timer software does not meet the requirement of RM 你好@双君竹、 在我看来,ETH 驾驶员的这一要求很难得到满足,因为其官方职能就是停止 TSN 的运行。如你所见,要禁用端口门时间表,只需要 RESET 位时间门启用 PTGSCR[ TG E] 即可。但对于某些 TSN 功能(如费率策略),该功能是根据该表中的元素启用/禁用的。但是从ETH来看,我们不知道该表中添加了条目来删除或更新元素以禁用它们,上层可以更好地处理这个问题。因此,我在之前的答复中建议调用函数删除每个表中的条目。 如果用户没有启用选项功能:速率 Policing、流闸控制列表......,可以使用函数EthSwt_43_NETC_StopTas()禁用 TSN。 总之,我创建了 ARTDCC1-607 票据,您可以关注它以获得 SW 团队的分析,以防我遗漏了什么。而且 RM Rev4 尚未适用于 RTD 版本。如果您对 ETH 这个主题没有更多的了解,请告诉我,我会把这个案例交给 gPTP,让他们继续从他们的角度回答您的问题。 顺祝商祺! Nhi Re: NETC IEEE 1588 timer software does not meet the requirement of RM 你好@双君竹、 我看到 802.1 Qbv 功能同时支持 NETC 和交换机。因此,您可以通过以下方式配置该功能: - Eth_NETC: - 端口开关: 这些功能是 用于 ETH_NETC: - Eth_43_NETC_StartTas() - Eth_43_NETC_StopTas() 用于端口交换机: -EthSwt_43_NETC_StartTas() -EthSwt_43_NETC_StopTas() 对于这个问题:" 从我的角度来看,分析这种操作是否会导致 802.1Qbv 计划周期 " 中的关键流量延迟,因为你可以看看启用/禁用此功能的 netc/portswt_ip_configportTimegateScheduling () 函数,要禁用此功能,只需要 RESET 一点但启用此功能,需要启用门禁时间并设置门禁时间表。这次可以测量。 我理解您的意思是"802.1Qbv 计划周期之一" 是指网关控制列表的执行时间应重复,对吗?如果是,则可以进行配置。 顺祝商祺! Nhi Re: NETC IEEE 1588 timer software does not meet the requirement of RM 您好, 看来你还没明白我的问题。请给我更详细的描述。假设客户有一个 Qbv 配置,它处于运行状态,参数如下: 1. 周期时间为 10ms 2. 在一个 10 毫秒的时间段内,有两个时隙,每个时隙 5 毫秒。换句话说,闸门列表中有两个条目。 3.假设在第一个时隙开放时,NETC 正在传输关键帧。此时 gPTP 开始更新当前时间,根据 RM 的要求,客户需要禁用/重新启用 802.1Qbv。 4.802.1Qbv 重新启用后,NETC 硬件可能会继续打开时隙 1,或进入门列表第 2 项,或等待新的 Qbc 计划周期。 如果硬件进入第 2 个条目,则表示 NETC 队列中的关键帧将在下一个 10 毫秒周期内发送。这可能会造成严重的延误,影响应用。 5.客户询问如何避免这种情况。换句话说,如何平稳地禁用/重新启用 Qbv,以减少对应用程序的影响。 希望这能让你明白。 谢谢! Re: NETC IEEE 1588 timer software does not meet the requirement of RM 您好, 除了我在之前的回复中提到的两个功能外,我没有看到其他启用/禁用 TAS 的方法。在我看来,当禁用时间门控制时,它的所有功能也会被禁用,如时间间隔、周期......。禁用和启用 TAS 之间的时间间隔,包括完成更新 gPTP 定时器的时间。启用 TAS 后,基准时间将根据当前时间更新。除非新的基准时间 = 下一个旧的间隔时间,否则无法满足您的要求。 我对此没有更多的了解,我也在上述票单中更新了这个问题,以便 SW 团队对您的情况提出建议。 顺祝商祺! Nhi
查看全文
McuPGOOD_POLARITYControl Configuration Error Reported When EB Updates RTD 7.0.0_QLP03 This McuPGOOD_POLARITYControl configuration item is not found under this path Re: EB更新RTD 7.0.0_QLP03时报告McuPGOOD_POLARITYControl配置错误 Hi@WeiCh I'm not sure if you can download it, you can try it, if not, contact your agent or FAE for evaluation access. https://www.nxp.com/design/design-center/software/automotive-software-and-tools/real-time-drivers-rtd:AUTOMOTIVE-RTD Re: EB更新RTD 7.0.0_QLP03时报告McuPGOOD_POLARITYControl配置错误 Where can I download 30.0.0?Will 30.0.0 open a 29.0.0 project? Re: EB更新RTD 7.0.0_QLP03时报告McuPGOOD_POLARITYControl配置错误 Hi@WeiCh I see that the version of EB Tresos that this version adapts to should be 30.0.0, not the version you are using. Re: EB更新RTD 7.0.0_QLP03时报告McuPGOOD_POLARITYControl配置错误 Hi@WeiCh In the download screen there is this hint that you have to change the suffix Re: EB更新RTD 7.0.0_QLP03时报告McuPGOOD_POLARITYControl配置错误 It's already working, thanks! Re: EB更新RTD 7.0.0_QLP03时报告McuPGOOD_POLARITYControl配置错误 This is the 30.0.0 interface, which still doesn't seem to have this configuration item. Re: EB更新RTD 7.0.0_QLP03时报告McuPGOOD_POLARITYControl配置错误 Hi@WeiCh The style of your interface is not right, the style of the new version is totally different from the old one. Re: EB更新RTD 7.0.0_QLP03时报告McuPGOOD_POLARITYControl配置错误 There seems to be a bit of a problem, running setup prompts that there is no installer, you can unzip EBtresosStudio_EBtresosStudio.zip and open the app directly, but the app interface is still old: Re: EB更新RTD 7.0.0_QLP03时报告McuPGOOD_POLARITYControl配置错误 Hi@WeiCh Okay, you're welcome.
查看全文
RW612 MCUBoot + TF-M が起動しない こんにちは、 TF-M + MCUBoot の例を使用して、FRDM-RW612 に非常によく似たカスタム ボード セットアップをフラッシュする際に問題が発生しています。 nxp-zephyr リポジトリの最新バージョン (v4.3.0) では、チュートリアルの一部のファイルが変更されているようです。できる限り従おうとしましたが、ボードがまだ正しく起動しません。 MCUBoot ブートローダーだけをフラッシュすると、予想どおりの出力エラー「起動可能なイメージが見つかりません」が表示されます。ガイドの指示に従って PSA 暗号サンプルをフラッシュすると、ターミナルに何も出力されず、MCUBoot テキストも表示されなくなります。端末の問題だけの場合に備えて、点滅サンプルでもテストしましたが、そのCASEはボードの LED も点滅しません。 これらのサンプルは両方とも、MCUBoot なしで TF-M だけをフラッシュすると起動して実行されます ( west build -b frdm_rw612//ns samples/basic/blinky --pristine && west flash )。 このCASE、私は奇妙な癖にも気づきました。ペリフェラルとしてflexcomm3を使用する必要があるため、Zephyrコンソールを別の出力に切り替えたいと考えました。デバイス ツリーを編集すると、さまざまな問題が発生します。   1. zephyrコンソールをFlexcomm3からFlexcomm2に切り替える boards/nxp/frdm_rw612/frdm_rw612_common.dtsi に次の編集を加えました。 i2c-0エイリアスを削除しました ambient-temp0 エイリアスを削除しました chose/zephyr,console を &flexcomm2 に置き換えました flexcomm2 ノードを追加しました: &flexcomm2 { compatible = "nxp,lpc-usart"; status = "okay"; current-speed = <115200>; pinctrl-0 = <&pinmux_flexcomm2_usart>; pinctrl-names = "default"; wakeup-source; }; nxp_pmod_touch_panel_i2c、arduino_i2c、mikrobus_i2cノードを削除しました そして、 boards/nxp/frdm_rw612/frdm_rw612-pinctrl.dtsi に flexcomm2 pinctrl を追加しました: &pinctrl { pinmux_flexcomm2_usart: pinmux_flexcomm2_usart { group0 { pinmux = ; slew-rate = "normal"; bias-pull-up; }; }; }; そしてその後、FC3 をコンソールとして使用したときに動作したのとまったく同じ点滅コードをフラッシュすると、FC3 でブートローダーの出力が表示されます (下記)。ただし、FC2 では何も出力されず、LED も点滅しません。 [INF] Starting bootloader [WRN] This device was provisioned with dummy keys. This device is NOT SECURE [INF] PSA Crypto init done, sig_type: EC-P256, using builtin keys [INF] Image index: 1, Swap type: none [INF] Image index: 0, Swap type: none [INF] Bootloader chainload address offset: 0x20000 [INF] Image version: v0.0.0 [INF] Jumping to the first image slot Booting TF-M v2.2.0+g3b3595f16 [WRN] This device was provisioned with dummy keys. This device is NOT SECURE [Sec Thread] Secure image initializing! [INF][PS] Encryption alg: 0x5500100 [INF][Crypto] Provision entropy seed... [INF][Crypto] Provision entropy seed... complete. 2. ZephyrコンソールをFlexcomm3からFlexcomm14に切り替える chose/zephyr,console を &flexcomm14 に置き換えました flexcomm14 ノードを追加しました:   &flexcomm14 { compatible = "nxp,lpc-usart"; status = "disabled"; current-speed = <115200>; pinctrl-0 = <&pinmux_flexcomm14_usart>; pinctrl-names = "default"; wakeup-source; }; そして、 boards/nxp/frdm_rw612/frdm_rw612-pinctrl.dtsiにflexcomm14 pinctrlを追加しました: &pinctrl { pinmux_flexcomm14_usart: pinmux_flexcomm14_usart { group0 { pinmux = ; slew-rate = "normal"; }; }; }; これらの編集により、FC3 または FC14 に出力が表示されなくなり、LED もまったく点滅しなくなりました。 TF-M + MCUBoot で発生している問題が TF-M のみのコンソール出力の問題に関連しているかどうかはわかりませんが、念のためそれを含めておこうと思いました。私の最終目標は、起動後にファームウェアのアップデートを実行できるように MCUBoot と TF-M を用意することです。また、ペリフェラルとして Flexcomm3 を使用する必要があるため、FRDM-RW612 が使用するものとは異なるコンソール出力が必要です。 また、TF-M も MCUBoot も使用していない場合でも、ボードをフラッシュして FC14 でコンソールに印刷できることにも注意してください。これらのサブシステムを有効にした後でのみ、フラッシュ/ブートに関する問題が発生しました。 どのようなご助力も大歓迎です、ありがとうございます! Re: RW612 MCUBoot + TF-M Not Booting proj.conf をいろいろ試してみたところ、問題はフラッシュ サブシステムに関連するものであることがわかりました。 現在、TF-M なしで MCUBoot をテストしていますが、実行されるアプリと行Iで停止するアプリの違いは、最初のイメージ スロットにジャンプすることが、次の KConfig オプションの 1 つ以上であることです。   CONFIG_FLASH_FILL_BUFFER_SIZE=32 CONFIG_FLASH=y CONFIG_FLASH_MCUX_FLEXSPI_XIP_MEM="RAM" CONFIG_FLASH_INIT_PRIORITY=50 CONFIG_FLASH_HAS_DRIVER_ENABLED=y CONFIG_FLASH_HAS_EXPLICIT_ERASE=y CONFIG_FLASH_HAS_PAGE_LAYOUT=y CONFIG_FLASH_JESD216=y CONFIG_FLASH_MCUX_FLEXSPI_NOR=y CONFIG_MEMC_MCUX_FLEXSPI=y MCUBoot と NXP のフラッシュ ファイルを調べてきましたが、正しい方向に進んでいるかどうかわかりません。次の行のようになります: (( void ( * )( void )) vt ->リセット)(); MCUBoot の Zephyr main.c の do_boot() 関数は、GDB でデバッグできる最後の場所です。そのリセット「関数」が呼び出された後、PC は 0x20005840 にあり、続行/ステップ実行では何も行われず、プログラムはハングするだけです。   繰り返しになりますが、この問題をデバッグするにはどこを参照すればよいかという助言やヒントがあれば、ぜひ教えてください。ありがとうございます! Re: RW612 MCUBoot + TF-M Not Booting こんにちは、リカルドさん。元の投稿が散漫になっていたらごめんなさい。 TF-M + MCUBoot ガイドを最初から完全に開始して、問題点をリストアップすることができました。通常の開発では VSCode 用の MCUXpresso を使用しますが、ガイドでは west コマンドライン ツールを使用しているため、ここでもそれを使用しました。 TF-M + MCUBoot ガイドの問題 (nxp_zephyr タグ nxp-v4.3.0) - 「セキュア イメージの変更」の手順 6 の「ダウンストリームから TF-M をビルドしてフラッシュする」では、M_BOOT_FLASH_CONF_START は BOOT_FLASH_ACT_APP と同じである必要があると記載されています。リポジトリ内のどこにも BOOT_FLASH_ACT_APP が見つかりませんでした。何に設定されているか確認する方法がわかりません。#define M_BOOT_FLASH_CONF_START (0x18020000)を使用しました - 「セキュア イメージの変更」の手順 8 では、ガイドでは hardware_init.c の SystemInitHook に VTOR 構成を追加するように指示されていますが、そのコードはすでに存在しているようです。そのままにしておいた。 - 「非セキュア イメージの変更」セクションでは、 nxp_zephyr\Zephyr\build\tfm\api_ns\platform\partitionフォルダー内のファイルを編集するようにガイドで指示されていますが、 nxp_zephyr\Zephyr\build はデフォルトでは存在しません。この時点では、ガイドでは何も構築するように指示されていません。後でアプリをビルドした後、手順 2 ~ 6 のファイルはすでに正しい値に変更されていました。 - 「非セキュア イメージの変更」の手順 7 に、 nxp_zephyr/zsdk/boardsディレクトリがありません。これはnxp_zephyr/Zephyr/boardsであると想定しているので、そのパスで手順 8 に従いました。 - ガイドに従ってnxp_zephyr/zephyr/boards/nxp/frdm_rw612/frdm_rw612_rw612_ns.dtsを編集した後、次のビルド エラーが発生します:必要なノードラベルが見つかりません: slot0_partition 。その編集を行う代わりに、デフォルトのデバイス ツリー ファイルを使用してビルドすると、サンプルはほぼ完全にビルドされますが、最後のステップでエラーが発生します。 トレースバック(最新の呼び出しが最後): ... intelhex.AddressOverlapError: アドレス 0x18020000 でデータが重複しています 上記の例外の処理中に、別の例外が発生しました: ... intelhex.AddressOverlapError: /nxp_zephyr/zephyr/build/zephyr/tfm_s_signed.hex にマージの問題があります 私はこのエラーを無視してガイドを続行しました。 - 最後に発生した問題は、手順 3 の「バイナリのマージ」セクションで、 「エラー: このようなコマンド 'merge' はありません」というエラーが発生したことです。私にとっては同様の機能があるように見えたので、merge の代わりに「export」コマンドを使用しました。 これらの調整を行い、ガイドの指示に従ってフラッシュした後でも、次のターミナル出力が得られます。 *** Booting MCUboot v2.2.0-192-g96576b341ee1 *** *** Using Zephyr OS build nxp-v4.3.0 *** I: Starting bootloader I: Image index: 0, Swap type: perm I: Image index: 0, Swap type: perm I: Primary image: magic=bad, swap_type=0x0, copy_done=0x2, image_ok=0x2 I: Secondary image: magic=good, swap_type=0x1, copy_done=0x3, image_ok=0x1 I: Boot source: none I: Image index: 0, Swap type: perm I: Image index: 0, Swap type: perm I: Image index: 0, Swap type: perm I: Image index: 0, Swap type: perm E: Image in the primary slot is not valid! E: Unable to find bootable image ガイドの指示に対して行った調整のいずれかが問題の原因なのか、更新された Zephyr リポジトリのその他の違いなのかはわかりません。ご返信ありがとうございます。 Re: RW612 MCUBoot + TF-M Not Booting こんにちは、 あなたの調子が良いといいのですが。セットアップの詳細を教えていただけますか? VSCode で MCUXpresso を使用していますか? flexcomms に関連するすべての変更を実装する前に、投稿をフォローできるかどうかを明確にしていただけますか?(それぞれのバージョンの変更あり) よろしくお願いいたします。 リカルド Re: RW612 MCUBoot + TF-M Not Booting こんにちは@jm-streametric さん、お元気ですか。 あなたが参照しているガイド ( RW612 を使用した Zephyr MCUboot + TFM デモ) は、4.2.0 より前のバージョンの Zephyr にのみ適用されます。この場合、Zephyr v4.3.0 (NXP のダウンストリーム リポジトリ) の例をビルドしてフラッシュする手順は、FRDM-RW612 の方が簡単です。psa_crypto の例をビルドしてフラッシュするには、以下の手順を参照してください。 リポジトリから例をインポートをクリックします。 NXP のダウンストリーム リポジトリ V4.3.0 を選択します。FRDM-RW612 の TF-M サポートがメインの Zephyr リポジトリに完全には追加されていないため、これは重要です。次に、FRDM-RW612 の非セキュア バージョンを選択します。 psa_crypto の例を選択し、[インポート] ボタンをクリックします。 最後に、サンプルをビルドしてボードにフラッシュします (必要に応じてデバッグ セッションを開くこともできます)。すべてが正しく実行された場合、シリアル端末のログは次の画像のようになります。 現時点では、この手順はFRDM-RW612 ボードにのみ適用されます。RW612をカスタム ボードで使用しているため、ボードに TF-M サポートを追加するには、必要な変更を確認して行う必要があります。考慮すべき主なポイントは、使用しているフラッシュ デバイスです。したがって、この点に違いがある場合は、より大きなポートを動作させる必要がある場合があります。 Zephyr コンソールに使用される Flexcomm インスタンスの変更で発生した問題に関しては、 boards/nxp/frdm_rw612/frdm_rw612_common.dtsiファイルで直接変更しないでください。この変更はビルド時にデフォルトに書き換えられるため、代わりにfrdm_rw612.overlayファイルを使用して変更を追加してみてください。このオーバーレイは Zephyr のデフォルトのデバイス ツリー ファイルに優先され、変更が維持されます。 情報が役に立つかどうかお知らせください。 Re: RW612 MCUBoot + TF-M Not Booting こんにちは、ローマン。 ご返信ありがとうございます!あなたの指示に従って、ボード上で作業を行うことができました :)。私のカスタム ボード上のフラッシュ レイアウトは FRDM-RW612 と同じなので、幸いなことにそこで変更する必要はありません。 オーバーレイを追加するのは良い点ですが、以前はそれを試してみようとは思いませんでした。 続いて、TF-M secure + BL2 システムの FlexComm 出力を変更することは可能ですか?ペリフェラルが搭載されているため、デフォルトの Flexcomm3 インターフェイスを使用できません。現在、デバッグ出力を無音にしていますが、BL2 + S ビルドを変更して、たとえば FC3 ではなく FC14 USART に出力できる場所はありますか? ありがとう! Re: RW612 MCUBoot + TF-M Not Booting こんにちは@jm-streametric 。 Flexcomm に関するご質問について: 現在の実装では、TF-M はUSART3 を使用するように「ハードコード」されています。別の USART インスタンスに切り替える必要がある場合は、次の場所にある TF-M プラットフォーム ファイルを確認して変更します。 /modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/frdmrw612 まず、 platform_base_address.hを確認することをお勧めします。ファイルの場所: frdmrw612/Device/Include このファイルは、TF-M で使用される USART インスタンスを含む、プラットフォーム レベルのベース アドレスを定義します。 さらに、同じ TF-M ターゲット ディレクトリ内の project_template フォルダーには、USART の初期構成コードがあります。これらの初期化により、USART3が現在どのように設定されているか、また、別のUSARTインスタンスに切り替えるためにどこに変更を適用するかが明確になります。 この情報がお役に立てれば幸いです! Re: RW612 MCUBoot + TF-M Not Booting こんにちは@jm-streametric さん、お元気ですか。 デバイス ツリーで、Flexcomm14 を参照するノードが正しく構成され、アクティブ化されているかどうかを確認してください。次の例のように、ステータス プロパティが「okay」に設定されていることを確認します。 flexcomm14: flexcomm@126000 { status = "okay"; }; これが役に立つことを願います! Re: RW612 MCUBoot + TF-M Not Booting こんにちは、ローマン。 TF-M システムで使用される USART を切り替えようとしました。すべての定義をtarget/nxp/frdmrw612/project_template/* board.hに切り替えるとおよび pin_mux.cFC3/USART3 -> FC2/USART2 への変更は機能します。 ただし、同じ手順を実行しても、FC14/USART14 に変更すると、BL2 プログラムがハングします。bl2.elf を使って addr2line でハングしているアドレスを実行したところ、プログラムは target/nxp/frdmrw612/Native_Driver/drivers/fsl_reset.c でループしたままになっているようです。51行目。FC14 ペリフェラルのリセットは 67 行目のスイッチ CASE を使用する必要があると思うので、これは正しくないように思えますが、addr2line に問題がある可能性があります。 いずれにしても、TF-M システムを USART14 に印刷するように切り替えた場合、BL2 プログラムがハングし、Zephyr アプリが起動しなくなります。これまでにこの問題を見たことがありますか? また、なぜこの問題が発生するのかの手がかりはありますか? Re: RW612 MCUBoot + TF-M Not Booting こんにちは、ローマン。 はい、flexcomm14 ノードを「正常」ステータスに設定しました。私の質問は BL2/Secure Environment のログ記録に関するものです。これら 2 つのバイナリは別々にビルドされるため、zephyr デバイスツリーは適用されないと思いますか?
查看全文
PN7160とnRF52840 こんにちは、 カスタムPCB上のnRF52840モジュール(Raytac MDBT50Q-1MV2)にI2C経由でコネクテッドされた外付けNFCリーダ/コントローラ(NXP PN7160A1HN/C100E)を使用しています。(プログラミングは、nRF52840 DKをデバッグプローブとして使用し、SWD経由で行います。) 現在のソフトウェア環境は、VS Code(Windows 11)のnRF Connect SDK(NCS)v3.2.0とZephyr RTOS v4.2.99です。目標は、PN7160(NCI-over-I2C)を使用して、RF検出を開始し、13.56MHzパッシブカードのUIDを読み取ることです。 私はPN7160を「典型的なZephyrの方法」で統合しようと試みました。 ソース/メイン.c ボード/nrf52840dk_nrf52840.オーバーレイ prj.conf I2C ピンと PN7160 GPIO (VEN/IRQ) を設定できますが、初期化が失敗します (プローブ中または最初のコマンド中の I2C -EIO/NACK)。その結果、RF 検出全体が機能せず、統合アプローチが正しいかどうかわかりません。 質問: NCS/Zephyrでは、`main.c`を変更するだけでPN7160をプログラムすることは可能ですか?+ `nrf52840dk_nrf52840.overlay` + `prj.conf`、それともPN7160には適切なカスタムドライバが必要であると予想されますか? ドライバが必要な場合、NCS でドライバを追加するための推奨アプローチは何ですか (デバイスツリー バインディング YAML + Kconfig + CMake + ドライバ ソース)。また、外部 Zephyr モジュール (zephyr/module.yml + EXTRA_ZEPHYR_MODULES) としてパッケージ化する必要がありますか?これを行う方法のサンプル コードはありますか (パブリック github リポジトリのようなものですが、見つけることができませんでした)? プローブ/最初の書き込み時に -EIO を引き起こす可能性のある、別の方法で処理する必要がある既知の NCS v3.2.0 / Zephyr 4.2.99 I2C/TWIM 動作はありますか? 他に役立つコメントがありましたら、ぜひ教えてください。 ご協力ありがとうございます!
查看全文
パスワード保護(AUTH0/アクセス)を有効にした後、NTAG213 の書き込み保護を解除できません NXPチームの皆様、こんにちは。 私は、 PN7160 NFC コントローラとNXP Linux nfcDemoAppを使用してNTAG213タグを操作しています。 私が成功したこと: nfcDemoApp (main.c)を変更し、次のように設定して NTAG213 の書き込み専用パスワード保護を有効にしました。 障害者 パック 認証0 アクセス (PROT = 0) 書き込み保護は正常に機能します: モバイルNFCアプリは書き込みができなくなりました アプリケーションからPWD_AUTHを送信した後にのみ書き込みが可能 AUTH0を0xFFにリセットする アクセスをクリア 設定ページを書き直す また、 NXP NFC TagInfo / NFC Toolsアプリを使用して別の NTAG213 の書き込み保護を有効にしましたが、これも期待どおりに機能しました。 私が直面している問題: 現在、どちらのCASEも書き込み保護を解除できません。 独自のコードを使用する(nfcDemoApp) Using NXP NFCツール/タグライターモバイルアプリの使用 正しいパスワード (PWD_AUTH) で認証した後でも、次の試行は失敗します。 私の理解: NTAG213 のデータシートから、次のことを理解しました。 PWD_AUTHはRFセッション中に保護されたページへの書き込みを許可する必要がある 認証後、AUTH0とアクセスを変更できるようになる。 NTAG213には、パスワード保護のための永続的なロックビットはありません(ロックバイトとは異なります)。 しかし、実際には、タグを保護されていない状態に戻すことはできません。 質問: NTAG213 のパスワードベースの書き込み保護を有効にした後で、それを削除または無効にすることは正式にサポートされていますか? PWD_AUTH が成功した後、AUTH0 ページとアクセス ページは書き込み可能になりますか、それとも一度設定されると永続的に保護されますか? NTAG213 を書き込み可能 (保護されていない) 状態に戻すための推奨シーケンスはありますか? NXP NFC ツール / タグライターは NTAG213 のパスワード保護を削除できるか、またはカスタムの raw コマンド処理が必要ですか? 構成ページを変更するには、認証後に完全なリセット (RF セッションのリセット/電源サイクル) が必要ですか? NXP チームからのガイダンスや説明は非常に役立ちます。 再開まで今しばらくお待ちください。 よろしくお願いします、 ニランジャン Re: Unable to remove write protection on NTAG213 after enabling password protection (AUTH0/ACCESS) 私はRFIDDiscoverを使用します。設定ページで設定を変更して保護を解除することができます。
查看全文
CANFDにおける二次サンプリングポイントオフセット(SSPオフセット)の設定について ISO 11898-1 2015では、SSP(サンプリングポイント)を通常のサンプリングポイント(SP)の前に配置することが要求されています。しかし、当社の仕様ではSSPオフセットをTSEG1と等しく定義しており、SSPとSPは同じ位置にあります。これにより、SSPの迅速なエラー検出機能が損なわれます。仕様におけるこのSSPオフセットの固定は妥当でしょうか? たとえば、仕様では、SSP オフセット = TSEG1 となる CANFD サンプリング ポイント構成の推奨が必要です。   Re: 关于CANFD中二次采样点偏移SSP Offset的设置问题 こんにちは、 ISO 11898-1 2015 の正確な文言はわかりませんし、写真の出所もわかりません。おそらくそれはすべて単なる誤解です。 ISO 準拠の CAN FD コントローラは、TDC を使用してループ遅延を測定し、設定可能な SSP を採用することで、トランスミッタがより高いデータ レートでデータ エラーを適切に検出できるようにします。TDC/SSP を省略するとこのメカニズムが無効になり、エラー検出の堅牢性が低下します。 図が示すもの: TX 出力: コントローラから送信された CAN FD ビットを表します。 RX 入力: トランシーバ遅延後の受信ビットを表します。 TDC 測定: コントローラは TX と RX 間のループ遅延を測定します。 TDC オフセット: 測定された遅延に追加される、ユーザーが設定可能な値。 SSP 位置: SSP = TDC 測定値 + TDC オフセットとして計算されます。 SSP は、TX ドメイン内のメイン SP の前に配置されるものではありません。代わりに、RX 信号をサンプリングするときに、トランシーバの遅延を考慮した後に正しいビット センターに揃うように配置されます。TX の観点から見ると、物理的な遅延により RX 信号が TX より遅れるため、SSP は通常の SP よりも遅く表示されます。TDC オフセットを公称 SP と同じに設定すると、RX サンプリング ポイントが受信ビットと同じ時間になることが保証されますが、ビットの中央など自由に設定できるため、エラー検出とデータの整合性にとって最適になります。 ISO 11898‑1 では、TX ドメインでの早期エラー検出ではなく、トランスミッタの遅延補正に SSP が必要です。目標は、遅延後にトランスミッタが自身のビットを正しく検証できるようにすることです。 BR、ペトル Re: 关于CANFD中二次采样点偏移SSP Offset的设置问题 感谢回复
查看全文
FS26 无法 RESET S32K3 我正在使用 RTD 层在带有 FS26 的 S32K314 上进行开发。 目前,我遇到 FS26 无法 RESET MCU 的问题。 FS26 成功进入正常状态,但是当我故意停止为看门狗供电时,RSTB 引脚没有被拉至低电平,也没有 RESET MCU。 您能帮我检查一下可能出了什么问题吗?谢谢。 有关我的配置设置和初始化步骤,请参阅所附的图片。 Re: FS26 CAN'T NOT RESET S32K3 嗨,彼得、 感谢您的回复。 我正在定制板上开发,我可以确认硬件已经退出调试模式。 我尝试刷新一个没有进行任何 FS26 初始化的版本,在那个版本中,FS26 会持续 RESET MCU。 但是,当我闪回我提供给你的版本(包含 FS26 初始化的软件)时,FS26 不再 RESET MCU。 此外,你还可以看到我的配置,如附件所示,我选择了调试模式退出。 请帮助检查 FS26 初始化过程中是否有任何错误。谢谢。 Re: FS26 CAN'T NOT RESET S32K3 你好 你能分享一下你使用的是恩智浦评估板还是定制主板吗? 确保 FS26 未处于调试模式。在这种情况下,WDOG 将被禁用,超时时不会有任何反应。 顺祝商祺! Peter Re: FS26 CAN'T NOT RESET S32K3 你好 好的,谢谢你的解释。 此外,你还可以看到我的配置,如附件所示,我选择了调试模式退出。 好的,这只是配置图形用户界面中的复选框。 如果从 FS26 读回,它真的处于正常模式吗? 我尝试刷新一个没有进行任何 FS26 初始化的版本,在那个版本中,FS26 会持续 RESET MCU。 如果 FS26 未初始化,WDOG 将发出 RESET 命令,RESET 阶段将自动重新开始。 初始化阶段必须在 256 毫秒超时前通过良好的看门狗刷新关闭。如果在初始化阶段没有发送监视器刷新或监视程序不正确,则会生成 RSTB 脉冲,故障错误计数器将增加 1。当 RSTB 版本发布时,新的初始化阶段会自动启动。 但调试模式也是通过调试引脚激活来保持的。但是由于RESET是在没有完成初始化的情况下进行的,我预计你没有激活调试引脚。 但是,当我闪回我提供给你的版本(包含 FS26 初始化的软件)时,FS26 不再 RESET MCU。 因此,在我看来,这与代码直接相关。 因此,我认为可能只有两种选择。 1. 您的 WDOG 未激活 2. 您已进入调试模式。 否则,FS26 将发出 RESET。 可以添加 FS26 模式调试模式检测检查,以确保 SBC 启动后不处于调试模式。 同时检查 FS_I_WD_CFG 顺祝商祺! Peter Re: FS26 CAN'T NOT RESET S32K3 嗨,彼得、 请看我蓝色字体的回复。谢谢。 仍未找到监视程序未触发信号 MCU RESET 的根本原因。 如果从 FS26 读回,它真的处于正常模式吗? Wade : 是的,我通过 spi 读取了 FS_STATES,它返回 1011(正常)。 1. 您的 WDOG 未激活 韦德:我用 spi读取了FS_I_WD_CFG 并返回了 0101 1010 0001 0000,与我的配置相同。 2. 您已进入调试模式。 Wade : 没有,我通过 spi 读取 FS_STATES,它返回 1011(不在 DEBUG 模式下)。 Re: FS26 CAN'T NOT RESET S32K3 嗨,彼得、 我在上一篇文章中漏掉了一张图片。 请一并参阅。谢谢。 Re: FS26 CAN'T NOT RESET S32K3 你好 这就奇怪了。 我检查过你们的登记簿: 如果从 FS26 读回,它真的处于正常模式吗? Wade : 是的,我通过 spi 读取了 FS_STATES,它返回 1011(正常)。 1. 您的 WDOG 未激活 韦德:我用 spi读取了FS_I_WD_CFG 并返回了 0101 1010 0001 0000,与我的配置相同。 wd_fs_reaction[1:0] 如果设备未处于调试模式,则此类配置将触发信号RESET。 2. 您已进入调试模式。 Wade : 没有,我通过 spi 读取 FS_STATES,它返回 1011(不在 DEBUG 模式下)。 这说明是正常模式。 我不清楚你那边发生了什么。 你能不能通过示波器检查RESET线,看看RESET没有被拉出。另外,你在恩智浦评估板上看到同样的行为吗? 那调试引脚呢,不是激活的吗? 默认情况下,在没有任何SBC配置的情况下,RESET会被触发信号,因此您的SBC配置中必须有一些内容,防止从SBC向uC执行RESET。 您是否尝试过 RTD 软件包提供的 FS26 示例软件? 顺祝商祺! Peter
查看全文
为什么在 S32K3 模块中添加 EMCEM 会导致硬故障处理程序? 我想在当前代码中添加 EMCEM,但添加后发现它要进入硬故障处理程序。但是,如果我删除 EMCEM,我的代码就会恢复工作状态。 我试着关闭故障组和 DCM 故障,看看问题是否是由 EMCEM 的检测引起的,但还是不行。 我尝试调整 FREERTOS 的 TOTAL HEAP SIZE = 32768、TIMER TASK STACK DEPTH = 2048 和 QUEUE REGISTRY SIZE = 10,但都不起作用。 消息显示 " 总线故障," 但是在我添加 EMCEM 模块之前,所有功能都运行良好,没有总线故障。我不知道为什么要这么说。 Re: Why does adding EMCEM to the S32K3 module cause a hard fault handler? 配置 EMCEM 时,我没有配置时钟。我只添加了 EMCEM 模块,并添加了 `eMcem_Init(&eMcem_Config_0)`。不过,我检查了时钟配置,显示 "ERM0_CLK = 40 MHz"。这样做对吗? 然后我发现问题出在 `eMcem_Erm_Init` 的 `SAFETYBASE_REG_WRITE32( addr, ERM_SR_CLEAR_VAL_U32 );` 操作中。如果我注释了 `SAFETYBASE_REG_WRITE32( addr, ERM_SR_CLEAR_VAL_U32 );` ,就不会出现 `HARD FAULT HANDLER` 错误。但是,这是 RTD 驱动程序,我认为我不应该修改它。 Re: Why does adding EMCEM to the S32K3 module cause a hard fault handler? 嗨,@Allen_863、 故障似乎发生在 ERM 初始化过程中。能否确认 ERM 时钟是否被禁用? 如果时钟已启用,请提供有关故障的其他详细信息,以便我们进一步调查。 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 BR,丹尼尔 Re: Why does adding EMCEM to the S32K3 module cause a hard fault handler? 我检查了 MC_ME PRTN1_COFB0_STAT 的第 23 位,发现它为 0,然后找到了 PRTN1_COFB0_REQ23 的开关。 感谢您的帮助。 Re: Why does adding EMCEM to the S32K3 module cause a hard fault handler? 嗨,@Allen_863、 在 eMCEM 和 ERM 初始化之前,能否在 MC_ME PRTN1_COFB0_STAT 寄存器中检查 ERM 时钟是否运行? 谢谢! BR,丹尼尔
查看全文
S32K322 で can1 を core1 に割り当てる方法 こんにちはNXPサポーター、 現在、MCALでS32K322を使用していますが、Core0でCAN0を、Core1でCAN1を実行したいと考えています。 私が理解している限りでは、まず EB で CAN と Platform の両方の MultiCore サポートを有効にし、EcucPartition 関連のモジュールを適切に構成する必要があります。 実行時に、Core1 の main 関数で Platform_Init() と Can_43_FLEXCAN_Init() を呼び出します。 Core1 で CAN1 を実行するにはこれで十分ですか、それとも CAN1 を Core1 に適切に割り当てるために他に何かする必要がありますか? ありがとうございます! よろしくお願いいたします クーパー24025
查看全文
使用canFD发送数据问题 您好,我在使用s32k144通过canFD发送数据。单步调试时,调用can_write()后,应该发送一条数据,逻辑分析仪却显示发送了很多条数据,同时只有前几条数据跟我发送的数据可以对应的上,同时IFLAG1寄存器也没有置位。想知道是什么原因造成的?该怎么解决?另外,EB配置中的三个波特率哪一个代表仲裁段的波特率?希望能得到您的帮助! Re: 使用canFD发送数据问题 好的,谢谢了
查看全文
S32K3xx FlexCAN 传统和增强型 RXFIFO DMA 我正在研究 S32K344 FlexCAN,在使用 FlexCAN 时我遇到了一些问题。 1.DMA在S32K344中实际上是如何工作的?以及如何使用它? 2. 如何将传统 FIFO 与 DMA 以及增强型 FIFO 与 DMA 集成 3. 使用 DMA 会产生什么后果? Re: S32K3xx FlexCAN legacy and Enhanced RXFIFO DMA 你好, 请问能否提供此示例的 MCAL 版本?谢谢。
查看全文
在 IMX8mm 上编程 SJC_DISABLE、JTAG_SMODE 和 JTAG_HEO 熔丝 你好 在 AN4581 应用笔记第 5.7 节中,建议对 SJC_DISABLE、JTAG_SMODE 和 JTAG_HEO 熔丝进行编程以完全保护设备,但是同时看 IMX8MMRM 和 IMX8MMSRM,我找不到这些熔丝的确切位置(银行、字、位)。在哪里可以找到这些信息? 谢谢! Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM 你好,我是@igorpadykov、 如果您能把这些信息也发给我,我将不胜感激。 预先致谢 Dj Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM 您好, 您能否将这些信息也发给我? 另外,imx8m nano 和 mini 之间有区别吗? Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM 我们也希望得到这些信息。 Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM 嗨,@伊戈尔帕季科夫、 我需要有关 imx8m mini 熔丝的信息。能否请您提供给我?出于网络安全原因,我需要禁用 JTAG。 最好的奖励 胡利安 Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM @igorpadykov 你还能把 JTAG_HEO 熔丝的信息发给我吗? 谢谢! Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM 您也能与我分享一下吗?为什么这不只是发布在公共应用程序备注、参考手册或网络安全参考手册中?通过隐蔽实现的网络安全不是网络安全。 Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM 您能公开这封邮件吗?为什么安全参考手册中没有列出这些信息?对于i.MX8M Nano,这已在网络安全参考手册中列出。但是我不知道 Mini 是否使用同样的熔丝。 此外,AN4581 还列出了值得关注的熔丝 DIR_BT_DIS。但我找不到任何参考。 Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM 我们还想在 imx8m-mini 上禁用 JTAG,但我在《参考手册》修订版 2,2019 年 8 月 8 日第 6.2 章 Fusemap 中找不到任何有关它的信息。您能为我指明正确的方向吗? 谢谢! Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM 嗨 Rodrigo_travess 附加信息已通过邮件发送。 问候 igor
查看全文
GD3162 新しい回路図デザインで GD3162 ゲート ドライバを使用する予定です。NXP のサイトで短いデータシートを見つけました。完全なデータシートはありますか? Re: GD3162 この製品に関して要求されたドキュメントは管理リリース下にあり、NDA (秘密保持契約) に基づいてセキュア ファイル経由でアクセスできます。 アクセスをリクエストするには、こちらをクリックしてください: https://www.nxp.com/webapp-signup/docstoreReg  フォームの送信時に、有効な NDA のコピーをアップロードするよう求められることにご注意ください。NXPについてにまだNDAがない場合は、まずNDAのフォームにご記入ください。 https://www.nxp.com/webapp-signup/ndaReqForm NDA の準備ができたら、安全なファイルへのアクセスをリクエストできます。 プロセスを理解するには、以下のリンク/FAQを確認してください。 https://www.nxp.com/support/support/secure-access-rights:SEC-ACCESS https://www.nxp.com/support/support/secure-access-rights/secure-access-rights-faqs:SEC-ACCESS-FAQS
查看全文
ADV7535:显示屏上无图像输出 嗨,团队、 我们正在基于 Verdin Yavia IMX8M Plus 的定制载板上开发 DSI 转 HDMI 变流器 ( ADV7535)。 我们已经替换了 ADV7535 而不是 LT8912B MIPI DSI 转 HDMI 桥接器 ,后者自带 Toradex 载板。我们使用 I2C 通道 2 与 ADV7535 DSI 转 HDMI 桥接器进行 通信,这与使用不同的 I2C 通道的 Yavia 载板不同。因此,我们对设备树进行了以下更新以反映这一变化: 设备树变更 1. verdin-imx8mp_dsi-to-hdmi_overlay.dts 删除现有 hdmi_lontium_lt8912 节点。 在 I2C2 节点下新增 hdmi_adv7535 节点。 2. imx8mp-verdin.dtsi 删除了 hdmi_lontium_lt8912 节点。 从 hdmi_connector 节点中删除了 Lontium 引脚连接细节。 已添加 hdmi_adv7535 作为 I2C2 下的子节点。   更改后的观察结果 成功读写 ADV7535 的内部寄存器。 能够转储 I2C 数据: torizon@verdin-imx8mp-15404184:~$ i2cdump -y -f 1 0x39 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 14 00 00 00 00 00 00 00 00 00 41 0e bc 18 01 13 ?.........A????? 10: 25 37 00 00 00 00 38 00 46 62 04 a8 00 00 1c 84 %7....8.Fb??..?? 20: 1c bf 04 a8 1e 70 02 1e 00 00 04 a8 08 12 1b ac ?????p??..?????? 30: 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 b0 ...........?...? 40: 00 50 f0 76 10 68 68 68 68 00 80 00 00 00 00 00 .P?v?hhhh.?..... 50: 00 00 02 0d 6d 02 00 00 00 00 00 00 00 00 00 00 ..??m?.......... 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 01 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ??.............. 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 c0 00 40 00 03 02 e0 18 30 61 00 00 ....?.@.????0a.. a0: 00 00 a4 a4 08 04 00 00 00 00 00 40 00 00 40 14 ..????.....@..@? b0: 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 ..........?..... c0: 00 00 00 00 00 00 06 00 00 03 00 00 02 00 01 04 ......?..?..?.?? d0: 0c ff 80 80 80 00 00 00 00 00 00 00 00 00 88 01 ?.???.........?? e0: d0 70 01 00 00 00 fd 00 00 00 52 46 00 00 00 00 ?p?...?...RF.... f0: 95 04 ff 00 00 00 00 00 00 00 7d aa 1c 00 b0 00 ??........}??.?. 检测 HDMI 显示器,并在 i.MX8MP 上检索 EDID 数据。HDMI-A -1 是 DSI 转 HDMI 端口,HDMI-A-2 是原生 HDMI 端口。 root@verdin-imx8mp-15288064:/home/torizon# cat /sys/class/drm/card0-HDMI-A-1/edid | edid-decode edid-decode (hex): 00 ff ff ff ff ff ff 00 30 ae 86 10 01 01 01 01 22 15 01 03 80 29 1a 78 ee e5 b5 a3 55 49 99 27 13 50 54 af ef 00 61 40 81 c0 81 80 81 8a 81 90 95 00 95 0f 01 01 64 19 00 40 41 00 26 30 18 88 36 00 a0 1d 00 00 00 18 00 00 00 fc 00 4c 45 4e 20 4c 31 39 35 30 77 44 0a 20 00 00 00 fd 00 32 4c 1e 51 0e 00 0a 20 20 20 20 20 20 00 00 00 ff 00 42 33 34 33 32 38 34 35 0a 20 20 20 20 01 0b 02 03 21 71 4e 06 07 02 03 15 96 11 12 13 04 14 05 1f 90 23 09 07 07 83 01 00 00 65 03 0c 00 10 00 8c 0a d0 90 20 40 31 20 0c 40 55 00 b9 88 21 00 00 18 01 1d 80 18 71 1c 16 20 58 2c 25 00 b9 88 21 00 00 9e 01 1d 80 d0 72 1c 16 20 10 2c 25 80 b9 88 21 00 00 9e 01 1d 00 bc 52 d0 1e 20 b8 28 55 40 b9 88 21 00 00 1e 02 3a 80 d0 72 38 2d 40 10 2c 45 80 b9 88 21 00 00 1e 00 00 00 00 d0   遇到的问题 连接的 HDMI 显示器上没有图像输出 。 dmesg 日志错误:   imx_sec_dsim_drv 32e60000.mipi_dsi: failed to get pmsk for: fin = 12000, fout = 0   故障排除尝试 我们尝试修改设备树中的 MIPI DSI 控制器时钟设置,如下所示: mipi_dsi: mipi_dsi@32e60000 { #address-cells = <1>; #size-cells = <0>; compatible = "fsl,imx8mp-mipi-dsim"; reg = <0x32e60000 0x10000>; clocks = <&media_blk_ctrl IMX8MP_CLK_MEDIA_BLK_CTRL_MIPI_DSI_PCLK>, <&media_blk_ctrl IMX8MP_CLK_MEDIA_BLK_CTRL_MIPI_DSI_CLKREF>; clock-names = "cfg", "pll-ref"; assigned-clocks = <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF>; assigned-clock-parents = <&clk IMX8MP_CLK_24M>; assigned-clock-rates = <11000000>; interrupts = 18 IRQ_TYPE_LEVEL_HIGH>; power-domains = <&mipi_phy1_pd>; status = "disabled"; port@0 { dsim_from_lcdif: endpoint { remote-endpoint = <&lcdif_to_dsim>; }; }; }; 不过,在 dmesg 日志中,默认频率仍显示为 12 MHz 。   要求澄清 我们希望您能就以下几点提供指导: 如何正确更新 fin 和 fout 的值,以解决 pmsk 错误? 要通过 ADV7535 实现正确的图像输出,是否需要对设备树进行任何其他更改? 期待您的见解和建议。 请参阅随附的 dmesg 日志,该话题中的设备树叠加层。 谢谢& , Rupesh Kathar imx8mplus#adv7535 #dsi #hdmi #mipi #i2c #i2s i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: ADV7535: No image output on display 如果您使用的是 5.15,只需将分支更改为 5.15,因为您的源代码是第三方公司的,我不清楚您的驱动程序如何,但请参考 nxp adv7535 驱动程序 linux-imx/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c at lf-5.15.y - nxp-imx/linux-imx - GitHub 并不是所有的分辨率都能支持,有效时钟如下,如果需要新时钟,必须在时钟驱动程序中添加新时钟。 静态常量 int valid_clocks[] = { 148500, 135000, 132000, 108000, 78750, 74250, 65000, 49500, 40000, 31500, }; Re: ADV7535: No image output on display 您好@joanxie, 感谢您对恩智浦内核源代码的指导。 我们已经使我们的设备树与恩智浦内核5.15y(不是你共享的6.12)的imx8mp-evk.dts保持一致,我们的显示器适用于某些分辨率,但不适用于我们的目标分辨率,即1024x768。 除了 adv7535 的设备树外,我们没有做任何其他更改。使用 Toradex 内核 5.15.2.x。 下面的表格列出了哪些方法有效,哪些方法无效。 分辨率 宽高比 标准 常见刷新率 Realtek 显示器 戴尔显示器 640×480 4:3 双向 60 赫兹 工作 工作 800×600 4:3 VESA 60-75 赫兹 工作 工作 1024×768 4:3 VESA 60-75 赫兹 空白/闪烁时 禁用 内部定时发生器 无输出 1280×768 5:3 VESA 60 赫兹 无输出 无输出 1280×720 16:9 双向 24/25/30/50/60 赫兹 工作 工作 1366×768 16:9 VESA 60 赫兹 无输出 无输出 1920×1080p 16:9 双向 24/25/30/50/60 赫兹 工作 工作 只有 1024x768 不工作的可能原因是什么?其他分辨率只需插入 HDMI 即可正常工作。 Re: ADV7535: No image output on display 我之前已经分享过 imx8mp dts 文件,首先,您需要在 dts 中正确设置该桥接器,然后 adv7535 驱动程序就会 https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c Re: ADV7535: No image output on display 嗨 @joanxie, FYR,我们正在使用类似于 Toradex 的 Yavia 载板的定制板。唯一的变化是用 ADV7535 取代了 lontium DSI 转 HDMI 适配器。我们选用 ADV7535,因为恩智浦也在其部分产品中使用该器件。 因此,我们在 Toradex 为 Yavia-WiFi dts 提供的设备树及其父设备树源的基础上进行了设备树修改。 问题中的设备树节点是 1。MIPI-DSI-这里没有修改任何内容(与之前的文章不同,改回了默认值)。其他恩智浦设备也必须使用它。 2。ADV7535 特定的节点和叠加层,我们在上一篇文章中提供了。 驱动程序为sec_mipi_dsim-imx.c,sec-dsim.c,adv7511_drv.c,adv7533.c. 现在,在调整了设备树叠加层之后。我们不再收到 fin、fout 错误。 以下是上述驱动程序的 dev_dbg 日志。 torizon@verdin-imx8mp-15404184:~$ dmesg | grep drm [ 0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_defau lt=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/7b778d635701b4e0bbc49652c 421a587ae63ff3c6cbfc07d964084a23df7631d/0 [ 2.771129] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 2.771181] imx-drm display-subsystem: bound imx-lcdifv3-crtc.1 (ops lcdifv3_crtc_ops) [ 2.772099] imx-drm display-subsystem: bound 32e60000.mipi_dsi (ops imx_sec_dsim_ops [sec_mipi_dsim_imx]) [ 2.772141] imx-drm display-subsystem: bound 32fd8000.hdmi (ops dw_hdmi_imx_ops) [ 2.772468] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 0 [ 2.869610] imx-drm display-subsystem: [drm] fb0: imx-drmdrmfb frame buffer device [ 5.099098] systemd[1]: Starting Load Kernel Module drm... [ 5.188031] systemd[1]: [email protected]: Deactivated successfully. [ 5.188992] systemd[1]: Finished Load Kernel Module drm. [ 5.262319] [drm] Initialized vivante 1.0.0 20170808 for 40000000.mix_gpu_ml on minor 1 torizon@verdin-imx8mp-15404184:~$ dmesg | grep dsim [ 0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_defau lt=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/7b778d635701b4e0bbc49652c 421a587ae63ff3c6cbfc07d964084a23df7631d/0 dy [ 2.759952] Kernel module loaded from ramdisk: sec_dsim - result: 0 [ 2.771246] imx_sec_dsim_drv 32e60000.mipi_dsi: sec-dsim bridge bind begin [ 2.771290] imx_sec_dsim_drv 32e60000.mipi_dsi: version number is 0x1060200 [ 2.772085] imx_sec_dsim_drv 32e60000.mipi_dsi: sec-dsim bridge bind end [ 2.772099] imx-drm display-subsystem: bound 32e60000.mipi_dsi (ops imx_sec_dsim_ops [sec_mipi_dsim_imx]) [ 2.916294] Kernel module loaded from ramdisk: sec_mipi_dsim_imx - result: 0 [ 3.259164] imx_sec_dsim_drv 32e60000.mipi_dsi: p: min = 1, max = 6, m: min = 88, max = 1023, s: min = 0, ma x = 5 [ 3.259252] imx_sec_dsim_drv 32e60000.mipi_dsi: fout = 390000, fin = 12000, m = 130, p = 1, s = 2, best_delt a = 0 [ 3.259262] imx_sec_dsim_drv 32e60000.mipi_dsi: no pre-exist hpar can be used [ 18.521539] imx_sec_dsim_drv 32e60000.mipi_dsi: p: min = 1, max = 6, m: min = 88, max = 1023, s: min = 0, ma x = 5 [ 18.521629] imx_sec_dsim_drv 32e60000.mipi_dsi: fout = 390000, fin = 12000, m = 130, p = 1, s = 2, best_delt a = 0 [ 18.521640] imx_sec_dsim_drv 32e60000.mipi_dsi: no pre-exist hpar can be used torizon@verdin-imx8mp-15404184:~$ dmesg | grep adv [ 0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/7b778d635701b4e0bbc49652c421a587ae63ff3c6cbfc07d964084a23df7631d/0 [ 1.052362] adv7511 1-0039: Rev. 20 [ 4.325789] systemd[1]: System time before build time, advancing clock. torizon@verdin-imx8mp-15404184:~$ 有了它,我们还能通过使用 i2cset 直接在 ADV7535 上设置寄存器来生成测试色条图案,这意味着 ADV7535 至 HDMI Sink 显示器的工作正常。问题出在 iMX8MP 与 ADV7535 的通信方式上。 显示屏上仍然没有任何输出。 我们希望了解,恩智浦在其产品中实现 ADV7535 的方式与我们在软件和硬件方法上实现 ADV7535 的方式是否存在差异。 Re: ADV7535: No image output on display 看来这个错误信息是你自己的驱动程序造成的,我在 nxp 驱动程序源代码中没有找到这个信息,而且这个设置也不正确,你无法获得你想要的任何时钟,时钟父频是 24Mhz,如果你设置了 11Mhz,你只能获得 24/2=12Mhz 的时钟、 assigned-clock-parents = <&clk IMX8MP_CLK_24M>; assigned-clock-rates = <11000000>; 你可以参考恩智浦源代码作为参考,检查你关于 lcdif、mipi dsi 和 adv7535 的设置是否正确 linux-imx/arch/arm64/启动/dts/freescale/imx8mp-evk.dts 位于 lf-6.12.y · nxp-imx/linux-imx · GitHub linux-imx/arch/arm64/启动/dts/freescale/imx8mp.dtsi 位于 lf-6.12.y · nxp-imx/linux-imx · GitHub 参考日志,似乎 pll 设置不正确,pll 驱动程序在 linux-imx/drivers/gpu/drm/imx/sec_mipi_pll_1432x.h at lf-6.12.y - nxp-imx/linux-imx - GitHub 您可以仔细检查
查看全文
使用LPC4370的GPIO产生的脉冲长度无法控制 我尝试使用LPC4370的GPIO来产生一对长度200ns左右的Push,Pull脉冲。一开始我使用定时器中断嵌套GPIO控制的方法实现,但观察示波器发现这种方法实现的脉冲宽度非常不稳定,能明显观察到既有ns级别的脉冲也有us级别的脉冲,并且无法控制。我尝试分析问题,但是无从下手,希望有人能够帮忙提供解决方法,或者帮忙指出问题出在哪里。这是我的中断函数, 其余相关代码及图像在楼下附上。 void TIMER2_IRQHandler(void) { /* Clear timer interrupt */ Chip_TIMER_ClearMatch(LPC_TIMER2, 1); *gpnot = 0x02; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x40; } 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 非常感谢,我参考这个示例实现了我的需求 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 Hi @Maf33  生成对齐互补的脉冲,请参考: https://www.nxp.com/docs/en/application-note/AN11538.zip   这个应用笔记基本涵盖了了SCTimer所有基本的用法。 BR Alice 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 非常感谢回复,具体时序要求见楼下,似乎sct的pwm控制没办法做到这样子的时序? 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 您好,非常感谢回复@Alice_Yang 我这边对push和pull的时序有要求,我之前的尝试过程中,sct的pwm控制的话好像无法做到边沿对齐(50ns以内的延迟也可以)并且发射三个脉冲?我不是很确定,也许只是我sct的做法不对?motorcontrolpwm功能似乎可以达成要求,但很可惜只在bga256封装的LPC4370上面支持,我所使用的是bga100的封装版本。 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 我的实际工程中需要HSADC配合定时器触发,当我试着产生仅仅一个脉冲的情况下,仍然无法产生200ns的脉冲,大部分时候产生的都是1us多的脉冲,甚至同样的延时方法无法得到相同的延时(包括NOP)。在一些测试中,可以在示波器上同时看到200ns的脉冲和1us的脉冲。 回复: 使用LPC4370的GPIO产生的脉冲长度无法控制 我一开始怀疑问题出在定时器,于是我将定时器移除,使用单纯的for循环的来实现周期,这样可以达成我的需求:产生200ns宽度的Push Pull脉冲各三个,但当我用同样的方法将脉冲个数提高到四个甚至更多的时候,就又不受控制了,从图片中可以很明显看到,200ns的脉冲宽度直接变成了不同长度的us级别脉冲。 #define TICKRATE_HZ 1000 volatile uint32_t *gpset = &LPC_GPIO_PORT->SET[1]; volatile uint32_t *gpclr = &LPC_GPIO_PORT->CLR[1]; volatile uint32_t *gpnot = &LPC_GPIO_PORT->NOT[1]; int main(void){ /* —— 时钟与板级初始化 —— */ SystemCoreClockUpdate(); Board_Init(); DEBUGOUT("SystemCoreClock = %d Hz\r\n", SystemCoreClock); // Chip_GPIO_Init(LPC_GPIO_PORT); DEBUGSTR("GPIO driver init done\r\n"); /* —— PUSH: GPIO1[1] 输出 —— */ Chip_SCU_PinMux(1, 8, MD_EHS, FUNC0); LPC_GPIO_PORT->DIR[1] |= 1<<1; /* —— PULL: GPIO1[6] 输出 —— */ Chip_SCU_PinMux(1, 13, MD_EHS, FUNC0); LPC_GPIO_PORT->DIR[1] |= 1<<6; *gpset=0x42; while (1) { for(int i=0;i<180000;i++){} *gpnot = 0x02; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x42; for(int j=0;j<2;j++){} *gpnot = 0x40; } return 0; }
查看全文
AN4581の最新バージョン こんにちは、 2020年からのAN4581(HABv4対応デバイスでのi.MXセキュアブート)Rev.4があります。 https://de.scribd.com/document/811030804/AN4581 しかし、Web サイトやインターネットで検索すると、2012 年または 2018 年の古いバージョンしか見つけることができません。 AN4581の最新リビジョンはどこでCAN入手できるか教えていただけますか? よろしくお願いします。 Re: Latest version of AN4581 サポートありがとうございます。 2020 バージョンはここからダウンロードできました: https://www.readkong.com/page/an4581-i-mx-secure-boot-on-habv4-supported-devices-2622907 古いバージョンは NDA なしでこちらから入手できます: https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/imx-processors/225997/1/AN4581.pdf(2012年) https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/imx-processors/194321/1/AN4581_2018.pdf(2018年) Re: Latest version of AN4581 このセキュア ブートの AN は機密情報であるため、NXP との NDA に署名する必要があります。 https://support.nxp.com/s/?language=en_USから内部チケットを作成することをお勧めします。
查看全文