Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
如何使用 TRACE32 在 S32K312 上调试多核处理器? 尊敬的NXP技术支持: 我目前正在使用 TRACE32 调试 S32K312 设备。 S32K312 配置有两个核心(核心 0 和核心 1)。我可以毫无问题地调试 Core 0,但是无法调试在 Core 1 上运行的代码。 如附图所示,我在 Core 1 执行的源代码中设置了一个断点。我还添加了一个计数器变量,可以看到它的值一直在增加,这表明代码确实在运行。然而,断点始终没有被触发。 请问如何正确配置 TRACE32 来调试 Core 0 和 Core 1? 如果对 S32K312 进行多核调试需要任何其他设置或初始化步骤,敬请指教。 这是我的文件 cmm ; -------------------------------------------------------------------------------- ; @标题:S32K312-M7 在 S32KXXCVB-176 (FLASH) 上的演示脚本 ; @描述: 将筛分演示应用程序编程到处理器内部闪存中, ; 设置演示调试场景。 ; 此脚本可用作应用程序刷写模板。 先决条件: ; * 将调试电缆连接到 J205 ; 或者 ; 将 Combiprobe/uTrace 连接至 J10 @关键词:ARM、Cortex-M7、闪存 ; @作者:STK ; @Board: S32KXXCVB-176 ; @芯片:S32K312-M7 ; @版权所有:(C) 1989-2021 Lauterbach GmbH,仅授权与 TRACE32(R) 一起使用 ; -------------------------------------------------------------------------------- ; $Id: s32k312_sieve_flash.cmm 17943 2021-07-12 15:34:31Z skrausse $ ;WinCLEAR ; -------------------------------------------------------------------------------- 初始化并启动调试器 RESET 系统重置 系统 CPU S32K312-M7 ;SYStem.CPU MWCT2016S-M7 系统配置调试端口类型 JTAG IF COMBIPROBE()||UTRACE() ( 系统配置连接器 MIPI20T ) 系统选项 DUALPORT ON 系统.MemAccess DAP 系统.Jtag时钟 10MHz 跟踪禁用 系统启动 内部SRAM的ECC初始化 执行 C:\T32\demo\arm\hardware\s32k3\scripts\init_sram.cmm ; -------------------------------------------------------------------------------- Flash编程 准备闪存编程(声明) 仅准备 ~~/demo/arm/flash/s32k3.cmm FLASH.ChangeType 0x10016000--0x1003FFFF NOP 全部擦除 FLASH.重新编程全部 ( Data.LOAD.intelhex "project.hex" ;Data.LOAD.auto * ;Data.LOAD.s1记录 添加 IVT 标头 ;Data.Set 0x00400000++0xF0 %Long 0x0 ; 使用 0 初始化表 ;Data.Set 0x00400000 %Long 0x5aa55aa5 ; 魔数 ;Data.Set 0x00400004 %Long 0x00000001 ; 启动配置字(启用 M7-0) ;Data.Set 0x0040000C %Long ADDRESS.OFFSET(__nvic_base) ; M7-0 应用程序核心起始地址 ;Data.Set 0x00400024 %Long 0x00000000 ; LC 配置地址 ) FLASH.重新编程 关闭 ; -------------------------------------------------------------------------------- 系统启动 休息 Data.LOAD.Elf“project.elf”/nocode 直接主线 系统模式连接 TrOnchip.Set CORERESET 关闭 ; -------------------------------------------------------------------------------- 打开一些窗户 模式.Hll 感谢您的支持。 Re: How to Debug Multi Core with TRACE32 on S32K312? 你好@NghiaLX308 我们真的在讨论S32K312吗?因为这是单核设备: 此致, Lukas Re: How to Debug Multi Core with TRACE32 on S32K312? 我的仓库里有两个版本——一个是为 S32K324 设计的,它打开两个 Trace32 实例;另一个非常简单的版本是为 S32K396 设计的,它只使用一个 Trace32 实例。此外,还有两个脚本可以用来在核心之间切换。您可以参考这些脚本来开发自己的解决方案。 此致, Lukas Re: How to Debug Multi Core with TRACE32 on S32K312? 您好, @lukaszadrapa先生 对不起,那是我的错。 MCU 型号为S32K322 。 Re: How to Debug Multi Core with TRACE32 on S32K312? 我得到了它。 谢谢您, @lukaszadrapa先生。
記事全体を表示
MIMXRT1064CVL5B 定制 PCB 闪存故障 大家好, 我正在开发一款采用MIMXRT1064CVJ5B处理器的定制电路板。该电路板由外部 5V SMPS 电源供电,该电源连接到 3.3V 低压差线性稳压器(LDO)。我正在使用 CMSIS-DAP / DAP-Link 调试探针,通过 MCUXpresso IDE 中的 SWD 接口进行编程和调试。 我在尝试刷写代码时遇到了一个非常特殊、可重复出现的电源状态崩溃问题。   症状: 连接时瞬间断电:当电路板独立运行时,工作正常,电源指示灯常亮。然而,就在我将 DAP-Link 探针线束连接到板的 SWD 接头的瞬间,3.3V 电源轨崩溃,电源 LED 完全熄灭,板掉电。这发生在执行任何命令或在 IDE 中单击“调试”之前。 调试期间的瞬间电源恢复和崩溃:如果我保持探针连接并单击 MCUXpresso 中的调试按钮,电路板会突然重新上电,LED 也会重新亮起。然而,当闪烁序列开始时,系统在进度达到 3%时冻结,出现 Wire ACK 故障,总线在内存地址 0x2000A750 处挂起。崩溃后,电路板立即再次掉电,LED 灯熄灭。   链接服务器调试控制台日志输出: ============= 脚本:RT1064_connect.scp ============= RT1064 连接脚本 DpID = 0BD11477 APID = 0x04770041 禁用 MPU 配置 FlexRAM,使其具有 768KB OC RAM、128KB I-TCM 和 128KB D-TCM。 完成的 ====================================================== ... 向 Flash 地址 0x70000000 写入 1322080 字节 70008000 已完成 3%(1048576 人中已完成 32768 人) 清除 DAP 错误的请求失败 - 状态 5 错误 Nn(05)。DAP接入中的线路ACK故障 - 读取 DAP 中的地址寄存器失败 - Nn(05)。DAP接入中的线路ACK故障 发送终止操作消息失败 - rc Em(17)。访问地址 0x2000A750 后,调试端口无法访问。 提交 Flash 写入时出现目标错误:Em(17)。访问地址 0x2000A750 后,调试端口无法访问。   我目前尝试过的方法: 通过物理焊盘将 BOOT_MODE[1:0] 硬连线为 01(串行下载器模式),以隔离应用程序干扰。 目标内存空间已正确映射到 IDE 链接器属性中0x70000000处的内部 4MB QSPI 闪存基线区域。 完全相同的 DAP-Link 探针可以使用相同的代码和配置参数无缝地对官方 NXP MIMXRT1064-EVK 套件进行编程。 为什么连接会导致电源立即下降?为什么调试期间电路板会暂时唤醒?为什么它会在闪存进度达到 3% 时持续死锁?对于如何可靠地对具有这种布局特性的芯片进行编程,任何指导都将不胜感激。 谢谢您! 评估板 Re: MIMXRT1064CVL5B Custom PCB Flash Failure 如果连接探头后功率下降,可能是电源电压不足,因为 CMSIS 探头在连接过程中会突然吸收能量。你能检查一下系统的电源轨吗?调试器需要多少电流? Re: MIMXRT1064CVL5B Custom PCB Flash Failure 嗨@Anushka_SS , 感谢您对 NXP MIMXRT 系列产品的关注! 这三个症状(插入探针时电源下降 → 单击“调试”时板唤醒 → 卡在 3%)都指向一个根本原因:板上的 3.3V 供电裕量不足,加上 SWD/VTref 接线问题,导致电压骤降关机——而不是软件或闪存驱动程序问题。 我们为何如此自信: 你已经将 BOOT_MODE 硬编码为 Serial Downloader,所以应用程序永远不会运行——这排除了“应用程序占用调试引脚”的可能性。 同样的探针和配置在官方 EVK 上工作正常,所以区别完全在于你的定制板硬件。 普通的 SWD 连接几乎不消耗电流,却导致整个 3.3V 电源轨崩溃——这只能说明探针在 低压差线性稳压器(LDO) 启动过流保护时对 3.3V 电源轨进行了负载/反向馈电。 关于 0x2000A750:此地址位于 DTCM(0x20000000 区域)中,闪存算法(闪存加载器)在此运行。当 3% 标记处正好开始连续写入 QSPI 闪存,并且内核 + FlexSPI 电流达到峰值时,电源无法维持,内核电压下降并复位,因此出现线确认故障。这只是设备因电压骤降而死机,并非内存故障或代码错误。 此致, 加文 Re: MIMXRT1064CVL5B Custom PCB Flash Failure 谢谢你的回复! 实际上,我的定制 i.MX RT1064 板在上电和 SWD 编程方面遇到了问题。 我使用的是 TLV75733PDBV 3.3 V 低压差线性稳压器(LDO)。低压差线性稳压器(LDO) 输入在 5 V 时稳定,但有时稳压器无法产生 3.3 V,因为其 EN 引脚保持低电压或没有电压。EN引脚通过PMIC_ON_REQ信号直接由RT1064控制。 有时 PMIC_ON_REQ/EN 突然变为3.3 V左右,稳压器开启,3.3 V 电源轨正常启动,板载电源 LED 开始亮起。然而,这种现象并不稳定——有时电路板可以通电,有时则不能。 当电路板正常通电后,我连接 MuseLab CMSIS-DAP 探针进行 SWD 编程,3.3V 电源轨再次下降,电路板断电。这时我会收到类似这样的SWD错误: 线路确认故障 调试端口无法访问 无法连接到核心网 测得的行为大致如下: 不带探针: U1 输入 = 5.0 V U1 EN = 3.3 V(有时) U1 输出 = 3.3 V POR_B = 3.3 V 连接探针后: U1 输入 = 5.0 V U1 EN = 0 V U1 输出值约为 1.2–1.8V POR_B 约为 2.1 V 所以看起来LDO本身并没有损失输入功率。相反,由于稳压器的 EN 引脚变为低电平,因此该稳压器被禁用。 我的主要问题是: 为什么 RT1064 的 PMIC_ON_REQ 值不能持续保持高电平? 这种随机上电行为是由 RT1064 电源时序电路或复位电路引起的吗? 为什么连接SWD探针会导致PMIC_ON_REQ/EN变为低电平? 3.3V稳压器EN应该直接由PMIC_ON_REQ控制,还是应该上拉/以其他方式处理? 为了能够可靠地为RT1064供电和编程,保持3.3V电源轨稳定的最佳方法是什么? POR_B、DCDC_IN、DCDC_OUT、VDD_SNVS_IN、VDD_HIGH_IN 或启动模式引脚是否有任何重要要求,可能导致这种行为? 我之前制作了另一块基于 Teensy 4.1 电源电路的定制板,该板可以使用相同的 CMSIS-DAP 探针成功编程。新的 PCB 使用了非常相似的电源电路,但我增加了对启动模式引脚的访问,并稍微更改了RESET/电源部分。 我附上了我的稳压器部分、RESET电路、电源引脚连接和启动模式原理图。我希望能够帮忙检查一下 PMIC_ON_REQ/EN 连接或 RT1064 电源时序电路是否错误,以及需要进行哪些更改才能获得稳定的电源和可靠的 SWD 编程。 Re: MIMXRT1064CVL5B Custom PCB Flash Failure 嗨@Anushka_SS , 感谢您提供原理图。我查看了一下,发现了一些问题。 1. VDD_SNVS_IN:不能处于浮空状态。VDD_SNVS_IN 电源必须在任何其他电源之前开启,或者与 VDD_HIGH_IN 电源连接(短接)。(请严格按照数据手册/参考手册中规定的上电顺序进行操作,并在您的电路板上进行验证。) 2. 此外,该 3.3 V 电源不能依赖于 PMIC_ON_REQ,同时还用于为 VDD_SNVS_IN 供电。否则,在冷启动期间,SNVS域将断电,内部状态机将无法可靠地输出PMIC_ON_REQ。因此,您的低压差线性稳压器(LDO)无法稳定启动。 只有在 RT1064 的 SNVS/PMU 域启动并运行后,才能可靠地驱动 PMIC_ON_REQ,而 SNVS 域首先需要在 VDD_SNVS_IN 上获得有效的电源。由于 VDD_SNVS_IN 在电路板上处于浮空状态,PMIC_ON_REQ 的行为不稳定——电路板只能间歇性地通电,并且在连接 SWD 探针的瞬间会意外断电。 此外,不要直接从 PMIC_ON_REQ 驱动 LED。电源指示 LED 应放置在稳定的 3.3 V 电源轨上,或用缓冲器/MOSFET 进行隔离。在 PMIC_ON_REQ 节点上将 LED + 470 Ω 接地,可以有效地在这个关键的电源请求引脚上增加一个显著的负载/下拉路径。如果引脚处于高阻抗或开漏“导通”状态,LED 支路会将 EN 拉低;即使采用推挽输出,也会迫使这个小的 SNVS 域控制引脚为 LED 提供电流——这是不建议的。 此致, 加文
記事全体を表示
AUTOSAR OSでタスクやISRを設定できないS32K144 こんにちは、 現在、S32K144 MCUにAUTOSAR OSを統合しており、 S32K_AUTOSAR_OS_4_0_98_RTM_1_0_0 DTM パッケージをインストールしています。 OSモジュールを EB Tresosにインポートした後、設定エディタで OSCounter コンテナしか見えません。しかし、OSユーザーマニュアルには タスク、 ISR、その他のOSオブジェクトなどの追加設定要素が記載されています。 もう少し詳しく教えていただけますか: EB tresos で OSCounter の設定しか表示されないのはなぜですか? タスクとISRの設定を有効にするために、追加のプラグイン、ライセンス、または設定手順が必要ですか? S32K144 AUTOSAR OSのタスクおよびISRの作成および設定の正しい手順は何ですか? また、タスク、ISR、およびOS関連の設定も行いたいです。 何かご指導や参考となるプロジェクト例があれば、大変ありがたく思います。 よろしくお願いします。 Re: Unable to Configure Tasks and ISRs in AUTOSAR OS for S32K144 こんにちは、@Julián_AragónM さん。 ご回答ありがとうございます。 現在、私はEB Tresosのv29.0.0バージョンを使用しています。 このEBトレソリリースに対応している 適切なRTDバージョン を教えていただけますか? 再開まで今しばらくお待ちください。 よろしくお願いいたします。 デヴィ Re: Unable to Configure Tasks and ISRs in AUTOSAR OS for S32K144 こんにちは、@Devi_55 さん。 SW32K14-OS401-RTM-1.0.0 b4.0.98はレガシーソフトウェアであり、現在はメンテナンスされていません。新しいRTD(S32K1用リアルタイム・ドライバ)への移行を強く推奨します。さらなる支援やサポートが必要な場合は、NXPの担当者までご連絡ください。 SW32K14-OS401-RTM-1.0.0 b4.0.98 RTMをインストールした後、以下に含まれているすべてのものが見えます。 このSWパッケージのリリースノートにはEB Tresos v21.0.0が記載されています。このビルドを使っていることを確認してください。 EB tresos Studio 21.0.0 b160607-0933 よろしくお願いします、 ジュリアン Re: Unable to Configure Tasks and ISRs in AUTOSAR OS for S32K144 こんにちは、@Devi_55 さん。 S32K1(S32K1_S32M24xリアルタイム・ドライバ AUTOSAR R21-11 バージョン3.0.0 QLP07)の最新リリースはEB Tresos v29.0.0を使用しています: よろしくお願いします、 ジュリアン Re: Unable to Configure Tasks and ISRs in AUTOSAR OS for S32K144 こんにちは 申し訳ありません。私の不手際でした。 RTD 3.0.0QLP07 はRTDドライバの暗号リリースであり、 QLP06にはすべての基本ドライバ(Adc、CAN、OSなど)が含まれています。 よろしくお願いします、 ジュリアン Re: Unable to Configure Tasks and ISRs in AUTOSAR OS for S32K144 こんにちは、 @Julián_AragónM さん、 私は S32K1_S32M24xリアルタイム・ドライバ AUTOSAR R21-11 バージョン3.0.0 QLP07 パッケージをインストールしており、 これはEB tresos v29.0.0と互換性があります。しかし、利用可能なプラグインを確認したところ 、OS、ADC、Port、Dio、Spi、Can、MCU、その他のMCALコンポーネントなど、いくつかの期待されるモジュールは見つかりませんでした。 MCALドライバーの全セットとAUTOSAR OSの両方にアクセスする必要がある場合、どのRTD/AUTOSARパッケージを使うべきか教えていただけますか? 互換性のために別のバージョンのEB tresosが必要な場合は、推奨バージョンをインストールして使用する用意があります。 S32K144に適したパッケージやツールチェーンについてご指導いただけると助かります。 ありがとう。 よろしくお願いします、 デヴィ
記事全体を表示
[i.MX95 FRDM] AR0144/AP1302 ピンク色問題と NXP NEO ISP の AP1302 バイパス 環境およびハードウェアのセットアップ プロセッサー/プラットフォーム: NXP i.MX95 FRDMボード カメラモジュール: RPI-CAM-MIPI(AR0144センサ+AP1302オンボードISP) 使用ファームウェア: ap1302_60fps_ar0144_27M_2Lane_awb_tuning.bin (ap1302_ar0144_single_fw.bin に名前変更され、/lib/firmware/ に配置されています) 問題1:AP1302 ISPからのピンク/マゼンタ色の色むら AP1302 ISPを介してAR0144カメラモジュールから送信されるデコードされた画像/ビデオストリームに、ピンク/マゼンタ色の色かぶりが継続的に発生しています。 この調整済みファームウェアファイルを使用しても、デコードされたフレームには依然として目立つピンク色の色合いが見られます(サンプル画像を添付) 。 これはAR0144とAP1302の組み合わせにおける既知の問題ですか? このカラーバランスの問題を修正するための、最新のAP1302ファームウェアバイナリはありますか? 問題2:AP1302をバイパスしてi.MX95内蔵NEO ISPを使用する NXPのRPI-CAM-MIPIカメラモジュールに関するドキュメントには次のように記載されています: 「バイパス可能なオンボードISPチップにより、幅広いSoCで使用できます。」 i.MX95は統合されたハードウェア NEO ISPを備えているため、AP1302のオンボード処理をバイパスし、libcameraとneo-ipa-uguzziパイプラインハンドラーを使ってAR0144から直接i.MX95内部NEO ISPにルーティングしたいと考えています。 NXPへの質問: RAWパススルー(AP1302のハードウェアプロセッシングをバイパスしてRAWバイエルを直接i.MX95 NEO ISPに送る)は、i.MX95 FRDMボード上で公式にサポートされているのでしょうか? もしそうなら、NXPはRAWパススルーを有効にするためのステップバイステップ設定を提供できるのでしょうか? NEO ISPの下でAR0144センサーに必要な DTP/YAMLチューニングファイルを取得または生成するにはどうすればよいのでしょうか?NXPはAR0144用の事前キャリブレーション済みのYAML/DTPファイルを持っていて、それを共有できますか? Re: [i.MX95 FRDM] AR0144/AP1302 Pink Tint Issue & Bypassing AP1302 for NXP NEO ISP 私はIMX95のFRDMボードでこれを再現していますが、色の問題はありません。カメラを起動できるので正しく設定してください。ただしディスプレイに問題があるかどうかを確認してください 1) dtb ファイルを imx95-15x15-frdm-ap1302.dtb に設定します。 2) ファームウェアが正しい 3) コマンド gst-launch-1.0 libcamerasrc ! を使用します自動ビデオシンク Re: [i.MX95 FRDM] AR0144/AP1302 Pink Tint Issue & Bypassing AP1302 for NXP NEO ISP こんにちは、 質問1のテストとフィードバックにご協力いただき、ありがとうございました。 Re: 質問2 — i.MX95内部NEO ISPのAP1302バイパスについて また、i.MX95の内蔵NEO ISPを利用するためにオンボードのAP1302 ISPをバイパスするという私の2つ目の質問にも答えていただけますか? RPI-CAM-MIPIボードのドキュメントにはオンボードISPがバイパス可能と記載されているため、AR0144センサから直接i.MX95の内部NEO ISPにRAWのBayerストリームをルーティングしたいと考えています。 もう少し詳しく教えていただけますか: Linux 6.12.49_2.2.0 BSPリリースのi.MX95 FRDMボード上のAR0144で、AP1302ハードウェアISPプロセッシングをバイパスするRAWパススルーはサポートされていますか? デバイスツリーの変更:AP1302 ISPブロックを回避し、MIPI-CSIインターフェース上で直接RAWのBayerフレームを取得するために、具体的にどのようなデバイスツリーの設定やオーバーレイが必要ですか? チューニングとYAML構成:NXPは、NEO ISPパイプラインハンドラ内のAR0144用のチューニング/DTP構成ファイルを提供していますか?もし可能であれば、これらのファイルを共有したり、このワークフローに合ったlibcameraやLIBCAMERA_IPA_MODULE_PATHの適切な設定方法について教えていただけませんか? ご協力ありがとうございました! Re: [i.MX95 FRDM] AR0144/AP1302 Pink Tint Issue & Bypassing AP1302 for NXP NEO ISP Linux 6.12.49_2.2.0 BSPリリースのi.MX95 FRDMボード上のAR0144で、RAWパススルー(AP1302ハードウェアISP処理をバイパスする)はサポートされていますか?>デフォルトのBSPとしてはサポートできませんでした。dbファイル名はap1302のみで見つけることができます デバイスツリーの変更:AP1302 ISPブロックを回避し、MIPI-CSIインターフェース上でRAWのBayerフレームを直接キャプチャするには、具体的にどのようなデバイスツリー構成やオーバーレイが必要ですか>ap1302 dtso ファイルを参照してください https://github.com/nxp-imx/linux-imx/blob/lf-6.18.y/arch/arm64/boot/dts/freescale/imx95-15x15-frdm-ap1302.dtso isp_en-gpios = <&adp5585_isp 2 GPIO_ACTIVE_HIGH>;このピンはAP1302を有効にします。AP1302をバイパスするにはこのピンをコントロールできます。HIは有効化用、lowはバイパス用です 3. チューニングとYAML構成:NXPは、NEO ISPパイプラインハンドラの下にあるAR0144用のチューニング/DTP構成ファイルを提供していますか?もし可能であれば、これらのファイルを共有したり、このワークフローに合ったlibcameraやLIBCAMERA_IPA_MODULE_PATHの適切な設定方法について教えていただけませんか? >SWのパカッゲはこちらでご覧いただけます https://github.com/nxp-imx-support/imx-camera-sw-pack Re: [i.MX95 FRDM] AR0144/AP1302 Pink Tint Issue & Bypassing AP1302 for NXP NEO ISP こんにちは、 バイパス機構に関する詳細なご説明をありがとうございました。 色の問題についてですが、これはディスプレイやモニターの不具合ではないことを明確にしておきたいと思います。念のため申し添えますが、画面の写真を撮影したわけではありません。GStreamerパイプラインから生の画像/動画ファイルを直接ダンプし、別のホストマシンで保存したファイルを検査したところ、ピクセルデータに薄い赤みがかった/マゼンタピンクの色合いがはっきりと確認できました。 正しいDTB(imx95-15x15-frdm-ap1302.dtb)と公式のAWBチューニングファームウェア(ap1302_60fps_ar0144_27M_2Lane_awb_tuning.bin)を使用しているので、根本原因を特定するのを手伝ってもらえますか? 質問: このピンク色が特定の AR0144カメラモジュールユニットのハードウェア欠陥 によるものか、それとも構成やソフトウェアの問題によるものかをユーザー空間から確認できる特定のテストはありますか? 引き続きサポートしてくださりありがとうございます! Re: [i.MX95 FRDM] AR0144/AP1302 Pink Tint Issue & Bypassing AP1302 for NXP NEO ISP こんにちは、 @joanxie さん。 1) 先ほど申し上げたように、これはディスプレイの問題ではないことを確認しました。画像はファイルに保存され、ホストPCに転送されるためです(ディスプレイからのキャプチャではありません)。 2) カメラモジュールに問題があるかどうかを確認するため、同じカメラをIMX 95 EVKとIMX 95 FRDMボードでチェックしました。どちらの場所でも、赤みがかった色合いが見られます。 3)弊社では、AP1302に以下のファームウェアを使用しています。 https://github.com/ONSemiconductor/ap1302_binaries/blob/main/NXP_i.MX93/ap1302_60fps_ar0144_27M_2Lane_awb_tuning.bin そして、これを「ap1302_ar0144_single_fw.bin」という名前で/lib/firmwareに配置します(これはdmesgログから確認したファイル名です)。 同じファームウェアを使っているか確認できますか?もしなければ、適切なファームウェアを入手できる場所を教えていただけると助かります 4) チューニングやファームウェアの問題かどうかを見分ける方法はありますか?あるいは、現在使用している特定のモジュールにハードウェア上の問題があるのでしょうか?ハードウェアの問題であれば、新しいユニットの購入を検討したいと思います。
記事全体を表示
S32K312でTRACE32を使用してマルチコアをデバッグする方法は? NXPサポートの皆様、 現在、TRACE32を使用してS32K312デバイスのデバッグを行っています。 S32K312は2つのコア(コア0とコア1)で構成されています。Core 0は問題なくデバッグできますが、Core 1で動作するコードはデバッグできません。 添付のスクリーンショットに示すように、Core 1によって実行されるソースコードにブレークポイントを設定しました。またカウンター変数を追加しましたが、その値がどんどん増えているのがわかり、コードが実際に実行されていることを示しています。しかし、ブレークポイントには到達しない。 Core 0とCore 1の両方を適切にデバッグするためにTRACE32の設定方法についてアドバイスいただけますか? S32K312のマルチコアデバッグに必要な追加設定や初期化手順があれば、ご教示いただけると幸いです。 これが私のファイルcmmです ;-------------------------------------------------------------------------------- ;@Title:S32KXXCVB-176(FLASH)のS32K312-M7デモ脚本 ;@Description: ;プロセッサ内部のフラッシュにふるいデモアプリケーションをプログラムし、 ;デモデバッグシナリオを設定します。 ;このスクリプトはアプリケーションのフラッシュテンプレートとして使用できます。 ;前提条件: ;* デバッグケーブルをJ205に接続 ;または ;Combiprobe/uTraceをJ10に接続してください ;@Keywords:ARM、Cortex-M7、フラッシュ ;@Author:STK ;@Board:S32KXXCVB-176 ; @Chip:S32K312-M7 ;@Copyright:(C) 1989-2021 Lauterbach GmbH、TRACE32(R)のみでの使用許可 ;-------------------------------------------------------------------------------- ;$Id: s32k312_sieve_flash.cmm 17943 2021-07-12 15:34:31Z skrausse $ ;WinCLEAR(ウィンクリア) ;-------------------------------------------------------------------------------- ;デバッガを初期化して起動します 再セット SYStem.RESet SYStem.CPU S32K312-M7 ;SYStem.CPU MWCT2016S-M7 SYStem.CONFIG.DEBUGPORTTYPE JTAG もしCOMBIPROBE()||UTRACE() ( SYStem.CONFIG.CONNECTOR MIPI20T ) SYStem.オプション DUALPORT ON SYStem.MemAccess DAP SYStem.JtagClock 10MHz Trace.DISable システムシステム ;内部SRAMのECC init DO C:\T32\demo\arm\hardware\s32k3\scripts\init_sram.cmm ;-------------------------------------------------------------------------------- ;フラッシュプログラミング ;Prepare Flash プログラミング(宣言) DO ~~/demo/arm/flash/s32k3.cmm PREPAREONLY フラッシュ。ChangeType 0x10016000--0x1003FFFF NOP フラッシュ.エレーズ.オール FLASH.すべてを再プログラム ( データ.LOAD.intelhex "project.hex" ;Dタ。LOAD.auto * ;Dタ。LOAD.s1record ;IVTヘッダーの追加 ;Dタ。Set 0x00400000++0xF0 %Long 0x0 ;0 のイニットテーブル ;Dタ。設定0x00400000 %Long 0x5aa55aa5;マジックナンバー ;Dタ。設定0x00400004 %Long 0x00000001;ブート設定ワード(M7-0を有効にする) ;Dタ。0x0040000C %Long ADDRESSに設定してください。オフセット(__nvic_base);M7-0 アプリケーションコア Start adddress ;Dタ。セット0x00400024 %Long 0x00000000;LC設定アドレス ) FLASH.ReProgram OFF ; -------------------------------------------------------------------------------- システムアップ 壊す Data.LOAD.Elf "project.elf"/nocode Go.direct main システムモードアタッチ TrOnchip.Set CORERESET OFF ; -------------------------------------------------------------------------------- 窓をいくつか開ける モード.Hll 再開まで今しばらくお待ちください。 Re: How to Debug Multi Core with TRACE32 on S32K312? こんにちは、@NghiaLX308さん 本当にS32K312の話をしているのですか?これは単一コアデバイスだからです: よろしくお願いいたします。 ルーカス Re: How to Debug Multi Core with TRACE32 on S32K312? こんにちは、 @lukaszadrapaさん。 申し訳ありません、それは私の間違いでした。 MCUは S32K322。 Re: How to Debug Multi Core with TRACE32 on S32K312? 私のリポジトリには2つのバージョンがあります。1つはS32K324用でTrace32のインスタンスを2つ開きます。もう1つはS32K396用の非常にシンプルなもので、Trace32のインスタンスを1つだけ使用し、さらにコア間を切り替えるための2つのスクリプトがあります。これらのスクリプトを参考にして、独自の解決策を開発できます。 よろしくお願いいたします。 ルーカス Re: How to Debug Multi Core with TRACE32 on S32K312? わかった。 ルカ・ザドラパさん、ありがとうございます。
記事全体を表示
i.MX8M Nano PTPクロック精度 私たちは、SAIインターフェースを通じてデータを取得する複数のi.MX8M Nanoシステムの同期のためにIEEE 1588 PTPを評価しています。 同期に関する要件は、複数のユニット間でのサンプリング時間が2µs以内に収まることです。 当社のハードウェアでは、 ENET1_1588_EVENT0_OUTは外部にルーティングされてGPT_CAPTURE1に戻ります。想定されるアーキテクチャは以下のとおりです。 ハードウェアタイムスタンプ付きPTPを使用して、各ユニットのENET PTPハードウェアクロックを同期します。 ENET1_1588_EVENT0_OUTを使って定期的なタイミングイベントを生成します。 そのイベントをGPTでキャプチャし、PTPクロックをローカルのハードウェアタイマーに関連付けます。 PTPのタイムベースとオーディオクロックの測定された関係を利用して、各スレーブユニットのAudioPLLを調整し、SAIサンプリングレートがマスターユニットを追尾するようにします。 各ユニット間で、サンプリングレートの同期と既知の位相/サンプリングインデックス関係を維持する。 NXPのプレゼンテーション 「i.MX IEEE 1588 1PPS Test」を見つけました。これはFEC 1588出力を有効にする方法を示し、一般的な手順がi.MX8Mファミリにも適用されることを示しています。ただし、このプレゼンテーションは信号生成のみを示しており、同期精度、PPSスキュー、出力ジッタ、ユニット間位相誤差に関する仕様や測定結果は提供していません。 また、i.MX8M Nanoのデータシートおよびリファレンスマニュアルも確認しましたが、以下のいずれについても確実なタイミング仕様は見つかっていません。 ハードウェアパケットタイムスタンプを使用する場合の、2台のi.MX8M Nano ENET PTPハードウェアクロック間の最大同期誤差。 ENET1_1588_EVENT0_OUTのタイミング精度またはジッターは、プログラムされたENET PTPタイマーの比較値に対して相対的に高い値です。 ENET PTPタイマー比較イベントから外部EVENT0_OUTピンまでの、単位ごとの**レイテンシ**の変動。 ENET1_1588_EVENT0_OUTがGPT_CAPTURE1にループバックされるときに、完全な不確実性が発生します。 NXP Linux BSPおよびptp4lを用いた実用的な同期性能が期待されます。 NXPは以下の点について何かアドバイスをいただけるでしょうか? FEC PTPクロックとENET1_1588_EVENT0_OUTについて、文書化されていない特性評価結果や期待される精度はありますか? 出力エッジはENET PTPタイマーからハードウェア上で完全に生成され、タイマーとの比較に対するデターミニスティックなレイテンシがあるのでしょうか? エッジタイミングはENET_TIMER_CLK_ROOTだけで量子化されるのか、それとも可変レイテンシを生む非同期クロックドメイン交差が追加のものなのか? ループされたイベントをキャプチャする際のGPT入力キャプチャの最大不確実性は既知のものはありますか? NXPは、PTPで同期された2台のi.MX8Mデバイス間のPPS間スキューを測定しましたか? ハードウェアのタイムスタンプと制御された有線イーサネットネットワークを用いる場合、2μs以内の同期は妥当な期待値とみなされますか? i.MX8M Nanoで最適な同期精度を得るために、推奨されるptp4l、FECドライバー、クロックツリー、またはデバイスツリーの設定はありますか? ENET PTPクロックからAudioPLLやSAIメディアクロックを区別するためのNXPの現存例はありますか? 同じPTPネットワーク上に2枚のボードを配置し、2チャンネルオシロスコープを用いてENET1_1588_EVENT0_OUT信号の時間差を測定することで実験的に実装を検証する予定です。その後、AudioPLL制御ループを実装した後、SAIのフレームクロックまたはサンプルクロックの同期を個別に測定します。 PTP同期精度を測定するにはこれが推奨される方法でしょうか?それとも、より正確な測定を提供する他の内部信号、レジスタ、ドライバー統計、NXPテスト方法があるのでしょうか? タイミング特性評価データ、内部設計ガイダンス、関連するアプリケーションノート、BSPの例などがあれば教えていただけると助かります。         i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: i.MX8M Nano PTP clock accuracy 調べてみたところ、imx8mnについてはIEEE 1588 PTPのサポートのみを検証しており、タイミング精度やレイテンシテストは行っていません。IEEE 1588 PTP出力セットアップの導入はサポートできますが、まだテストしていないためこれらのデータは提供できません
記事全体を表示
如何使用 GHS 编译器在 S32K3 上获取 DumpCallStack 的正确帧指针 (FP)? 大家好, 我正在使用 Green Hills Software (GHS) 编译器开发 S32K3 MCU,并且正在实现 DumpCallStack 函数。 为了获取帧指针(FP),我使用了以下内联汇编代码: __asm volatile ("mov %0, r7" : "=r" (locals.fp)); 但是,我得到的 locals.fp 的值为 0x02B1,这似乎不是一个有效的帧指针。它没有对齐,也没有指向有效的堆栈位置,因此无法正确展开调用堆栈。 我的问题是: 在 S32K3 (Arm Cortex-M7) 上使用 GHS 编译器时,获取当前帧指针的正确方法是什么? GHS 编译器是否总是使用 R7 作为帧指针,还是可以根据优化级别省略帧指针或使用其他寄存器? 是否有必须启用的编译器选项才能保留堆栈展开所需的帧指针? 是否有推荐的 GHS 特定 API 或内部函数来检索帧指针,而不是使用内联汇编? 如果有人在 S32K3 上使用 GHS 编译器实现了堆栈展开或 DumpCallStack 函数,我将不胜感激任何指导或示例。 谢谢! Re: How to obtain the correct Frame Pointer (FP) for DumpCallStack on S32K3 using the GHS compiler? 您好, 我不认为 R7 总是被用作帧指针。根据 GHS 版本、优化级别和编译器选项的不同,编译器可能会使用不同的寄存器,或者完全省略帧指针,并将 R7 用作通用寄存器。值 0x02B1 表明 R7 在您的版本中可能没有充当帧指针。 请检查生成的装配体,并验证 GHS 是否创建了帧记录。如果启用帧指针,您应该会看到一个一致的函数序言来保存/恢复帧指针;否则,基于 R7/R11 的堆栈展开将不可靠。 由于这主要是一个与编译器相关的问题,我也建议您联系 Green Hills Software 的支持部门。他们可以就以下方面提供建议: 无论 GHS 使用 R7、R11 还是其他寄存器作为目标/配置的帧指针。 哪些编译器选项会保留帧指针? 是否有推荐的内部函数或 API 来获取当前帧指针? 使用 GHS 实现调用栈展开的首选方法。 他们最能针对您的编译器版本和设置提供具体指导。 BR,彼得 Re: How to obtain the correct Frame Pointer (FP) for DumpCallStack on S32K3 using the GHS compiler? 当然
記事全体を表示
S32G-VNP-RDB3:片上调试支持 你好, 我想在以下环境下调试我的基于AUTOSAR操作系统的应用程序。 1) 板名称: S32G-VNP-RDB3 2) 微控制器型号:S32G399 3) Cortex-M7 内核 4) 主机:Windows 上述电路板是否启用了片上调试支持,以便我无需任何外部调试器或探针即可进行连接? 如果该板不支持片上调试,那么我可以使用 S32 调试探针(硬件)和 S32 设计工作室 IDE(软件)进行调试吗? 此致敬礼, 马杜苏丹·古普塔 Re: S32G-VNP-RDB3: Onchip debugging support 你好, @madhusudangupta007 感谢你的帖子。 1.RDB3 上没有片上调试器,因此不支持通过 USB 端口直接调试 RDB3。 2. 通常情况下,Lauterbach TRACE32 Debug 用于调试 S32G 产品,此外,NXP 配置的 S32 Debug Probe( S32 Debug Probe | NXP Semiconductors )也常被使用。 3. 是的,如前所述,S32调试探针(硬件)和S32设计工作室(集成开发环境)可以一起使用来调试RDB3板。   BR 陈银
記事全体を表示
无法在 AUTOSAR 操作系统中为 S32K144 配置任务和 ISR 您好, 我目前正在将 AUTOSAR OS 集成到 S32K144 MCU 上,并且已经安装了S32K_AUTOSAR_OS_4_0_98_RTM_1_0_0 DTM软件包。 将 OS 模块导入EB tresos后,我在配置编辑器中只能看到OSCounter容器。但是,操作系统用户手册描述了其他配置元素,例如任务、中断服务例程和其他操作系统对象。 请问您能否澄清一下: 为什么只有 OSCounter 配置在 EB tresos 中可见? 启用任务和中断服务例程配置是否需要额外的插件、许可证或配置步骤? 创建和配置 S32K144 AUTOSAR 操作系统的任务和中断服务例程的正确步骤是什么? 另外,我还想配置任务、中断服务例程和操作系统相关的配置。 任何指导或示例项目都将不胜感激。 谢谢! Re: Unable to Configure Tasks and ISRs in AUTOSAR OS for S32K144 嗨@Julián_AragónM , 感谢您的回复。 目前我使用的是 EB Tresos 的 v29.0.0 版本。 请问您能否推荐一个与此 EB tresos 版本兼容的合适的RTD 版本? 感谢您的支持。 此致 黛薇 Re: Unable to Configure Tasks and ISRs in AUTOSAR OS for S32K144 嗨@Devi_55 , SW32K14-OS401-RTM-1.0.0 b4.0.98 是旧版软件,已停止维护。强烈建议您升级到更新的 RTD( S32K1 实时驱动)。如需任何帮助或支持,请联系您的 恩智浦代表。 安装 SW32K14-OS401-RTM-1.0.0 b4.0.98 RTM 后,我可以看到下面包含的所有组件。 此软件软件包的发布说明中提到了 EB Tresos v21.0.0,请确认您使用的是此版本。 EB tresos Studio 21.0.0 b160607-0933 此致, 朱利安 Re: Unable to Configure Tasks and ISRs in AUTOSAR OS for S32K144 嗨@Devi_55 , 最新发布的 S32K1 实时驱动程序 ( S32K1_S32M24x 实时驱动程序 AUTOSAR R21-11 版本 3.0.0 QLP07 ) 使用 EB Tresos v29.0.0: 此致, 朱利安 Re: Unable to Configure Tasks and ISRs in AUTOSAR OS for S32K144 你好@Julián_AragónM , 我已经安装了S32K1_S32M24x 实时驱动程序 AUTOSAR R21-11 版本 3.0.0 QLP07软件包,该软件包与EB tresos v29.0.0兼容。然而,在查看了可用的插件后,我发现缺少一些预期的模块,例如OS、ADC、Port、Dio、Spi、Can、Mcu和其他 MCAL 元器件。 如果我需要访问完整的 MCAL 驱动程序集以及 AUTOSAR 操作系统,请问我应该使用哪个 RTD/AUTOSAR 软件包? 如果兼容性要求使用不同版本的EB tresos ,我愿意安装并使用推荐的版本。 我希望您能指导我选择适合 S32K144 的软件包和工具链。 谢谢。 此致, 黛薇 Re: Unable to Configure Tasks and ISRs in AUTOSAR OS for S32K144 你好 很抱歉,这是我的疏忽。 RTD 3.0.0QLP07是 RTD 驱动程序的加密版本, QLP06包含所有基础驱动程序(Adc、Can、Os 等): 此致, 朱利安
記事全体を表示
i.MX95 Verdin EVKにおけるNPUサポート こんにちは、 tfliteモデルをi.MX95 NPUで動かそうとしています。モデルは変換可能です。ベンチマークで加速は見えますが、出力は全く使えません(顔検出や顔のランドマークモデルで常に同じです)。 次に、このユーザーガイドに従って例を実行しようとしました:https://www.nxp.com/docs/en/user-guide/UG10166.pdf root@imx95-19x19-verdin-47:/usr/bin/tensorflow-lite-2.19.0/examples# ./label_image -m mobilenet_v1_1.0_224_quant.tflite -i grace_hopper.bmp -l labels.txt --external_delegate_path=/usr/lib/libneutron_delegate.so INFO: Loaded model mobilenet_v1_1.0_224_quant.tflite INFO: resolved reporter INFO: EXTERNAL delegate created. INFO: NeutronDelegate delegate: 1 nodes delegated out of 4 nodes with 1 partitions. INFO: Neutron delegate version: v1.0.0-f24d08e5, zerocp enabled. INFO: Applied EXTERNAL delegate. INFO: Created TensorFlow Lite XNNPACK delegate for CPU. INFO: invoked INFO: average time: 0.37 ms -> ご覧の通り推論は正常に進みましたが、ユーザーガイドに記載されているようなモデルの実際の動作を確認する分類はありません。 正しい変換版のSDK 2.2.2を使ってモデルを変換しました: NeutronSDK_2.2.2+LF_6.12.49_2.2.0/neutron-converter --input input/mobilenet_v1_1.0_224_quant.tflite --target imx95 --output output/mobilenet_v1_1.0_224_quant.tflite --dump-statistics Performance estimates: Clock Frequency: 0.000000 MHz Clock cycles per inference: 0 Latency per inference: -nan ms Inferences per second: -nan Memory footprint: Variables size: 0.000000 MB Constants size: 0.000000 MB Microcode size: 0.000000 MB Statistics for NeutronGraph "subgraph_030": Operators: Number of Neutron operators = 29 Number of builtin operators = 44 Memory: Inputs = 150,528 (bytes) Microcode = 23,944 (bytes) Weights = 4,329,648 (bytes) Kernels = 11,088 (bytes) Outputs = 381,913 (bytes) Scratch = 380,912 (bytes) (Allocation efficiency: 1) Total data = 913,353 (bytes) (Inputs + Outputs + Scratch) Total weights = 4,364,680 (bytes) (Microcode + Weights + Kernels) Total size = 5,278,033 (bytes) (All) Latency: Cycle estimation = 1,066,681 (cycles) Latency estimation = 1.067 (ms) (@ 1000.000 MHz) Overall statistics for graph "": Operators: Number of operators after import = 31 Number of operators after optimize = 47 Number of operators after extract = 4 Number of Neutron graphs = 1 Number of operators total = 47 Number of operators converted = 44 Number of operators NOT converted = 3 Operator conversion ratio = 44 / 47 = 0.93617 Operators converted = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44, Memory: Total data = 532,448 (bytes) (Inputs + Outputs + Intermediate Variable Tensors) Total weights = 4,364,688 (bytes) (Weights) Total size = 4,897,136 (bytes) (All) Latency: Cycle estimation = 1,066,681 (cycles) (NPU only) Latency estimation = 1.067 (ms) (@ 1000.000 MHz) (NPU only) Conversion time: Optimization = 2.00387 (seconds) Extraction = 0.0308523 (seconds) Generation = 5.56016 (seconds) Total = 7.59489 (seconds) 私のハードウェアとBSPの設定: SOC : iMX ヴェルディン EVK SoM V1.0C キャリア:iMX Verdin EVK v1.2A ( https://www.toradex.com/de/computer-on-modules/verdin-arm-family/nxp-imx95-evaluation-kit?srsltid=AfmBOookfBHOVzIUBJhrVmtYSV45ohtPJy_f2ymYGR956gzD0XzxS0jP ) 私が使用しているビルドについては、以下を参照してください。 MACHINE = "imx95-19x19-verdin" 私はこちらのBSPバージョンを使用しています: https://www.toradex.com/de/news/bsp-layers-reference-images-walnascar ?srsltid=AfmBOoqJF2YHULiIe7sA1L4gPBasmZrepuGIRBLrtcIuFPnz39jctBX6 そしてNXPのレイヤー: メタイムクス rel_imx_6.12.49_2.2.0 カーネルバージョン: 6.12.49-lts-next-g759f4038100f -> 私の主な質問は、私のシリコンリビジョン(A0)が本当にサポートされているのか、あるいはモデルが静かに失敗してひどい出力を出すときに何が原因なのかということです: 顔検出 (UltraFace-Ultraslim、 [1,128,128,3] int8/uint8 入力) は、アンカーごとに[bg_score、face_score、xmin、ymin、xmax、ymax]の単一の融合 (172,6) テンソルを出力します。これは既に NMS 化され、[0,1] に正規化されています。CPU では、これにより顔にぴったりと囲まれた、明確な高信頼度検出 (~0.996) が 1 つ得られますが、NPU では 172 個のアンカーすべてが同一の定数 (~0.50 スコア、~0.227,0.227,0.227 のほぼゼロサイズのボックス) に縮退します。顔ランドマーク (NXP facial_landmarks_35 、 [1,60,60,3] uint8 入力) は、顔の切り抜きに合わせて正規化された 35 個のインターリーブされた (x,y) ポイントの [1,70] テンソルを出力します。CPU では、これらを画像に重ねると認識可能な顔ポイントパターンが形成されますが、NPU では、70 個の値の出力全体がポイントごとに変化する代わりに、単一の繰り返し定数に縮退します。 Yocto Project Re: NPU support on the i.MX95 Verdin EVK 詳細出力: root@imx95-19x19-verdin-4798be6ce85542d2:/usr/bin/tensorflow-lite-2.19.0/examples# ./label_image -m demo_converted -i grace_hopper.bmp -l labels.txt --external_delegate_path=/usr/lib/libneutron_delegate.so -v 1 -r 5 INFO: Loaded model demo_converted INFO: resolved reporter INFO: tensors size: 11 INFO: nodes size: 4 INFO: inputs: 1 INFO: input(0) name: input INFO: 0: MobilenetV1/Logits/SpatialSqueeze, 1001, 9, 0.166099, -62 INFO: 1: MobilenetV1/Predictions/Reshape_1, 1001, 3, 0.00390625, 0 INFO: 2: input, 150528, 3, 0.0078125, 128 INFO: 3: MobilenetV1/Predictions/Reshape_1/requantize, 1001, 9, 0.00390625, -128 INFO: 4: input, 150528, 9, 0.0078125, 0 INFO: 5: NeutronMicrocode, 23944, 3, 0, 0 INFO: 6: NeutronWeights, 4329648, 3, 0, 0 INFO: 7: NeutronKernels, 11088, 3, 0, 0 INFO: 8: NeutronScratch, 380912, 3, 0, 0 INFO: 9: NeutronProfile, 0, 3, 0, 0 INFO: 10: NeutronDebug, 0, 3, 0, 0 INFO: len: 940650 INFO: width, height, channels: 517, 606, 3 INFO: input: 2 INFO: number of inputs: 1 INFO: number of outputs: 1 INFO: EXTERNAL delegate created. INFO: NeutronDelegate delegate: 1 nodes delegated out of 4 nodes with 1 partitions. INFO: Neutron delegate version: v1.0.0-f24d08e5, zerocp enabled. INFO: Applied EXTERNAL delegate. INFO: Created TensorFlow Lite XNNPACK delegate for CPU. Interpreter has 1 subgraphs. -----------Subgraph-0 has 11 tensors and 5 nodes------------ 1 Inputs: [2] -> 150528B (0.14MB) 1 Outputs: [1] -> 1001B (0.00MB) Tensor ID Name Type AllocType Size (Bytes/MB) Shape MemAddr-Offset Tensor 0 MobilenetV1/Logits/Spa... kTfLiteInt8 kTfLiteCustom 1001 / 0.00 [1,1001] [-1, -1) Tensor 1 MobilenetV1/Prediction... kTfLiteUInt8 kTfLiteArenaRw 1001 / 0.00 [1,1001] [151552, 152553) Tensor 2 input kTfLiteUInt8 kTfLiteArenaRw 150528 / 0.14 [1,224,224,3] [0, 150528) Tensor 3 MobilenetV1/Prediction... kTfLiteInt8 kTfLiteArenaRw 1001 / 0.00 [1,1001] [150528, 151529) Tensor 4 input kTfLiteInt8 kTfLiteCustom 150528 / 0.14 [1,224,224,3] [-1, -1) Tensor 5 NeutronMicrocode kTfLiteUInt8 kTfLiteMmapRo 23944 / 0.02 [23944] [4340768, 4364712) Tensor 6 NeutronWeights kTfLiteUInt8 kTfLiteMmapRo 4329648 / 4.13 [4329648] [11104, 4340752) Tensor 7 NeutronKernels kTfLiteUInt8 kTfLiteMmapRo 11088 / 0.01 [11088] [0, 11088) Tensor 8 NeutronScratch kTfLiteUInt8 kTfLiteArenaRw 380912 / 0.36 [380912] [-1, -1) Tensor 9 NeutronProfile kTfLiteUInt8 kTfLiteArenaRw 0 / 0.00 [0] [-1, -1) Tensor 10 NeutronDebug kTfLiteUInt8 kTfLiteArenaRw 0 / 0.00 [0] [-1, -1) kTfLiteArenaRw Info: Tensor 2 has the max size 150528 bytes (0.144 MB). This memory arena is estimated as[0xaaaafd73ffa9, 0xaaaafd71abc0), taking 152553 bytes (0.145 MB). One possible set of tensors that have non-overlapping memory spaces with each other, and they take up the whole arena: Tensor 2 -> 3 -> 1. kTfLiteArenaRwPersistent Info: not holding any allocation. kTfLiteMmapRo Info: Tensor 6 has the max size 4329648 bytes (4.129 MB). This memory arena is estimated as[0xffff7ec299f8, 0xffff7e800050), taking 4364712 bytes (4.163 MB). One possible set of tensors that have non-overlapping memory spaces with each other, and they take up the whole arena: Tensor 7 -> 6 -> 5. kTfLiteDynamic Info: not holding any allocation. === Beginning of kTfLiteArenaRw Dump: === Total size is 152553 bytes (0.145 MB), holding 3 tensors. tensor 2: life_span: node [0, 4], size: 150528 bytes (0.144 MB). tensor 3: life_span: node [2, 3], size: 1001 bytes (0.001 MB). tensor 1: life_span: node [3, 4], size: 1001 bytes (0.001 MB). 1 tensors are of same max size (150528 B (0.144 MB)): [2] Per-layer-info in the order of op execution: Node 0: 150528 bytes (0.144 MB), utilization rate: 98.673%, 1 live tensors: [2] Node 4: 151529 bytes (0.145 MB), utilization rate: 99.329%, 2 live tensors: [1,2] Node 2: 151529 bytes (0.145 MB), utilization rate: 99.329%, 2 live tensors: [2,3] Node 3: 152530 bytes (0.145 MB), utilization rate: 99.985%, 3 live tensors: [1-3] Top 4 memory-consuming layers: Node 3: 152530 bytes (0.145 MB), utilization rate: 99.985%, 3 live tensors: [1-3] Node 4: 151529 bytes (0.145 MB), utilization rate: 99.329%, 2 live tensors: [1,2] Node 2: 151529 bytes (0.145 MB), utilization rate: 99.329%, 2 live tensors: [2,3] Node 0: 150528 bytes (0.144 MB), utilization rate: 98.673%, 1 live tensors: [2] ===End of kTfLiteArenaRw Dump: === Node 0 Operator Builtin Code 114 QUANTIZE (not delegated) 1 Input Tensors:[2] -> 150528B (0.14MB) 1 Output Tensors:[4] -> 150528B (0.14MB) Node 1 Operator Custom Name NeutronGraph (delegated by node 4) 4 Input Tensors:[4,5,6,7] -> 0B (0.00MB) 4 Output Tensors:[0,8-10] -> 0B (0.00MB) Node 2 Operator Builtin Code 25 SOFTMAX (not delegated) 1 Input Tensors:[0] -> 1001B (0.00MB) 1 Output Tensors:[3] -> 1001B (0.00MB) Node 3 Operator Builtin Code 114 QUANTIZE (not delegated) 1 Input Tensors:[3] -> 1001B (0.00MB) 1 Output Tensors:[1] -> 1001B (0.00MB) Node 4 Operator Custom Name NeutronDelegate 4 Input Tensors:[4-7] -> 4515208B (4.31MB) 1 Output Tensors:[0] -> 1001B (0.00MB) Execution plan as the list of 4 nodes invoked in-order: [0,4,2,3] Among these nodes in the execution plan: Node 4 is a NeutronDelegate node (0xaaaafd6f5c30), which has delegated 1 nodes: [1] --------------Subgraph-0 dump has completed-------------- --------------Memory Arena Status Start-------------- Total memory usage: 152553 bytes (0.145 MB) - Total arena memory usage: 152553 bytes (0.145 MB) - Total dynamic memory usage: 0 bytes (0.000 MB) Subgraph#0 Arena (Normal) 152553 (100.00%) --------------Memory Arena Status End-------------- INFO: invoked INFO: average time: 0.326 ms
記事全体を表示
从挂起状态唤醒期间出现 I2C 问题 请教各位专家一个问题。 我有一个电路,其中几个按钮开关连接到一个 GPIO 扩展器。我目前的系统基于 IMX8MP,该 GPIO 扩展器通过 I²C 连接到 IMX8MP。该扩展器有一条通往 IMX8MP 的中断线。通常,当我将系统置于挂起模式并按下其中一个按钮(扩展器在设备树中也被标记为唤醒源)时,系统从挂起状态恢复后,我会收到数百甚至数千次以下消息:[ 117.113106] pca953x 3-0076: 读取寄存器失败。我知道 i2c-imx.c 中已经有一个针对类似问题的补丁。驱动程序,我已经应用了。然而,它并没有达到预期的效果。我该怎么办?附言这种情况并非经常发生,但可以相对快速地重现。 此致敬礼,R。 Re: i2c problems during wakeup frum suspend 我使用的是内核版本 6.6.23 Re: i2c problems during wakeup frum suspend 你好@RRD101 根据您的描述,您似乎可以尝试这个提交。另外,您使用的是哪个内核版本? 此致, 志明
記事全体を表示
AB_SWAP 更新失败的回退机制 你好, 我们正在开发一款应用程序,该应用程序使用 S32K342 上的 HSE 固件的 AB_SWAP 机制来执行 OTA 更新。目前,我们会在闪存的被动区域完全写入数据后激活被动块。 我们想知道是否有回退机制可以用来验证/检查我们正在启动的映像是否已损坏,以及是否可以回退到重置后变为被动区域的“已知良好”的活动区域。 这是因为有时我们会在未执行复位操作的情况下覆盖被动区域,并且在覆盖过程中复位了处理器,导致闪存中的映像损坏。 Re: Fallback mechanism for failed AB_SWAP update 嘿@lukaszadrapa , 谢谢你的解释。我们仍在努力了解在我们的应用程序中应该使用哪种类型的安全启动策略。高级安全启动似乎有点复杂,需要安装 SMR 和 CR。 另一方面,基本安全启动似乎更容易安装,但具体的实现和安装细节尚不清楚。 我想请教您能否就这些选项提供一些见解。我指的是 HSE B 参考手册,也想知道是否还有其他需要参考的文件。 问候, 希夫 Re: Fallback mechanism for failed AB_SWAP update 嗨@Shiv_peak 我几天前回答过一个非常类似的问题,请查看: https://community.nxp.com/t5/S32K/S32K-OTA-Rollback/m-p/2400332/highlight/true#M60125 如果您需要更多细节,请告诉我。 此致, Lukas Re: Fallback mechanism for failed AB_SWAP update 请看我下面的评论。 如果映像验证失败,基本安全启动将进入恢复模式。 是的。 可以使用属性 HSE_SECURE_RECOVERY_CONFIG_ATTR_ID 将这种恢复模式配置为安全恢复。 是的。 配置此模式需要对 UTEST 模式进行编程。 UTEST 由 HSE 在调用设置属性服务并传入 HSE_SECURE_RECOVERY_CONFIG_ATTR_ID 时进行编程。常见问题:请注意,闪存块 0 和 UTEST 位于同一读取分区中。编程此属性时,您的代码无法从闪存块 0 运行。 配置此项还需要 IVT 中的 BOOT_SEQ == 1。 是的。 需要使用 HSE_APP_DEBUG_KEY_ATTR_ID 配置 ADKP 才能计算 GMAC。 是的。 我还有几个后续问题需要解答: 您分享的**应用笔记**中提到,ADKP 的配置只能在 CUST_DEL 生命周期中完成。如何验证系统的生命周期?这样做安全吗? 是的,在 ADKP 设置完成之前,您无法推进生命周期。生命周期推进后,安全调试功能将被启用,因此您需要相应地配置调试器才能建立连接。请参阅此帖子: https://community.nxp.com/t5/S32K/S32K3-HSE/mp/2066312/highlight/true#M47070 可以从 DCM 模块中的寄存器 DCMLCC 读取生命周期状态。 AppBL 与基本安全启动中的 IVT 相同吗? AppBL 和 IVT 的签名和验证方式相同。IV 和 GMAC 也附加到 IVT 上。您可以在HSE 固件参考手册的“表 118. IVT 结构”中查看相关信息。 我是否需要将 GMAC 和恢复映像地址附加到 IVT 中? 如果要验证 IVT,则必须如上所述将 IV 和 GMAC 添加到 IVT 中。如果要使用安全恢复映像,则必须将指向该映像的指针和映像长度添加到 IVT 中。 此致, Lukas Re: Fallback mechanism for failed AB_SWAP update 谢谢你的回复,卢卡斯,这下清楚了!我将开始实施基本安全启动,如有任何疑问或疑虑,我会与您联系。 问候, 希夫 Re: Fallback mechanism for failed AB_SWAP update 好的,这下明白了,谢谢! 所以我的理解是: 如果映像验证失败,基本安全启动将进入恢复模式。 可以使用属性 HSE_SECURE_RECOVERY_CONFIG_ATTR_ID 将这种恢复模式配置为安全恢复。 配置此模式需要对 UTEST 模式进行编程。 配置此项还需要 IVT 中的 BOOT_SEQ == 1。 需要使用 HSE_APP_DEBUG_KEY_ATTR_ID 配置 ADKP 才能计算 GMAC。 我还有几个后续问题需要解答: 您分享的**应用笔记**中提到,ADKP 的配置只能在 CUST_DEL 生命周期中完成。如何验证系统的生命周期?这样做安全吗? AppBL 与基本安全启动中的 IVT 相同吗? 我是否需要将 GMAC 和恢复映像地址附加到 IVT 中? 希望在我开始在主板上进行实施和测试之前,能更清楚地了解这些内容。非常感谢你回复我,帮我解答疑惑! 此致, 希夫 Re: Fallback mechanism for failed AB_SWAP update 请参阅“2.6.1.3”部分HSE固件参考手册修订版中的“恢复模式”。2.7. 简而言之,有两种模式: 基于 JTAG 的恢复模式 – 设备在 RAM 中无限循环(这段代码由 SBAF 加载到 RAM 中),因此用户可以连接调试器并执行一些恢复步骤。 安全恢复模式 - 需要通过属性 HSE_SECURE_RECOVERY_CONFIG_ATTR_ID 启用。请注意,这是已编程到 UTEST 内存中的 OTP 属性。这将启动恢复映像,该映像需要先进行验证。所以,它类似于基本的安全启动。如果验证失败,则进入 JTAG 恢复模式。 安全恢复模式可用于运行时恢复/回滚。但我并不建议从被动分区运行此程序。所有代码都应该在活动分区中执行。在 AB 交换模式下,两个分区中都会有一份安全恢复映像的副本。 另一种方法是,如果空间足够,可以将这段代码放到数据闪存中。 Re: Fallback mechanism for failed AB_SWAP update 您能否详细说明一下,如果基本安全启动失败,“设备进入恢复模式”具体指的是什么?这是否意味着核心将不会从 RESET 状态释放,并且在这种情况下没有回退或恢复机制? 我这样问是因为我们希望实现这样的功能:如果安全启动失败,我们就启动另一个映像,可能在被动存储库中启动。 Re: Fallback mechanism for failed AB_SWAP update 谢谢卢卡斯的解释。 我会仔细研究应用笔记和 HSE 演示示例,如有任何疑问,我会及时回复。 问候, 希夫 Re: Fallback mechanism for failed AB_SWAP update 我们提供以下应用笔记: https://www.nxp.com/webapp/Download?colCode=AN13465   这是安全启动应用笔记 v0.1.1.0 的更新版本。(AN744511)于 2021 年发布,可从以下网址下载: https://www.nxp.com/products/S32K3 应用笔记请点击此处查看: 文档 > 安全文件 > 安全启动应用笔记 v0.1.1.0(AN744511) 相关演示项目可在此处下载: 设计资源 > 软件 > 安全文件 > SecureBootAppNoteDemo (SW745310) 该软件未更新,如有兴趣,请使用上述SW745310。 您可以在 HSE 演示示例中找到其他安全启动示例(推荐): https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples 三种模式——高级安全启动、基本安全启动和 SHE 安全启动——都有相应的示例。 通常建议使用高级安全启动模式。是的,在这种模式下配置安全启动并非易事。但是,它提供了最佳的保护和可配置性。其优势在于您可以选择任何您想要的签名方案,您可以覆盖多个区域,并且可以在安全启动失败时配置不同的制裁措施。 另一方面,基本安全启动模式始终只使用 GMAC 标签,该标签是使用从 ADKP 派生的密钥计算的,并且它只能覆盖一个区域。如果失败,设备将直接进入恢复模式。 我建议研究 HSE DemoExamples 中的以下项目: S32K344_高级安全启动 S32K344_基本安全启动 这些是配置项目,旨在保护与这些项目链接的应用程序 S32K344_SecureBootBlinky。 此致, Lukas
記事全体を表示
K312 RTD3.0.0からRTD6.0.0までのIICドライバの一部を交換しました。 こんにちは 現在、RTD 3.0.0 で IIC スレーブクロックの中断問題が発生しており、これは IIC クロック拡張機能に関連していることが判明しました。FAE の推奨に従い、この問題は 6.0.0 ドライバには存在しないとのことでした。プロジェクトのスケジュールと最小限の変更という原則に基づき、私は...IICドライバファイルはバージョン6.0.00から抽出され、バージョン3.00に配置されました。RTDでは、正常に動作していないことがわかりました。変更後、IICはデータを受信すると割り込みから抜け出せなくなっていました。 質問させてください。 1. この操作(3.00RTD)を試した人はいますか?(一部のドライバーをバージョン6.00に置き換えました。)この変更はサポートされていますか?まだ移植されていない関連ドライバーは他にありますか? 2. バージョン6.0.00でIICの変更項目を発見しました。これはバージョン4.00で修正済みでした。バージョン5.00はこの修正を継承しましたが、バージョン6.00ではバージョン3.00のロジックに戻ってしまいました。しかし、6.00リリースでは…注記にはその説明がありませんでした。バージョン6.00では、このバグを修正するために他の変更が加えられたのでしょうか? static void Lpi2c_Ip_SlaveIRQHandlerInternal(uint8 Instance) ヤージュ LPI2C_Type *BaseAddr; Lpi2c_Ip_SlaveStateType * スレーブ; boolean StopDetect = FALSE; boolean RepeatStartDetect = FALSE; BaseAddr = Lpi2c_Ip_pxBase[インスタンス]; Slave = Lpi2c_Ip_pxSlaveState[Instance]; StopDetect = LPI2C_Get_SlaveSTOPDetectEvent(BaseAddr); RepeatStartDetect = LPI2C_Get_SlaveRepeatedStartEvent(BaseAddr); /* アドレスの有効性と送受信イベントをチェック */ Lpi2c_Ip_SlaveCheckDataEvent(Instance, BaseAddr, Slave); if (RepeatStartDetect) ヤージュ スレーブ->RepeatedStarts++; if ((1U == Slave->RepeatedStarts) && (Slave->Is10bitAddress)) // これはバージョン4.00で変更されました ヤージュ RepeatStartDetect = FALSE; LPI2C_Clear_SlaveRepeatedStartEvent(BaseAddr); } } ((TRUE == StopDetect) || (TRUE == RepeatStartDetect)) の場合 ヤージュ /* 停止/繰り返し開始を検出しました */ Lpi2c_Ip_SlaveStopDetectHandler(BaseAddr, Slave); if (TRUE == StopDetect) ヤージュ /* 新しい転送のために、repetead をリセットします */ Slave->RepeatedStarts = 0U; } } /* スレーブエラーのチェック */ Lpi2c_Ip_SlaveCheckErrorEvent(BaseAddr, Slave); } 関連バグ: ARTD-6112 Re: K312 RTD3.0.0到RTD6.0.0 IIC部分驱动更换 こんにちは、 @Reyna_pan45さん 異なるRTDリリースのコードを混在させることは推奨しません。この組み合わせは検証されていないためです。このため、異なるリリースのコンポーネントが一緒に使われた場合の期待される機能や挙動を保証することはできません。 ARTD-81841に関してですが、最新リリースではこの問題はARTDCC2-91として追跡されています。これは現在既知の問題であり、残念ながら現時点では回避策はありません。下の画像をご覧ください。 ご迷惑をおかけして申し訳ございません。 BR、VaneB Re: K312 RTD3.0.0到RTD6.0.0 IIC部分驱动更换 こんにちは、 @VaneBさん このバグに関する、より詳しい説明はありますか?テスト中に、ARTD-81841 アイテムを修正することで(頻繁に割り込みが切れる場合に)根本原因が特定できなくてもいくつかの問題が緩和されることが分かりました。
記事全体を表示
IGGMポイントシステムとルールの説明|ポイントの獲得方法、交換方法など より手頃な価格のゲーム商品とサービスを提供するため、IGGMプラットフォームは新しいポイントシステムを正式に導入しました。これにより、より少ない費用で優れたショッピング体験を楽しめるよう設計されています!   以下では、ポイントを効率的に獲得する方法、割引や魅力的な特典と交換する方法、VIP特典を組み合わせて節約効果を最大化する方法など、知っておくべきすべてのことを詳しく解説します。   ポイントシステムをご利用になる前に、登録が必要です。   なお、IGGMの新しいポイントシステムは新規登録かつログインしたユーザーのみが利用可能です。まだ登録またはログインしていない場合は、チェックインページやポイントページにアクセスするために登録が必要です。   ポイントの獲得方法   IGGMでのポイント獲得はシンプルで分かりやすく、主にデイリーチェックインと注文リワードの2つのチャネルを通じて行われます。   1. 毎日のチェックイン   IGGMチェックインセンターページの「本日チェックイン」ボタンをクリックするだけでチェックインが完了します。ボタンが「チェックイン済み(明日またお越しください)」に変わったら、ポイントが正常に加算されています!または、カレンダーの現在の日付をクリックしてチェックインすることもできます。   ワンタップチェックイン(イースターエッグ)   ここにちょっとしたイースターエッグがありますよ!当日のチェックインを忘れてクーポン利用ページに直接アクセスしてしまった場合は、リストの一番下にある「小さなロケット」の絵文字をタップするだけで、すぐにチェックインできます。チェックインセンターに戻る必要はありません。連続チェックインによる段階的な特典は引き続きご利用いただけます。   PC版とモバイル版のビジュアルの違いにご注意ください!PCユーザーの場合、小さなロケットはカーソルを上に合わせたときに初めて揺れ、炎を放ち始めます。ワンクリックでロケットが発射され、チェックインポイントがカウントされます。モバイルユーザーの場合、ロケットアイコンは絶えず揺れます。タップするだけでチェックインし、即座にポイントを獲得できます!   その他のチェックイン入力   さらに、IGGMは迅速かつ便利な日々のチェックインのために以下のアクセスポイントを提供しています:   1. クーポン引き換えページで「今すぐ行く」をクリックしてチェックインセンターへお越しください。   2. ホームページ下部のクーポンセクションをクリックしてチェックインセンターにアクセスしてください。   3. IGGMの製品ページ下部のバナーをクリックするとチェックインセンターにアクセスします。   連続チェックインに対する段階的な特典   IGGMのチェックインシステムは、継続利用を奨励する仕組みになっている。チェックインを中断せずに継続すると、毎日のポイントが時間とともに増加します。初日は5ポイント、2日目は6ポイント、3日目は8ポイントです。4日目以降は、連続記録を維持している限り、毎日最大10ポイントの報酬を継続的に受け取ることができます。   注意:ショッピング中に製品ページのチェックインバナーでチェックインした場合、チェックイン完了後に下部の「バックショッピング」から元のページに戻ることができます。お買い物の進行状況に影響が出る心配はありません!   中断時にリセット   何らかの理由で一日でも欠かしたり、連続記録が途切れたりすると、進捗状況はゼロにリセットされます。次回のチェックイン時には、初日と同じ5ポイントの料金が適用されます。毎日のチェックインリセットはサーバーのタイムゾーンに基づいて行われますのでご注意ください。ネットワークの問題やその他の中断により進行状況が失われることを避けるため、必ず時間通りにチェックインしてください。   2. 注文に関するポイント   さらに、IGGMプラットフォームで注文をすると、システムは小額の合計に基づいてポイントを付与します。   ポイント獲得率:1ドル=1ポイント   通常の条件下では、実際の支出1ドルごとに1ポイントが直接換算されます。小数点を含む注文金額の計算を簡略化するため、IGGMは獲得ポイントを決定する際に、最も近い整数に四捨五入します。例えば、17.35ドル支払うと17ポイント、34.86ドル支払うと35ポイント獲得できます。   少額取引におけるシステム効率を確保するため、ポイント付与の対象となるには、注文の合計金額が1ドル以上である必要があります。1ドル未満の注文ではポイントは付与されません。   さらに、すべての注文に対するポイントは、注文ステータスが正式に「完了」に変更された後にのみ、システムによって自動的にアカウントに加算されます。ポイント数は、対象となる購入金額に対応します。   新規ユーザー特典:10倍ポイント報酬   IGGMは新規ユーザーへの歓迎ギフトを用意しています!IGGMでの初回有料注文は、自動的に10倍のポイント報酬の対象となります(つまり、1ドル使うごとに10ポイント獲得できます)。   計算方法にご注意ください。まず小額を最も 近い整数に丸め、その後10を掛けて最初の注文のポイントを算出します。例えば、最初の注文の小計が17.35ドルの場合、最初に10を掛けてから四捨五入するのではなく(17.35ドル×10=173.5→174ポイント)、170ポイント(17.35ドル→17×10=170ポイント)が付与されます。   しかし、初回注文の小計が1ドル未満の場合はポイントは付与されず、新規ユーザーとしての初回注文特権は消費されます。そのため、IGGMは10倍のポイント特典を最大限に活用するために、初回注文時に必要な高額商品を購入することをお勧めします。   このオファーの価値が高いため、最初の注文は、注文が無事に配達されセキュリティ審査を通過した後、24時間以内に返金がなければポイントが付与されます。   完了時に追加された具体的なポイントは、IGGM.com の 「My Account → My Orders 」セクションでご覧いただけます。ペイメントを完了したばかりですぐにポイントが表示されない場合は、ご安心ください。少しの間お待ちください。   ポイント値と有効性   ポイントの価値を理解することで、ポイントを最大限に活用できるようになります。IGGMのポイントシステムでは、 100ポイント=1ドル(つまり、1ポイントは約0.01ドル相当)です。   ポイントは無期限ではありませんのでご注意ください。各ポイントは獲得日から90日後に失効します。IGGMは使いやすいロール有効期限ポリシーを採用しており、1日目に獲得したポイントは91日目の終了時に失効します。ローリング有効期限の具体的な計算時間は、アカウントのIPアドレスのタイムゾーンによって異なります。   アカウントの「マイポイント」ページでポイントの期限が近づいている通知をいつでも確認でき、特典を見逃さないようにできます。   ポイントの複数の利用方法:現金への直接引き落としとクーポン交換   IGGMで商品を購入する際は、累積したポイントを使って注文の現金コストを直接相殺するか、 IGGMクーポン交換センターで大幅な割引に交換することも可能です。選択は完全にあなた次第です!   オプションA:チェックアウト時の現金直接引き落とし   チェックアウトページでは、アカウント残高のポイントを使って現在の注文のコストを削減できます。しかし、IGGMポイントシステムの整合性を維持するために、ポイントで相殺できる注文合計の割合は注文小計に直接連動しています。   注文小計の範囲に基づいた具体的な控除率については、以下の表を参照してください。   注文小計範囲最大ポイント減点率 1.00ドル~9.99ドル 5% 10.00ドル~49.99ドル 8% 50.00ドル + 10%   ポイントを現金控除に利用する際の重要な注意事項:   1. ポイントは正常に完了した注文に対してのみ付与されます。自主的にキャンセルされた注文、不正行為が疑われる注文、または全額返金された注文はポイントの対象外です。   2.初回注文のポイントはすぐには付与されません。返金が発生していない場合、配送完了後24時間以内に付与されます。   3. ポイントを含む注文が一部返金される場合、システムは対応するポイント(返金額に基づいて切り上げ)を差し引き、消費されたポイントを返還します。返還された消費ポイント = 消費ポイント × (返金額 / 小計金額) ;   4. ポイントはVIP割引と併用可能です。   5. 割引コードや現金クーポンと併用できません。   6. 現金と交換できません。   7. 現金で引き出せない;   8. 口座間での移管不可;   9. IGGM.comは、ポイントに関するすべてのポリシーについて最終的な解釈権を留保します。   オプションB:割引コードまたは現金クーポンを利用する   また、ポイント換算ページを訪れてポイント交換(100ポイントから500ポイントまでの階層別)を割引コード(様々なレート)や現金クーポン(最低注文数条件付き)に交換することも可能です。例えば、$10現金クーポンは注文の小額が$100以上の場合のみ使用可能です。小計が100ドル未満の場合、クーポンは自動的にチェックアウト時に表示されません。   ポイント消費割引コード現金クーポン(最低)注文依頼) 100円につき3%割引(10ドル以上のご注文) 200円 4%割引 3ドル(注文金額が30ドル以上の場合) 300円 5%割引 5ドル(50ドル以上のご注文) 400円 8%割引 8ドル(80ドル以上のご注文) 500円 10%オフ 10ドル(注文金額100ドル以上)   割引コードと現金クーポンは、毎週30枚限定で、先着順となります!異なる色は現在の在庫状況を明確に示しています。緑は残り21~30個、オレンジは11~20個、赤は1~10個です。在庫がゼロになると、「在庫切れ」と表示されます。でも心配しないで、来週また来てください!   ちなみに、もしその日のチェックインを忘れても、このクーポンページの 小さなロケットの絵文字 が素早くチェックできます!軽くタップして、小さなロケットを振るだけで、ポイントが手に入ります!   クーポンは大変便利ですが、割引コードや現金クーポンはすべて3日間のみ有効ですのでご注意ください。ポイントを無駄にしないためにも、慎重に利用し、購入したい商品が在庫にあることを確認してください。   クーポンとその現在の有効期限は「 My Account → My Coupons」ページで確認できます。   注意:IGGMホームページ下部の「クーポンセンター」からクーポン換算ページに素早くアクセスできます。このページをブックマークして、将来のチェックインや引き換えの際に便利に行うことをおすすめします。時間と労力を節約できます。   ポイント交換クーポンに関する注意事項:   1. 各リワードは先着順で週に 30 ユーザー までの限定です。   2. すべての割引コードとキャッシュクーポンは、利用時にCF認証が必要です。   3. 利用済みの割引コード/キャッシュクーポンは、利用開始日から3日間有効です。   4. 1注文ごとに割引コード/現金クーポンは1つまで使用可能です。これらはVIP割引やポイント減算と組み合わせることはできません。   5.割引コード/キャッシュクーポンは、ギフトカードおよびチャージサービスにはご利用いただけません。   6. 割引コード、現金クーポン、無料注文は、一度返品または交換できません。   7. IGGM.comは最終的な解釈権を留保します。   隠しオプションC:ゲーム内通貨/アイテムの直接交換(近日公開予定)   クーポンに加えて、IGGMはまもなく交換ページに、ポイントをモノポリーGOカード、ディアブロ4の素材、POE 1/2の通貨など、特定のゲーム内アイテムと直接交換できるオプションを追加する予定です。   ポイント獲得条件を満たして引き換えをクリックすると、ポップアップウィンドウが表示され、ゲームに必要な配送情報を入力するよう求められます。情報を正確に入力し、認証を完了すると、システムが自動的に無料注文を生成し、クーポン注文リストに表示します。あとは安全に配送されるまでお待ちください。ポイント交換に関する機能やオプションがさらに充実する予定です。お楽しみに!   引き換え認証プロセス中にエラーが発生した場合は、ネットワーク接続を確認し、信頼できるVPNを使用して再度お試しください。   さらに、仮想アイテムの性質上、注文**プロセッシング**が始まると返品や交換は不可能であり、ただし、IGGM**プラットフォーム**の問題で配送が失敗した場合は、使用したポイントは全額返金されます。   VIPランクと特典   VIPメンバーには、IGGMが累積支出に基づき段階的な割引を提供しています。累計支出額が一定のしきい値に達すると、自動的に永続的なVIP割引が適用されます。   VIP 1:お買い上げ金額が1,000ドル以下の場合、1%割引になります。   VIP 2:お買い上げ金額が1,000ドル以上3,000ドル未満の場合は、2%割引になります。   VIP 3:お買い上げ金額が3,000ドル以上6,000ドル未満の場合、3%割引になります。   VIP 4:お買い上げ金額が6,000ドル以上10,000ドル未満の場合、4%割引になります。   VIP 5:お買い上げ金額(10,000ドル以上)で5%割引。   割引併用ルール:   VIP割引はポイント減点と組み合わせることも可能です。 VIP割引は割引コードや現金クーポンと重ねて表示できません。   チェックアウト時に、以下のいずれかを適用できます。   オプションA:割引コードまたは現金クーポン(単独) オプションB:VIP割引+ポイント控除(注:割引コードおよびキャッシュクーポンは、ギフトカードまたはチャージサービスには適用されません。)   割引を重ねて節約効果を最大化する   チェックアウト時に最も節約できる方法は?IGGMは、VIPランクとポイント交換ルールに基づいたスマートなチェックアウトシステムを設計しました。   IGGMでは、VIP割引とポイント直接控除が完璧に併用できます。ただし、割引コードや現金クーポンはVIP割引やポイント減算と組み合わせることはできませんのでご注意ください。さらに、1回の注文につき使用できるクーポンは1枚のみです。   チェックアウト時に、システムは「オプション1(VIP特典+ポイント直接控除) 」と「オプション2(割引コードまたは現金クーポン) 」の最終価格を自動的に比較し、お客様にとって最も費用対効果の高い選択肢を選択するため、手動で計算する手間が省けます。最もお得なオプションは、そのオプションの横に表示されます(ベストバリュー)。もちろん、クーポンやポイントの使い方についてご希望であれば、お好みの割引方法を自由に選んで構いません。   払い戻しとポイントの返還   IGGMの返金ポリシーでは、配送完了前であればいつでも返金を請求できます。ただし、このような場合のポイントの払い戻しおよび返金については、特定の規定があります。   状況1:全額返金   個人的な理由で注文をキャンセルした場合、不正行為が疑われる注文や全額返金が必要な注文にはポイントは付与されません。また、そのような注文ですでに使用されたポイントは返金されません。   ただし、IGGMの都合により全額返金が行われる場合は、注文に使用されたポイントは全額お客様のアカウントに返金されます。   状況2:一部返金   付与されたポイントを含む注文が特別な事情により一部返金される場合、システムは返金額に応じて、消費されたポイントの一部を比例配分で返金します。当然ながら、注文完了時に本来付与されるはずだったポイント還元も調整されます。返金額に基づいて該当するポイントが差し引かれ、その金額は最も近い整数に切り上げられます。   払い戻し時のポイント返還額を計算する式は以下のとおりです。   返還された消費ポイント数 = 消費ポイント数 × (返金額 / 小計金額) 減算された獲得ポイント = 小計金額 - 返金額(最も近い整数に四捨五入)   IGGMの全く新しい会員ポイントシステムは、長期的なゲーム購入において、より魅力的な割引オプションを提供するために設計されています。累積されたすべてのポイントは、皆さまのご支援への心からの感謝の証です。   今すぐIGGMアカウントにログインし、チェックインセンターにアクセスしてポイントを貯め始めましょう。これまでにない、よりスマートでお得なチェックアウト体験をお楽しみください!   IGGMポイントシステムに関するよくある質問   Q1: VIP 5の特典を古いアカウントから新たに作成したアカウントに移し、そこでチェックインポイントを蓄積し始められますか?   A: いいえ。アカウントの安全性とプラットフォームの公平性を確保するため、VIPティアとポイントは個人アカウントの専用資産として扱われます。当社のシステムセキュリティルールによると、異なるアカウント間での特典の移転、統合、ギフトは厳しくサポートされていません。   Q2:私のアカウントは現在277ポイントです。34.68ドル相当の商品を購入し、ポイントをすべて使って2.77ドルの割引を受けた後、何らかの理由で15.44ドルの部分払い戻しを受けた場合、最終的に何ポイント残るのでしょうか?   A: お客様の当初のご注文金額34.68ドルは、四捨五入により35ポイントとなります。15.44ドルの部分返金のため、システムは比例配分で15ポイントを減点します(最も近い整数に切り上げます)。したがって、この購入で獲得できる正味ポイントは、35 - 15 = 20ポイントとなります。さらに、システムは消費したポイントを返還します。計算式「消費ポイント × (返金額 / 購入合計金額)」に基づくと、123ポイントが返還されます。その結果、最終的な口座残高は123 + 20 = 143ポイントとなります。   Q3: 無制限の新規IGGMアカウントを作成し、小口注文をして10倍のポイント新規参入者リワードを活用できますか?   A: いいえ。IGGMは、悪意のある複数アカウントの登録、技術的な脆弱性の悪用、新規顧客特典を不正に得るための注文操作などを厳しく禁止しています。当社のシステムには、厳格な不正防止およびリスク管理メカニズムが備わっています。初回注文の10倍ポイントは、注文が正常に配達され、24時間体制の不正防止システムによる審査を通過した後でのみ付与されます。リスク管理システムが同じIPアドレス、同じデバイス、同じペイメント方法、または悪意のあるアカウント関連で連携したマルチアカウントファーミングを検出した場合、プラットフォームは関連アカウントを永久に禁止し、すべての付与を解除する権利を留保します。   Q4:アカウントを登録したばかりで、最初の注文は小品で$9.9でした。1ドル未満だったので、システムからポイントは付与されませんでした。そして、2回目の注文は100ドルでした。なぜ2回目の注文では10倍ポイントが付与されなかったのですか?最初の注文ではポイントが付与されなかったのだから、この2回目の注文は私の「有効な最初の注文」としてカウントされるべきではないでしょうか?   A: いいえ。システムは取引金額に関係なく、アカウント内で最初に支払われた注文に基づいて「新規ユーザー初注文」を厳密に識別します。1ドル未満の小計点を除外する閾値は、基本的なプラットフォーム方針です。したがって、新規ユーザーは初回購入時にショッピングカートをまとめ、より価値の高い商品を最初の注文にまとめて10倍ポイントの特典の価値を最大限に活用することを強くお勧めします。   Q5:ウェブサイトのエラーによりその日のチェックインができず、チェックインの連続記録が途切れてしまった場合、IGGMは私のポイント損失を補償するためにどのような措置を講じますか?   A:ご迷惑をおかけして誠に申し訳ございません。毎日のチェックインは、サーバーのタイムゾーンに合わせた特定の時刻に基づいてリセットされます。ネットワーク**レイテンシ**やリフレッシュウィンドウの逃避で連続記録が切れた場合、システムは自動リセットポリシーを厳密に実行します。毎日できるだけ早めにチェックインを完了し、安定したネットワーク環境を確保することをお勧めします。もし中断がプラットフォーム上の大規模なサーバー障害によるものであれば、解決後に公式のサイト全体ポイント補償通知が発行されます。サポート担当者は個別のチェックイン履歴を手動で変更する権限を持っていませんのでご注意ください。ご理解いただきありがとうございます。   Q6:300ポイントを使って5ドルの現金クーポンを交換しましたが、欲しかったゲームアイテムがここ数日間プラットフォームで在庫切れでした。その結果、クーポンは使用されることなく3日以内に期限切れとなった。在庫切れはプラットフォームの問題なので、なぜ私の300ポイントが無駄に差し引かれるのでしょうか?   A: 申し訳ありませんが、リワードセンターでリワードが引き換えられた後は、対応するポイントが差し引かれ返金できません。各リワードは週に先着順の先着順で30ユーザーに限定されており、現金クーポンは3日間有効であるため、現金クーポンが失効するのを防ぐために、現在の商品在庫と購入意図を必ず確認してから引き換えを行うことを強くお勧めします。   Q7: 注文状況が「完了」でも返金を依頼できますか?ポイントは返金できますか?   A: IGGMが配達を無事完了させ、注文完了を確認した場合、残念ながら返金申請は受け付けません。使用したポイントは返還されません。ただし、IGGM側の都合によりサービスが完了できなかった場合(例えば、タイクーンレーサーズのキャリーサービスがランク1の達成に役立たなかった場合など)、返金率に応じてお客様が使用したポイントを返金いたします。   Q8:クーポンを利用しようとすると、なぜエラーが繰り返し発生するのですか?   A: クーポン交換エラーは通常、ネットワークの不安定さやシステムのセキュリティプロトコルによって発生します。お客様のIPアドレスは、高リスク地域からの発信としてフラグ付けされる可能性があります。VPNの設定を調整するか、別のネットワークに接続してから、もう一度お試しください。問題が続く場合は、24時間対応のカスタマーサポートチームまでご連絡ください。   Q9: スクリプトやプラグインを使って、毎週利用可能な30枚限定の割引コードや現金クーポンを獲得できますか?   A: すべてのプレイヤーの公平性を確保するため、厳格なセキュリティ対策を実施しています。割引コードや現金クーポンを利用するには認証を通過する必要があるため、スクリプトを使った不正なクリック操作は無効となる。IGGMは、複数インスタンスファーミング、エミュレーター、サードパーティソフトウェアなどの不規則な方法でクーポンを強制的に請求するアカウントに対して、クーポンを無効にし、アカウント制限を課す権利を留保しています。   Q10:ポイントを使って費用を相殺した後、特別な事情により払い戻しを受けた場合、返還されたポイントの有効期限は延長されますか?   A: いいえ。返却されたポイントは元の取得日を維持し、90日の有効期限ルールに従い続けます。IGGMプラットフォームは返金のために有効期限をリセットまたは延長しません。返却されたポイントは有効期限切れにならないよう、できるだけ早くご利用ください!
記事全体を表示
Regarding the issue of the S32K144's PWM frequency changing periodically. I'm currently developing for the NXP S32K144 and have encountered a problem. Using the EB configuration tool, I've configured the four output channels of FTM0 and called `PWM_Init();setdutycycle(8129)` in the code. In the configuration, I selected center-aligned mode, no dead time, and no binding with other channels. The period was set to 0.00125, and each channel was in independent mode, resulting%的方波,这显然不对,我希望是25% in a 250µs duty cycle of 20%. So, I changed the duty cycle to `setdutycycle(16339)`, but this resulted in an incorrect waveform. The channel now alternates between a 150µs square wave with a 66% duty cycle and a 100µs square wave with a 50% duty cycle. Why is this happening? This is my actual waveform. In fact, it's clear that I have two problems: 1. Why is my PWM duty cycle setting off incorrectly? 2. Why is my PWM cycle constantly changing? Re: 关于S32k144的pwm频率会周期变化的问题 Hi Please tell me which version of Real-Time Drivers for S32K1 you are testing, or which previous version of AUTOSAR MCAL for S32K1 devices ? Please note that MCAL support for MPC5xxx and S32K1xx devices has been discontinued. Further support requires approval from the marketing team; please contact your NXP sales representative for assistance. Best Regards, Robin Re: 关于S32k144的pwm频率会周期变化的问题 I'm not sure which version of the software you're using, but you need to pay attention to the Loading Point settings. Please refer to the following two discussions: Changing FTM_PWM period and duty cycle S32K116 PWM output problem
記事全体を表示
S32K3 FS26 新しいWDG期間が動作しません こんにちは、 私のボードでは、電源投入リセット後、FS26ウォッチドッグ周期を次のように設定します。 無限 初期化中。その後、デバッグモードを終了してノーマルモードに入ります( SBC_FS26_FS_STATES_ADDR は 0xB )。 その後、ウォッチドッグ期間を次のように変更します。 64ミリ秒 (スクリーンショットに示されているように)ウォッチドッグの更新(フィード)を1回実行し、戻り値が成功を示します。 WD_RFR_CNT 1ずつ増加し、 SBC_FS26_FS_WDW_DURATION_ADDR 与える 0xB0CD は、期間が 64 ms に正常に更新されたことを確認します。 しかし、この時点以降に番犬に餌を与えるのをやめると、 エラーやリセットは発生しません。 対照的に、ウォッチドッグ周期を64msに設定すると 初期化中 デバッグモードを終了した後、ウォッチドッグにフィードしない する 想定どおりリセットが発生します。 レジスタへの書き込みとリフレッシュの両方が成功しているにもかかわらず、ノーマルモードで周期を無限から64msに変更した場合、ウォッチドッグが有効にならないのはなぜですか? S32K344 RTD7.0.0 FS26 6.0.0 S32DS3.6.4 EB30.0 BR、 ジェイソン Re: S32K3 FS26 new WDG period not work こんにちは、 おお!返信時にアカウントを変えるのを忘れていました。Jason07は私の別のアカウントです。 BR、 ジェイソン Re: S32K3 FS26 new WDG period not work こんにちは、 ご返信いただき、誠にありがとうございます。 ウォッチ ドッグの期間をこう設定した理由は 初期 化中の無限 とは、ドライバーコードによれば、特定の操作は周期が無限である場合にのみ行われることを意味します。例えば、 Sbc_fs26_InitDevice() 関数の実行中にINIT_FSを閉じ たり、 故障エラーカウンターを消 すために Sbc_fs26_WdRefresh inside Sbc_fs26_ClearFaultErrorCounter を呼び出し たりします。 期間を有限値に設定すると、 Sbc_fs26_WaitFailsafeRelease は Sbc_fs26_FsxbRelease 内で E_NOT_OK を返し、FS26 は FS_STATES_FS0B_ASSERT 状態、移行できない FS_STATES_NORMAL_FS 。 BR、 ジェイソン Re: S32K3 FS26 new WDG period not work こんにちは、 INIT_FSが閉じられた際にウォッチドッグが無効化されたため、ウォッチドッグはアクティブになりません。 WDW_PERIOD[3:0] = 0000 に設定すると、無限に開くウィンドウが選択されます。FS26ウォッチドッグ仕様によると、ウォッチドッグウィンドウは初期化フェーズ中のみ無効化でき、無効化は初期化フェーズが閉じられた時点で有効となります。このように無効化されたウォッチドッグは、有限値をFS_WDW_DURATIONに書き込むことでNORMALモードで有効化することはできません。 レジスタの読み取りが成功したことで、新しいWDW_PERIODフィールドが書き込まれたことが確認され、WD_RFR_CNTの値がインクリメントされたことで、更新が受け入れられたことが確認できます。これらの観測結果は、ウォッチドッグタイムアウト監視が再び有効になったことを示すものではありません。 ウォッチドッグタイマーが初期化時に有限期間で有効化されている場合、実行時における期間変更がサポートされます。したがって、長い初期化間隔が必要な場合は、INIT_FS 中に有限のウォッチドッグ期間を設定してください。たとえば、最大有限期間を 1024 ms に設定してください。ノーマルモードに入ると、周期を64msに変更できます。新しい有限期間は、次回の監視システム更新後に有効になります。 この動作は、初期化時に64msの設定時にリセットが起こる理由も説明しています。この場合、INIT_FSが閉じるとウォッチドッグが有効化されます。 セーフティの観点から、ウォッチドッグ無効化で無限状態に到達します。比較はハードウェアにあり、フラグはマッチ中に必ず上がるからです。 よろしくお願いいたします。 ピーター Re: S32K3 FS26 new WDG period not work こんにちは、 観測された動作に基づくと、NORMAL_FSでWDW_PERIODをInfinite Open Windowから64 msに変更した後、FS26ウォッチドッグ監視が開始されないようです。 レジスタへの書き込みは、読み出し値(0xB0CD)によって確認され、WD_RFR_CNTのインクリメントによって示されるように、ウォッチドッグのリフレッシュコマンドは引き続き受け入れられます。しかし、更新が停止された後にウォッチドッグのタイムアウト反応が全く見られないことから、ウォッチドッグ監視自体がアクティブではないことがわかる。 ウォッチドッグ期間が「無限オープンウィンドウ」に設定されている場合、Sbc_fs26_NormalFSSequence() は即時ウォッチドッグ更新を発行して INIT_FS を閉じます。同様に、Sbc_fs26_ClearFaultErrorCounter() は、連続したウォッチドッグのリフレッシュを使用して障害エラーカウンタをクリアします。これは、無限モードではウォッチドッグウィンドウのタイミング制限がないためです。 有限のウォッチドッグ期間を設定すると、ドライバは異なる経路をたどります。ウォッチドッグの更新は有効なウォッチドッグウィンドウと同期されなければならず、ドライバーは連続した即時リフレッシュの代わりにウォッチドッグタイミング機構(pfWdgNotification、タイマー同期、Sbc_fs26_TimeWaitClearFault())を使用します。
記事全体を表示
请帮我续订我的S32DS5.5许可证 大家好, 我的S32DS5.5许可证已过期,但我还有一些旧项目需要用到它。请帮我续费。 谢谢! BR,华金
記事全体を表示
ddr_stress_tester 无法在某些 DDR 内存条上运行 我使用 ddr_stress_tester 工具已经很多年了,但今年我发现该工具无法很好地处理一些较新的制造工艺 DDR(20nm 或 25nm DDR),我们发现当我选择 CPU 频率时,二进制文件会卡住。例如, winbond w631gu6rb 和 ISSI IS43TR166640C-125JBLI-TR。顺便一提,CPU 型号是 mx6solo/dl。 i.MX6DL Re: ddr_stress_tester cannot work on some DDRs 该症状更有可能与 DDR 初始化/MMDC 设置或板级裕量有关,而不是与 DDR 芯片工艺节点本身有关。我查阅了 NXP 库/社区路径,按部件号、工艺节点和“CPU 频率”等关键词查找,但没有找到任何 NXP 官方文档中说明 i.MX6Solo/DL ddr_stress_tester 程序因 DDR3 为 20 nm/25 nm 而挂起的具体问题,也没有找到任何与 Winbond W631GU6RB 或 ISSI IS43TR166640C 相关的具体信息。 我首先会检查以下内容: 请使用 i.MX6/7 DDR 工具流程,而不是旧的固定脚本。 i.MX6/7 DDR 工具旨在根据实际设备配置(密度、片选、总线宽度、电路板布局/交换等)生成和测试自定义 DRAM 初始化,并且它们明确涵盖i.MX6DL/S设备。 如果您更改了 DDR 供应商或 DDR 几何/时序,请使用 DRAM 寄存器编程辅助/DDR 工具流程重新生成 .inc 初始化脚本;NXP 指出,脚本“可能需要针对您的定制板和内存进行修改”。 不要假定旧的校准值仍然适用。 该压力测试工具可对 i.MX6 板执行写入均衡、DQS 门控、读/写延迟校准和压力测试。 如果在选择频率后立即卡住,则在校准完成之前,DDR 可能已经处于临界状态。NXP 社区针对类似的 i.MX6 DDR 压力测试挂起问题提供的指导指出,问题可能出在 MMDC 参数不正确、电源欠压、电路板噪声或布局问题上。 检查DDR电压/模式和频率选择 i.MX6Solo/DualLite DDR 焊盘支持 LPDDR2 和 DDR3/DDR3L 模式。 对于 DDR3/DDR3L I/O 供电,i.MX6Solo/DL 数据手册摘录显示, DDR3 的 OVDD 为 1.425–1.575 V , DDR3L 的 OVDD 为 1.283–1.45 V。 i.MX6 DDR 压力测试工具支持135 MHz 至 672 MHz之间的 DDR 压力测试;首先选择一个保守的 DDR 频率,然后在校准通过后逐步提高频率。 审查刷新时间 有一个 i.MX6 案例,通过修正 MMDC0_MDREF,将 tREFI 从3.9 µs 改为 7.8 µs,解决了低频挂起的问题。 NXP 文档还指出 MMDCx_MDREF 寄存器控制 DDR 刷新行为,并指出某些 DDR3 设备需要根据温度进行刷新更改,例如。温度≤85℃时刷新周期为64毫秒,温度高于85℃时刷新周期为32毫秒。 消除已知的工具环境挂起原因 如果从 U-Boot 运行,请禁用启动画面/IPU 或任何可能仍然访问动态随机存取存储器 (DRAM) 的 DMA;NXP 指出,活动的 IPU/启动画面访问可能会导致系统在 DDR 压力测试期间挂起。 检查看门狗熔丝/配置是否已启用;NXP 指出,在 i.MX6Solo 上,当 DDR_Stress_Tester 执行校准或压力测试时,看门狗可能会重置设备。 如果您使用的是 JTAG 版本,据报道,i.MX6 在 DDR 频率选择后停止运行,指导意见是检查 JTAG 模式/连接,并使用简单的 SDK DDR 测试以及信号/电源探测。 我的建议:为每个新的 DDR 芯片重新生成 DDR 初始化脚本,从较低的 MMDC/DDR 频率开始,根据 DDR 数据手册验证 MDREF/时序值,然后重新运行校准。如果仍然卡在 CPU/DDR 频率选择界面,则在该转换期间示波器显示 DDR 电源轨和时钟,并比较旧的正常工作的 DDR 和新的 Winbond/ISSI 部件之间的 MMDC 寄存器值。 首先应该将这个问题视为 i.MX6Solo/DL DDR 初始化和裕量问题;我没有找到证据表明 NXP 将 20 nm/25 nm DDR3 工艺本身认定为 ddr_stress_tester 不兼容。
記事全体を表示
Replacement of some IIC drivers for K312 RTD3.0.0 to RTD6.0.0 Hi I'm currently encountering an IIC slave clock suspension issue in RTD 3.0.0, which I've found to be related to the IIC clock extension function. Following a recommendation from the FAE, it was stated that this issue doesn't exist in the 6.0.0 driver. Due to project timelines and based on the principle of minimal changes, I will...The IIC driver files were extracted from version 6.0.00 and placed in version 3.00.In the RTD, I found it wasn't working properly. After the changes, the IIC couldn't exit the interrupt once it received data. I would like to ask: 1. Has anyone tried this operation (3.00RTD)?(I've replaced some drivers with version 6.00). Do you support this change? Do I have any other related drivers that haven't been ported yet? 2. I discovered an IIC change item in version 6.0.00, which was fixed in version 4.00. Version 5.00 inherited this fix, but version 6.00 reverted to the logic of version 3.00. However, in the 6.00 release...There is no related description in the notes. Did version 6.00 make other changes to fix this bug? static void Lpi2c_Ip_SlaveIRQHandlerInternal(uint8 Instance) { LPI2C_Type *BaseAddr; Lpi2c_Ip_SlaveStateType * Slave; boolean StopDetect = FALSE; boolean RepeatStartDetect = FALSE; BaseAddr = Lpi2c_Ip_pxBase[Instance]; Slave = Lpi2c_Ip_pxSlaveState[Instance]; StopDetect = LPI2C_Get_SlaveSTOPDetectEvent(BaseAddr); RepeatStartDetect = LPI2C_Get_SlaveRepeatedStartEvent(BaseAddr); /* Check address valid and tx/rx event */ Lpi2c_Ip_SlaveCheckDataEvent(Instance, BaseAddr, Slave); if (RepeatStartDetect) { Slave->RepeatedStarts++; if ((1U == Slave->RepeatedStarts) && (Slave->Is10bitAddress)) // This has been modified in version 4.00 { RepeatStartDetect = FALSE; LPI2C_Clear_SlaveRepeatedStartEvent(BaseAddr); } } if ((TRUE == StopDetect) || (TRUE == RepeatStartDetect)) { /* Stop/repeated start detected */ Lpi2c_Ip_SlaveStopDetectHandler(BaseAddr, Slave); if (TRUE == StopDetect) { /* reset repetead starts for a new transfer */ Slave->RepeatedStarts = 0U; } } /* Check for slave errors */ Lpi2c_Ip_SlaveCheckErrorEvent(BaseAddr, Slave); } Related bug: ARTD-6112 Re: K312 RTD3.0.0到RTD6.0.0 IIC部分驱动更换 Hi @Reyna_pan45  We do not recommend mixing code from different RTD releases, as this combination has not been validated. For this reason, we can not guarantee the expected functionality or behavior when components from different releases are used together. Regarding ARTD-81841, in the most recent releases this issue is tracked under ARTDCC2-91. It is currently a known issue and, unfortunately, there is no available workaround at this time, as shown in the image below. Sorry for any inconvenience this may cause. BR, VaneB Re: K312 RTD3.0.0到RTD6.0.0 IIC部分驱动更换 Hi @VaneB  Is there any more relevant description about this bug? I found during testing that modifying item ARTD-81841  can alleviate some issues (when frequently switching interrupts), even if the root cause cannot be identified.
記事全体を表示
S32K314 CAN 発行 私はS32K314を使っていますが、最近テスト中に発振器がショートしてしまい、CANに関する問題が発生しました。 回復後、SPI、ADCを監視しました。これらのモジュールは正常に動作しますが、CANモジュールは通常通り動作しません。 デバッカはこれらの情報を表示しますが、この状態ではCANの受信や送信ができません。 どうしてこんなことが起きたのか、そしてSWでこの故障をどうやって回復すればいいのでしょうか?   Re: S32K314 CAN issue こんにちは、 ご返信ありがとうございます。 「Mcu_ClockSourceFailure_Notification」にテストコードを追加しようとしましたが、この通知はトリガーされません。 ソフトウェア側からは、この問題が起きてCANモジュールをリセットするにはどうすればいいのでしょうか? よろしくお願いします。 下記は、ご指摘いただいたレジスタの値です。 MCR CTRL1 CBT: FDCBT: ECR ESR1 Re: S32K314 CAN issue こんにちは、 提供されたスクリーンショットから、受信エラーカウンタ(RXERRCNT)が増加している一方で、TXERRCNTは0のままであり、ESR1が送信試行中であることを示しているにもかかわらず、典型的な送信関連の問題とは完全には一致しません。 発振器のショートサーキットがクロックに影響を及ぼし、例えば回復後のCANビットタイミングの誤差を引き起こす可能性があります。しかし、現在の情報だけではこれを裏付けるには不十分である。 以下の情報を提供していただけますか: FlexCANレジスタ(MCR/CTRL1/CBT/FDCBT、ECR、ESR1を含む)のより広い範囲 モジュールおよびCANプロトコルのクロック構成は、 故障時に記録されたTX、RX、CANバスの測定値は? FlexCANモジュールのクロックとCANプロトコルのクロックが動作し、期待される周波数であれば、FlexCANモジュールのソフトウェアリセットを実行し、モジュールの初期化を完全に行い、通信が回復しているか確認することもできます。 BR、ペトル Re: S32K314 CAN issue こんにちは、 Mcu_ClockSourceFailure_Notification()が入力されていない場合、私の最初の仮定は、対応するMCU割り込み/通知経路がプロジェクト内で設定または有効化されていないということです。 以下を確認していただけませんか: 影響を受けるクロックソースに対してクロックモニタリング(CMU)が有効になっているかどうか。 CMU割り込みが有効になっているかどうか。 MCUモジュールがクロック障害検出時にMcu_ClockSourceFailure_Notification()を呼び出すように設定されているかどうか。 また、発振器ショートサーキットイベント後にCMUおよびRGMの状態レジスタを検査し、クロック障害が実際に検出されているかを確認することも有用です。 FlexCANレジスタダンプから、モジュールは有効化され、バスと同期している(SYNCH=1)ように見えますが、RXERRCNTが増加し、TXERRCNTは0のままで、バスアクティビティがありません。表示されているビットタイミングレジスタ(CTRL1、CBT、FDCBT)には有効なCANタイミング設定が含まれていないようですが、強化されたCANビットタイミングを使用し、実際のタイミングがそれぞれの強化CANビットタイミングレジスタを通じて設定されている場合は予想されるかもしれません。 したがって、CANリセット戦略を実装する前に、クロック障害イベントが検出されているかどうか、通知機構が適切に設定されているかを確認することが望ましいです。 BR、ペトル
記事全体を表示