Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
Using FreeMASTER block in Simulink 1 Table of Contents • Overview • Context • FreeMASTER Blocks • Generated ELF File • References • Conclusion 2 Overview This article introduces the FreeMASTER blocks available in NXP Model-Based Design Toolbox (MBDT) and explains how they are used within a Simulink model to prepare an application for FreeMASTER integration. The primary focus is the FreeMASTER Config block, which enables the FreeMASTER Driver in the generated application and allows users to configure the communication interface and runtime parameters required by FreeMASTER. The article also introduces the FreeMASTER Recorder block, which can be used to add data-recording capabilities to the application. Why is this Important? Before FreeMASTER can communicate with an embedded application, the FreeMASTER Driver should be enabled and configured in the embedded application. The FreeMASTER blocks provided by MBDT simplify this integration process by allowing all required settings to be configured directly within the Simulink environment. This article is intended for: Simulink users working with NXP Model-Based Design Toolbox Developers integrating FreeMASTER into embedded applications Engineers interested in runtime monitoring and debugging Users preparing an application for future interaction with FreeMASTER By reading this article, you will understand how FreeMASTER support is enabled within a Simulink model and how the generated application is prepared for runtime communication and data access. You will also learn how the code-generation process produces an ELF file containing symbolic information corresponding to application variables, which is later used by FreeMASTER to access, monitor, and visualize application data. 3 Context Dedicated Simulink blocks integrate FreeMASTER into a Model-Based Design Toolbox project by automatically generating the software infrastructure required by the application. The overall workflow is illustrated below: Figure 1. FreeMASTER workflow In this workflow, the FreeMASTER blocks serve as the interface between the Simulink model and the FreeMASTER Driver that will be included in the generated application. 4 FreeMASTER Blocks FreeMASTER blocks can be found in the MBDT library under: S32K3xx Core, System, Peripherals and Utilities → Utility Blocks Figure 2. FreeMASTER Simulink Library Three blocks are available for FreeMASTER integration: FreeMASTER Config block FreeMASTER Poll block FreeMASTER Recorder block 4.1 FreeMASTER Config Block The FreeMASTER Config block is responsible for enabling and configuring the FreeMASTER Driver within the generated application. It inserts the software infrastructure required for communication between the embedded target and the FreeMASTER desktop tool and serves as the foundation for integrating FreeMASTER functionality into a Simulink model. Figure 3. FreeMASTER Config block This block provides a configuration interface divided into two sections: communication settings and runtime settings. 4.1.1 General Tab The General tab contains communication-related parameters: Connection Type – selects the communication interface used by FreeMASTER. Instance – specifies the peripheral instance assigned to FreeMASTER communication. Baudrate – defines the communication speed. ISR Priority – sets the interrupt priority associated with FreeMASTER communication. Figure 4. FreeMASTER General tab During configuration, a dedicated communication peripheral is assigned to the FreeMASTER Driver. In the example shown, communication is performed through LPUART6 operating at 115200 bps. Note: The peripheral assigned to FreeMASTER should not be reused simultaneously for other communication purposes. During initialization, the FreeMASTER Driver assumes control of the communication resources associated with the selected peripheral. 4.1.2 FreeMASTER Configuration Tab The FreeMASTER Configuration tab contains runtime-related settings: Mode – defines the FreeMASTER operating mode. Number of Scopes – specifies the number of available scope instances. Max Variables – defines the maximum number of variables handled by a scope. Automatic Buffer Size – automatically calculates communication buffer size. FIFO Receiver Queue Size – configures the receive queue used by the communication driver. Figure 5. FreeMASTER Configuration tab Together, these settings determine how the FreeMASTER Driver operates within the generated application. 4.2 FreeMASTER Recorder Block In addition to the configuration block, MBDT provides a FreeMASTER Recorder block that enables support for FreeMASTER recording functionality. Figure 6. FreeMASTER Recorder block Unlike the Config block, which is primarily focused on communication setup and driver integration, the Recorder block is designed for high-speed monitoring and visualization of application variables. It configures data acquisition resources that can be accessed later through the FreeMASTER desktop application, enabling detailed analysis of system behavior. The Recorder block is typically placed in application execution paths where rapidly changing signals need to be captured periodically. To support this, it uses an on-board memory buffer to store acquired samples, allowing high-frequency data to be recorded without requiring immediate transfer to the host PC. The buffered data can then be retrieved and displayed in FreeMASTER for waveform visualization, performance evaluation, and post-run analysis. The block provides the following configuration parameters: Id – unique identifier of the recorder instance. Name – user-defined recorder name. Buffer Size – amount of memory allocated for storing captured samples. Timebase – time reference used during recording operations. Figure 7. FreeMASTER Recorder block parameters The Recorder block is optional and can be used whenever runtime data recording capabilities are required. 4.3 FreeMASTER Poll Block MBDT also provides a FreeMASTER Poll block, which allows the application to explicitly call the FreeMASTER polling function within the Simulink model. Figure 8. FreeMASTER Poll block The Poll block does not require any configuration parameters. Its purpose is to provide a configurable location within the application where FreeMASTER communication handling and command processing can be executed. Figure 9. FreeMASTER Poll block mask The role of the Poll block depends on the operating mode selected in the FreeMASTER Config block. When the FreeMASTER Driver is configured in Poll Mode, the Poll block is responsible for both communication handling and command processing. When the Driver operates in Short Interrupt Mode, communication is handled by interrupts, while command processing is performed through the Poll block. Note: For both Poll Mode and Short Interrupt Mode, the Poll block is required and should be placed in an execution path that runs periodically, such as the application's main step function, to ensure timely processing of FreeMASTER requests. When the FreeMASTER Driver is configured in Long Interrupt Mode, communication handling and command processing are performed entirely by the driver interrupt routines. In this configuration, the Poll block is not required, and its execution has no effect on FreeMASTER operation. The Poll block complements the FreeMASTER Config and FreeMASTER Recorder blocks by providing a configurable mechanism for communication processing when required by the selected FreeMASTER operating mode. 5 Generated ELF File Once the FreeMASTER blocks have been added and configured, the model can be built using the standard code-generation workflow provided by Embedded Coder and MBDT. In addition to the application code generated from the Simulink model, the build process also produces an ELF (Executable and Linkable Format) file. When debug information is enabled during the build process, the ELF file contains symbolic information about application variables, functions, and memory locations stored in the DWARF debug sections. Otherwise, this information may be removed, preventing the FreeMASTER desktop tool from extracting the symbols required for variable access and monitoring. The ELF file is later loaded by the FreeMASTER desktop tool, allowing variables to be identified automatically without requiring manual memory address entry. This enables features such as variable monitoring, runtime configuration, data visualization, and recording. Note: Generating a valid ELF file with debug information is an important preparation step before attempting to establish communication with the target application. 6 References Introduction to FreeMASTER FreeMASTER Driver and Documentation Package – The FreeMASTER Driver and its accompanying documentation are delivered as part of the MBDT installation. After installing the toolbox, they can be found in the root installation directory: NXP_MBDToolbox_S32K3\FreeMASTER\ 7 Conclusion This article introduced the FreeMASTER Configuration blocks provided by NXP Model-Based Design Toolbox and explained their role in preparing a Simulink model for FreeMASTER integration. By configuring the block appropriately, developers can include the required FreeMASTER support in the generated application and produce an ELF file suitable for runtime access to application data. The next article in this series will demonstrate how to use the generated application and ELF file to establish a connection between the target device and the FreeMASTER desktop application.
記事全体を表示
在 i.MX95 NPU 上运行 yolov11n、yolov8n、yolov5nu 模型后未获得任何输出。   [i.MX95 NPU] YOLOv5n/v8n/v11n 中子转换模型运行但未返回任何探测结果(零输出) 问题描述 我正在使用 Neutron 变流器在 i.MX95 NPU 上评估 YOLO 目标检测模型。 虽然 INT8 量化的 TFLite 模型在 Cortex-A55 CPU 上运行成功并能检测到物体,但编译后的 neutron.tflite 版本在卸载到 NPU 时,尽管执行推理时没有崩溃,却产生了零检测结果(空/无输出)。 环境及硬件设置   硬件: i.MX95 19x19 LPDDR5 EVK(A1 版本) 操作系统/内核: Linux 6.12.34-lts-next-gbe78e49cb433 #1 SMP PREEMPT (aarch64) NXP 工具链: MCU-SDK v25.09.00 + Linux 6.12.34_2.1.0 测试型号: YOLOv5nu、YOLOv8n、YOLOv11n(Ultralytics) 工作流程步骤和使用的命令 1. 量化(Ultralytics 导出) 模型导出为 INT8 全整数量化格式,分辨率为 320x320: yolo export model=yolov8n.pt format=tflite int8=True imgsz=320# (Repeated identically for yolov11n.pt and yolov5nu.pt)   状态:在CPU上运行完美。yolovXn_full_integer_quant.tflite 在 A55 内核上能够正确检测对象。 2. 中子汇编 TFLite 模型是使用 MCU_SDK_25.09.00+Linux_6.12.34_2.1.0 中的 Neutron 转换器为 i.MX95 NPU 编译的: ./neutron-converter --input yolov8n_full_integer_quant.tflite --target imx95 --output yolov8n_full_integer_quant_neutron.tflite   状态:无法在 NPU 上检测到对象。编译后的模型可以加载并运行推理,不会抛出语法或执行错误,但对于完全相同的测试图像,输出张量返回零检测结果。 观察到的症状和疑似根本原因   操作回退:变流器是否会针对特定的 YOLO 层(如自定义锚点、SiLU/Swin 激活或非最大值抑制)回退到 CPU? 量化缩放/不对称性:通过 Ultralytics 导出的 YOLO 模型通常使用不对称量化或具有 Neutron NPU 驱动程序可能误解的特定输出张量缩放。 输出张量格式:推理运行正常,这表明输入管道没有问题,但输出边界框/分数要么为空白,要么完全是垃圾值。 向恩智浦专家提问   中子变流器是否存在针对 Ultralytics YOLO 架构的已知限制或必需的优化标志? 在将 TFLite 模型传递给 Neutron 转换器之前,是否应该去除 NMS(非极大值抑制)层? i.MX95 Neutron SDK 是否需要对称量化(per_channel=True 或 False)才能正确解析输出层? 任何关于 i.MX95 NPU 的指导、参考脚本或 YOLO 部署说明都将不胜感激。   Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU 嗨,亚历杭德罗, 感谢您的回复。 我认为我的硬件平台可能存在一些误解。我的问题与 i.MX91 无关。 我正在使用以下平台: 主板:i.MX95 19x19 LPDDR5 EVK(IMX95LPD5EVK-19CM,A1 版本) 开发板快速入门指南: https://www.nxp.com/docs/en/quick-reference-guide/IMX95LPD5EVK-19CM.pdf Neutron SDK:MCU_SDK_25.09.00+Linux_6.12.34_2.1.0 内核:Linux 6.12.34-lts-next-gbe78e49cb433 #1 SMP PREEMPT (aarch64) 您分享的指南似乎是针对 i.MX91 的,而我的问题是关于在 i.MX95 Neutron NPU 上部署 YOLO。 原始的 INT8 TFLite 模型(YOLOv5nu、YOLOv8n 和 YOLOv11n)在 Cortex-A55 CPU 上运行正常,并产生有效的检测结果。然而,在使用 MCU_SDK_25.09.00+Linux_6.12.34_2.1.0 中包含的 Neutron 变流器编译相同的模型后,推理在 NPU 上成功执行,没有任何运行时错误,但输出张量不包含任何有效检测结果。 为了便于调查,我已经将以下文件附加到我的原帖中: * 原始 INT8 量化 TFLite 模型。 * YOLOv8n 和 YOLOv11n 的中子转换 TFLite 模型。 * 一个可用于重现该问题的 Python 推理脚本。 由于这些是原始的预训练 Ultralytics 模型转换为 TFLite,因此您可以直接使用提供的脚本中的标准 COCO 类名。它应该能让你在 i.MX95 平台上重现该行为,而无需任何额外的修改。 如果您能使用附件中的文件重现该问题,并告知我这是否是当前 Neutron SDK for i.MX95 的已知限制或问题,我将不胜感激。 谢谢。 Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU 你好@vijayranaACL , 感谢您联系恩智浦技术支持。 请参考本指南。 由于您使用的是 i.MX91 A1 芯片版本,因此某些特性或功能可能无法正常工作,因为 A1 是一个早期芯片版本,主要用于评估和开发目的。 因此,我们建议您在测试和验证活动中使用 i.MX91 B0 芯片版本。该指南是使用 B0 硅版本开发和验证的,因此记录的行为和结果均基于该版本。 如果可以,请确认您使用的是哪个版本的芯片,以及您是否可以获取 B0 设备进行比较。 此致, 亚历杭德罗·加西亚 Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU 你好@vijayranaACL , 我已在采用 B0 芯片的 i.MX95 EVK 上测试了您的代码,在我们这边运行正常,没有任何问题。 使用 person_detect.py 应用程序,模型加载成功,Neutron 委托初始化正确,应用程序按预期执行推理。在测试过程中,我观察到稳定的目标检测和持续约 13-14 FPS 的性能。日志还证实 Neutron 代理处于活动状态,并且模型在 NPU 加速下正在正常执行。 根据这些结果,我建议升级到 B0 硅片版本。A0 和 A1 硅版本主要是为了评估和 beta 测试目的而发布的,它们没有与 B0 相同级别的软件支持和验证。早期版本之后引入了一些功能和修复,这或许可以解释您看到的情况。 以下是我的测试日志的相关部分: root@imx95evk:~# python3 person_detect.py Opening camera /dev/video52 ... Trying camera backend: V4L2 /dev/video52 Camera opened via V4L2 /dev/video52 Loading model and NPU delegate ... Loaded Neutron delegate: /usr/lib/libneutron_delegate.so /usr/lib/python3.13/site-packages/tflite_runtime/interpreter.py:457: UserWarning: Warning: tf.lite.Interpreter is deprecated and is scheduled for deletion in TF 2.20. Please use the LiteRT interpreter from the ai_edge_litert package. See the [migration guide](https://ai.google.dev/edge/litert/migration) for details. warnings.warn(_INTERPRETER_DELETION_WARNING) INFO: NeutronDelegate delegate: 1 nodes delegated out of 33 nodes with 1 partitions. INFO: Neutron delegate version: v1.0.0-d98743a7, zerocp enabled. INFO: Created TensorFlow Lite XNNPACK delegate for CPU. Model input: shape=[ 1 640 640 3] dtype= quant=(0.003921568859368563, -128) Model output[0]: shape=[ 1 84 8400] dtype= quant=(0.003906319383531809, -128) Using model input size: 640x640 Re-opening camera after model load ... Trying camera backend: V4L2 /dev/video52 Camera opened via V4L2 /dev/video52 Person detection running. Press Ctrl+C to stop. First frame: 640x480 Output tensor shape: (1, 84, 8400) frame=22 person conf=0.61 box=[143,8,496,476] fps=10.7 --- fps=11.5 detections=0 --- frame=39 person conf=0.58 box=[138,16,496,473] fps=12.1 frame=50 person conf=0.50 box=[138,12,496,472] fps=12.5 frame=60 person conf=0.58 box=[138,13,496,476] fps=12.8 --- fps=12.8 detections=1 --- frame=84 person conf=0.61 box=[143,10,496,475] fps=13.3 frame=85 person conf=0.54 box=[138,10,496,475] fps=13.3 frame=86 person conf=0.61 box=[138,13,496,476] fps=13.3 frame=88 person conf=0.54 box=[138,12,496,472] fps=13.3 --- fps=13.3 detections=0 --- --- fps=13.6 detections=0 --- frame=136 person conf=0.65 box=[138,13,496,476] fps=13.7 frame=139 person conf=0.58 box=[138,12,496,472] fps=13.7 frame=140 person conf=0.61 box=[136,10,498,475] fps=13.8 frame=141 person conf=0.61 box=[138,13,496,476] fps=13.8 frame=145 person conf=0.50 box=[138,13,496,476] fps=13.8 frame=146 person conf=0.65 box=[138,13,496,476] fps=13.8 frame=148 person conf=0.54 box=[138,16,496,473] fps=13.8 frame=150 person conf=0.50 box=[131,12,498,472] fps=13.8 --- fps=13.8 detections=1 --- frame=155 person conf=0.50 box=[152,32,497,472] fps=13.8 frame=156 person conf=0.71 box=[180,37,495,422] fps=13.8 frame=157 person conf=0.54 box=[182,38,497,411] fps=13.8 frame=158 person conf=0.65 box=[156,37,493,472] fps=13.8 frame=159 person conf=0.68 box=[158,42,496,472] fps=13.8 frame=160 person conf=0.61 box=[155,46,495,468] fps=13.8 frame=162 person conf=0.54 box=[156,46,493,463] fps=13.8 frame=163 person conf=0.71 box=[171,43,493,466] fps=13.8 frame=164 person conf=0.54 box=[186,41,363,353] fps=13.8 frame=165 person conf=0.61 box=[187,42,492,452] fps=13.8 frame=166 person conf=0.58 box=[190,41,495,393] fps=13.8 frame=167 person conf=0.61 box=[190,42,495,432] fps=13.8 frame=168 person conf=0.61 box=[195,38,495,426] fps=13.8 frame=169 person conf=0.50 box=[190,36,495,423] fps=13.8 frame=170 person conf=0.58 box=[198,37,496,397] fps=13.8 --- fps=13.9 detections=0 --- frame=202 person conf=0.50 box=[145,28,495,456] fps=13.9 --- fps=14.0 detections=0 --- ^CStopped. root@imx95evk:~# 由于相同的应用程序和模型在 B0 芯片上运行正常,我的建议是在继续进行进一步调试之前,使用 B0 设备重复测试,因为问题可能与芯片版本有关,而不是与应用程序本身有关。 此致, 查维拉 Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU 嗨,亚历杭德罗, 感谢您澄清是 i.MX 95(而非 i.MX 91)的问题,并推荐使用 --优化级别 OOpt。 我们尝试在现有配置上执行您建议的命令,但是 --优化级别 不可用 在与我们的板级 BSP 配套的中子变流器中。 我们目前的环境 元器件版本 电路板 IMX95LPD5EVK-19 BSP LF6.12.34_2.1.0 (Linux 6.12.34-lts-next ) 中子号代表已登船 v1.0.0-be8bf399 主机变流器 eIQ 工具包 1.17 → 中子变流器 2.1.3+0Xaf140cf5 变流器 电路板支持包 标签 MCU_SDK_25.09.00+Linux_6.12.34_2.1.0 在这个变流器上, 中子转换器 --help 做 不是 列表 --优化级别。 我们实际运行的命令 中子变流器 \ --输入yolov8n_full_integer_quant.tflite \ --输出yolov8n_neutron.tflite \ --target imx95 为了进行调试,我们还使用: 中子变流器 \ --输入yolov8n_full_integer_quant.tflite \ --输出yolov8n_neutron.tflite \ --target imx95 \ --详细 我们的变流器(2.1.3)中可用的标志 关键选项  - 帮助: - 输入,  - 输出,  - 目标 --合并中子图 --将输入的 uint8 转换为 int8, --convert-outputs-uint8-to-int8 --dump-statistics, --dump-graphs, --详细 --include-between-input-tensors, --排除输入张量之间的差异 --显示目标, --show-kernel-kinds --优化级别 不存在 在这个版本上。 目前为止的测试结果 模型 NPU 行为 YOLOv8n 中子(我们的转换) 调用没问题,但是 0 次检测 YOLOv8n 无头骨干网 NPU 输出 常数(~1.13) 无头CPU主干网+CPU头部 检测结果正常 ——管道逻辑正确 问题 是 --optimization-level OOpt 仅支持较新的中子变流器 2.1.3 ? 推荐的转换命令是什么? LF6.12.34 / imx95 什么时候 OOpt 不可用? Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU 嗨@vijayranaACL , 抱歉,这是我的笔误。 我指的是 i.MX95,因为 i.MX91 不包含 NPU。 我建议尝试使用以下命令转换模型: .\neutron-converter.exe ` --input " .tflite" ` --target imx95 ` --output " .tflite" ` --optimization-level OOpt 根据 Neutron SDK 文档,需要注意的是,对于 Neutron-S 靶(例如 i.MX95),变流器不是确定性的。转换过程依赖于多线程约束编程求解器,这意味着对同一模型执行变流器的不同操作可能会产生略有不同的结果,尤其是在 TCM 内存分配和生成的微代码方面。 由于可能存在多个最优解,因此在每次转换过程中,不同的求解器线程可能会收敛到不同的有效解。尽管这些解决方案内部可能有所不同,但变流器认为它们都是正确且经过优化的。在大多数情况下,这些差异不应显著影响功能或性能。 如果您观察到行为、性能或准确性方面的变化,我建议您多次转换模型并比较结果。虽然有一些方法可以强制执行确定性行为,但通常会大大增加转换时间,因此除非绝对必要,否则一般不建议使用。 请告知我您的测试结果。 此致, 亚历杭德罗·加西亚 Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU 嗨,亚历杭德罗, 请您确认一下,我们讨论的代码和模型是否与FRDM-IMX95 15x15平台兼容? 使用bsp 6.12.49_2.2.0
記事全体を表示
FreeMaster Over CAN on interrupt fail to compile in polling mode I try to change those 3 mico for enabling polling mode from code generated from  "FreeMaster over CAN" and "s32k3xx_fm_over_can_s32ct"  FMSTR_SHORT_INTR, FMSTR_POLL_DRIVEN, and FMSTR_DEBUG_TX but end with compiling failed, reason is that transfer feature freemaster over can from "s32k3xx_fm_over_can_s32ct"  reply on interrupt, but if motor control case using many irq like least 10khz fast task and bctu and hall , wagtch dog, freemaster received no response from controllewr k312, polling mode is necessary. how to enable those 3 micros and open polling mode for "s32k3xx_fm_over_can_s32ct"  Re: FreeMaster Over CAN on interrupt fail to compile in polling mode Communication modes are mutually exclusive options. That's exactly what the error message means. FreeMASTER Driver routine may require a significative processing time and those 3 settings try to help developers to balance the execution depending on use case as follows: FMSTR_POLL_DRIVEN - FreeMASTER routine is executed entirely in the FMSTR_Poll function - developers decides when it is called but has to make sure that it is invoked at such frequency that allows FreeMASTER to keep up with the communication speed FMSTR_LONG_INTR - FreeMASTER routine is executed entirely in the FMSTR_CanIIsr function - deveopers forces the system to executed it by assigning a higher priority (I assume this one was used as it fits best in case of big number of interrupts) FMSTR_SHORT_INTR - is a mix of the previous two: the communication is happening in the interrupt handler (FMSTR_CanIsr), but the processing - in (FMSTR_Poll) I think what you want to try is the last one (combination of polling + interrupt). Still, while the interrupt may guarantee that the CAN frames will be read, the board may not reply on time if FMSTR_Poll is not invoked frequently enough (due to interrupts with higher priority). As a result - FreeMASTER desktop tool will show timeout errors. The developer has to make sure that the system can allocate sufficient time for FreeMASTER Driver routines in compute intensive applications. Hope it clarifies FreeMASTER's communication modes. Re: FreeMaster Over CAN on interrupt fail to compile in polling mode I did try before using same setting as you: for example,  I changed FMSTR_POLL_DRIVEN as 1 (was 0.as interrupt mode) // Select interrupt or poll-driven serial communication #define FMSTR_LONG_INTR 1 // Complete message processing in interrupt #define FMSTR_SHORT_INTR 0 // Queuing done in interrupt #define FMSTR_POLL_DRIVEN 1/*0 */ 7 error: mainly because of #if (FMSTR_LONG_INTR && (FMSTR_SHORT_INTR || FMSTR_POLL_DRIVEN)) || \ (FMSTR_SHORT_INTR && (FMSTR_LONG_INTR || FMSTR_POLL_DRIVEN)) || \ (FMSTR_POLL_DRIVEN && (FMSTR_LONG_INTR || FMSTR_SHORT_INTR)) || \ !(FMSTR_POLL_DRIVEN || FMSTR_LONG_INTR || FMSTR_SHORT_INTR) /* mismatch in interrupt modes, only one can be selected */ #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN #endif  3 error happen above for compile ../FMsrc/freemaster_private.h:326:2: error: #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN 326 | #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN | ^~~~~ ../FMsrc/freemaster_private.h:326:2: error: #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN 326 | #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN | ^~~~~ ../FMsrc/freemaster_private.h:326:2: error: #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN 326 | #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN | ^~~~~ one is not enough, but two even all also failed. Re: FreeMaster Over CAN on interrupt fail to compile in polling mode Hi @millerhughes, To enable Polling mode you need to update the following macros: #define FMSTR_LONG_INTR 0 #define FMSTR_SHORT_INTR 0 #define FMSTR_POLL_DRIVEN 1 only one out of those 3 should be set to 1, overwise the code won't compile. Regarding FMSTR_DEBUG_TX - this is a debug macro that is meant to verify the TX line. Combined with previous definitions this one: #define FMSTR_DEBUG_TX 1 will instruct FreeMASTER Driver to continuously send a debug frame (note: this helps you inspecting the TX line and you won't be able to connect to the board using FreeMASTER tool while this functionality is enabled). Could you share your compilation error logs ? As far as I know, s32k3xx_fm_over_can_s32ct example is implemented by Model-Based Design Toolbox (MBDT) team. If you develop your application using Simulink, it may require updating block configuration instead of manual code changes. In this case, MBDT developers can provide better assistance for your use case through the dedicated MBDT community. Re: FreeMaster Over CAN on interrupt fail to compile in polling mode Hi @millerhughes, I would try to troubleshoot the FMSTR_LONG_INTR mode, considering it is the only mode that works, even if only for a short time. The things I would look into are: Can you inspect the CAN bus with a logic analyzer and check whether the CAN messages are no longer being sent from the board, or if they are being sent but become corrupted? How many variables are you reading on the PC side? The number of variables is directly proportional to the amount of data exchanged between the PC tool and the board. If possible, I would start with a few variables and gradually increase the number to see when it breaks. Is the CAN instance used by any routines other than the FreeMASTER Driver? Did you start with a MATLAB/Simulink model or an S32 Design Studio example application? Depending on the original source, the FreeMASTER CAN driver implementation may differ. If possible, please attach the source files (they should be named freemaster_s32_flexcan.h and freemaster_s32_flexcan.c). Re: FreeMaster Over CAN on interrupt fail to compile in polling mode thanks for clarification, yes, combination of polling + interrupt is my target. restate issue: target k312 fail to send response after freeamster running a while. now feedback is following: interrupt mode: freemaster working, issue shown above, FMSTR_LONG_INTR only polling mode: compile,, freemaster not working ,  FMSTR_POLL_DRIVEN even if remove error message on freemaster_private.h:326:2: mixed: freemaster working, can compile  but traffic issue remain , all three of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN set as 1 and removing error message on freemaster_private.h:326:2: now I justify :Could be my CAN driver issue. which information do you need if your can provide further support?
記事全体を表示
I need to configure DMA for SPI I am using S32DS IDE and RTD 3.0 can anyone tell me how to start the DMA with SPI with step by step instructions or any other example code if available Re: I need to configure DMA for SPI Thank you for your response Do this work for s32k322 MCU Re: I need to configure DMA for SPI Hi @ershi  Included with the RTDs are provided two example codes for SPI communication using DMA, one using Low-Level Drivers (Ip) and one using High-Level Drivers (MCAL). You can refer to the thread HOWTO: S32 Design Studio - Create a New S32DS Project from Example for guidance on how to import the examples. Also, you can refer to the example provided in the thread Example S32K31 SPI Multiple Packet Transmit & Receive: Solution for DMA Cache Issue. BR, VaneB Re: I need to configure DMA for SPI Hi @ershi  Although the examples are not specifically designed for the S32K322, the functionality is generally the same across the S32K3 family, unless otherwise stated in the Reference Manual Therefore, you can use this project as a reference for your implementation and adapt it as needed for your specific device. Re: I need to configure DMA for SPI I had configurated everything but still it is not working initially it is return as LPSPI_IP_STATUS_SUCCESS  for (Lpspi_Ip_AsyncTransmit )and second time it is showing failed LPSPI_IP_STATUS_FAIL  I can able to send the data through spi using this api without the dma Lpspi_Ip_SyncTransmit() I have attached few configuration screenshot  Re: I need to configure DMA for SPI Hi @ershi  Could you also share images of the RM and IntCtrl_Ip driver configurations? Re: I need to configure DMA for SPI Hi @VaneB  I've attached the screenshots for the RM and IntCtrl_IP driver configurations, along with a short video clip for your detailed reference. I noticed one difference in the LPSPI configuration page. In the SPI General tab, under Spi_Phy_TxDmaChannel, the naming is different between the TX and RX configurations. Please let me know if you need any additional details InterruptsInterruptsInterruptsInterruptsInterrupts RMRMRMRMRM Re: I need to configure DMA for SPI Hi @ershi  Thank you for sharing all the information. I just have one observation. In the Dma_Ip driver configuration, you have defined DMA_SPI_CALLBACK_0 as the Interrupt Callback. However, the LPSPI DMA callbacks are already provided by the driver and can be found in the Lpspi_Ip_Irq.c file. For LPSPI2, the configured callbacks should be: Lpspi_Ip_LPSPI_2_IrqTxDmaHandler for the TX DMA channel Lpspi_Ip_LPSPI_2_IrqRxDmaHandler for the RX DMA channel Re: I need to configure DMA for SPI Hi @VaneB  Thank you for the clarification. I updated the Dma_Ip configuration so that, for LPSPI2, the TX and RX DMA channels now use the callbacks from Lpspi_Ip_Irq.c: Lpspi_Ip_LPSPI_2_IrqTxDmaHandler for the TX DMA channel Lpspi_Ip_LPSPI_2_IrqRxDmaHandler for the RX DMA channel nxp However, the DMA-based LPSPI transfer is still not working as expected on my side. I have attached a screenshot of the current configuration for your reference. If there are any additional settings, I should adjust please let me know Re: I need to configure DMA for SPI Hi @ershi  Could you please let me know how you are implementing the SPI communication? Also, have you test the code from the example I shared previously?
記事全体を表示
S32K3X8EVB-Q289 Power Supply Question I bought the S32K3X8EVB-Q289 board and need to purchase a power cable separately. Should I buy a power adapter with 12V 2A or higher? Or is there a product recommended by NXP? The FRDM-A-S32K358 uses a USB Type-C port, so it was sufficiently powered by a laptop's USB port, Re: S32K3X8EVB-Q289 Power Supply Question Hello @wj_kwak, Yes, as noted inside the S32K3X8 EVB HW UM, you can use any external power supply as long as it provides +12V/≥2A; Best regards, Julián
記事全体を表示
s32k324 写入 Dflash 问题 我使用 S32DS3.5 + RTD2.0 开发了 S32K324。现在,我根据示例“Fee_Example_S32K344”中的配置和代码编写了 S32K324 的程序,并且编译成功了。但是程序运行时,一进入代码“Fls_Init(NULL_PTR);”就会报错。当我单步执行时,发现它无法跳过函数“Fls_IPW_Init();”。错误导致程序进入此函数“ static inline void DevAssert(volatile boolean x) { 如果(x) { } 否则 { for(;;) {ASM_KEYWORD(BREAKPOINT_INSTR);} } }" 所以我想如果RTD版本不支持S32K324来使用费用函数模型的话?或者能否给我一些其他通过 S32k324 的 eeprom 模式写入 Dflash 的示例? 谢谢。 Re: s32k324 write Dflash problem 由于所有项目工程都是基于 RTD2.0 创建的,因此迁移可能不太方便。如果RTD2.0能够修改和使用费用就最好了。您能帮我审核一下这个程序吗? Re: s32k324 write Dflash problem S32DS 生成的 Fls_IPW_Init() 函数是否会输出错误日志? Re: s32k324 write Dflash problem 嗨@mmyjh_123 , 能否分享一下项目文件,或者至少分享一下 .mex 文件?文件? 另外,你用的还是很老旧的RTD。 我建议升级到 RTD 7.0.1 版本。 谢谢! BR,丹尼尔
記事全体を表示
ELE能否将密钥保留在主机无法访问的非易失性存储中? 您好, 我想咨询一下关于 EdgeLock 安全隔离区 (ELE) 的持久密钥存储的问题。 根据我对 KW47 网络安全参考手册的理解,ELE 用于加密操作的密钥可以使用密钥存储服务持久存储。我对典型流程的理解如下: 1. 为目标密钥创建密钥 Blob 并将其导出到主机。 2. 将导出的密钥 Blob 存储在非易失性存储器(例如闪存)中。 3. 当需要密钥进行加密操作时,导入密钥块并通过 ELE 使用该密钥。 在这种方法中,密钥块由 ELE 生成,因此主机无法读取实际的密钥材料。然而,由于密钥块本身由主机存储在闪存中,因此主机似乎仍然可以删除或覆盖密钥块。 我的问题是: 是否有一种方法可以将密钥(或其密钥块)存储在 ELE 可访问但主机不可访问的非易失性存储区域中,从而允许 ELE 执行加密操作,而无需在任何时候将密钥材料或密钥块暴露给主机? 换句话说,ELE 是否有可能完全在安全区域内拥有和管理持久密钥存储,从而使主机永远不会直接处理密钥或密钥块? 感谢您事先的指导。 Re: Can ELE Retain Keys in Host-Inaccessible Non-Volatile Storage? 嗨@t_hosomi ,希望你一切都好。 您对 NVM 流程中密钥生成和存储的理解是正确的。 然而,由于 ELE 没有非易失性存储器(如 SRM 的 10.3.1 节所述),因此唯一支持的路径是将导出的密钥 blob 存储在主机的 NVM 中。 请告诉我这些信息是否有帮助。
記事全体を表示
V5705芯片 您好,我有一台适用于Clio 5汽车的收音机。它采用的是恩智浦V5707芯片。但我没有找到这款芯片的任何技术规格。这款芯片属于哪个TEF系列?(例如TEF6686、TEF6687、TEF6688、TEF6689等) 标记 = v5705 54 10 sSD1462
記事全体を表示
FS26 LDO Off Issue Hello I am using the FS26 and S32K358. I am using the FS26's VLDO2 as the power supply for the MCU and the FS26's VLDO1 as the power supply for the CAN transceiver. When the MCU is left in a state of CAN communication, the FS26's VLDO turns OFF, cutting off the MCU's power. (This occurs randomly, approximately every 1 to 8 hours.) The VLDO is restored only after the FS26's power supply is cut off and then restored. This issue occurs on all boards, not just a single one, and does not occur when CAN communication is not in progress. The status when the issue occurs is as follows: Vpre 6V O VDIG 1.6V O VBOS 5V O VLDO2 X VLDO1 X VCORE X DFS is disabled via OTP. I would like to know the current state of the FS26 and what causes this to happen. Re: FS26 LDO Off Issue Hello kjy106906  Good day! Is the watchdog enabled? What are the values of: FS_STATES FS_GRL_FLAGS FS_OVUV_REG_STATUS M_REG_FLG M_STATUS immediately after failure? Have you checked if FS26 is not displaying any UV or OV flags? Also could you share your M_STATUS? I hope this information has helped you, please let me know if you need help with anything else. Have a great day and best of luck.
記事全体を表示
i.mx8M plus Serial download failure Dear NXP, I connected the board with the attached circuit diagram to the i.MX8M plus board and performed a Serial Download, but as shown in the captured image, only the screen appears and the process does not proceed further. I would like to inquire about how to resolve this. Thank you. Best Regards, Inho Jeon Re: i.mx8M plus Serial download failure Dear  yipingwang, The NXP EVK (8MPLUS-BB) works fine, but the board with the circuit I designed (the attached circuit diagram) operates for a while as shown in the screenshot and then stops. Please review the attached circuit diagram to ensure it is properly designed. Thank you. Best Regards, Inho Jeon Re: i.mx8M plus Serial download failure Please download the latest UUU from https://github.com/nxp-imx/mfgtools/releases Then use the following command to program images. unzstd    - .rootfs.wic.zst uuu -b emmc_all   - .rootfs.wic If it still fails, please try the following command. uuu.exe -b emmc imx-boot-imx8mpevk-sd.bin-flash_evk Re: i.mx8M plus Serial download failure The schematic looks same as the NXP EVK base board. The only difference is JTAG_MOD was pulled high. Please remove R216 to have a try.     Re: i.mx8M plus Serial download failure Dear yipigwang,  The OS image upload still fails even after removing R216. Please review the circuit diagram again. Thank you.
記事全体を表示
FRDM-i.MX93はM33準備完了以降に起動できません。LinuxとWindowsでUUU SDPSの起動がタイムアウトします。 こんにちは、NXPサポート様 FRDM-i.MX93ボードの復旧についてご協力をお願いします。ボードは、SPLブートの初期段階で「M33 prepare ok」の直後に一貫して停止し、BL31または完全なU-Bootに進みません。UUUリカバリもSDPSの起動中にタイムアウトで失敗します。 役員の詳細: ボード: FRDM-i.MX93 シリアルログに表示されるSoC:0xa1009300 シリアルログに表示されたLC: 0x2040010 PMIC: PCA9451A DDR: 3733MTS 典型的なシリアル出力: U-Boot SPL 2024.04+gde16f4f1722+p0(2024年9月2日 10:44:35 +0000) SOC: 0xa1009300 LC: 0x2040010 PMIC: PCA9451A PMIC: オーバードライブ電圧モード DDR: 3733MTS DDR: 3733MTS M33準備OK 再構築された2025 SPLでも、同じ停止ポイントが発生します。 U-Boot SPL 2025.04 (2026年4月26日 16:21:54 +0000) PMIC: PCA9451A PMIC: オーバードライブ電圧モード DDR: 3733MTS DDR: 3733MTS M33準備OK 使用したハードウェア構成: P1 = 外部電源、45W USB-Cウォールアダプターでテスト済み P16 = デバッグ用シリアルコンソール P13 = microSDカードスロット P2 = UUU / シリアルダウンローダーモード用のUSB-C接続 PCのUSB電源ではなく、壁のコンセント用アダプターから電源を供給するテストも行いました。行動に変化は見られなかった。 テスト対象のホストシステム: Linux Mint / Ubuntu ホスト Windowsホスト UUUのバージョンをテストしました: ううう 1.5.141 ううう 1.5.243 主な問題は、ボードがSPLに到達し、PMICとDDRを初期化して「M33 prepare ok」と出力した後、何も起こらないことです。「Normal Boot」、「Trying to boot from BOOTROM」、「NOTICE: BL31」、または完全な U-Boot に到達しません。これは、SDカードとeMMCの両方から起動した場合に発生します。 USBシリアルダウンローダーモードでは、ボードはUUUによって検出されます。 sudo ./uuu-lsusb コネクテッド Known USB Devices パスチッププロビデオPID Bcdバージョン 5:2 MX93 SDPS: 0x1FC9 0x014E 0x0001 しかし、SDPSの起動中にUUUが失敗します。使用されたコマンドは次のとおりです。 sudo ./uuu-V -b emmc_all imx-boot-imx93frdm-sd.bin-flash_singlebootimx-image-full-imx93frdm.rootfs.wic.zst Linuxでは、以下のエラーが発生します。 開始コマンド:SDPS: boot -scanterm -f imx-boot-imx93frdm-sd.bin-flash_singleboot-scanlimited 0x800000 HID(W)エラー:LIBUSB_ERROR_TIMEOUT Windowsでは、以下のエラーが発生します。 開始コマンド:SDPS: boot -scanterm -f .\imx-boot-imx93frdm-sd.bin-flash_singleboot -scanlimited 0x800000 14% HID(W)エラー: LIBUSB_ERROR_TIMEOUT (-7) これはLinuxとWindowsの両方でテストされ、同じ結果が得られました。 テスト対象画像: NXP公式FRDM-i.MX93 Rev 4.0デモイメージパッケージをテストしました。 LF_v6.6.36-2.1.0_images_FRDM_4.0_IMX93 ブートイメージのハッシュ値は次のとおりです。 7aba6102e5ec64add632cd6667e77fa3f6886fd72c314e4c01f2964c0fc56a5f imx-boot-imx93frdm-sd.bin-flash_singleboot 私は、同じブートイメージハッシュを使用するimx93frdm用の独自のYoctoイメージもテストしました。 SDカードからの起動選択が機能することを確認しました。SDカードが挿入されていないSDブートモードでは、シリアル出力はありません。SDカードを挿入したSDブートモードでは、SPLは起動して「M33 prepare ok」で停止します。SDカードブートスイッチは正常に動作しているようです。 また、公式のNXP .wicファイルも確認しました。イメージには、想定される32 KiB / 0x8000オフセットにブートイメージが含まれています。使用したコマンド: WIC=nxp.wic BOOT=imx-boot-imx93frdm-sd.bin-flash_singleboot xxd -l 64 -s $((32*1024)) "$WIC" xxd -l 64 -s 0 "$BOOT" cmp -n "$(stat -c%s "$BOOT")" -i $((32*1024)):0 "$WIC" "$BOOT" && echo "NXP WICには32Kにブートイメージが含まれています" || echo "NXP WICには32Kにブートイメージは含まれていません" 結果: NXP WICには32Kのブートイメージが含まれています つまり、SDカードイメージにはブートコンテナが正しく含まれているようです。 2024.04 SPLイメージだけが問題の原因ではないことを確認するため、Flexbuild/U-Bootを使用してより新しいブートイメージを作成しました。構築されたイメージ内のSPLは以下を示します。 U-Boot SPL 2025.04 (2026年4月26日 16:21:54 +0000) NXP FRDM-IMX93 私は以下の方法で、この新しい flash.bin ファイルを SD カードの 32 KiB オフセットに書き込みました。 sudo dd if=flash-imx93frdm-2025.bin of=/dev/sdX bs=1K seek=32 conv=fsync 同期 その後、ボードは新しいSPLバナーを印刷し、新しいSDブートイメージが実行されていることを確認した。 U-Boot SPL 2025.04 (2026年4月26日 16:21:54 +0000) PMIC: PCA9451A PMIC: オーバードライブ電圧モード DDR: 3733MTS DDR: 3733MTS M33準備OK しかし、それでも同じ箇所で停止し、BL31/完全なU-Bootまでは進みませんでした。 eMMCの状態: 当初、eMMCはLinuxログイン画面まで起動したが、ルートファイルシステムに/bin/shが存在しなかったため、rootログインができなかった。復旧試行中に、eMMCは.wicファイルを使用してSD Linuxから書き換えられた。画像。その後、eMMCブートも「M33 prepare ok」の後に停止します。しかし、同じ停止ポイントは、公式のNXPイメージを使用したSDブートと、再構築された2025 SPLを使用した場合にも発生するため、現在の問題はLinux/rootfsよりも前の段階にあるようです。 私が除外されたと考えること: シリアルポートが間違っています:シリアル接続は正常に動作し、SPL出力が表示されます。 PCの電源不良:45Wの外部ACアダプターを使用してテストしました。 SDカードブートスイッチの設定が間違っています:SDカードが入っていない状態でSDブートモードにすると、何も出力されません。 SDイメージにブートイメージがありません:公式NXP WICの0x8000 / 32 KiBにブートイメージが存在することが確認されています。 Linux/rootfsの問題:BL31/完全なU-Boot/Linuxの前に障害が発生します。 UUUのホストOSの問題:UUU SDPSの起動タイムアウトがLinuxとWindowsの両方で発生します。 古い2024 SPLだけが問題で、再構築された2025.04 SPLも「M33 prepare ok」の後に停止します。 これがFRDM-i.MX93の既知の早期起動問題かどうか、確認にご協力いただけますでしょうか? Re: FRDM-i.MX93 cannot boot past M33 prepare ok; UUU SDPS boot times out on Linux and Windows 弊社がリリースしたBSPバージョンをご利用ですか? i.MXアプリケーション・プロセッサ向け組み込みLinux | NXP Semiconductors どのバージョンのBSPを使用していますか?また、どのバージョンを選択していますか? 労働者の休暇から戻り次第、当社のボードでテストしてみます。来週の水曜日にオフィスに戻り、テストを実施してから、テスト結果をご報告します。 素敵な一日をお過ごしください よろしくお願いいたします。 リタ Re: FRDM-i.MX93 cannot boot past M33 prepare ok; UUU SDPS boot times out on Linux and Windows 私はLF_v6.6.36-2.1.0_images_FRDM_4.0_IMX93を使用しています。画像 Re: FRDM-i.MX93 cannot boot past M33 prepare ok; UUU SDPS boot times out on Linux and Windows オフィスに戻りましたので、ボードでテストを行い、結果をお知らせします。 Re: FRDM-i.MX93 cannot boot past M33 prepare ok; UUU SDPS boot times out on Linux and Windows 解決できましたか? Re: FRDM-i.MX93 cannot boot past M33 prepare ok; UUU SDPS boot times out on Linux and Windows @Rita_Wang 同じ問題が発生しています... 私のimx-image-full-imx93frdm.rootfs-20260705225501.wic.zst scarthgapビルドでは、BL31が起動を開始したのを見たことがありません。 Re: FRDM-i.MX93 cannot boot past M33 prepare ok; UUU SDPS boot times out on Linux and Windows こんにちは、私も現在同じ問題を抱えています。解決策は見つかりましたか? Re: FRDM-i.MX93 cannot boot past M33 prepare ok; UUU SDPS boot times out on Linux and Windows 私も同じ問題に直面しています。imx93がSDカードから起動できるようにするため、あるいはUUUが正常に動作するようにするために必要なアップデートはありますか?
記事全体を表示
请求:RAppID 初始化 v2.1.0支持 MPC5644A 设备的版本(或更高版本)——需要下载链接 你好, 我正在做一个基于 MPC5644A 的项目,我需要获取支持该设备的 RAppID Init 工具。 我有一个现有的 RAppID Init 项目文件 (.rsp),该文件最初是为我们的平台创建的。文件头显示以下内容: 工具版本:2.1.0(工具版本主版本号 2,工具版本次版本号 1,子版本号 0) 目标设备:MPC5644A 创建时间:2013年4月 因此,RAppID Init v2.1.0 中显然存在对 MPC5644A 的支持。但是,我在NXP官网上找不到匹配的下载链接: “RAppID 初始化 Power Architecture”页面 (RAPPID) 列出了 11 个公开下载,但没有一个涵盖 MPC564xA 系列(仅涵盖 MPC564xL、MPC560xB/xS、MPC563xM、MPC567xR/xK/xF、MPC5748G、MPC577xK/M)。 我在存档部分找到了“存档:MPC564xA 引脚向导”,但没有找到相应的“MPC564xA 初始化”软件包。引脚向导不包含系统/外设初始化,也无法打开我的 .rsp 文件。项目文件。 请问版主能否提供 RAppID Init v2.1.0 的下载链接?或者更高版本,支持 MPC5644A 设备,这样我就可以打开和修改我现有的 .rsp 文件了。项目? 提前感谢您的帮助。 Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed 你好, 是的,您说得对,确实存在 RAPPID-564XASW。 但恩智浦并未在其公共网页上提供该产品。 我会内部询问获取该文件的程序。 顺祝商祺! Peter Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed 请查看以下链接:RAppID 初始化(适用于 Power Architecture)| NXP 半导体  RAppID 引导加载程序实用程序初始化(适用于 MPC564xL) https://www.nxp.com/design/design-center/software/embedded-software/rappid-initialization-for-power-architecture:RAPPID 顺便问一下, MPC5644A 在您那里用于什么应用?
記事全体を表示
ELEはホストがアクセスできない非揮発性ストレージに鍵を保持できますか? こんにちは、 EdgeLock セキュア・エンクレーブ(ELE)での永続キー保存についてお尋ねしたいです。 私の理解によると、ELEが暗号操作に使用する鍵は、キーストレージサービスを使って永続的に保存できます。私が理解している典型的な流れは以下のとおりです。 1. 対象キーのキーブロブを作成し、ホストにエクスポートします。 2. エクスポートしたキーブロブをフラッシュメモリなどの不揮発性メモリに保存します。 3. 暗号化操作に鍵が必要な場合は、キーブロブをインポートし、ELE を介して鍵を使用します。 この方法では、キーブロブはELEによって生成されるため、ホストは実際のキー素材を読み取ることができません。しかし、Flashではキーブロブ自体がホストに保存されているため、ホストはキーブロブを削除したり上書きしたりできるようです。 私の質問は次のとおりです。 ELEからはアクセス可能だがホストからはアクセスできない不揮発性ストレージ領域に鍵(またはそのキーブロブ)を保存する方法はありますか?これにより、鍵マテリアルやキーブロブがホストに一切公開されることなく、ELEが暗号化操作を実行できるようになります。 言い換えれば、ELEが永続的なキーストレージを完全にセキュアな領域内で所有および管理し、ホストがキーやキーブロブを直接扱うことがないようにすることは可能でしょうか? ご指導をよろしくお願いいたします。 Re: Can ELE Retain Keys in Host-Inaccessible Non-Volatile Storage? こんにちは、 @t_hosomi さん。お元気でお過ごしでしょうか。 NVMフローにおける鍵の生成と保存に関するあなたの理解は正しいです。 しかし、ELEには不揮発性メモリがないため(SRMのセクション10.3.1に記載されているとおり)、サポートされている唯一の方法は、エクスポートされたキーブロブをホストのNVMに保存することです。 この情報がお役に立てば幸いです。
記事全体を表示
AUTOSAR MCAL for MPC5744P 大家好, 我正在使用 MPC5744P 和生成的 AUTOSAR MCAL 包。 我遇到了一个版本错误: 没有找到该文件或目录——指的是 Os_memmap.h在 MemMap.h 中: #ifndef AUTOSAR_OS_NOT_USED #include "Os_memmap.h" #endif 但是,生成的文件中没有 Os_memmap.h 文件。 我该如何找回这个丢失的文件? 另外,如何使用 EB tresos 配置和生成新的 MCAL 包(或重新生成缺失的部分)? 非常感谢您的帮助! 谢谢! Re: AUTOSAR MCAL for MPC5744P 您好@petervlna ,请问是否有免费的编译器选项可以用来构建适用于 MPC5744P 的 AUTOSAR MCAL 应用程序? Re: AUTOSAR MCAL for MPC5744P 你好, 您可以使用生成的代码,并将其编译为 GHS 或 DIAB。 请务必参考 RTD 和 OS 发行说明中列出的受支持的编译器。 顺祝商祺! Peter Re: AUTOSAR MCAL for MPC5744P 嗨,彼得, 谢谢你的解释! 请问:是否可以使用 GCC 编译生成的代码(来自 Tresos + MCAL),还是必须使用 S32DS 或 GHS 等工具链? 此致, 伟大的 Re: AUTOSAR MCAL for MPC5744P 你好, 我该如何找回这个丢失的文件? 它不是 MCAL 生成的文件的一部分,而是来自 Tresos 操作系统配置。 我认为可能是操作系统配置出了问题。 另请参阅此处: https://community.nxp.com/t5/S32K/No-such-file-or-directory-include-quot-Os-memmap-h-quot/td-p/1818413 另外,如何使用 EB tresos 配置和生成新的 MCAL 包(或重新生成缺失的部分)? 嗯,我们为此提供 S32 设计工作室。如需了解 Tresos 的相关培训,请联系 Elektrobit。 其实应该很简单。安装 MCAL 后,您只需创建项目,添加所需的插件,然后从 Tresos 生成 c/h 文件。然后,您需要将项目整理到 S32DS、GHS 等项目管理软件中,以便进行编译。 顺祝商祺! Peter
記事全体を表示
S32K3X8EVB-Q289 電源に関する質問 S32K3X8EVB-Q289ボードを購入しましたが、電源ケーブルは別途購入する必要があります。12V 2A以上の電源アダプターを購入すべきでしょうか?それともNXPが推奨する製品はありますか? FRDM-A-S32K358はUSB Type-Cポートを使用しているため、ノートPCのUSBポートで十分な電力を供給していました。 Re: S32K3X8EVB-Q289 Power Supply Question こんにちは、 @wj_kwak さん、 はい、S32K3X8 EVB HW UMの中に記載されている通り、+12V/≥2Aを供給する外部電源ならどんなものでも使えます。 よろしくお願いします、 ジュリアン
記事全体を表示
yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU   [i.MX95 NPU] YOLOv5n/v8n/v11n Neutron-converted Models Run but Return No Detections (Zero Output) Issue Description I am evaluating YOLO object detection models on the i.MX95 NPU using the Neutron converter. While the INT8 quantized TFLite models run successfully and detect objects on the Cortex-A55 CPU, the compiled neutron.tflite versions yield zero detections (empty/no output) when offloaded to the NPU, despite executing inference without crashing. Environment & Hardware Setup   Hardware: i.MX95 19x19 LPDDR5 EVK (A1 Revision) OS/Kernel: Linux 6.12.34-lts-next-gbe78e49cb433 #1 SMP PREEMPT (aarch64) NXP Toolchain: MCU-SDK v25.09.00 + Linux 6.12.34_2.1.0 Models Tested: YOLOv5nu, YOLOv8n, YOLOv11n (Ultralytics) Workflow Steps & Commands Used 1. Quantization (Ultralytics Export) Models were exported to INT8 full integer quantization with a 320x320 resolution: yolo export model=yolov8n.pt format=tflite int8=True imgsz=320# (Repeated identically for yolov11n.pt and yolov5nu.pt)   Status: Works perfectly on CPU. yolovXn_full_integer_quant.tflite detects objects correctly on the A55 cores. 2. Neutron Compilation The TFLite models were compiled for the i.MX95 NPU using the Neutron converter from MCU_SDK_25.09.00+Linux_6.12.34_2.1.0: ./neutron-converter --input yolov8n_full_integer_quant.tflite --target imx95 --output yolov8n_full_integer_quant_neutron.tflite   Status: Fails to detect objects on NPU. The compiled model loads and runs inference without throwing syntax or execution errors, but output tensors return zero detections for the exact same test images. Observed Symptoms & Suspected Root Causes   Operator Fallbacks: Did the converter fall back to CPU for specific YOLO layers (like custom Anchors, SiLU/Swin activations, or Non-Max Suppression)? Quantization Scaling/Asymmetry: YOLO models exported via Ultralytics often use asymmetric quantization or have specific output tensor scaling that the Neutron NPU driver might misinterpret. Output Tensor Formatting: The inference runs, which suggests the input pipeline is fine, but the output bounding boxes/scores are either blank or completely garbage values. Questions for NXP Experts   Are there known limitations or mandatory optimization flags needed in the neutron-converter specifically for Ultralytics YOLO architectures? Should the NMS (Non-Max Suppression) layer be stripped out before passing the TFLite model to the Neutron converter? Does the i.MX95 Neutron SDK require symmetric quantization (per_channel=True or False) to parse the output layers properly? Any guidance, reference scripts, or working YOLO deployment notes for the i.MX95 NPU would be highly appreciated.   Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU Hi Alejandro, Thank you for your response. I believe there may be a misunderstanding regarding my hardware platform. My issue is not related to the i.MX91. I am using the following platform: Board: i.MX95 19x19 LPDDR5 EVK (IMX95LPD5EVK-19CM, A1 Revision) Board Quick Start Guide: https://www.nxp.com/docs/en/quick-reference-guide/IMX95LPD5EVK-19CM.pdf Neutron SDK: MCU_SDK_25.09.00+Linux_6.12.34_2.1.0 Kernel: Linux 6.12.34-lts-next-gbe78e49cb433 #1 SMP PREEMPT (aarch64) The guide you shared appears to be for the i.MX91, whereas my question is specifically about YOLO deployment on the i.MX95 Neutron NPU. The original INT8 TFLite models (YOLOv5nu, YOLOv8n, and YOLOv11n) run correctly on the Cortex-A55 CPU and produce valid detections. However, after compiling the same models using the Neutron converter included in MCU_SDK_25.09.00+Linux_6.12.34_2.1.0, inference executes successfully on the NPU without any runtime errors, but the output tensors contain no valid detections. For easier investigation, I have already attached the following files to my original post: * Original INT8 quantized TFLite models. * Neutron-converted TFLite models for YOLOv8n and YOLOv11n. * A Python inference script that can be used to reproduce the issue. Since these are the original pretrained Ultralytics models converted to TFLite, you can use the standard COCO class names directly with the provided script. It should allow you to reproduce the behavior on your i.MX95 platform without requiring any additional modifications. I would appreciate it if you could reproduce the issue using the attached files and let me know whether this is a known limitation or issue with the current Neutron SDK for the i.MX95. Thank you. Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU Hi @vijayranaACL, Thank you for contacting NXP Support. Please refer to this guide. Since you are using the i.MX91 A1 silicon revision, it is possible that some features or functionality may not operate correctly, as A1 is an early silicon revision intended primarily for evaluation and development purposes. For this reason, we recommend using the i.MX91 B0 silicon revision for your testing and validation activities. The guide was developed and validated using the B0 silicon version, so the documented behavior and results are based on that revision. If possible, please confirm which silicon revision you are using and whether you have access to a B0 device for comparison. Best regards, Alejandro Garcia Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU Hi Alejandro, Thank you for the clarification regarding i.MX 95 (not i.MX 91) and for the recommendation to use --optimization-level OOpt. We tried to follow your suggested command on our current setup, but --optimization-level is not available in the neutron-converter paired with our board BSP. Our current environment Component Version Board IMX95LPD5EVK-19 BSP LF6.12.34_2.1.0 (Linux 6.12.34-lts-next) Neutron delegate on board v1.0.0-be8bf399 Host converter eIQ Toolkit 1.17 → neutron-converter 2.1.3+0Xaf140cf5 Converter BSP tag MCU_SDK_25.09.00+Linux_6.12.34_2.1.0 On this converter, neutron-converter --help does not list --optimization-level. Command we actually run neutron-converter \ --input yolov8n_full_integer_quant.tflite \ --output yolov8n_neutron.tflite \ --target imx95 For debugging we also use: neutron-converter \ --input yolov8n_full_integer_quant.tflite \ --output yolov8n_neutron.tflite \ --target imx95 \ --verbose Flags available on our converter (2.1.3) Key options from --help: --input, --output, --target --merge-neutron-graphs --convert-inputs-uint8-to-int8, --convert-outputs-uint8-to-int8 --dump-statistics, --dump-graphs, --verbose --include-between-input-tensors, --exclude-between-input-tensors --show-targets, --show-kernel-kinds --optimization-level is not present on this build. Test results so far Model NPU behaviour YOLOv8n Neutron (our conversion) Invoke OK, but 0 detections YOLOv8n headless backbone NPU output constant (~1.13) Headless CPU backbone + CPU head Detections OK — pipeline logic is correct Questions Is --optimization-level OOpt only supported in a newer neutron-converter than 2.1.3? What is the recommended conversion command for LF6.12.34 / imx95 when OOpt is not available? Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU HI @vijayranaACL, Sorry, that was a typo on my side. I was referring to the i.MX95, since the i.MX91 does not include an NPU. I recommend trying the following command to convert the model: .\neutron-converter.exe ` --input " .tflite" ` --target imx95 ` --output " .tflite" ` --optimization-level OOpt According to the Neutron SDK documentation, it is important to note that the converter is not deterministic for Neutron-S targets such as the i.MX95. The conversion process relies on multithreaded constrained programming solvers, which means that different executions of the converter on the same model may produce slightly different results, particularly regarding TCM memory allocation and generated microcode. Because multiple optimal solutions may exist, different solver threads can converge on different valid solutions during each conversion. Although these solutions may differ internally, they are all considered correct and optimized by the converter. In most cases, these differences should not significantly affect functionality or performance. If you observe variations in behavior, performance, or accuracy, I recommend converting the model multiple times and comparing the results. There are methods available to force deterministic behavior, but they typically increase conversion time considerably and are generally not recommended unless strictly required. Please let me know the outcome of your tests. Best regards, Alejandro Garcia Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU Hi @vijayranaACL, I have tested your code on an i.MX95 EVK with B0 silicon, and it appears to be working correctly on our side without any issues. Using your person_detect.py application, the model loads successfully, the Neutron delegate is initialized correctly, and the application performs inference as expected. During testing, I observed stable object detection and a sustained performance of approximately 13–14 FPS. The logs also confirm that the Neutron delegate is active and that the model is executing properly with NPU acceleration. Based on these results, I recommend moving to the B0 silicon revision. The A0 and A1 silicon versions were released primarily for evaluation and beta testing purposes, and they do not have the same level of software support and validation as B0. Several features and fixes were introduced after the early revisions, which may explain the behavior you are seeing. The relevant portion of my test log is shown below: root@imx95evk:~# python3 person_detect.py Opening camera /dev/video52 ... Trying camera backend: V4L2 /dev/video52 Camera opened via V4L2 /dev/video52 Loading model and NPU delegate ... Loaded Neutron delegate: /usr/lib/libneutron_delegate.so /usr/lib/python3.13/site-packages/tflite_runtime/interpreter.py:457: UserWarning: Warning: tf.lite.Interpreter is deprecated and is scheduled for deletion in TF 2.20. Please use the LiteRT interpreter from the ai_edge_litert package. See the [migration guide](https://ai.google.dev/edge/litert/migration) for details. warnings.warn(_INTERPRETER_DELETION_WARNING) INFO: NeutronDelegate delegate: 1 nodes delegated out of 33 nodes with 1 partitions. INFO: Neutron delegate version: v1.0.0-d98743a7, zerocp enabled. INFO: Created TensorFlow Lite XNNPACK delegate for CPU. Model input: shape=[ 1 640 640 3] dtype= quant=(0.003921568859368563, -128) Model output[0]: shape=[ 1 84 8400] dtype= quant=(0.003906319383531809, -128) Using model input size: 640x640 Re-opening camera after model load ... Trying camera backend: V4L2 /dev/video52 Camera opened via V4L2 /dev/video52 Person detection running. Press Ctrl+C to stop. First frame: 640x480 Output tensor shape: (1, 84, 8400) frame=22 person conf=0.61 box=[143,8,496,476] fps=10.7 --- fps=11.5 detections=0 --- frame=39 person conf=0.58 box=[138,16,496,473] fps=12.1 frame=50 person conf=0.50 box=[138,12,496,472] fps=12.5 frame=60 person conf=0.58 box=[138,13,496,476] fps=12.8 --- fps=12.8 detections=1 --- frame=84 person conf=0.61 box=[143,10,496,475] fps=13.3 frame=85 person conf=0.54 box=[138,10,496,475] fps=13.3 frame=86 person conf=0.61 box=[138,13,496,476] fps=13.3 frame=88 person conf=0.54 box=[138,12,496,472] fps=13.3 --- fps=13.3 detections=0 --- --- fps=13.6 detections=0 --- frame=136 person conf=0.65 box=[138,13,496,476] fps=13.7 frame=139 person conf=0.58 box=[138,12,496,472] fps=13.7 frame=140 person conf=0.61 box=[136,10,498,475] fps=13.8 frame=141 person conf=0.61 box=[138,13,496,476] fps=13.8 frame=145 person conf=0.50 box=[138,13,496,476] fps=13.8 frame=146 person conf=0.65 box=[138,13,496,476] fps=13.8 frame=148 person conf=0.54 box=[138,16,496,473] fps=13.8 frame=150 person conf=0.50 box=[131,12,498,472] fps=13.8 --- fps=13.8 detections=1 --- frame=155 person conf=0.50 box=[152,32,497,472] fps=13.8 frame=156 person conf=0.71 box=[180,37,495,422] fps=13.8 frame=157 person conf=0.54 box=[182,38,497,411] fps=13.8 frame=158 person conf=0.65 box=[156,37,493,472] fps=13.8 frame=159 person conf=0.68 box=[158,42,496,472] fps=13.8 frame=160 person conf=0.61 box=[155,46,495,468] fps=13.8 frame=162 person conf=0.54 box=[156,46,493,463] fps=13.8 frame=163 person conf=0.71 box=[171,43,493,466] fps=13.8 frame=164 person conf=0.54 box=[186,41,363,353] fps=13.8 frame=165 person conf=0.61 box=[187,42,492,452] fps=13.8 frame=166 person conf=0.58 box=[190,41,495,393] fps=13.8 frame=167 person conf=0.61 box=[190,42,495,432] fps=13.8 frame=168 person conf=0.61 box=[195,38,495,426] fps=13.8 frame=169 person conf=0.50 box=[190,36,495,423] fps=13.8 frame=170 person conf=0.58 box=[198,37,496,397] fps=13.8 --- fps=13.9 detections=0 --- frame=202 person conf=0.50 box=[145,28,495,456] fps=13.9 --- fps=14.0 detections=0 --- ^CStopped. root@imx95evk:~# Since the same application and model work correctly on B0 silicon, my recommendation is to repeat the test using a B0 device before continuing with further debugging, as the issue may be related to the silicon revision rather than the application itself. Best Regards, Chavira Re: yolov11n,yolov8n,yolov5nu model not getting any output after running on i.MX95 NPU Hi Alejandro, Could you please confirm that the code and models we discussed are compatible with the FRDM-IMX95 15x15 platform? with bsp 6.12.49_2.2.0
記事全体を表示
SPI用のDMAを設定する必要があります 私はS32DS IDEとRTD 3.0を使っています。SPIでDMAを起動する方法や、ステップバイステップの手順や、もしあれば他の例コードがあれば教えてもらえますか? Re: I need to configure DMA for SPI ご回答ありがとうございます。 この作業はs32k322 MCUで行ってください Re: I need to configure DMA for SPI こんにちは@ershi RTDにはDMAを用いたSPI通信用の2つの例コードが付属しており、1つは低レベルドライバ(Ip)を用い、もう1つは高レベルドライバ(MCAL)を使用します。例のインポート方法については、HOWTO: S32 Design Studio - Create a New S32DS Project from Example Threadを参照してください。 また、スレッドの 例であるS32K31 SPI Multiple Packet Transmit and Receive: Solution for DMA Cache Issueの例を参照することもできます。 BR、VaneB Re: I need to configure DMA for SPI こんにちは@ershi これらの例はS32K322向けに特別に設計されているわけではありませんが、リファレンス・マニュアルに特に記載されていない限り、S32K3 ファミリ全体で機能性は概ね同じです。したがって、このプロジェクトを実装の参考として活用し、必要に応じてデバイスに合わせて調整することができます。 Re: I need to configure DMA for SPI すべて設定しましたが、最初は動作せず、(Lpspi_Ip_AsyncTransmit)でLPSPI_IP_STATUS_SUCCESSとして返され、2回目は失敗と表示されますLPSPI_IP_STATUS_FAIL、DMAなしでこのAPIを使ってデータをSPI経由で送信できますLpspi_Ip_SyncTransmit()いくつかの設定スクリーンショットを添付しました。 Re: I need to configure DMA for SPI こんにちは@ershi RMやIntCtrl_Ipドライバーの設定画像も共有してもらえますか? Re: I need to configure DMA for SPI こんにちは、 @VaneBさん RMとIntCtrl_IPドライバの設定のスクリーンショットと、詳細な参考のために短い動画クリップを添付しました。 LPSPIの設定ページで1つの違いに気づきました。SPI GeneralタブのSpi_Phy_TxDmaChannelの項目で、TX設定とRX設定で名前が異なっています。 追加情報が必要な場合はお知らせください。 InterruptsInterruptsInterruptsInterrupts割り込み RMRMRMRMRM Re: I need to configure DMA for SPI こんにちは@ershi 情報を共有していただきありがとうございます。 一つだけ気づいたことがあります。Dma_Ipドライバー構成では、DMA_SPI_CALLBACK_0を割り込みコールバックとして定義しています。しかし、LPSPI DMAのコールバックはドライバーから既に提供されており、Lpspi_Ip_Irq.cで見つけることができますファイル。 LPSPI2の場合、設定するコールバックは以下のとおりです。 TX DMAチャネルのLpspi_Ip_LPSPI_2_IrqTxDmaHandler RX DMAチャネルのLpspi_Ip_LPSPI_2_IrqRxDmaHandler Re: I need to configure DMA for SPI こんにちは、 @VaneBさん ご説明いただきありがとうございます。 Dma_Ip設定を更新し、LPSPI2ではTXとRX DMAチャネルがLpspi_Ip_Irq.cからのコールバックを使うようになりました。 TX DMAチャネルのLpspi_Ip_LPSPI_2_IrqTxDmaHandler RX DMAチャネルnxpのLpspi_Ip_LPSPI_2_IrqRxDmaHandler しかしながら、私の環境ではDMAベースのLPSPI転送が期待通りに動作していません。参考までに、現在の設定画面のスクリーンショットを添付しました。他に調整すべき設定があれば教えてください。 Re: I need to configure DMA for SPI こんにちは@ershi SPIコミュニケーションをどのように実装しているのか教えていただけますか?また、以前共有したサンプルコードをテストしてみましたか?
記事全体を表示
s32k324 write Dflash problem I used S32DS3.5 + RTD2.0 to develop S32K324. Now I wrote the program for the S32K324 based on the configuration and code in the example "Fee_Example_S32K344" and it compiled. but when it ran, the program would report an error as soon as it enters this code" Fls_Init(NULL_PTR);", when I step into it , I found it could not Skip this function " Fls_IPW_Init();". And the err made the program enter this function " static inline void DevAssert(volatile boolean x) { if(x) { } else { for(;;) {ASM_KEYWORD(BREAKPOINT_INSTR);} } }" So I guess if the RTD version doesn't support S32K324 to use the fee function model ? Or could give me some other examples to write Dflash by eeprom mode of S32k324. Thanks. Re: s32k324 write Dflash problem Since all the project engineering was created based on RTD2.0, the migration might not be very convenient. It would be best if RTD2.0 could modify and use the Fee. Could you please help me review the program? Re: s32k324 write Dflash problem Does the Fls_IPW_Init() generated by S32DS and is there any error log can be printed out? Re: s32k324 write Dflash problem Hi @mmyjh_123, Can you share the project or at least the .mex file? Also, you use a very old RTD. I would recommended upgrading to RTD 7.0.1. Thank you, BR, Daniel
記事全体を表示
FreeMaster Over CANは割り込み時にポーリングモードでコンパイルできません 「FreeMaster over CAN」と「s32k3xx_fm_over_can_s32ct」から生成されたコードから、ポーリングモードを有効にするために3 micoを変更しようとしています。 FMSTR_SHORT_INTR 、 FMSTR_POLL_DRIVEN 、およびFMSTR_DEBUG_TX しかしコンパイルに失敗しました。理由は、転送機能のフリーマスターオーバーが割り込み時に「s32k3xx_fm_over_can_s32ct」応答から可能になるためです。しかし、モータ制御の場合、少なくとも10kHzの高速タスクやBCTU、ホール、ワッチドッグ、フリーマスターはControllewr K312からの応答を受け取れず、ポーリングモードが必要です。 これら3つのマイクロコントローラを有効にして、「s32k3xx_fm_over_can_s32ct」のポーリングモードを開く方法 Re: FreeMaster Over CAN on interrupt fail to compile in polling mode 通信手段は相互に排他的な選択肢である。エラーメッセージはまさにそのことを意味しています。 FreeMASTERドライバールーチンはかなりの処理時間を必要とする場合があり、これら3つの設定は利用ケースに応じて実行のバランスを取るのに役立ちます。 FMSTR_POLL_DRIVEN - FreeMASTERルーチンはFMSTR_Poll関数内で完全に実行されます。開発者は呼び出しタイミングを決定しますが、FreeMASTERが通信速度に追いつけるような頻度で呼び出されるようにする必要があります。 FMSTR_LONG_INTR - FreeMASTERルーチンは完全にFMSTR_CanIIsr関数内で実行されます。デベオパーはシステムに高い優先度を割り当てることで実行を強制します(これは多数の割り込み時に最適だったため使われたと思います)。 FMSTR_SHORT_INTR - は前述の2つの混合であり、通信は割り込みハンドラー(FMSTR_CanIsr)で行われ、プロセッシングは(FMSTR_Poll)で行われます あなたが試すべきなのは、最後の方法(ポーリングと割り込みの組み合わせ)だと思います。それでも割り込みはCANフレームの読み取りを保証するかもしれませんが、FMSTR_Poll呼び出す頻度が十分でない場合(より高い優先度の割り込みによる)、ボードが時間通りに応答しないことがあります。その結果、FreeMASTERデスクトップツールでタイムアウトエラーが表示されます。 開発者は、計算集約型アプリケーションにおいてFreeMASTERドライバーのルーチンに十分な時間を割り当てられるかを確実にしなければなりません。 これでFreeMASTERの通信モードが明確になったことを願います。 Re: FreeMaster Over CAN on interrupt fail to compile in polling mode 以前、あなたと同じ設定で試してみました。 例えば、 FMSTR_POLL_DRIVENを1に変更しました(以前は割り込みモードとして0でした)。 // 割り込み駆動またはポーリング駆動のシリアル通信を選択します #define FMSTR_LONG_INTR 1 割り込みにおけるメッセージプロセッシングの完了 #define FMSTR_SHORT_INTR 0 //割り込みでキューイングが完了 #define FMSTR_POLL_DRIVEN 1 /*0 */ 7 エラー: 主に #if (FMSTR_LONG_INTR && (FMSTR_SHORT_INTR || FMSTR_POLL_DRIVEN )) || \ (FMSTR_SHORT_INTR && (FMSTR_LONG_INTR || FMSTR_POLL_DRIVEN )) || \ ( FMSTR_POLL_DRIVEN && (FMSTR_LONG_INTR || FMSTR_SHORT_INTR)) || \ !( FMSTR_POLL_DRIVEN || FMSTR_LONG_INTR || FMSTR_SHORT_INTR) 割り込みモードでは1つだけ選択可能です */ #エラーFMSTR_LONG_INTR、FMSTR_SHORT_INTR、またはFMSTR_POLL_DRIVENのいずれか1つだけを有効にする必要があります #endif コンパイル時に上記で3つのエラーが発生しました ../FMsrc/freemaster_private.h:326:2: エラー: #error FMSTR_LONG_INTR、FMSTR_SHORT_INTR、またはFMSTR_POLL_DRIVENのいずれか1つだけを有効にする必要があります 326 | #エラー FMSTR_LONG_INTR、FMSTR_SHORT_INTR、またはFMSTR_POLL_DRIVENのいずれか1つだけを有効にする必要があります。 | ^~~~~ ../FMsrc/freemaster_private.h:326:2: エラー: #error FMSTR_LONG_INTR、FMSTR_SHORT_INTR、またはFMSTR_POLL_DRIVENのいずれか1つだけを有効にする必要があります 326 | #エラー FMSTR_LONG_INTR、FMSTR_SHORT_INTR、またはFMSTR_POLL_DRIVENのいずれか1つだけを有効にする必要があります。 | ^~~~~ ../FMsrc/freemaster_private.h:326:2: エラー: #error FMSTR_LONG_INTR、FMSTR_SHORT_INTR、またはFMSTR_POLL_DRIVENのいずれか1つだけを有効にする必要があります 326 | #エラー FMSTR_LONG_INTR、FMSTR_SHORT_INTR、またはFMSTR_POLL_DRIVENのいずれか1つだけを有効にする必要があります。 | ^~~~~ 1つでは不十分だが、2つでもすべて失敗に終わった。 Re: FreeMaster Over CAN on interrupt fail to compile in polling mode こんにちは、 @millerhughes さん。 ポーリングモードを有効にするには、以下のマクロを更新する必要があります。 #define FMSTR_LONG_INTR 0 #define FMSTR_SHORT_INTR 0 #define FMSTR_POLL_DRIVEN 1 3つのうち1つだけを1に設定する必要があります。そうしないと、コードはコンパイルされません。 FMSTR_DEBUG_TXについてですが、これはTXラインを検証するためのデバッグマクロです。これまでの定義と合わせて、次の定義も考えられます。 #define FMSTR_DEBUG_TX 1 FreeMASTERドライバーに継続的にデバッグフレームを送信するよう指示します(注:これはTXラインの検査に役立ちますが、この機能が有効になっている間はFreeMASTERツールでボードに接続できません)。 コンパイルエラーログを共有してもらえますか? 私の知る限り、s32k3xx_fm_over_can_s32ct例はモデルベースデザインツールボックス(MBDT)チームによって実装されています 。Simulinkでアプリケーションを開発する場合、手動のコード変更ではなくブロック設定の更新が必要になるかもしれません。この場合、MBDT開発者は専用のMBDTコミュニティを通じて、あなたのユースケースにより適切な支援を提供できます 。 Re: FreeMaster Over CAN on interrupt fail to compile in polling mode ご説明ありがとうございます。はい、ポーリングと割り込みの組み合わせが私の目標です。 問題の要約:ターゲットk312は、freeamsterをしばらく実行した後、応答を送信できません。 フィードバックは以下のとおりです。 割り込みモード:フリーマスター動作中、上記の問題発生、FMSTR_LONG_INTRのみ ポーリングモード: コンパイル、freemaster が動作しない、freemaster_private.h:326:2 のエラーメッセージを削除しても FMSTR_POLL_DRIVEN: 混合:FreeMasterは動作し、コンパイルは可能ですがトラフィックの問題は残ります。FMSTR_LONG_INTRまたはFMSTR_SHORT_INTRまたはFMSTR_POLL_DRIVENの3つすべてが1に設定され、freemaster_private.h:326:2のエラーメッセージが削除されます: 今は正当化します:おそらくCANドライバーの問題かもしれません。 もし追加のサポートができるなら、どのような情報が必要ですか? Re: FreeMaster Over CAN on interrupt fail to compile in polling mode こんにちは、 @millerhughes さん。 FMSTR_LONG_INTRモードは、たとえ短時間しか動作しないとしても、唯一動作するモードなので、このモードのトラブルシューティングを試みるつもりです。私が調査するであろう事項は以下のとおりです。 ロジックアナライザでCANバスを点検して、CANメッセージがボードから送信されていないのか、送信されているものの破損しているのかを確認できますか? PC側で読み込んでいる変数はいくつありますか?変数の数は、PCツールとボード間でやり取りされるデータ量に正比例する。可能であれば、まずは少数の変数から始めて、徐々に数を増やしていき、どこで問題が発生するかを確認したいです。 CANインスタンスはFreeMASTERドライバー以外のルーチンで使われていますか? MATLAB/Simulinkモデルから始めましたか?それともS32 Design Studioのサンプルアプリケーションから始めましたか?元のソースによって、FreeMASTER CANドライバの実装は異なる場合があります。 可能であれば、ソースファイル( freemaster_s32_flexcan.hとfreemaster_s32_flexcan.cという名前である必要があります)を添付してください。
記事全体を表示
FS26 LDO 発行終了 Hello 私はFS26とS32K358を使用しています。 私はFS26のVLDO2をMCUの電源として、FS26のVLDO1をCANトランシーバの電源として使っています。 MCUがCAN通信状態のままになると、FS26のVLDOはオフになり、MCUの電源が遮断されます。 (これはランダムに発生し、およそ1~8時間ごとに起こります。) VLDOは、FS26の電源が遮断され、その後復旧された後にのみ復旧します。 この問題はすべてのボードで発生し、単一のボードだけでなく、CAN通信が進行中でない場合は発生しません。 問題発生時の状況は以下のとおりです。 Vpre 6V O VDIG 1.6VO VBOS 5V O VLDO2 X VLDO1 X VCORE X OTPによるDFSは無効化されています。 FS26の現状と、この問題が発生する原因について知りたいです。 Re: FS26 LDO Off Issue こんにちは、 kjy106906さん 良い一日! ウォッチドッグは有効になっていますか? 以下の値は何ですか? FS_STATES FS_GRL_FLAGS FS_OVUV_REG_STATUS M_REG_FLG 障害発生直後にM_STATUSが表示されますか? FS26にUVフラグやOVフラグが表示されていないか確認しましたか? また、あなたのM_STATUSも教えてもらえますか? この情報がお役に立てば幸いです。他に何かご不明な点がありましたら、お気軽にお問い合わせください。 良い一日をお過ごしください。幸運を祈ります。
記事全体を表示