Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
嵌入式产品的安全应用案例,可提升产品和企业价值(日文博客) 随着欧洲的《网络安全法案》 、日本的JC-STAR系统以及美国的“网络信任标志”计划等各个国家建立网络安全体系,人们对安全的兴趣正在迅速增长,即使在以前没有重视安全功能的领域也是如此。   本文以用例为例,清晰简洁地解释了嵌入式产品安全的重要性,并阐述了威胁、影响和应对措施。   用例示例   1. 设备识别和访问权限管理   威胁与影响   将物联网设备(例如智能电表、监控摄像头、安全网关等)连接到网络(例如云端、内部网络、楼宇内网络等)或其他设备时,存在未经授权的设备通过“欺骗”连接的风险。这可能导致客户信息泄露、服务暂停或被滥用。此外,还存在外部未经授权的用户访问物联网设备并滥用其功能的风险。例如,他们可能窥探摄像头录像或控制物联网设备,并将其用作网络攻击的跳板。 对策   设备的“识别(认证)”和“防欺骗”至关重要。通过利用安全功能,可以保证设备的真实性(即设备是正品;在这种情况下,设备使用的识别名称是设备本身的名称,而不是冒充其他设备的人使用的识别名称),并创建安全的连接环境。 此外,通过利用安全功能,可以防止未经授权的用户从外部访问和使用物联网设备。   Keita_Nagashima_2-1761209125678.png 2. 假冒商品的鉴定   威胁与影响   假冒商品(包括名牌包、名酒和打印机墨粉)的流通不仅会导致正品销量下降,还会对用户造成伤害,损害品牌价值,并影响依赖正品的系统。   对策   安全功能可以“区分”真品和假冒产品(即确定其真伪) ,从而有助于消除假冒产品。   Keita_Nagashima_0-1761209017704.png     3. 知识产权保护   威胁与影响   如果产品中安装的软件和数据被分析和泄露,则存在侵犯知识产权的风险。事实上,软件已被复制,假冒产品也已销往海外。技术泄露还会导致竞争力下降。   对策   通过使用安全加密和识别(认证)功能,可以防止此类信息被读取和篡改,从而防止假冒产品的生产。即使发生篡改,也可以通过检测和处理问题来防止损失。 Keita_Nagashima_4-1761209246781.png 4. 安全的产品软件更新(OTA)   威胁与影响   产品交付后提供软件更新不仅是解决网络安全标准(例如CRA)中漏洞的必要措施,还能通过提升产品功能来增加产品价值。然而,如果更新系统存在漏洞,则可能导致产品和服务被滥用(例如通过安装未经授权的软件),或者知识产权被泄露(例如通过分析更新镜像)。   对策   通过使用安全加密和识别(认证)功能,可以“防止读取要安装在产品上的更新映像的内容”和“防止安装未经授权的软件”。 shinjihontanib_0-1762408102565.png   5. 用户机密信息的保护   威胁与影响   如果产品中存储的机密用户信息(例如个人姓名、位置信息和使用历史记录)泄露,可能会引发隐私侵犯和法律问题。   对策   对机密信息进行“加密”和“加强访问控制”等安全措施可以降低机密信息泄露的风险。 Keita_Nagashima_3-1761209186906.png 6. 安全日志的收集和分析   威胁与影响   忽视攻击迹象或异常行为可能会造成更大的损害。如果不做好记录,就很难确定原因并防止再次发生。   对策   为防止攻击痕迹被掩盖,收集和维护安全日志至关重要。此外,还需要根据收集到的数据采取措施,例如实施异常检测算法。   Keita_Nagashima_5-1761209482239.png   概括   引入安全措施不仅仅是遵守法规,更是提升竞争力的基石。它直接有助于提高产品可靠性、维护品牌价值并增强公司竞争力。展望未来,安全有望成为产品开发的“基本要求”。我认为,首先要提高安全意识,为下一步做好准备,并为公司的可持续发展奠定基础。   除了技术要求外,实施安全措施和遵守法律法规还需要满足非技术要求(组织和运营要求)。在下一篇文章中,我们将讨论软件或硬件安全,这是用户经常咨询的技术问题。     相关信息 应用案例:智能安全的医疗设备 应用案例:智能安全的能源管理(日语) 应用案例:符合FIPS和Matter标准的安全IP摄像机 应用案例:智能安全的电动汽车充电(日语) 使用案例:安全云端入职(日语)   =========================== 我们目前无法 回复 此帖子“ 评论”部分的评论。 对于由此造成的不便,我们深表歉意。如有任何疑问, 请 参考“ 如何就 技术问题 联系 NXP ( 日语 博客 ) ” 。 (如果您已经是 恩智浦的 分销商或 与 恩智浦 有业务往来 ,您可以直接联系负责人。 ) 随着欧洲的《网络安全法案》、日本的JC-STAR系统以及美国的“网络信任标志”计划等各个国家建立网络安全体系,人们对安全的兴趣正在迅速增长,即使在以前没有重视安全功能的领域也是如此。   本文根据安全功能的目的,介绍了实现安全功能的示例用例。 (阅读时间:5分钟) 安全 日本博客
View full article
【入门指南】i.MX 95:LLM_RAG 实现实战 - eIQ Gen AI 流程 - (日语博客) 目前,智能手机和PC上广泛使用的大型语言模型(LLM)在云端运行,利用丰富的资源(处理性能、内存大小),但它们也被部署在嵌入式设备(边缘设备)上。为了在嵌入式设备有限的资源下实现准确性,可以通过在特定领域添加数据库来实现,这种领域被称为RAG(检索增强生成) 。 在本文中,我们将以实践操作的形式介绍 NXP 的LLM+RAG 解决方案“eIQ GenAI Flow” 。 [议程] 1. 关于 eIQ GenAI 流程 2. 运行环境 3. 设置 4. 法学硕士演示 5. RAG 演示 6. RAG数据库更新 7. 音频输入/输出演示 8. 总结 ================================ 1. eIQ Gen AI Flow是什么? eIQ GenAI Flow 是 NXP 推出的大规模语言模型 (LLM) 解决方案,它以切实可行的方式将生成式 AI 和 LLM 的优势带入边缘用例。 简介页 面向嵌入式应用的生成式人工智能 | 恩智浦半导体 介绍视频 - RAG 使用与不使用 RAG 的对比(视频时长:2 分 10 秒) (在“我的视频”中查看) eIQ Gen AI流程由五个模块组成: YuseiUegama_0-1749459775958.png 唤醒词引擎(WWE) (唤醒词检测) VIT(语音智能技术)*1: →唤醒词激活ASR(自动语音识别) *1:恩智浦的语音用户界面技术 自动语音识别(ASR) (语音转文字) 将语音输入转换为文本 大型语言模型(LLM) 根据捕获的上下文生成响应 检索增强生成(RAG) 利用相关的外部知识增强大规模语言模型(LLM) 文本转语音(TTS) 将响应转换为音频输出   2. 运行环境 *由于这是预生产产品,请联系您的 NXP 分销商或直接联系 NXP 购买电路板或获取软件和手册。 硬件 i.MX 95 EVK(本文中所用) 或者 ADLINK 的小型评估板“SMARC LEC-IMX95” 要使用“SMARC LEC-IMX95”操作 LLM,请参阅以下文章。 [NXP 处理器测试指南 7] 在 ADLINK SMARC LEC-IMX95 上使用 i.MX95 进行 LLM 演示的 Yocto 镜像构建和测试流程 – Macnica NXP 支持   软件 Yocto Linux 镜像:L6.12.3_1.0.0(注意:L6.12.20 仅支持 B0 芯片,如果您使用的是 A1 芯片,请使用 L6.12.3) eIQ GenAI Flow: GitHub - nxp-appcodehub/dm-eiq-genai-flow-demonstrator:eIQ GenAI Flow Demonstrator 是一个专为 NXP i.MX95 设备设计的对话式 AI 管道应用程序。 3. 设置 3.1.在主机上进行设置 3.1.1.为 i.MX 构建 Yocto 镜像 Linux L6.12.3_1.0.0 或更高版本需要BSP镜像文件。 根据您使用的板卡配置MACHINE (如果是 NXP EVK ,则使用imx95evk ) ,并构建imx-image-full环境。 有关构建 Yocto 环境的信息,请参阅本文。 3.1.2.自定义 Yocto 环境 将以下元层添加到 3.1 中创建的 Yocto Linux 环境中,然后运行 bitbake。 dm-eiq-genai-flow-demonstrator/meta-eiq-genai-flow 位于 main · nxp-appcodehub/dm-eiq-genai-flow-demonstrator · GitHub 详细说明请参见下面的自述文件。 dm-eiq-genai-flow-demonstrator/meta-eiq-genai-flow/README at main · nxp-appcodehub/dm-eiq-genai-flow-demonstrator · GitHub meta-eiq-genai-flow 包括: Linux 内核: matmul Neutron C-API 设备树:专用于 Neutron 的连续内存分配 (CMA) 区域 Onnxruntime:添加 Neutron 执行提供程序 Neutron 资产:用于处理 matmul 运算的驱动程序和固件。 3.1.3.eIQ Gen AI Flow 软件包设置 在主机 PC 上,运行以下命令克隆 eIQ Gen AI Flow。 $ git clone https://github.com/nxp-appcodehub/dm-eiq-genai-flow-demonstrator.git 此仓库使用Git 大型文件存储 (LFS) ,因此请按照以下步骤拉取: $ sudo apt install git-lfs $ cd dm-eiq-genai-流演示器 $ git lfs pull 使用 SD 镜像写入器或 FTP 将创建的 eiq-genai-flow 文件夹传输到目标根文件系统中的 /root/ 目录(为了清晰起见,我们指定了 /root/ 目录,但传输目标可以是任何目录)。 3.2.i.MX 95 EVK 的设置 本章中的命令在 i.MX 95 EVK 上执行。 3.2.1.网络设置 创建一个类似下面的 shell 并连接到网络 #!/bin/bash export SSID=" " export PASSWORD=" " modprobe moal mod_para=nxp/wifi_mod_para.conf wpa_passphrase ${SSID} ${PASSWORD} > imxrouter.conf wpa_supplicant -d -B -i mlan0 -c ./imxrouter.conf sleep 5 udhcpc -i mlan0 3.2.2.下载所需软件包 $ cd eiq_genai_flow $ ./install.sh 至此,演示环境的设置完成。 4. 法学硕士演示 将 EVK 的 J31 USB DBG 端口连接到 PC 并开机。 以 root 用户身份登录 Teraterm 等控制台。 移动到上一章中存储的 eiq_genai_flow 目录。 4.1.演示帮助检查 $ cd eiq_genai_flow $ ./eiq_genai_flow- 帮助 你会看到类似这样的日志: 剧透 (选中阅读) 用法:eiq_genai_flow [选项] lq 选项 x --input-mode -i [keyb|kasr|vasr] 输入模式:'keyb',适用于 x x 键盘输入,'kasr' 代表 x x 键盘触发 + ASR,'vasr' x x 用于 VIT 唤醒词 + ASR。x x [默认值:keyb] x x --system-prompt -p TEXT LLM 系统提示符。x x [默认值:你很乐于助人 x x 助理。x x --output-mode -o [text|tts] 输出模式:'text' x 文本回复或“tts”代表 x x音频响应。x x [默认值:tts] x x --use-rag -r 激活检索增强功能 x x 代定制 LLM x x 输出。x x --use-neutron -n 使用 Neutron ONNX 执行 x x 提供商。x x --continuous -c 连续模式,其中 ASR 为 x x 一直在倾听。x x --benchmark -b 基准测试模式 - 获取 x 的列表 提出 x 个问题并存储结果。x x --verbose -v 显示信息(例如 x x 次推理)。x x --help -h 显示此消息并退出。x QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ 用法:eiq_genai_flow [选项] lq 选项 x --input-mode -i [keyb|kasr|vasr] 输入模式:'keyb',适用于 x x 键盘输入,'kasr' 代表 x x 键盘触发 + ASR,'vasr' x x 用于 VIT 唤醒词 + ASR。x x [默认值:keyb] x x --system-prompt -p TEXT LLM 系统提示符。x x [默认值:你很乐于助人 x x 助理。x x --output-mode -o [text|tts] 输出模式:'text' x 文本回复或“tts”代表 x x音频响应。x x [默认值:tts] x x --use-rag -r 激活检索增强功能 x x 代定制 LLM x x 输出。x x --use-neutron -n 使用 Neutron ONNX 执行 x x 提供商。x x --continuous -c 连续模式,其中 ASR 为 x x 一直在倾听。x x --benchmark -b 基准测试模式 - 获取 x 的列表 提出 x 个问题并存储结果。x x --verbose -v 显示信息(例如 x x 次推理)。x x --help -h 显示此消息并退出。x QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ 您可以看到,在运行演示二进制文件时,您可以指定诸如“启用/禁用 NPU”、“输入/输出格式”和“启用/禁用 RAG”之类的参数。 4.2.演示运行 首先,尝试使用键盘输入模式。 如果运行演示程序时启用 NPU 选项,它将等待输入,如下所示。 $ ./eiq_genai_flow--使用中子 剧透 (选中阅读) root@imx95-19x19-lpddr5-evk:~/eiq_genai_flow# ./eiq_genai_flow--使用中子 目标设备:i.MX95 [NeutronEP:分配器] CMA 用户空间内存 1536 MB Neutron:内核缓冲区虚拟地址 0xfffe50e00000,填充地址 0x100000000,对齐地址 0x100000000,大小 0x80000000,对齐方式 0x0 高位 0x1,低位 0x0,偏移量 0x0 [NeutronEP:分配器] 0 0xfffe50e00000 512 MB [NeutronEP:分配器] 1 0xfffe70e00000 512 MB [NeutronEP:分配器] 2 0xfffe90e00000 512 MB 2025-05-20 21:21:54.180329391 [W:onnxruntime:, session_state.cc:1168VerifyEachNodeIsAssignedToAnEp] 某些节点未分配给首选执行提供程序,这可能会对性能产生负面影响,也可能不会。例如ORT 明确地将与形状相关的操作分配给 CPU 以提高性能。 2025-05-20 21:21:54.180415808 [W:onnxruntime:, session_state.cc:1170VerifyEachNodeIsAssignedToAnEp] 在非最小构建版本上以详细输出重新运行将显示节点分配。 使用的LLM:danube-onnx TTS模型采用16kHz量化 请输入您的问题: root@imx95-19x19-lpddr5-evk:~/eiq_genai_flow# ./eiq_genai_flow--使用中子 目标设备:i.MX95 [NeutronEP:分配器] CMA 用户空间内存 1536 MB Neutron:内核缓冲区虚拟地址 0xfffe50e00000,填充地址 0x100000000,对齐地址 0x100000000,大小 0x80000000,对齐方式 0x0 高位 0x1,低位 0x0,偏移量 0x0 [NeutronEP:分配器] 0 0xfffe50e00000 512 MB [NeutronEP:分配器] 1 0xfffe70e00000 512 MB [NeutronEP:分配器] 2 0xfffe90e00000 512 MB 2025-05-20 21:21:54.180329391 [W:onnxruntime:, session_state.cc:1168VerifyEachNodeIsAssignedToAnEp] 某些节点未分配给首选执行提供程序,这可能会对性能产生负面影响,也可能不会。例如ORT 明确地将与形状相关的操作分配给 CPU 以提高性能。2025-05-20 21:21:54.180415808 [W:onnxruntime:, session_state.cc:1170VerifyEachNodeIsAssignedToAnEp] 在非最小构建版本上以详细输出重新运行将显示节点分配。使用的LLM:danube-onnx TTS模型采用16kHz量化 请输入您的问题: 当我询问关于I2C(一种由NXP(前身为飞利浦)开发的通信标准)时,我得到了以下答复。(有关I2C总线的文章,请参见此处。) YuseiUegama_0-1749459986192.png 本演示中使用的 LLM 为 Danube(5 亿参数),量化级别为 int8。以下是基准测试信息。 平台 加速器 首次令牌到达时间 (TTFT) 托克/秒 命令 i.MX 95 CPU(6线程) 0.94秒 9.38 ./eiq_genai_flow -b i.MX 95 NPU(中子) 0.59秒 9.72 ./eiq_genai_flow -b --use_neutron 注意:此演示将在 2 小时后超时。 5. RAG 演示 5.1.什么是 RAG? RAG(搜索增强与生成)通过基于知识库中的事实信息来解释输入,从而增强 LLM 的响应。这显著提高了响应与提示的相关性,并减少了 LLM 的幻觉。此演示使用 all-MiniLM-L6-v2(2200 万个参数)和 int8 量化。 5.2.RAG 使用示例 该应用程序可用于各种产品,包括工业设备、汽车设备和医疗设备,但作为用例,我们将考虑胰岛素注射器。 首先,如果您询问在只有 LLM 而没有 RAG的环境中应该在哪里注射胰岛素,LLM 将使用其通用知识库生成以下答案: $ ./eiq_genai_flow--使用中子 YuseiUegama_1-1749460020221.png 生成的答案是“上臂”,但如果指定产品注射到不同的部位,这将出现问题,如下图所示。 YuseiUegama_2-1749460106966.png 在本演示中,上述说明已转换为 RAG 数据库,因此可以纠正答案。 使用 --use-rag 选项运行演示程序,并提出同样的问题。 $ ./eiq_genai_flow--use-neutron --use-rag YuseiUegama_3-1749460170890.png 我们确认所获得的答案符合数据库指令的规范。 6. RAG数据库更新 NXP 在以下链接提供了一个 RAG 数据库生成器: dm-eiq-genai-flow-demonstrator/retrieval-database-generator at main · nxp-appcodehub/dm-eiq-genai-flow-demonstrator · GitHub YuseiUegama_2-1749459852554.png 6.1.在主机上进行设置 在默认环境下,胰岛素注射器手册已经编译到 RAG 数据库中,但本章我们将从 PDF 文件更新数据库。 移动到 edm-eiq-genai-flow-demonstrator 下的 retrieval-database-generator 目录,该目录是您在第 3 章中克隆的。 $ cd retrieval-database-generator 安装所需软件包 $ ./install.sh 要在此生成器的解析过程中使用对接功能,请运行以下命令: $ pip install docling==2.14.0 检索数据库生成器目录具有以下结构: 将要转换为 RAG 数据库的 PDF 文件放在 input_files 目录下。 . ├── assets ├── install.sh ├── LICENSE.txt ├── pyproject.toml ├── README.md └── src ├── data │ ├── chunked_files │ ├── input_files │ │ └── <<< PUT PDF FILES HERE >>> │ ├── parsed_files │ └── rag_database.pkl ├── document_parsing └── rag 这次,我们将使用i.MX 机器学习用户指南作为验证文件,该指南总结了 i.MX 的 AI/ML 相关信息。 $ cd src/data.input_files $ wget https://www.nxp.com/docs/en/user-guide/IMX-MACHINE-LEARNING-UG.pdf 现在设置已经完成,我们将开始将 PDF 文件转换为数据库的过程。 6.2 解析 PDF 使用以下命令将 input_files 中的 pdf 文件转换为 md(Markdown)格式。 $ python -m document_parsing 解析成功完成后,您可以看到 PDF 已转换为 MD,如下所示。 PDF YuseiUegama_4-1749460249764.png md(Markdown) YuseiUegama_5-1749460272708.png 6.3.生成块(Markdown -> 块) 使用以下命令将 md 文件转换为块。 $ python -m rag.preprocessing.generate_chunks 分块成功完成后,将在 chunked_filesd 目录中生成一个 json 文件。 也可以通过手动编辑此文件来手动修改数据库。 请参阅Medical_hand_made_chunks.json 。 { "id": { <--- A unique identifier (mandatory) "chunks": [], <--- A list of text chunks (mandatory) "metadata": "...", <--- Additional metadata (optional) ... <--- Other optional metadata fields }, ... <--- Other dict of chunks and metadata } 6.4.生成 RAG 数据库(块->pkl) 使用以下命令将数据块转换为数据库(pkl)。 $ python -m rag.preprocessing.generate_embeddings 6.5.RAG数据库操作检查 您可以使用以下命令检查您创建的数据库的运行情况。 $ python -m rag -v 作为测试,我们来查询一下“tensorflow-lite demo”的路径,该路径在i.MX 机器学习用户指南中描述如下: PDF摘录 YuseiUegama_6-1749460330359.png RAG验证结果 YuseiUegama_7-1749460340073.png 得到了我想要的答案! 使用FTP、SD 卡写入器等方式,将上述过程中创建的pkl文件传输到i.MX 95EVK上的“eiq_genai_flow/rag/src/data/”文件夹,从而更新RAG数据库。 6.6.使用 EVK 进行验证 首先,我想问一下不使用 RAG 的TensorFlow lite 演示。 $ ./eiq_genai_flow--使用中子 YuseiUegama_0-1749461872635.png LLM 生成了一个通用答案。 接下来,启用 RAG并提出相同的问题。 $ ./eiq_genai_flow--use-neutron --use-rag YuseiUegama_1-1749461892853.png 我们已确认我们的自定义数据库在 EVK 上运行正常! 7. 音频输入/输出演示 eIQ Gen AI Flow 还支持语音输入和输出。 7.1.设置 如图所示,将扬声器和麦克风连接到 EVK 上的音频插孔。 YuseiUegama_1-1749459822093.png 7.2.演示运行 在 EVK 上运行演示程序,并使用选项“--input-mode vasr”。 $ ./eiq_genai_flow--use-neutron --输入模式 vasr 将显示以下等待窗口,说出唤醒词“Hey NXP”后即可开始语音输入。 剧透 (选中阅读) root@imx95-19x19-lpddr5-evk:~/eiq_genai_flow# ./eiq_genai_flow--use-neutron --i 输入模式 vasr 目标设备:i.MX95 [VITapp] 支持的唤醒词: [VITapp] '嘿,恩智浦!' 使用的ASR模型:whisper-small.en [NeutronEP:分配器] CMA 用户空间内存 1536 MB Neutron:内核缓冲区虚拟地址 0xfffdca200000,填充地址 0x100000000,对齐地址 0x100000000,大小 0x80000000,对齐方式 0x0 高位 0x1,低位 0x0,偏移量 0x0 [NeutronEP:分配器] 0 0xfffdca200000 512 MB [NeutronEP:分配器] 1 0xfffdea200000 512 MB [NeutronEP:分配器] 2 0xfffe0a200000 512 MB 2025-05-20 22:01:40.086599445 [W:onnxruntime:, session_state.cc:1168VerifyEachNodeIsAssignedToAnEp] 某些节点未分配给首选执行提供程序,这可能会对性能产生负面影响,也可能不会。例如ORT 明确地将与形状相关的操作分配给 CPU 以提高性能。 2025-05-20 22:01:40.086685028 [W:onnxruntime:, session_state.cc:1170VerifyEachNodeIsAssignedToAnEp] 在非最小构建版本上以详细输出重新运行将显示节点分配。 使用的LLM:danube-onnx TTS模型采用16kHz量化 ### ## Speak the wakeword to start ## ### root@imx95-19x19-lpddr5-evk:~/eiq_genai_flow# ./eiq_genai_flow--use-neutron --i 输入模式 vasr 目标设备:i.MX95 [VITapp] 支持的唤醒词: [VITapp] '嘿,恩智浦!' 使用的ASR模型:whisper-small.en [NeutronEP:分配器] CMA 用户空间内存 1536 MB Neutron:内核缓冲区虚拟地址 0xfffdca200000,填充地址 0x100000000,对齐地址 0x100000000,大小 0x80000000,对齐方式 0x0 高位 0x1,低位 0x0,偏移量 0x0 [NeutronEP:分配器] 0 0xfffdca200000 512 MB [NeutronEP:分配器] 1 0xfffdea200000 512 MB [NeutronEP:分配器] 2 0xfffe0a200000 512 MB 2025-05-20 22:01:40.086599445 [W:onnxruntime:, session_state.cc:1168VerifyEachNodeIsAssignedToAnEp] 某些节点未分配给首选执行提供程序,这可能会对性能产生负面影响,也可能不会。例如ORT 明确地将与形状相关的操作分配给 CPU 以提高性能。2025-05-20 22:01:40.086685028 [W:onnxruntime:, session_state.cc:1170VerifyEachNodeIsAssignedToAnEp] 在非最小构建版本上以详细输出重新运行将显示节点分配。使用的LLM:danube-onnx TTS模型采用16kHz量化 ### ## Speak the wakeword to start ## ### 您可以在下面的视频中看到音频输入和输出。 (在“我的视频”中查看) 8. 总结 使用eIQ Gen AI Flow和SoC i.MX 95 ,可以评估 LLM+RAG,这对于嵌入式设备来说是理想的选择。 我们拥有端到端的解决方案环境,其中不仅包括 LLM 和 RAG,还包括音频输入/输出环境。 通过使用RAG 生成器,即使是 LLM 和 RAG 初学者也可以轻松自定义他们的 RAG 数据库。 ========================= 我们目前无法回复此帖子“评论”部分的评论。 对于由此造成的不便,我们深表歉意。如有任何疑问,请参阅“ NXP技术问题-如何联系我们(日语博客) ”。 (如果您已经是恩智浦的分销商或与恩智浦有合作关系,您可以直接询问负责人。) 要在嵌入式设备的有限资源内使用 LLM,需要RAG 。 在本文中,我们将以实践操作的形式介绍 NXP 的 LLM + RAG 解决方案“eIQ GenAI Flow” 。 i.MX处理器 MCUXpresso SDK SW | 下载 技术聚焦 日本博客
View full article
下一代非易失性存储器MRAM:其特性(日文博客) 下一代非易失性存储器, MRAM 随着制程技术的不断进步,将传统闪存集成到28纳米及以下世代的微控制器中变得越来越困难。因此,许多公司正在考虑用非易失性存储器(NVM)来替代闪存,用于其下一代微控制器。其中一种替代方案是磁阻随机存取存储器( MRAM ),这是一种利用磁性来存储数据的下一代非易失性存储器。 恩智浦半导体和台积电将携手推出业界首款采用16nm FinFET工艺的汽车嵌入式MRAM 。 https://www.nxp.jp/company/about-nxp/newsroom/NW-NXP-AND-TSMC-DELIVER-FIRST16NM-FINFET-MRAM 恩智浦半导体将在其最近发布的S32K5系列汽车微控制器中采用MRAM。 https://www.nxp.jp/products/S32K5 Keita_Nagashima_0-1753852859023.png 以下是MRAM与现有闪存相比的一些一般特性: 特征 MRAM 闪存​ 重写速度 高速 晚的 重写电阻 非常高 有限的 数据保留期限 几十年 几年到十年 即时的 高(接近DRAM) 低(带写入延迟) ・MRAM极快的写入速度不仅在产品开发过程中非常便捷,还能显著缩短大规模生产线上的程序写入时间,从而降低生产成本。我们相信,这也有助于实现高速处理,并在执行FOTA时降低功耗。 ・与闪存不同,MRAM 无需先擦除数据即可覆盖写入,这使得软件开发成为可能。 此外,MRAM 的重写次数远高于闪存,因此无需区分程序和数据记录用途,使用起来更加灵活。在某些情况下,它还可以用作速度稍慢的 SRAM。 概括 -虽然下一代主流汽车系统非易失性存储器的发展在一定程度上取决于未来的市场趋势,但我们相信,由于工艺小型化而实用性提高的 MRAM 无疑是下一代产品的领先候选者。 ========================= 我们目前无法回复此帖子“评论”部分的评论。 对于由此造成的不便,我们深表歉意。如有任何疑问,请参阅“ NXP技术问题-如何联系我们(日语博客) ”。 (如果您已经是恩智浦的分销商或与恩智浦有合作关系,您可以直接询问负责人。) ​ 随着制程技术的不断缩小,将传统闪存集成到28纳米及以下世代的微控制器中变得越来越困难,因此许多公司正在考虑用非易失性存储器(NVM)来替代闪存,用于其下一代微控制器。MRAM 就是这样一种非易失性存储器。 本文介绍了MRAM的特性。 (阅读时间:5分钟) 通用微控制器 技术聚焦 日本博客
View full article
HSEインストール用の16進数をフラッシュした後、コードがメインにジャンプしない こんにちは、 HSE ファームウェアのインストールサンプル コードを s32K312 に移植しました。 MCU をフラッシュした後、HSE ファームウェアをインストールしてデバッグ モードで実行することはできますが、プロジェクトの 16 進ファイルを直接フラッシュすると、MCU をリセットした後にメインにジャンプしないため、ファームウェアがインストールされないという問題が発生します。 IVT を使用したインストールを使用しています。リンカーファイルとboot_header.cをご覧ください。参照用のファイルです。 そして、その解決策を提供します。 Re: code not jumping to main after flashing hex for hse installation S32K312 が 16 進ファイルのフラッシュ後にメインにジャンプしない (ただしデバッグ モードでは動作する) 理由をデバッグするには、いくつかの重要な領域に焦点を当てる必要があります。 IVTとブートヘッダーの構成 IVT/ブートローダーとリンカースクリプトの整合 リセットベクトルとブートエントリの動作 ウォッチドッグのリセットまたは早期障害の可能性 HSE ファームウェアのインストールを IVT に移植し、スタンドアロンの 16 進フラッシュに関する問題について言及しているので、リンカー スクリプトを共有してください。これらを確認すると、設定ミスやセットアップ手順の不足がないか特定するのに役立ちCANます。mymilestonecard.com アクティベート Re: code not jumping to main after flashing hex for hse installation リセット後にアプリケーションが起動しないが、デバッグ モードで動作するという問題の場合、ほとんどの場合、次の原因が考えられます。 IVT が間違ったリセット ベクトルを指しています HSEファームウェアアドレスの不一致 リンカーが IVT/boot_header を正しい場所に配置しない リセットベクターセクションが正しくマップされていません publixsurvey.com Re: code not jumping to main after flashing hex for hse installation こんにちは、 私は s32k344 用に提供されたサンプル コードを移植し、確認したところ、リンカー ファイルが s32k344 と同じであることがわかりました。 メッセージにファイルを添付しました。確認して、何が間違っているのか教えてください。 Re: code not jumping to main after flashing hex for hse installation こんにちは、 S32K312 の場合、リンカー ファイルと boot_header.c で IVT とブート構成が正しく設定されていることを確認します。HSE GPR ステータス レジスタをチェックして、ファームウェアが存在するかどうかを確認します。問題が解決しない場合は、不適切な IVT 更新によって起動に失敗する可能性があるため、IVT 更新プロセスを NXP サンプル プロジェクトに合わせてください。 Re: code not jumping to main after flashing hex for hse installation 解決策をご提供ください
View full article
HSE アプリケーションの更新 - フルメモリモードでアプリケーションを更新する方法 私はan745220-S32K3 HSEトレーニング - Oct2022(2.0)を読んでいます。完全なメモリのための HSE FW 更新手順に関するセクション。 少し混乱していますが、これはアプリケーション コードを更新することではなく、HSE FW 自体を更新することが目的のようです。 HSE FW は工場で固定され、アプリケーション ダウンロードの OTA を認証するために使用されると予想していました。 アプリケーション コードを更新し、認証するにはどうすればよいでしょうか?CAN ダウンロードを暗号化し、HSE を使用して復号化することはできますか? S32K344-WB Re: HSE Application Update - How to update the application in Full Memory Mode RM758225-RM00286 HSE-B ファームウェア リファレンス マニュアル - V2.5(2.5).pdf。これが私が必要としていたものです。ありがとう。 Re: HSE Application Update - How to update the application in Full Memory Mode A1. RM758225-RM00286 HSE-Bファームウェアリファレンスマニュアル - V2.5(2.5).pdf の 表37.主要カタログを お読みください。 HSE ファームウェアは、安全な HSE メモリ領域 (HSE コード フラッシュ) に保存されます。 ファームウェアのインストール中に「3.2.4 フラッシュ メモリ レイアウト (FULL_MEM)」 の章と、 「RM758225-RM00286 HSE-B ファームウェア リファレンス マニュアル - V2.5(2.5).pdf」 の 「3.5.5 S32K344、S32K314、および S32K324 デバイスのフラッシュ メモリ レイアウト」をお読みください 。 A2.HSE は現場で更新CANますが、アンインストールすることはできません。アプリケーションをダウンロードするたびに HSE FW を更新する必要はありません。 RM758225-RM00286 HSE-Bファームウェアリファレンスマニュアル - V2.5(2.5).pdf の第 11章「HSEファームウェアアップデート」 をお読みください。 申し訳ありませんが、これについてはよく分かりません。HSE 関連の問題は、一般社会での議論には適していません。https://www.nxp.com/support/support:SUPPORTHOME?tid=sbmenu で サポート チケット を送信することをお勧めします。私の同僚があなたを助けます。 Re: HSE Application Update - How to update the application in Full Memory Mode ご返答ありがとうございます。これによって一つの問題が解決します。 私のプロジェクトにはブートローダーとアプリケーションがあります。ブートローダーは一度ロードされ、現場で更新されることはありません。通常、ブートローダーを使用して、新しいアプリケーション イメージをダウンロードし、フラッシュに書き込みます。通常、新しいイメージを検証するには、CRC チェックの基本的な手段を使用します。 HSE について読んでみると、アプリケーションをより安全に更新するために使用できるようです。あなたの電子メールとドキュメントから、HSE FW を最初にロードする必要があることがわかりました。 これは、A/B スワップではなく、完全なメモリ アプローチを使用していると仮定した場合の、プロセスの概要についての私の理解です。 HSE FW をインストールしますが、関連する HSE ハードウェアがあると思います。HSE には独自の保護されたメモリ領域がありますか、それとも製品ボードの NVM を使用してキーを保存しますか? HSE ファームウェアは製品フラッシュに保存されますか、それとも安全な HSE メモリ領域に保存されますか? HSE は現場で更新CANますが、アンインストールすることはできません。アプリケーションをダウンロードするたびに更新する必要がありますか? ARINC 429 などの通信バス経由で新しいアプリケーションをダウンロードすると、HSE FW がこれを認証します。私の理解するとおりです。送信者は対称キーを使用して GMAC コードを作成し、新しいアプリケーション イメージとともにバス経由で送信します。HSE は独自のキーのコピーから GMAC を再作成します。次に、これら 2 つを比較してアプリケーション イメージを認証します。 使用中のキーはCAN変更できますか?それはどうやってやるんですか? 全体的に見て、これはあまり安全ではないようです。何が足りないのでしょうか?ハッカーがそのキーを入手した場合、希望するソフトウェアをダウンロードできます。 さらに、ダウンロード前にイメージを暗号化し、HSE が別の非対称キーを使用してそれを復号化することは可能ですか?それはどのように機能するのでしょうか。 フルメモリモードを使用するので、NVM キーカタログを作成する必要はないと思います。それは正しいですか。BSB は ADKP のワンタイム生成キーを使用します。それはどこに保存されていますか? HSE はダウンロードを自動的に認証しますか、それともそれをリクエストする必要がありますか?HSE が現在このタスクを実行している場合、ブートローダは検証においてどのような役割を果たすのでしょうか?HSE はブートローダーのこの部分を置き換えますか? ブートローダーは、依然として新しいイメージのダウンロードを容易にする必要があります。 助けてくれてありがとう。私が言ったことの間違いがあれば訂正してください。このプロセスについてさらに詳しく説明していただければ幸いです。 Re: HSE Application Update - How to update the application in Full Memory Mode ハイ はい。これは HSE FW 自体を更新するものであり、アプリケーション コードを更新するものではありません。 OTAに関しては、前回の議論を参照することをお勧めします: A/BスワップOTAアップデートを備えたデュアルアプリケーションブートローダー - S32K3XX よろしくお願いします、 ロビン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「解決策として承認」ボタンをクリックしてください。ありがとう! - Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。 ---------------------------------------------------------------------------------
View full article
S32DSの証明書 サードパーティ認証要件を満たした S32DS の証明書を提供できますか? Re: Certificate of S32DS S32DSまたはRTDのリリースノートとMCUのエラッタシート Re: Certificate of S32DS はい、分かりました。まだいくつか質問があります。MCU (S32K144) の S32DS の既知の脆弱性と欠陥の対応する表はありますか?ソフトウェア開発におけるこれらの脆弱性や欠陥を回避するにはどうすればよいでしょうか? Re: Certificate of S32DS S32DS は、無料のコンパイラである GCC をネイティブで使用するため、ASIL 開発には使用できません。 CASE アプリケーションが ISO26262 に準拠する必要がある場合、認定コンパイラが必要です。IAR、GHS、Diab は認定されていますが、無料ではないことはわかっています。S32DS IDEs で使用される外部コンパイラ用のプラグインがあります。 Re: Certificate of S32DS プロジェクトのセーフティ認証に関して問題があります。機能安全評価の 1 つにツール信頼性評価があり、ソフトウェア開発プロセス中の関連ツールが ASIL レベルの要件を満たすことができるかどうかを評価する必要があります。無料のデフォルトツールとして、S32DS はソフトウェア開発の機能安全レベルを満たすことをCAN保証できますか?対応する証明書または認定資格をお持ちですか? Re: Certificate of S32DS もっと具体的に教えていただけますか?
View full article
マルチキャストVLANタグ付き不正パケットによりEMACが異常な送信を行う こんにちは、チームの皆さん この問題はhttps://community.nxp.com/t5/S32G-Internal-Community/Malformed-Undersized-frame-cause-PFE-VLAN-bridge-forwarding/td-p/2174314から引用されています。 調査の結果、以下の方法でS32G RDB2上で再現できました。 環境: PC -- 不正なパケット --> EMAC1 --> PFE VLAN_BRIDGE --> EMAC2 --> PC、Wireshark FCI 構成: libfci_cli bd-add --vlan=2 for x in emac1 hif0 hif1 hif2 ; do libfci_cli bd-insif --vlan=2 -i $x --tag=ON; done for x in emac2 ; do libfci_cli bd-insif --vlan=2 -i $x --tag=OFF; done libfci_cli phyif-update -i emac1 --mode=VLAN_BRIDGE libfci_cli bd-print 不正なパケットをEMAC1に送信しています。不正なパケットは、通常の IP パケットを切り捨てることによって形成されます。 その後、異常なパケットを Wireshark で観察CAN。主な条件は次のとおりです。 VLANタグ付き不正パケット、 パケットはEMAC2、HIF0、HIF1、HIF2に転送されます。 EMAC2ではVLANタグが削除されます 実験の結果、GPI_DTX_ASEQ を 0x60 に初期化するとこの問題を回避CANことがわかりました。 DDR バッファのレイアウト。 これをどう説明すればいいのでしょうか、根本的な原因は何でしょうか? よろしくお願いいたします ライダー PFE Re: Multicast vlan tagged malformed packets cause EMAC to send abnormal こんにちは、セバスチャン。 G3 では問題が再現されませんでした。レプリカ数が 4 未満の場合、この問題は発生しません。また、Post 分類ヘッダーに問題は見つかりませんでした。SO、FW の問題ではないと考えています。 Re: Multicast vlan tagged malformed packets cause EMAC to send abnormal マニュアルでは x40 または x50 と記載されているレジスタに x60 を書き込むという提案された解決策は非常に危険であるように思われます。aseq_len の値は、ハードウェアの回避策とパフォーマンス (G3 でも異なります) のために、長年にわたって数回変更されています ( AAVB-2028およびリンクされたチケットを参照)。おそらく、この価値を再検討CANでしょう。この問題は G3 でも発生しますか? 通常、VLAN タグは GPI HW ブロックによって追加/削除されます。しかし、GPI はチェックサムの小さなフレームに対してはバグが多いことが分かっています。VLAN タグの追加/削除にもバグがあるようです。SO、おそらく PFE FW で回避策を実装する必要があるでしょう。 FW バグ チケットANET-897を作成しました。分析の計画を開始し、PFE チームで問題を再現してみるCAN。 PS: Lauterbach でパケットをダンプするときは、ネットワークのエンディアンを確認できるように/byteオプションを使用してください。Wireshark でキャプチャしたパケットを前後に取得しておくと役立つかもしれません (リンクされたチケットでCAN)
View full article
S32K(ST05 板)上未收到 CAN FD 远程帧响应 说明: 你好、 我正在研究 CAN FD 设置,我使用 ST05 板作为一个节点,将 PeakCan 用作另一个节点。 我从 ST05 发送一个远程帧。 在 PeakCAN 上,我可以在 PeakView 中看到这个远程帧。 然后,我从 PeakCAN 手动发送一个数据帧(具有相同的 ID)作为响应。 问题: ST05 板未收到数据帧响应。 注意: 我使用的是一个信息缓冲器。缓冲区首先用于传输远程帧,然后在发送后自动切换到RX 模式。 远程帧传输正常,但接收不到响应数据帧。 问题 在发送远程帧和接收相应数据帧时使用同一个信息缓冲区是否有任何限制? 我是否需要配置单独的 RX 报文缓冲区,以便在发送远程帧后接收数据帧? 还是我遗漏了 FlexCAN 中的某些配置? 提前感谢! Re: CAN FD Remote Frame Response Not Received on S32K (ST05 board) 您好, 在 CAN FD 中,完全不支持远程帧 - 远程请求替换 (RRS) 始终占主导地位 (0)。当配置 TX MB 发送 CAN FD 帧时,RTR 必须为 0,因此不会切换到 RX MB。 对于经典 CAN 帧,RTR 是有效的,切换到 RX MB 将对 FlexCAN 起作用。 BR, Petr
View full article
eMIOSによるDMAを定期的にトリガーする こんにちは、 私は S32K344 を使用しており、以前はPIT を使用して DMA 転送を定期的にトリガーしていました(具体的には、あるバッファーから別のバッファーにデータを移動していました)。この設定はうまく機能しました。 現在、 PIT を eMIOS に置き換えてDMAMUXを定期的にトリガーしようとしていますが、問題が発生しています。私は、OPWMB モードで eMIOS を使用してこれを実装し、周期的な信号を生成して、PIT と同様に DMAMUX をトリガーすることを期待しました。ただし、DMA 転送は行われていないようです。 デザインを明確にし、サポートを得るために、セットアップを再現する最小限のサンプル プロジェクトを作成しました。含まれるもの: 定期的な出力用に設定されたeMIOS トリガー時にデータを転送するためのDMAMUXとDMAのセットアップ 単純なバッファ間転送 どなたか調べていただき、何が問題なのかを特定したり、eMIOS が DMAMUX を確実にトリガーするための正しい構成を提案していただければ幸いです。 Re: Trigger the DMA by eMIOS periodically こんにちは、 はい、フラグが設定されると DMA 要求が生成されます。フラグ設定時間は使用するモードによって異なるCAN。 OPWMB モードでは、これは BS1 一致 (後縁) または AS1/BS1 両方一致 (前縁/後縁) のいずれかになります。 OPWMT モードでは、フラグは AS2 マッチ時にのみ設定されます。AS1、BS1、または BS2 の一致はフラグに影響しません。SO、フラグ生成はエッジの配置に依存せず、PWM 期間にわたって自由に設定できます。 BR、ペトル Re: Trigger the DMA by eMIOS periodically こんにちは、 今は動作しています。情報ありがとうございます! eMIOS PWMを使用して DMA を定期的にトリガーする必要があります。現在の設定では、 25 µs 周期のOPWMB モードを使用しています。私の理解では、DMA 要求はフラグが設定されたときに生成され、これはPWM 期間の終了時に発生します。 ご確認いただけますでしょうか: OPWMB モードでは、DMA 要求は後縁、つまり期間の終わりにタイムベース カウンタがリロードされるときにトリガーされますか? また、定期的な DMA トリガーの場合、 OPWMT モードの方がOPWMBよりも正確かどうかも検討しています。 たとえば、タイムベースを25 µs (つまり、1000 ティック)に設定し、 TRIGGR を1000 ティックでアクティブにするように設定した場合、 OPWMT はより優れた制御またはタイミング精度を提供しますか? 定期的な DMA トリガーに最適なモードについて、詳細な洞察や推奨事項を共有していただければ幸いです。 よろしくお願いいたします! Re: Trigger the DMA by eMIOS periodically こんにちは、 eMIOS チャネルで DMA トリガーが完全に有効化されていませんでした。以下のコードを追加 PetrS_0-1760514820816.png BR、ペトル
View full article
在 i.MX 8MP 上拉动 RTSP 数据流失败 嗨,社区 # iMX 800 万像素 @ Harvey021 我在拉取 rtsp 数据流时遗漏了一个问题。 "RTSP_URL" 已通过 VLC 验证。 视频编码H264 命令:gst-用上市-1.0 rtspsrc location=$rtsp_URL 队列!rtph264depay !V4L2H264DEC !自动视频水槽 目标图像版本: linux6.6.36 full 目标机: i.MX 8mp noway_1-1762140306278.png Re: Pull RTSP stream failed on i.MX 8MP 你好, 是否有更多信息? 致敬, Zhiming Re: Pull RTSP stream failed on i.MX 8MP 视频的帧频为 10。详细信息如下。 noway_0-1762829616720.png Re: Pull RTSP stream failed on i.MX 8MP 你好@noway 如果你想解码 60FPS 的视频,最大分辨率是 1080p,而 gstreamer 的最大分辨率是有限的。 随着 VPU 分辨率的提高,性能也会下降。 对于 opencv,您可以尝试以下配置。 gst = f"rtspsrc location={RTSP_URL} protocols=tcp latency=50 ! " \ f"rtph265depay ! h265parse config-interval=-1 ! " \ f"decodebin ! videoconvert ! video/x-raw,format=BGR ! " \ f"queue max-size-buffers=1 leaky=downstream ! " \ f"appsink drop=true max-buffers=1 sync=false" cap = cv2.VideoCapture(gst, cv2.CAP_GSTREAMER) 致敬, Zhiming Re: Pull RTSP stream failed on i.MX 8MP 感谢您的回复,解码现已正常。不过,我仍然有两个问题: 当我将视频分辨率从 1080p 改为 2K 时,它无法解码 有关日志请参阅附件"pull.log" 。 2.使用 Python 解码时,我发现获取一帧数据需要 0.4 秒--为什么这么慢? 代码请参阅附件"rtsp.py" 。 noway_0-1762767557119.png Re: Pull RTSP stream failed on i.MX 8MP 您好, 请尝试使用以下命令分割音频和视频配置。 gst-launch-1.0 -v rtspsrc location=xxxxx name=src protocols=tcp latency=100 \ src. ! queue ! application/x-rtp,media=video,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! v4l2h264dec! videoconvert ! autovideosink \ src. ! queue ! application/x-rtp,media=audio,encoding-name=MPEG4-GENERIC,payload=97 ! rtpmp4gdepay ! aacparse ! avdec_aac ! audioconvert ! audioresample ! autoaudiosink 致敬, Zhiming Re: Pull RTSP stream failed on i.MX 8MP 他表示没有找到 avdec_h264。 noway_0-1762331427583.png 然后我尝试了 v4l2h264dec,或非成功。错误日志请参阅附件。 正在尝试命令:gst-用上市,不用发布-1.0-v rtspsrc location=$RTSP_URL protocols=tcp latency=100 !rtph264depay !V4L2H264DEC !autovideosink> pull.log 2>& 1 Re: Pull RTSP stream failed on i.MX 8MP 你好, ,请尝试使用以下命令。 gst-launch-1.0 -v rtspsrc location=$RTSP_URL protocols=tcp latency=100 ! rtph264depay ! avdec_h264 ! autovideosink 致敬, Zhiming
View full article
是否有关于调整 PN7150 上的 RF 配置参数的指南? 我正在尝试提高围绕 PN7150 构建的定制板的读取可靠性。我怀疑一个主要组件是正在写入控制器的 RF 配置参数,因为我们目前正在使用来自示例的值,根据注释,这些值已调整到演示板。 我发现 AN13218 描述了如何调整 PN7160 的这些参数。我认为 PN7150 的过程类似,但我在任何地方都找不到它的记录。我希望能够只使用 PN7160 文档,但根据我在 PN7150 示例中看到的值,转换 ID 似乎有所不同。 回复:是否有关于调整 PN7150 上的 RF 配置参数的指南? 谢谢@KaiLi , UM10936 不包含转换 ID,而是指向 AN11755 [PN7150 天线设计和匹配指南]。我之前曾找到过这份文件,但没有完整阅读,错误地认为它只包含有关调整天线和外部匹配网络的信息。该文档的后半部分似乎描述了调整 RF 配置的过程,该过程几乎与 PN7160 可用的单独文档相同。
View full article
i.MX7DのPLL出力周波数を変更するにはどうすればよいですか こんにちは。 i.MX7DのPLL出力周波数を変更するにはどうすればよいですか。 リファレンスマニュアルのPLLセクションに見つかりませんでした。 ありがとうございます。 Re: i.MX7D の PLL 出力周波数を変更するにはどうすればよいですか IMX7Dを使用しているため、DTSファイルには7d.dtsiが含まれているはずです、7D CPU周波数設定の場合は7d.dtsiを参照でき、Mコアの場合はSDKをダウンロードできます MCUXpresso SDK Builder Re: i.MX7D の PLL 出力周波数を変更するにはどうすればよいですか Linuxを使用していますか?はいの場合は、DTSIファイルでこれを設定でき、opp-tableを見つけます https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/arch/arm/boot/dts/nxp/imx/imx7d.dtsi Re: i.MX7D の PLL 出力周波数を変更するにはどうすればよいですか どのPLLを変更する必要がありますか?
View full article
为安装 HSE 闪烁十六进制后,代码不跳转到主系统 您好, 我为 s32K312 移植了 HSE 固件安装示例代码。 我可以在刷新 mcu 之后安装 HSE 固件并在调试模式下运行它,但是当我直接刷新项目的十六进制文件时我遇到了问题,然后它无法安装固件,因为它在 RESET mcu 后它没有跳到主服务器。 我正在安装 IVT。请查看链接器文件和 boot_header.c文件供您参考。 并提供相应的解决方案。 Re: code not jumping to main after flashing hex for hse installation 为了帮助您调试为什么 S32K312 在闪存十六进制文件后不能跳转到主菜单(但在调试模式下可以工作),我们需要关注几个关键方面: IVT 和启动头配置 链接脚本与 IVT/bootloader 对齐 RESET 向量和启动条目行为 可能的监视器RESET或早期故障 既然你已经使用 IVT 移植了 HSE 固件安装,并提到了独立组网 (SA) 十六进制刷新的问题,请分享你的链接脚本。看到这些信息后,我就可以帮助确定是否存在配置错误或缺少设置步骤。 mymilestonecard.com 激活 Re: code not jumping to main after flashing hex for hse installation 如果问题是应用程序在RESET后无法启动,而是在调试模式下运行,则几乎总是由于: IVT 指向错误的 RESET 向量 HSE 固件地址不匹配 链接器未将 IVT/boot_header 放在正确位置 RESET 矢量部分映射不正确 publixsurvey.com Re: code not jumping to main after flashing hex for hse installation 您好, 我移植了为 s32k344 提供的示例代码,检查后发现链接文件与 s32k344 相同。 我在邮件中附上了文件。请检查并告诉我哪里做错了。 Re: code not jumping to main after flashing hex for hse installation 您好, 对于 S32K312,请确保在链接器文件和 boot_header.c 中正确设置了 IVT 和启动配置。检查 HSE GPR 状态寄存器,确认固件是否存在。如果问题仍然存在,请使您的IVT更新流程与恩智浦示例项目保持一致,因为不正确的IVT更新可能会导致启动失败。 Re: code not jumping to main after flashing hex for hse installation 请提供解决方案
View full article
S32V234 的完整详细信息 嗨,团队、 我想购买一台 S32V234-EVB2,它可以在演示中显示,同时实时部署,确定它与索尼相机等子部件工作的完整性级别。 S32V234-EVB2 评估板 12 V 电源适配器 2x10 针至 2x5 针 适配器 ,适用于 JTAG 我与你们的一位代表 LINA 交谈过。我很高兴她帮了我,也帮了 Veronika。 我要的是原样,或者可以是多个部件,这样我就可以组装它,并在我向你们下单购买时为我的工作分配一个支持。 这是我的项目用途,我是真正的买家,一旦我得到完整的细节,我就会得到它,我对它的满意程度会让我完全愿意从贵公司购买它。我在该产品中提供了完整的详细信息,包括演示中定义的所有部件。 Re: Complete details of S32V234 你好@SY1602、 感谢您联系我们。我知道你的要求是购买 S32V234 开发板,因为这个社区是为了获得技术支持,我无法帮助你完成购买流程,请联系 S32V234 产品页面查看可用部件,并查看你所在地区的可用代理商: alejandro_e_0-1753407486015.png 如果您在查找某些信息时遇到困难,请告诉我、 如果我对您的要求理解有误,请告诉我。 谢谢!
View full article
NTAG424 DNA用のAndroidアプリでSDMとミラーリングを実装する方法 これを実装しようとしましたが、エラーが発生しました。キーを変更し、ファイル 2 を構成し、タグを使用して uid、カウンター、および cmac をミラーリングしたいと思います。このタスクを正確に完了する方法。 Re: how to implement sdm and mirroring in my android app for NTAG424 DNA   お世話になります。 弊社製品をご利用いただきありがとうございます。 この実装の手順を示すアプリケーション ノートがあります。セクション 5「パーソナライゼーションの例」の「NTAG 424 DNA」および「NTAG 424 DNA TagTamper の機能とヒント」には、実装に必要な手順が示されています。 適切な実装のために、またさらなるCASEが必要な場合にはログをより深く理解するために、 RFIDDiscoverを使用することを強くお勧めします。
View full article
KW45 - 带有 DMA 的 LPSPI 大家好, 我正在尝试使用 KW45B41Z-EVK 评估板实现单工 SPI 传输。我的目标是使用 DMA 执行快速 SPI 传输。最终目标是通过 LPSPI1 外设驱动 ILI9341 LCD 显示器。 我遇到的问题是 SPI 交易长度比软件指定的要长。当我尝试传输 4 字节时,总线上有 12 个字节。当我尝试传输 64 字节时,总线上有 72 字节。我发现传输的字节总是比我打算传输的字节多 8 个。这似乎与 "每帧比特 "字段有关,我之前将其设置为 8。将其更改为 16,我发现总线上传输的字节总是比应有的多 16 个字节。这当然会导致缓冲区溢出。 使用 LPSPI_MasterTransferEDMALite() 和 LPSPI_MasterTransferEDMA() 函数都能重现这些症状。调试器显示 bytesPerFrame 值为 1,因此我满足了 文档 中规定的条件 。 我需要帮助解决缓冲区溢出问题。我附上了项目目录Bringup_LPSPI_eDMA.zip 谢谢! 阿鲁什 Re: KW45 - LPSPI with DMA 你好 您能否帮助我们确认您所指的外设工具是否是 MCUXpresso 配置工具中的工具? 有关该工具和 MCUXpresso 工作流程的更多信息,请参阅[MCUXIDECTUG]第 5 章和第 5.3 章。 在本指南中,您可以看到外设配置 请注意,我们不建议在无线示例中使用配置工具,因为它可能会覆盖无线部分所需的先前配置。 希望能帮到你! 顺祝商祺! 路易斯 Re: KW45 - LPSPI with DMA 你好 我指的是下面的示例:[kw45b41zevk_lpspi_edma_b2b_transfer_master]。示例和我自己的项目都使用SDK 版本 25.06.00(890 2025-06-27) 我没有第二个 EVK。我一直在用示波器进行测试。这些测试对于阻止该板上的SPI交易以及过去使用不同MCU的经验均有效。 该示例项目确实可以正常运行,它传输的正好是 TRANSF ER_SIZE 宏所指定的 64 字节。在我的项目中,我通过外围设备配置工具进行所有外围设备配置。初始化代码由该工具自动生成,运行时代码遵循示例的逻辑。我怀疑漏洞在这里,但我无法完全找到。 顺便说一句;外围设备工具的工作流程是我在 S32 平台 " 的 " S32DS 和适用于 ARM " IDE 的 " S32DS 时所遵循的。但我所看到的 MCUXpresso 示例中没有一个使用了外设工具。在哪里可以找到使用外设工具的 KW45 示例? 谢谢! 阿鲁什 Re: KW45 - LPSPI with DMA 你好,阿鲁什、 您能否帮助我们确认您是否使用了 SDK 示例作为基础?在最新版本[25.06]中提供了 SDK 示例、可以满足您对 SPI DMA 传输的要求,例如 [kw45b41evk_lpspi_edma_b2b_transfer_master] ? 你有没有 2 块 KW4B4I-EVK 板? 顺祝商祺! 路易斯
View full article
Lin_Slave_S32K118_Example_DS 编译错误 您好, 我安装了 S32DS V3.6.2250529(更新 2)、SW32K1_S32M24x_RTD_R21-11_3.0.0_D2503_DesignStudio_updatesite.zip 和 SW32K1_S32M24X_LIN_STACK_2.0.0_D2503_DesignStudio_updatesite.zip。 然后我导入 Lin_Slave_S32K118_Example_DS,可以看到缺少一些头部文件,详情请参见附件"compiler error.txt" 。 我尝试在"C:\NXP\S32DS.3.6.2" 中搜索这些文件,并在编译路径中添加: LJX_0-1758943732075.png 但仍会报告 mcu.h -> Mcu_Cfg.h编译器"[!" 错误: LJX_2-1758943975919.png Q1: 请帮助检查环境是否有问题? 问题 2:我试图在 S32DS 中设置 LIN 栈配置,然后将 LIN 代码移植到我的 keil 编译环境中,您能给我一些建议吗? 此致, Re: Lin_Slave_S32K118_Example_DS compile error Hi@LJX 从截图中的错误来看,您没有正确安装 RTD 和 LIN STACK。请仔细检查您的安装。 例如,您可以尝试打开 RTD 提供的一些示例。 Re: Lin_Slave_S32K118_Example_DS compile error 我尝试更新源代码,但会出现错误: LJX_1-1759131347768.png LIN Stack 文档显示支持 S32DS V3.6,但我现在使用的是 S32DS V3.6.2,所以这是 S32DS 版本问题? LJX_2-1759131373868.png Re: Lin_Slave_S32K118_Example_DS compile error Hi@LJX 您尝试过在编译项目前点击更新代码吗? Senlent_0-1759114685727.png
View full article
eiQ Toolkit TFLiteコンバータがエラーメッセージなしで失敗する オブジェクト検出モデルを、int8 量子化を使用して tensorflow から tflite に変換しようとしていますが、コンバーターがエラー メッセージなしで失敗します。また、モデル ツールはモデルを h5 でのみロードでき、keras v3 または saved_model としてロードすることはできません。 最近、このツールで成功したという投稿を見たことがあるのですが、何が問題なのかわかりません。関係があるのなら、モデルは Ultralytics の yolov8 です。 どのような洞察でもいただければ幸いです。 電子GUI Re: eiQ Toolkit TFLite Converter failing without error message こんにちは、 モデルが、TFLite ビルトインでネイティブにサポートされていない TensorFlow 演算子を使用する場合は、 tf.lite.OpsSet.SELECT_TF_OPS を有効にし、i.MX 上の TFLite ランタイムで Flex デリゲートが使用可能であることを確認します。   パフォーマンスと精度: 完全整数量子化は、8ビット整数に最適化されたハードウェア(i.MXのNPUなど)において、モデルサイズを大幅に削減し、推論速度を向上させることができます。ただし、モデルの精度への影響を慎重に評価し、必要に応じて代表データセットまたは量子化戦略を調整してください。   int8 への変換については、アプリノート AN13699 を参照してください。 https://www.nxp.com/docs/en/application-note/AN13699.pdf   よろしくお願いします。    
View full article
如何使 i.MX93 上的 U-启动 SPL 和 ATF/BL31 输出静音? 你好,恩智浦社区、 我正在使用一台基于i.MX93的设备,它具有双重用途的控制台端口:它既用于编程/调试设备,又用作与网络设备(思科、Fortigate等)的出站控制台连接。 问题:在启动期间将控制台电缆连接到外部网络设备时,U-Boot SPL 和 ATF/BL31 启动信息会回显到外部设备的控制台。如果外部设备也在启动,它可以将这些字符解释为输入命令,这可能会损坏其引导加载程序或配置。 我成功静音的内容:我已经在我的defconfig中使用以下配置成功地对U-启动进行了静音: CONFIG_SILENT_CONSOLE=y CONFIG_SILENT_CONSOLE_UPDATE_ON_SET=y CONFIG_SILENT_CONSOLE_UPDATE_ON_RELOC=y CONFIG_SILENT_U_BOOT_ONLY=y CONFIG_SYS_DEVICE_NULLDEV=y CONFIG_AUTOBOOT_KEYED=y CONFIG_AUTOBOOT_STOP_STR="\x03" CONFIG_AUTOBOOT_DELAY_STR="" 我还尝试在 common/spl/spl.c 中添加以下内容,使 SPL 保持沉默: void board_init_r(gd_t *dummy1, ulong dummy2) { /* 在 SPL 中强制静音控制台 */ gd->flags |= GD_FLG_SILENT; /* ... 其余代码...*/ } ```` 仍然输出的内容: 尽管做了这些更改,我仍然在控制台上看到 SPL 和 ATF 输出: U-启动 SPL 2023.04+gf8a2983ec83+p0(2024 年 3 月 4 日-07:25:04 +0000) SOC:0xa1009300 LC:0x2040010 PMIC:低驱动电压模式 DDR:3733MTS M33 准备就绪通知:BL31:v2.8(版本):lf-6.3-1.0.0-0-g8dbe28631 通知:BL31:版本:2024 年 1 月 22 日 17:57:56 问题 -对于 U-启动 SPL:i.MX93 的 U-Boot 2023.04 中是否存在 CONFIG_SPL_SILENT_CONSOLE?如果是这样,除了设置 gd->flags |= GD_FLG_SILENT 之外,还需要哪些其他配置? - 对于 ATF/BL31:建议采用什么方法来静音 ATF NOTICE 消息?我是否应该在 LOG_LEVEL=0 的情况下重建 imx-atf?有任何 i.MX93 特定的注意事项吗? -替代方法:是否有更好的方法可以防止早期启动阶段的输出影响联网设备?我考虑过在硬件寄存器级别禁用 UART TX,但不确定这是否是推荐的方法。 环境: -SoC:i.mx93 -U-Boot 启动版本:2023.04+gf8a2983ec83+p0-ATF 版本:v2.8 (lf-6.6.3-1.0.0-0-0-g8dbe28631 )-编译系统:基于 Yocto 如能提供任何有关关闭这些早期启动阶段的指导,我将不胜感激! 谢谢! 尼特什 Linux Yocto Project Re: How to silence U-Boot SPL and ATF/BL31 output on i.MX93? 大家好 感谢您的反馈和支持。只要稍作调整,我就能使用上述方法正确静音 u-boot-spl、ATF 和 u-boot。 谢谢、 尼特什 Re: How to silence U-Boot SPL and ATF/BL31 output on i.MX93? Sprunki Retak e 是的,我之前在恩智浦系统上处理过这个确切的问题 —— 当你的启动日志让思科交换机感到困惑时,这很烦人!对于 SPL 来说,CONFIG_SPL_SILENT_CONSOLE 确实存在于最近的 U-启动 版本(包括 2023.04)中,但是你还需要确保在 SPL 主机初始化路径的早期就尊重它——有些板稍后会重新启用主机。对于 ATF/BL31,你说对了:在 ATF make 命令中使用 LOG_LEVEL=0 进行重建(例如,make plat=imx93 LOG_LEVEL=0)——那里没有 i.MX93 特定的捕获量,只要确保 Yocto 配方通过该标志即可。 Re: How to silence U-Boot SPL and ATF/BL31 output on i.MX93? 你好 Jorge, 我在 Arm-trusted-启动 中添加了几个补丁,你可以更改宏注意事项 (...),比如你可以将 UART TX 引脚混到 GPIO 模式... [Wizard @Oz 解码器] $ cat br-extrn/patches/Arm-trusted-firmware/单行版本-time.patch --- a/bl31/bl31_main.c +++ b/bl31/bl31_main.c @@ -124,8 +124,8 @@ void bl31_main(void) /* Init per-world context registers for non-secure world */ manage_extensions_nonsecure_per_world(); - NOTICE("BL31:%s\n", version_string); - NOTICE("BL31:%s\n", build_message); + NOTICE("BL31:%s", version_string); + /* NOTICE("BL31:%s\n", build_message); */ #if FEATURE_DETECTION /* Detect if features enabled during compilation are supported by PE.*/ --- a/make_helpers/build_macros.mk +++ b/make_helpers/build_macros.mk @@ -436,7 +436,7 @@ endef # 允许 覆盖时间戳,例如用于可重现的 版本,或者 # 同步多个项目的时间戳。 # 必须设置为 C 字符串(包括引号(如适用))。 -BUILD_MESSAGE_TIMESTAMP?=__TIME__ ", "__DATE__ +BUILD_MESSAGE_TIMESTAMP? = $ (shell LC_ALL=C 日期-u +' (%Y-% m-%D %T) ') .PHONY:图书馆 @@ -560,8 +560,8 @@ $ (elf):$ (OBJS) $(默认链接器脚本)IFDEF make_build_strings $( 调用 make_build_strings,$ (build_DIR) /BUILD_MESSAGE.O)else-@echo 'con_sage.O st char build_message [] = " build: " $ (build_message_Timestamp);\-const ChaR 版本_字符串 [] = "${VERSION_STRING} ";\ + @echo 'const char build_message [] = " 构建时间:$ (BUILD_MESSAGE_TIMESTAMP) ";\ + const char version_string [] = "${VERSION_STRING}${BUILD_MESSAGE_TIMESTAMP} ";\ c onst char 版本 [] = "${VERSION} "; '|\ $$ (CC) $$ (TF_CFLAGS) $$ (CFLAGS)-xc-c--o $ (BUILD_DIR) /build_message.o endif Re: How to silence U-Boot SPL and ATF/BL31 output on i.MX93? 你好 在 U-启动 中没有添加 CONFIG_SPL_SILENT_CONSOLE 的选项。 我的其他建议是添加变量: "silent=1\0" \ 并赋予它一个不同于"0" 的值: 您可以在此检查配置: 使用静音控制台构建 uboot 映像。 关于在硬件层面禁用 UART TX,这可能是可行的。 在 ATF 或 SPL 中配置键盘设置,在 U-Boot/Linux 启动之前保持 TX 处于非活动状态。 顺祝商祺!
View full article
Nxps32k312 内存检查了解 你好@lukaszadrapa 我正在研究 NXP S32K312 微控制器,希望了解如何检测 RAM 和 ROM 内存错误。我注意到FCCU(故障收集和控制单元)可以用来监测此类错误。但是,使用FCCU似乎通常需要安装SAF(功能安全)驱动程序。我希望不要使用任何额外的驱动程序。有没有直接访问或激活 FCCU 寄存器的方法,或者有没有不依赖 SAF 驱动程序而检测 RAM 和 ROM 错误的其他方法? Re: Nxps32k312 RAM Check Understanding 你好@Anitha7、 正如我所说,使用 SPD 驱动程序。 Re: Nxps32k312 RAM Check Understanding 您好@danielmartynek ,感谢您的回复。请就如何检查 RAM 和 ROM 内存错误提出解决方案。 Re: Nxps32k312 RAM Check Understanding 你好,@Anitha7、 您不需要 SAF 向 SRAM 或闪存注入故障并通过 FCCU 进行检测。 相反,您可以使用标准 S32K3xx 软件包中包含的 SDP 驱动程序,这些驱动程序是免费提供的。 要配置 FCCU,请使用 eMcem 驱动程序并调用 eMcem_InjectFault() 以注入故障。 SPD 独立组网 (SA) 安装程序 (.exe) 中提供了 SPD 演示以供参考。 当然,如有需要,您也可以实施自己的 EIM/FCCU 解决方案。 此外,通过 EIM 注入的故障也可被 ERM 模块检测到,不过我们目前还没有提供这方面的解决方案。 此致, 丹尼尔
View full article