Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
MakerFaireでテクノロジーを披露 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Maker Faires、さあ! 今週末はサンマテオで超クールなプロジェクトをいくつか紹介し、9月にはニューヨークに滞在します。 多くの作業の後、私たちのチームは、Kinetisマイクロコントローラを中心に構築されたいくつかの非常に優れたプロジェクト、i.MX 6プロセッサ、Freedom開発プラットフォーム、 およびUDOO、Riotboard.org 、ノベナ、 CuBox-i、 Wandboard.org、Wunderbar、ZumoBotsなど。私たちが計画していることがいくつかあります。 点滅する派手なライトが嫌いな人はいますか?PJRCのクルーは、ガムのスティックほどの大きさのONE Teensy3.1ボードによって制御されるLEDディスプレイ(正確には4320)を作成しました。ポールは、Kinetis K20 MCUのダイレクト・メモリ・アクセス・エンジン(DMA)機能を活用して、このデモで示されたビデオとオーディオを実現する特別なTeensyduinoスケッチ・ライブラリを作成しました。ポールは難しいLEDタイミングを管理しただけでなく、SDCardインターフェースからすべてのビデオを提供します。オーディオも再生すると言いましたか?! https://community.nxp.com/docs/DOC-100844 看板から光を浴び終わったら、ハッキングされたWii-Fi(はい、WII + WiFiです)のNerf Swarmfireでスキルをテストできます。いくつかのサーボ、少しの再配線、カスタムビルドのWiFiリモコンとビオラを追加します...すぐに楽しめます!これを実現するために、Nerf自体(ベース)に2つのFRDM-KL64Fを使用し、1つはワイヤレスリモコンとして機能します。ベースボードはリモートからのデータを処理し、対応するサーボを制御します。 このビデオは削除されました (マイビデオで視聴) リモートボードは、ユーザーがリモコンを動かし、オンボードの加速度計がそれを動きの動きに変換し、WiFi経由でベースコントローラーに渡す必要があるという点で、Wiiのように動作します。さらに、プラスチック製のコントローラーを3Dプリントしてすべてを入れる必要がありました。 https://community.nxp.com/docs/DOC-100845 これらは、私がキッキンなKinetisマイコンのMCUベースのデモです。次に、マルチメディアについて話しましょう、それは i.MX アプリプロセッサを意味します。 あなたがその地域にいる間、マリオに挨拶するようにしてください 。マリオは 、音声認識とTwitter接続を備えたDIYのAndroid搭載ロボットです。マリオの心臓部は、Android 4.3を実行するUDOO Quadと、2つのサーボ(マリオの腕)と4つの車輪(マリオの脚)を回転させる4つのモーターを制御するArduinoモーターシールドです。マリオは可愛い顔を見せるために7インチのLVDSディスプレイを持ち、口元は小さなスピーカーになっています。彼に話しかけるために、Google APIの音声認識とテキスト読み上げを使用して、彼に命を与えました。また、Twitter APIを使用して Twitter経由でマリオを制御し、ツイートを読むことができ、簡単なチャープでマリオにコマンドを送信することもできます。
查看全文
[i.MX/GST]a collection of several GST debugging tips and known-how On behalf of Gopise Yuan. A collection of several GST debugging tips and known-how. When you need to play onto a DRM layer/plane directly without going through compositor, kmssink should be a good choice: // kmssink, with scale and adjust alpha property (opaque) and zpos (this requires kmssink>=1.16): gst-launch-1.0 filesrc location=/media/AVC-AAC-720P-3M_Alan.mov ! decodebin ! imxvideoconvert_g2d ! kmssink plane-id=37 render-rectangle="<100,100,720,480>" can-scale=false plane-properties=s,alpha=65535,zpos=2 When using playbin, you can still customize the pipeline besides the sink plugin, e.g. add a converter plugin: // Playbin with additional customization on converter before sink: gst-launch-1.0 playbin uri=file:///mnt/MP4_H264_AAC_1920x1080.mp4 video-sink="imxvideoconvert_g2d ! video/x-raw,format=BGRA,width=1920,height=1080 ! kmssink plane-id=44" GST can generate a pipeline graph for analyzing the pipeline in a intuitive manner: // Generate pipeline graph: 1. Export GST_DEBUG_DUMP_DOT_DIR= , GST_DEBUG=4 2. Run pipeline with gst-launch or others. 3. Copy all dump files (.dot) from . Note: one dump file will be created for each state transaction. Normally, what we need will be PAUSE_READY or READY_PAUSE, after which pipeline has been setup. 4. Convert the .dot file to PDF with Graphviz: dot -Tpdf 0.00.03.685443250-gst-launch.PAUSED_READY.dot > pipeline_PAUSED_READY.pdf i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Multimedia Yocto Project
查看全文
EUF-DES-T1741 可扩展多核 QorIQ Layerscape 处理器,基于 64 位软件环境,适用于企业、家庭和工业应用.pdf <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
查看全文
2015年入学人数 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 如果您愿意学习新技术、使用开源软件并推广您对 Linux、物联网和嵌入式的新颖想法,那么 Linux 嵌入式挑战赛就是您让所有人惊叹的机会。 组建您的团队(1-3 名成员)并研究与物联网相关的项目构想,可以使用 Freescale Linux BSP / Android 和Udoo 平台实现。 挑战自己并通过发送电子邮件至[email protected]报名参加 Linux 嵌入式挑战赛。 电子邮件的格式为: 主题: [LEC2015] [TEAMNAME] 项目名称 团队描述 项目描述: 详细描述你的想法 包括架构图和使用的技术 提及它为物联网世界带来的改进。 请用英文提交您的投稿。 2015年Linux嵌入式挑战赛
查看全文
T1040 L2Switch ソフトウェアのサポート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このドキュメントでは、QorIQ TシリーズL2Switchソフトウェアのアーキテクチャを紹介し、L2Sとデモ・アプリケーション、SMBStax(L2Switchスタック)を使用してL2Switch対応機能を実装する方法について説明します。L2Switch対応機能は、L2スイッチ・ユーザー・スペース・ドライバが提供するAPIを呼び出します。 1. T1040 L2Switch ポート接続 2. T1040 L2 スイッチ ソフトウェア アーキテクチャ 3. L2Switchデモアプリケーションの機能と使用法 3.1 制御ポートと統計 3.2 ポートベースのVLANを構成する 3.3制御MACテーブル 4. SMBStaxのL2スイッチ機能の実装 4.1 ミラーリング SPAN 4.2 802.1 X NetWork アクセスサーバーの設定 4.3 QoS 設定 4.4 L2Switch MACアドレスのリアリングと転送 4.5 L2Switch LLDP-MED機能 QorIQ T1デバイス 日時:T1040 L2Switchソフトウェアのサポート <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、Yipingさん T1040 L2switch のポリシーサポートは dest MAC アドレスを変更しますか? それとも、T1040 DPAAはdest macの変更をサポートしていますか? どうもありがとうございます。 ジル
查看全文
S32K3 Motor control SW examples The S32K3 family of 32-bit AEC-Q100 qualified MCUs combines a scalable family of Arm® Cortex-M7-based microcontrollers built on long-lasting features with a comprehensive suite of production-grade tools. S32K3 MCUs are included in NXP’s Product Longevity Program, guaranteeing a minimum of 15 years of assured supply. The S32K3 offers dedicated peripherals set for rapid motor control loop implementation: enhanced Modular IO Subsystem(eMIOS), Logic Control Unit (LCU), TRGMUX, BodyCross-triggering Unit (BCTU), Analog to Digital Converter(ADC), and Analog Comparator (CMP). The comprehensive motor control ecosystem based on Automotive Math and Motor Control Library(AMMCLib) set, FreeMASTER with Motor Control ApplicationTuning (MCAT) tool and Model-Based Design Toolbox (MBDT) helps to enable S32K3 MCU in wide range of motor control use cases. The table below points to the articles with more detailed description each of S32K3 motor control use cases, hardware description, links to appropriate application notes and their addendums, and software repositories.  Device HW Article S32K344 MCSPTE1AK344 12 V development kit engineered for 3-phase PMSM and BLDC motor control applications FOC with dual shunt current measurement Article focuses on solution based Field Oriented Control (FOC) technique (typically used for 3-phase PMSM motors) with dual shunt current measurement and without any position sensor (sensorless). The Encoder sensor is supported by SW option, but missing on HW kit. The available example codes covers both ANSI-C and Matlab Simulink approaches and uses RTD drivers with high-level Autosar compliant API or low-level non-Autosar API.    FOC with single shunt current measurement Article focuses on solution based Field Oriented Control (FOC) technique (typically used for 3-phase PMSM motors) with single shunt current measurement and without any position sensor (sensorless). The Encoder sensor is supported by SW option, but missing on HW kit. The single shunt current measurement is advanced technique that allows decrese the cost of Bill of Material (BOM). The available example codes covers both ANSI-C and Matlab Simulink approaches and uses RTD drivers with high-level Autosar compliant API or low-level non-Autosar API.    FOC integrated with FreeRTOS Article focuses on integration of motor control software (based on FOC with dual shunt current measurement) and Real Time Operating System (FreeRTOS). The available example code is based ANSI-C  code and uses RTD drivers with low-level non-Autosar API.    Six-step commutation control. Article focuses on solution based Six-step commutation (6-step) technique (typically used for 3-phase BLDC motors) with Hall position sensor and without any position sensor (sensorless). The available example codes covers both ANSI-C and Matlab Simulink approaches and uses RTD drivers with low-level non-Autosar API.    Note: the list of use cases cannot cover all combinations of MCU, current measurement scenario, control technique and sensor inputs, but should work as a base reference for most common configurations. This list is not final, please follow this acticle to be notified about updates with new use cases.   
查看全文
系统控制器固件 101 - 入门 使用评估套件时,你会获得一个包含在 BSP 中的系统控制器固件 (SCFW) 二进制文件。此 SCFW 二进制文件是为特定开发板量身定制的,你可能需要修改一些板级依赖项以适配你的特定硬件。 本文件旨在提供有关SCFW移植流程的概述,详细信息请参阅《系统控制器移植指南》(sc_fw_port.pdf)。 系统设置 SCFW 是在 Linux 主机上构建的。设置系统的步骤如下: 从 ARM 官网下载 GNU ARM 嵌入式工具链:6-2017-q2-update(2017 年 6 月 28 日版本): 选择一个目录解压该文件,例如: mkdir ~/gcc_toolchain cp ~/Downloads/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2 ~/gcc_toolchain/ cd ~/gcc_toolchain/ tar xvjf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 将 TOOLS 环境变量设置为包含工具链的目录,在上面的示例中为 “~/gcc_toolchain”,也可以修改 .bash_profile 来导出此环境变量: export TOOLS=~/gcc_toolchain/ 构建过程还需要 srec_cat,它通常包含在 srecord 包中,在 Ubuntu 上可以执行: sudo apt-get update sudo apt-get install srecord 现在你可以切换到移植工具包目录(例如 scfw_export_mx8qm)并构建 SCFW。 系统控制器固件移植工具包 SCFW移植套件包含源文件和目标文件,这些文件将允许您修改SCFW以使其与您的开发板兼容。 你可以从 i.MX 软件和开发网页获取最新的系统控制器固件移植工具包: 获取移植工具包后,解压它: tar xvzf imx-scfw-porting-kit-1.1.tar.gz‍ 您将看到以下的文件结构: 移植工具包包含在 packages 目录下,README 文件中包含提取移植工具包的说明,主要步骤如下: cd packages/ chmod a+x imx-scfw-porting-kit-1.1.bin ./imx-scfw-porting-kit-1.1.bin‍‍‍ 您将被提示接受最终用户许可协议: 接受协议后,移植工具包将被提取到一个新文件夹中,文件夹结构如下: 所有关于 SCFW 的文档都在 doc/pdf 目录下,也有 html 格式可供选择,建议阅读 sc_fw_port.pdf。 不同 SoC 变体(QM A0、QM B0 和 QXP B0)的移植工具包在 src 目录下,以 tar.gz 格式打包,其他所有文件都是用于不同软件包(如 Linux、QNX、FreeRTOS、U-boot、ARM 可信固件等)的 SCFW 库。 如果你要处理多个 SoC 变体(同时处理 QXP 和 QM),建议将所有移植工具包提取到一个目录中,这样你就可以从该目录为任何变体进行构建,执行以下命令: cd imx-scfw-porting-kit-1.1/ cd src/ find scfw_export_mx8*.gz -exec tar --strip-components 1 --one-top-level=scfw_export_mx8 -xzvf {} \;‍‍‍ 将创建一个 scfw_export_mx8 文件夹,从这里你可以为任何受支持的变体构建 SCFW。或者,你也可以只提取你感兴趣的变体的包并使用它。 cd scfw_export_mx8/‍ 所有构建文件夹都包含 SCFW 的构建结果,而 platform 目录则存储 SCFW 的源代码。 所有特定于开发板配置的代码都在 “platform/board/mx8 _ ” 目录下,其中 derivative 是 i.MX8 芯片系列(如 QXP 或 QM),board name 是 SCFW 包所针对的开发板名称。 将 SCFW 移植到你的开发板的第一步是为你的 i.MX8 衍生产品和开发板创建一个文件夹,你可以选取一个现有的开发板示例并重命名该文件夹,这将为你提供一个入门项目,例如: cp -r platform/board/mx8qm_val/ platform/board/mx8qm_myBoard/‍‍‍‍‍‍‍‍‍‍ 在此示例中,该开发板将被称为 “myBoard”,它适用于 i.MX8QM B0 设备。要为该开发板构建 SCFW,只需执行: make qm R=B0 B=myBoard‍‍‍‍‍‍‍‍‍‍‍‍ 如果目标是 i.MX8QXP,只需选取一个基于该设备的开发板,并将命令改为 “make qx”。 更多信息(如构建选项和详细的启动信息)可以在《SCFW 移植指南》(sc_fw_port.pdf)中找到,该文档的第 2 章是对移植过程的清晰介绍。 概述和有用信息 PMIC 配置概述和 board.c 的常见修改 需要修改的主要文件(如果不是唯一的话)是 “board.c” 文件,它位于 “platform/board/mx8X_board/” 目录下。board.c 文件包含大多数与开发板相关的信息,如 SCU UART 端口、PMIC 初始化程序、PMIC 温度报警设置,你还可以修改它来配置 LDO 电压并与 PMIC 进行总体通信。board.c 文件中的所有函数都由 SCU 本身执行,这使你能够访问用于与 PMIC 通信的 I2C 接口。 由外部电源(例如 PMIC LDO)供电的 SoC 资源(如 AP 内核和 GPU)通过 board_set_power_mode 进行开关,资源到特定 PMIC 电源的映射在 board_get_pmic_info 中进行,例如,在我们的 i.MX8QM 验证板上,使用 A53 子系统由 PF100 PMIC 卡上第三个 PMIC(PMIC_2_ADDR 地址从 PMIC_0 开始)的 SW2 供电,由 PF8100 PMIC 卡上第一个 PMIC (PMIC_0_ADDR) 的 SW5 供电。 case SC_SUBSYS_A53: pmic_init(); if (pmic_card == PF100) { pmic_id[0] = PMIC_2_ADDR; pmic_reg[0] = SW2; *num_regs = 1; } else {/* PF8100_dual Card */ pmic_id[0] = PMIC_0_ADDR; pmic_reg[0] = PF8100_SW5; *num_regs = 1; } break; ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 由外部电源(AP 内核、GPU 等)供电的 SoC 资源的电压由 board.c 文件中的 board_set_voltage 管理。资源到电源的映射如上面的示例所示,在 board_get_pmic_info 中进行。 有八个 “板载资源” (SC_R_BOARD_R0,... SC_R_BOARD_R7)b 可用,这些资源允许你定义 SCU 可以管理的开发板上的组件,例如,开发板上由某个 PMIC LDO 供电的传感器可以映射到一个板载资源,并且可以修改 board.c 文件来开关该传感器以及修改其电压。 修改板载资源的电压可以通过修改 board_trans_resource_power 处的电压来完成(见下文),或者如果需要在运行时更改电压,可以修改 board_set_control 函数,以便在对该资源进行杂项调用(详见《杂项服务 101》)时更改电压。例如,要更改 SC_R_BOARD_R7 上的电压,你可以在 board_set_control 中使用以下情况: case SC_R_BOARD_R7: if (ctrl == SC_C_VOLTAGE) { /* Example only PMIC_X_ADDR and PMIC_SUPPLY need to match an actual device */ pmic_interface.pmic_set_voltage(PMIC_X_ADDR, PMIC_SUPPLY, val, step); } else return SC_ERR_PARM; break;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 每当应用程序调用以下函数时,SCU 将执行上面的代码: sc_misc_set_control( ipc, SC_R_BOARD_R7, SC_C_VOLTAGE, voltage_val);‍‍‍‍‍‍‍‍ 板载资源的开关在 board.c 文件的 board_trans_resource_power 中进行。例如,在 NXP 的验证板上,板上的 PTN5150 通过板载资源 0 进行管理,其开关管理如下: case BRD_R_BOARD_R0 : /* PTN5150 (use SC_R_BOARD_R0) */ if (pmic_ver.device_id == PF100_DEV_ID) { if (to_mode > SC_PM_PW_MODE_OFF) { pmic_interface.pmic_set_voltage(PMIC_2_ADDR, VGEN6, 3300, SW_RUN_MODE); pmic_interface.pmic_set_mode(PMIC_2_ADDR, VGEN6, VGEN_MODE_ON); } else { pmic_interface.pmic_set_mode(PMIC_2_ADDR, VGEN6, VGEN_MODE_OFF); } } else {/* PF8100_dual Card */ if (to_mode > SC_PM_PW_MODE_OFF) { pmic_interface.pmic_set_voltage(PMIC_1_ADDR, PF8100_LDO1, 3300, REG_RUN_MODE); pmic_interface.pmic_set_mode(PMIC_1_ADDR, PF8100_LDO1, RUN_EN_STBY_EN); } else { pmic_interface.pmic_set_mode(PMIC_1_ADDR, PF8100_LDO1, RUN_OFF_STBY_OFF); } } break;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 每当从应用程序端调用以下函数时,SCU 将执行上面的代码: sc_pm_set_resource_power_mode(ipc, SC_R_BOARD_R0, SC_PM_PW_MODE_ON/OFF);‍‍‍‍‍‍‍‍ board_config_sc 用于标记 SCU 需要的资源,例如用于与 PMIC 通信的 I2C 模块和焊盘,board.c 函数工作所需的任何资源都应在此函数中标记为不可移动,例如,要保留 SCU I2C 模块,需添加以下行: rm_set_resource_movable(pt_sc, SC_R_SC_I2C, SC_R_SC_I2C, false);‍‍‍‍‍‍‍‍‍ 以下焊盘属于 SCU,应用程序无法访问它们: - SC_P_SCU_PMIC_MEMC_ON - SC_P_SCU_WDOG_OUT - SC_P_PMIC_EARLY_WARNING - SC_P_PMIC_INT_B - SC_P_SCU_BOOT_MODE0 到 SC_P_SCU_BOOT_MODE5 board_system_config 是早期资源管理发生的地方,该函数仅在图像中设置了 alt_config 标志时被调用,并且它可以创建分区并为其分配资源。更多详细信息可在资源管理服务 101 中找到。 board_get_pcie_clk_src 定义了 PCIe 使用的时钟,它可以是 BOARD_PCIE_PLL_EXTERNAL 或 BOARD_PCIE_PLL_INTERNAL。 board_print 对于调试你的更改非常有用,其语法如下: board_print(3, "Debug printout %d\n", val);‍‍‍‍‍‍‍ 其中第一个参数是调试级别,从那里开始它的工作方式与标准 printf 相同。只有当 SCU 是在相应的调试级别下构建时,输出才会在 SCU 调试输出上可见,在上面的示例中,需要按以下方式构建 SCFW 才能看到输出: make qm B=myBoard‍‍‍‍ DL=3 or higher (debug level goes from 0 to 5)‍‍‍‍‍‍‍ 用法示例 以下工具展示了如何发出系统控制器固件请求,并提供了一种通过 QNX 和 Linux 上的命令行界面发出此类请求的方法 适用于 Linux 和 QNX 的系统控制器固件命令行工具 系统控制器固件 101 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus
查看全文
S32DS - HOWTO 列表 安装和激活 如何下载、安装、激活并使用 S32 Design Studio 3.6 操作指南:激活 S32 Design Studio 操作指南:S32 Design Studio 扩展与更新的离线安装 S32DS 扩展与更新:功能说明及使用指南 操作指南:将 Lauterbach TRACE32 调试器插件安装至 S32 Design Studio 操作指南:安装 GHS 编译器插件 入门指南 S32 Design Studio 3.6 中的最新动态 S32DS 快速入门指南 S32 Design Studio 3.5 使用技巧和窍门 操作指南:S32 Design Studio - 基于示例创建新的 S32DS 项目 操作指南:S32 Design Studio - 创建新的应用程序项目 HOWTO:使用S32K1xx RTD与AUTOSAR创建一个闪烁LED示例项目 操作指南:在没有 AUTOSAR 的情况下使用 S32K1xx RTD 创建一个闪烁 LED 的示例项目 操作指南:使用不带 AUTOSAR 的 S32 RTD 为 S32G 创建 LED 闪烁应用项目 操作指南:使用带 AUTOSAR 的 S32 RTD 为 S32G 创建 LED 闪烁应用项目 操作指南:使用支持 AUTOSAR 的 S32 RTD 创建 S32M2xx LED 闪烁工程 操作指南:使用不支持 AUTOSAR 的 S32 RTD 创建 S32M2xx LED 闪烁工程 操作指南:使用不支持 AUTOSAR 的 S32 RTD 创建 S32R45 LED 闪烁工程 HOWTO:使用S32 RTD和AUTOSAR为S32R45创建一个闪烁LED应用程序项目 操作指南:使用不支持 AUTOSAR 的 S32 RTD 创建 S32R41 LED 闪烁工程  操作指南:使用 S32 RTD(支持 AUTOSAR)创建 S32R41 LED 闪烁应用工程 操作指南:使用 S32 配置工具创建 S32V2xx 简易 LED 闪烁工程 操作指南:使用不支持 AUTOSAR 的 S32 RTD 创建 S32Z27x LED 闪烁工程 操作指南:在 S32DS 中基于示例创建 APEX2 工程 操作指南:在 S32DS 中基于示例创建 S32 平台的 ISP 工程 操作指南:基于 'RSDK_S32DS_template' 示例创建新工程  构建工具和标准库 如何:将静态库文件添加到 S32 Design Studio GCC 项目中 操作指南:使用 GNU 构建工具将二进制文件链接到应用程序工程   操作指南:在构建结束时显示内存使用百分比  调试与闪存编程 操作指南:配置 S32V234 EVB 以支持 S32DS Vision 和 Linux BSP 调试 在 Eclipse GDB 控制台中使用 GDB Server Monitor 命令 操作指南:使用 GDB PEMicro 调试接口构建工程并配置调试环境 操作指南:为 S32 调试探头配置静态 IP 地址 如何:从 S32G274A EVB 上的 S32 Design Studio 启动 S32 调试器 操作指南:在 S32R45 评估板上从 S32 Design Studio 启动 S32 调试器 操作指南:在 S32R41 评估板上从 S32 Design Studio 启动 S32 调试器 操作指南:使用 S32 调试探头对 S32G2xx 进行命令行 GDB 调试 操作指南:使用 S32 调试探头对 S32R45 进行命令行 GDB 调试  如何:使用 S32 调试探针进行 S32R41 命令行 GDB 调试 HOWTO:使用 S32 调试器和 S32 调试探针对 S32G274A EVB 进行 JTAG Flash 编程 操作指南:使用 S32 调试器和调试探头对 S32R45 评估板进行 JTAG 闪存编程  操作指南:使用 S32 调试器和调试探头对 S32R41 评估板进行 JTAG 闪存编程 操作指南:通过 S32DS IDE 实现安全调试(使用 S32 调试器和调试探头) 操作指南:在 S32G2xx 上使用 S32 调试器和 S32 调试探针启动跟踪 操作指南:在 S32R45 上使用 S32 调试器和调试探头启动跟踪功能 操作指南:在 S32V2xx 上使用 S32 调试器和调试探头启动跟踪功能 与 Eclipse 共享调试配置 使使用 Eclipse 和 GDB 调试启动代码 操作指南:为现有项目添加新的调试器配置 操作指南:在 S32G274A 评估板上使用 S32 调试探针进行命令行 JTAG 闪存编程 操作指南:在 S32R45 评估板上使用 S32 调试探头进行命令行 JTAG 闪存编程 操作指南:在 S32R41 评估板上使用 S32 调试探头进行命令行 JTAG 闪存编程 操作指南:使用 FlashSDK 为 S32 Flash Tool 添加 QuadSPI 闪存设备支持 操作指南:使用 S32 调试探头编程串行 RCON S32K3 安全调试支持 | PEmicro 操作指南:使用 S32 调试器调试 S32R45 的 LAX 操作指南:使用 S32 调试器调试 S32R45 的 SPT HOWTO:使用 S32 调试器在 S32R45 上调试 BBE32 DSP 操作指南:使用 S32 调试器调试 S32R41 的 SPT S32 调试器 Zephyr 线程感知功能用户手册 S32 配置工具 操作指南:使用 DCD 工具创建设备配置数据镜像  如何使用 IVT 工具创建 Blob 图像 操作指南:使用 IVT 工具创建 Blob 图像 S32G274A 操作指南:使用 IVT 工具创建 S32R45 的 Blob 镜像  实时驱动程序 (RTD)、S32 SDK 和其他 SDK 如何下载 RTD 5.0.0 并在 S32 Design Studio 3.6 中安装 操作指南:使用 AMMCLib SDK 操作指南:将自定义 SDK 添加到现有项目 操作指南:将 S32K1xx SDK 项目从 v4.0.1 迁移至 v4.0.2  操作指南:在 S32 调试器和 PEMicro 中使用 FreeRTOS 操作系统感知功能 在 ARM Cortex-M 上实现 FreeRTOS 性能计数器 | MCU on Eclipse 如何:将 FreeRTOS 堆移入 DTCM 内存 - S32K3xx + RTD 通用用法 操作指南:S32 Design Studio 命令行界面 操作指南:生成 S-Record/Intel HEX/二进制文件 操作指南:将应用项目从 S32DS for Vision 2018.R1 迁移至 S32DS 3.x  操作指南:将用户示例添加到 S32DS 故障排除 故障排除:启动 S32 Flash Tool v2.1 时出现 JVM 不兼容错误 故障排除:PEmicro 调试连接 - 目标通信速度 故障排除:头文件索引器错误 故障排除:PEMicro 调试 - 进入调试模式时 PIT 和 STM 模块无法计数 故障排除:PEMicro 调试 - 从 vTaskDelay 断点恢复时出现问题 故障排除:问题视图中的快速修复选项 故障排除:S32 Design Studio 意外退出或安装程序在输入激活码后立即回滚  故障排除:激活失败并显示错误信息 FNP ERROR 0 故障排除:在 S32DS 扩展和更新中找不到 S32K3 的 AMMCLib 故障排除:从命令行使用配置工具时出现 Java 错误
查看全文
用于 PHY 寄存器操作的以太网工具 大多数以太网 PHY 支持多功能,并提供更灵活的配置能力,通过配置其寄存器可对时序进行微调或启用功能。以太网 PHY 寄存器工具提供了一种通过 MDC/MDIO 接口简单读写 PHY 寄存器的方法。这有助于开发或问题调试。  工业控制
查看全文
S32K389 AES_ACCEL 在加密 64KB 数据时会挂起/冻结 您好,NXP团队: 我正在使用S32K389并测试AES_ACCEL (ACE/MSC)模块。我在处理大型数据缓冲区时遇到了稳定性问题。 测试设置: 模式: AES-密码块链接(CBC) 案例 1(通过):加密4KB数据工作正常。 案例 2(失败):加密64KB数据会导致芯片在执行 AES 服务时立即崩溃/挂起。 观察到的行为: S32DS(S32 设计工作室)在执行 AES 服务期间冻结。 尝试通过调试器连接到 S32K389 完全失败。 问题: 对于每个 AES_ACCEL 事务的最大数据长度,是否存在任何已知的限制? 此致, 显龙 Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 嗨@wuxianlong 让我查一下。我会尽快回复您。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 很抱歉耽搁了,我遇到了一些内部资源访问权限方面的问题,解决起来比预期要花更多时间。我会尽快回复。感谢您的耐心等待。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 嗨@wuxianlong CMAC生成验证服务存在以下限制: 我还在确认加密方面是否存在限制。我稍后会通知你。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 你好, @lukaszadrapa 非常感谢您的解释。加密和 CMAC 验证可能面临同样的局限性。 此致, 显龙 Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 我了解到大小限制为 512KB - LEN 位域的大小为 19 位。 有趣的是,程序执行完全崩溃了。我预计 AES_ACCEL 在参数无效的情况下会返回一些错误代码。 那不是XRDC引起的吗?XRDC 是否已启用?您能否尝试将其禁用以进行测试? 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 你好, @lukaszadrapa 使用 64KB 进行测试仍然失败。启用 AEC 错误检测后发现,IP 驱动程序宏将限制设置为(1 << 19) - 1​ 位 < 64 KB。 此致, 显龙
查看全文
在 FRDM-IMX95 上调试 Ara240 模块 入门视频 (function() { var wrapper = document.getElementById('lia-vid-6393577020112w960h540r856'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (在我的视频中查看) 本指南提供分步说明,说明如何验证与 Ara240 模块的成功通信以及与 FRDM i.MX 95 开发板接口的运行时软件环境。 打破常规 熟悉 Ara240 模块 Ara240 Module [Top view]Ara240 模块 [俯视图] Ara240 Module [Back view]Ara240 模块 [后视图]      连接 M.2 模块 本节介绍如何将分立模块 Ara240 连接到 FRDM i.MX 95 开发板。FRDM i.MX 95 快速入门指南中的说明将引导您完成主板上预加载的嵌入式 Linux 映像的启动过程以及如何连接 USB 调试电缆。有关其他详细信息,请参阅 FRDM i.MX 95 开发板官方文档。 参考,引用: FRDM i.MX 95 快速入门指南 FRDM i.MX 95 开发板产品页面 FRDM i.MX 95 入门页面 ARA2-M2-16G-GT 入门 按照以下步骤将 Ara240 模块连接到 FRDM i.MX 95 开发板: 剧透 (加亮显示以阅读) 重要:在进行任何连接之前,请确保主板已关闭电源。 重要:在进行任何连接之前,请确保主板已关闭电源。 将 Ara240 模块插入 FRDM i.MX 95 开发板上的 M.2 Key-M 插槽。 使用提供的螺钉固定模块。 将风扇电缆连接到主板的风扇接头(有关接头的确切位置,请参阅 FRDM i.MX 95 主板文档)。 Connect the Ara240 to the FRDM i.MX 95 development board.将 Ara240 连接到 FRDM i.MX 95 开发板。 开启板电源 按照《FRDM-IMX95 入门》中的说明开启(启动)板。 开机后,检查风扇和 Ara240 模块的绿色 LED 指示灯是否亮起。   获取软件 本节将向您介绍 Ara240 Runtime 软件开发工具包 (SDK),这是 Ara240 SDK 的精简子集,旨在恩智浦平台上快速启用和执行。Runtime SDK 简化了安装和配置,使开发人员能够以最小的工作量在 Ara240 模块上快速部署和运行 AI/ML 工作负载。 概述 有关 Ara240 软件开发套件 (SDK) 的详细信息,请参阅 Ara240 软件发行说明 Ara240 入门页面仅概述了在特定 i.MX 开发平台上的使用情况 对于任何其他平台,请联系您的恩智浦代表寻求指导。 模块枚举和软件配置 本节提供有关在 FRDM i.MX 95 开发板上验证是否正确安装了 Ara240 模块和 Ara240 Runtime SDK 配置的说明。 验证设备检测 主板成功启动后,连接到串行调试端口以监测系统日志。要确认主板是否检测到 Ara240 模块,请运行以下命令: $ lspci | grep 1e58 预期输出: 0000:01:00.0 Processing accelerators: Device 1e58:0002 (rev 02) 启用 Ara240 设备 为了快速启用,Ara240 运行时 SDK 会在启动时启动。有关详细说明和环境设置步骤,请参阅Ara240 Runtime SDK 文档。 开发人员体验 本节概述了使用 FRDM i.MX 95 开发板支持 Ara240 运行时软件。 验证设置环境 使用以下指南来了解如何连接所需设备。对于大多数演示,你需要摄像头、键盘、鼠标、互联网连接和一个 HDMI 显示器。 Setup preparation for FRDM i.MX 95 board [Top view]FRDM i.MX 95 主板的设置准备 [顶部视图] Setup preparation for FRDM i.MX 95 board [Back view]FRDM i.MX 95 主板的设置准备 [返回视图] 剧透 (加亮显示以阅读) 注意:您可能需要使用 USB 集线器来同时连接键盘、鼠标和摄像头。 注意:您可能需要使用 USB 集线器来同时连接键盘、鼠标和摄像头。   运行时设置 说明 Runtime SDK 提供了一个完整的运行环境,可在 Ara240 模块上实现 AI/ML 加速。要运行演示应用程序,请确保 Ara240 启动过程已成功完成,系统已为演示评估做好准备。 请参阅 Runtime SDK 文档,了解有关以下方面的详细指导: 验证 Runtime SDK 的正确安装。 检查并更新 Ara240 固件版本。 验证代理服务启动状态。 在 Ara240 上执行基准测试。 按照这些步骤操作可确保模块正确初始化并可随时使用。Ara240 支持执行 CNN、LLM、VLM 和代理框架,使高级人工智能工作负载能够直接在 Ara 上运行。有关全面的示例和端到端工作流程指导,请参阅Ara SDK文档页面。 FRDM-IMX9
查看全文
iMX8MP MIPI DSI 至 HDMI 转换器(LT9611UXD)调出 您好, 我们设计了一款基于 imx8MP 的主板,用于使用 LT9611UXD 将 MIPI DSI 转换为 HDMI,但该芯片不断报告错误,例如 MIPI DSI 时钟不稳定和无法同步。 我们试图用 LT9611UXC 替换同一块主板上的 LT9611UXD,HDMI 有输出,但是换回来后 LT9611UXD 仍然无法工作。 能否请您指点一二? 1。恩智浦是否有 LT9611UXD 的解决方案或演示板? 2.恩智浦是否遇到过 MIPI DSI 时钟不稳定的问题?是如何解决的?    Re: iMX8MP MIPI DSI to HDMI Convertor(LT9611UXD) Bring Up 你好@杨志荣 希望你一切都好。 实际上,我们在 i.MX95 15mm x 15mm EVK DTSO 中使用了 LT9611UXC。 请看一看: https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/arch/arm64/boot/dts/freescale/imx95-15x15-evk-lt9611uxc.dtso 对于 i.MX8MP,我们没有任何示例。 此外,您还可以使用 i.MX8MP 的原生 HDMI 来代替 LT9611UXD。 顺祝商祺! 萨拉斯
查看全文
Ara240 Module Bring-Up on FRDM-IMX95 Getting Started Video: (function() { var wrapper = document.getElementById('lia-vid-6393577020112w960h540r856'); var videoEl = wrapper ? wrapper.querySelector('video-js') : null; if (videoEl) { if (window.videojs) { window.videojs(videoEl).ready(function() { this.on('loadedmetadata', function() { this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) { bar.setAttribute('role', 'presentation'); bar.setAttribute('aria-hidden', 'true'); }); }); }); } }})(); (view in My Videos) This guide provides step-by-step instructions on how to verify successful communication with the Ara240 module and the runtime software environment to interface  with the FRDM i.MX 95 development board. Out of the Box Get Familiar with the Ara240 Module   Ara240 Module [Top view]Ara240 Module [Top view] Ara240 Module [Back view]Ara240 Module [Back view]      Connecting the M.2 Module This section explains how to connect Ara240, a discrete module, to the FRDM i.MX 95 development board. The instructions in the FRDM i.MX 95 Quick Start Guide will walk you through the boot-up process for the pre-loaded Embedded Linux image on the board and how to connect the USB debug cable. For additional details, see the official FRDM i.MX 95 Development Board documentation. References: FRDM i.MX 95 Quick Start Guide FRDM i.MX 95 Development Board product page FRDM i.MX 95 getting started page Getting Started with ARA2-M2-16G-GT Follow the steps below to connect the Ara240 module to the FRDM i.MX 95 development board: Spoiler (Highlight to read) Important: Ensure the board is powered off before making any connections. Important: Ensure the board is powered off before making any connections. Insert the Ara240 module into the M.2 Key-M socket on the FRDM i.MX 95 development board. Using the screw provided, secure the module. Connect the fan cable to the board’s fan header (refer to the FRDM i.MX 95 board documentation for the exact header location). Connect the Ara240 to the FRDM i.MX 95 development board.Connect the Ara240 to the FRDM i.MX 95 development board. Power on the Board Follow the instructions to power on (boot) the board found in the Getting Started with FRDM-IMX95. After powering on, verify that the fan and green LED indicators Ara240 module are on are on.   Get the Software This section will walk you through the Ara240 Runtime software development kit (SDK), a streamlined subset of the Ara240 SDK designed for rapid enablement and execution on NXP platforms. The Runtime SDK simplifies installation and configuration, enabling developers to quickly deploy and run AI/ML workloads on the Ara240 module with minimal effort. Overview Refer to Ara240 software release notes for details on the Ara240 software development kit (SDK) The Getting Started page for Ara240 only outlines usage on specific i.MX development platforms For any other platforms please reach out to your NXP representative for guidance. Module Enumeration and Software Configuration This section provides instructions to verify proper installation of Ara240 module and configuration of the Ara240 Runtime SDK on the FRDM i.MX 95 development board. Verify Device Detection Once the board has successfully booted, connect to the serial debug port to monitor system logs. To confirm that the Ara240 module is being detected by the board, run the following command: $ lspci | grep 1e58 Expected output: 0000:01:00.0 Processing accelerators: Device 1e58:0002 (rev 02) Enable Ara240 device For quick enablement, the Ara240 Runtime SDK starts at boot time. Refer to the Ara240 Runtime SDK documentation for detailed instructions and environment setup steps. Developer Experience This section provides an overview of Ara240 runtime software enablement using the FRDM i.MX 95 development board. Verify Setup Environment Use the following guidance on how to connect required devices. For most of the demos, you would need a camera, keyboard, mouse, internet connection and a HDMI display monitor. Setup preparation for FRDM i.MX 95 board [Top view]Setup preparation for FRDM i.MX 95 board [Top view] Setup preparation for FRDM i.MX 95 board [Back view]Setup preparation for FRDM i.MX 95 board [Back view] Spoiler (Highlight to read) NOTE: You might need to use a USB hub to connect keyboard, mouse and camera at the same time. NOTE: You might need to use a USB hub to connect keyboard, mouse and camera at the same time.   Runtime setup Description: Runtime SDK delivers a complete runtime environment that enables AI/ML acceleration on the Ara240 module. To run demo applications, ensure that the Ara240 bring-up process has been successfully completed and the system is ready for demo evaluation. Refer to the Runtime SDK documentation for detailed guidance on: Verifying correct installation of the Runtime SDK. Checking and updating the Ara240 firmware version. Validating proxy service bring-up status. Executing benchmark tests on Ara240. Following these steps ensures that the module is properly initialized and ready for use. Ara240 supports the execution of CNNs, LLMs, VLMs, and agentic frameworks, enabling advanced AI workloads to run directly on Ara. For comprehensive examples and end-to-end workflow guidance, please refer to the Ara SDK documentation page. FRDM-IMX9
查看全文
NXP FS45 SBC RTD Requese 我目前正在使用 SBC FS45 开发汽车控制软件,主控芯片是 S32K342。我想知道是否有基于 EB Tresos 配置的 FS45 RTD 软件包? Re: NXP FS45 SBC RTD requese 我们只有带示例的 FS6500/FS4500 通用 SW 驱动程序 嵌入式软件:FS65/FS45 软件驱动程序 | 恩智浦半导体
查看全文
How to use SecureElement SE05x: Using SE050 via OpenSSL (Japanese blog) In the previous article, we described the procedure for setting up the "Plug and Trust Middleware" library for SE05x (Secure Element) on a Raspberry Pi and FRDM-IMX93 (development board for i.MX 93) . How to use Secure Element SE05x: Setting up Plug and Trust Middleware on Raspberry Pi (Japanese blog) How to use Secure Element SE05x: Setting up Plug and Trust Middleware on the FRDM-IMX93 development board (Japanese blog) By using Secure Element and "*Plug and Trust Middleware," you can apply protection features to all applications that perform authentication using OpenSSL (e.g., Eclipse Mosquitto ™ , etc.) without modifying the application itself . This article explains practical ways to use SE05x in conjunction with OpenSSL. (Estimated time: 10 minutes *Assuming Plug and Trust Middleware is already set up) *Plug and Trust Middleware also includes integration with OpenSSL, which is widely used on Linux. Hardware, software, and versions used in writing this article Hardware: Raspberry Pi 3 Model B+ EdgeLock ® SE050 Development Kit ( OM-SE050ARD-E ) Five jumper wires (male-to-female or female-to-female) or an Arduino to Raspberry Pi adapter board ( OM-SE050RPI ) software: Raspberry Pi OS 12 64-bit SE-PLUG-TRUST-MW_04.07.01 *After unzipping, you can access the documentation from simw-top/doc/index.html (hereafter, "documentation" refers to this HTML file). The OpenSSL provider within the middleware is also available on GitHub, where you can find command examples and other information. https://github.com/NXPPlugNTrust/se05x-openssl-provider   Summary of this article OpenSSL has an interface called `provider` (or `engine` in earlier versions) since version 3.0, which allows you to replace parts of OpenSSL's operation with customized code. Plug and Trust Middleware provides a provider/engine to replace the cryptographic processing performed by OpenSSL with cryptographic processing using SE05x. The corresponding process is described in section "8.2" of the documentation. Please refer to "Introduction on OpenSSL provider". If a provider is not used (see the diagram on the left below) , the key, including the private key, is placed on the file system, and OpenSSL reads it and performs the processing. (*Since the key is stored on the file system, there is a high risk of key leakage.) When using a Provider (see the diagram on the right below) , it will look like this: OpenSSL instructs the Plug and Trust Middleware Provider to perform cryptographic processing. The Provider reads the Key file, and upon recognizing that it is in the format of a reference key, it retrieves the Key ID from the reference key and instructs the SE05x to perform encryption using the Key with that ID. (If a regular key file that is not a reference key is recognized, the process returns to the left.) In this article, Creating a reference key to use the key pair pre-installed on the SE05x at the time of shipment. Enabling the OpenSSL Provider Example of the steps for signing and verifying using these methods. I will explain this.   Retrieving the object list within SE05x Similar to the Plug and Trust Middleware setup, we will enable venv and perform operations in an independent Python environment (virtual environment). Enable venv from the Plug and Trust Middleware deployment directory using the following command. cd simw-top/pycli/ source venv/bin/activate The following command will display a list of objects within SE05x. ssscli connect se05x t1oi2c none ssscli se05x readidlist ssscli disconnect The execution result will be as follows: (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli $ ssscli connect se05x t1oi2c none (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli $ ssscli se05x readidlist sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! Key-Id: 0X7fff0201 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0X7fff0202 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0X7fff0204 NIST-P (Public Key) Size(Bits): 256 Key-Id: 0X7fff0206 BINARY Size(Bits): 144 Key-Id: 0x7fff020b HMAC Size(Bits): No Info available Key-Id: 0Xf0000000 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000001 BINARY Size(Bits): 3760 Key-Id: 0Xf0000002 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000003 BINARY Size(Bits): 3760 Key-Id: 0Xf0000012 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000013 BINARY Size(Bits): 3736 Key-Id: 0Xf0000020 NIST-P (Public Key) Size(Bits): 256 Key-Id: 0Xf0000100 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000101 BINARY Size(Bits): 4392 Key-Id: 0Xf0000102 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000103 BINARY Size(Bits): 4392 Key-Id: 0Xf0003394 AES Size(Bits): 256 (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli $ ssscli disconnect   SE05x factory-programmed user identification information (keypair, certificate) Details of the displayed list of objects can be found in AN12436: SE050 configurations . The following are key pairs and their certificates that do not have a designated purpose and can be used freely by users. Key-Id: 0Xf0000100 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000101 BINARY Size(Bits): 4392 Key-Id: 0Xf0000102 NIST-P (Key Pair) Size(Bits): 256 Key-Id: 0Xf0000103 BINARY Size(Bits): 4392 0Xf0000101 and 0Xf0000103 are certificates corresponding to the key pairs 0Xf0000100 and 0Xf0000102, respectively. Let's try using the key pair 0Xf0000100. OpenSSL treats key pairs as files, but there's no point in protecting the private key with SE050 if you're going to extract and use the private key. Therefore, it is obtained in a format that does not include the private key, called a reference key, which will be described later. The following commands will create a directory for storing keys and retrieve the keys. mkdir se050_keys cd se050_keys/ ssscli connect se05x t1oi2c none ssscli refpem ecc pair 0xf0000100 reference_key_0xf0000100.pem ssscli get ecc pub 0xf0000100 public_key_0xf0000100.pem ssscli disconnect For comparison purposes, we will also generate a key pair and public key without using the SE050 as described below. Please execute the following command. openssl ecparam -genkey -name prime256v1 -out keypair.pem openssl ec -in keypair.pem -outform PEM -pubout -out public_key.pem About the Reference Key Let's display the contents of the reference key and public key obtained using the following command. openssl ec -text -noout -in reference_key_0xf0000100.pem openssl ec -text -noout -pubin -in public_key_0xf0000100.pem The execution result will be as follows: (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl ec -text -noout -in reference_key_0xf0000100.pem read EC key Private-Key: (256 bit) priv: 10:00:00:00:00:00:00:00:00:00:00:00:00:00:00: 00:00:00:f0:00:01:00:a5:a6:b5:b6:a5:a6:b5:b6: 10:00 pub: 04:e7:e0:f5:77:d7:b7:6f:0c:e6:93:7c:61:bf:85: 5e:80:37:76:9a:01:e3:e4:18:60:67:7a:3f:ab:bd: 9b:b6:53:64:4d:40:9b:07:c6:18:c9:5a:74:b9:c7: c8:d4:ae:2e:49:ae:68:63:de:64:77:6d:1e:1c:94: 4b:bb:70:10:0b ASN1 OID: prime256v1 NIST CURVE: P-256 (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl ec -text -noout -pubin -in public_key_0xf0000100.pem read EC key Public-Key: (256 bit) pub: 04:e7:e0:f5:77:d7:b7:6f:0c:e6:93:7c:61:bf:85: 5e:80:37:76:9a:01:e3:e4:18:60:67:7a:3f:ab:bd: 9b:b6:53:64:4d:40:9b:07:c6:18:c9:5a:74:b9:c7: c8:d4:ae:2e:49:ae:68:63:de:64:77:6d:1e:1c:94: 4b:bb:70:10:0b ASN1 OID: prime256v1 NIST CURVE: P-256 As can be seen above, the `pub` field of the reference key contains the same public key as the public key file, but the private key portion starting with `priv` contains a series of zeros, indicating that it does not actually contain the private key. The `priv` field in the Reference key does not contain the private key itself, but rather indicates where the private key is stored within SE050. In this case, it indicates that it is stored at 0xf0000100. For formatting information, see document "8.1.2.2". It is described in "EC Reference key format". Enabling the OpenSSL Provider There are several ways to use the OpenSSL Provider, but here we will enable it by reading a config file. The config file is located in simw-top/demos/linux/common/ and there are several versions of it. openssl11_sss_se050.cnf ----- OpenSSL 1.1.1 and SE050 openssl_sss_se050.cnf ----- OpenSSL 1.0.0 and SE050 openssl30_sss_se050.cnf ----- OpenSSL 3.x and SE050 You can check the OpenSSL version with the following command. openssl version If you're using a Raspberry Pi, it should be version 3.0. Apply the configuration using the following command. Replace with the middleware deployment location. export OPENSSL_CONF= /simw-top/demos/linux/common/openssl30_sss_se050.cnf   Signature generation and verification using SE050 + OpenSSL provider Use the following command: Use the reference key to generate a signature using the private key with ID:0xf0000100 within SE05x. Signature verification using the reference key and the public key with ID:0xf0000100 within SE05x. Signature verification using a client key We will do this. openssl pkeyutl -sign -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -out signature_with_provider.txt -digest sha256 openssl pkeyutl -verify -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -sigfile signature_with_provider.txt -digest sha256 openssl pkeyutl -verify -pubin -inkey public_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -sigfile signature_with_provider.txt -digest sha256 The execution result will be as follows: (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -sign -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -out signature_with_provider.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Performing ECDSA sign using SE05x (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -verify -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -sigfile signature_with_provider.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Performing ECDSA verify using SE05x Signature Verified Successfully (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -verify -pubin -inkey public_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -sigfile signature_with_provider.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Not a key in secure element. Performing ECDSA verify operation using host software Signature Verified Successfully Since the OpenSSL provider is enabled, messages related to the OpenSSL provider will be displayed. The following display shows that SE05x is actually using the object specified by the reference key to generate and verify the signature. If it is not displayed, please check the OPENSSL_CONF settings. sssprov-flw: Performing ECDSA sign using SE05x sssprov-flw: Performing ECDSA verify using SE05x When verifying a signature using a file containing only the public key, the following message is displayed, indicating that SE050 is not being used. sssprov-flw: Not a key in secure element. Performing ECDSA verify operation using host software For comparison, we will perform the same operation using a key pair and public key generated outside of the SE050. openssl pkeyutl -sign -inkey keypair.pem -rawin -in public_key.pem -out signature.txt -digest sha256 openssl pkeyutl -verify -inkey keypair.pem -rawin -in public_key.pem -sigfile signature.txt -digest sha256 openssl pkeyutl -verify -pubin -inkey public_key.pem -rawin -in public_key.pem -sigfile signature.txt -digest sha256 The execution result will be as follows: (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -sign -inkey keypair.pem -rawin -in public_key.pem -out signature.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Not a ref key sssprov-flw: Not a key in secure element. Performing ECDSA sign operation using host software sssprov-flw: Get random data from SE05x (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -verify -inkey keypair.pem -rawin -in public_key.pem -sigfile signature.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Not a ref key sssprov-flw: Not a key in secure element. Performing ECDSA verify operation using host software Signature Verified Successfully (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -verify -pubin -inkey public_key.pem -rawin -in public_key.pem -sigfile signature.txt -digest sha256 App :INFO :If you want to over-ride the selection, use ENV=EX_SSS_BOOT_SSS_PORT or pass in command line arguments. sss :INFO :atr (Len=35) 01 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 00 01 00 00 00 00 64 13 88 0A 00 65 53 45 30 35 31 00 00 00 sss :WARN :Communication channel is Plain. sss :WARN :!!!Not recommended for production use.!!! sssprov-flw: Not a key in secure element. Performing ECDSA verify operation using host software Signature Verified Successfully When a key pair is specified, the following is displayed, indicating that signature generation is performed using the private key in the key pair file, not SE050. sssprov-flw: Not a ref key However, since the OpenSSL Provider provides a random number generation function, the following is displayed during signature generation, and random numbers are generated using SE050. sssprov-flw: Get random data from SE05x For comparison, the following is the result of using a reference key with the OpenSSL provider disabled. (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ export OPENSSL_CONF= (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -sign -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -out signature_without_provider.txt -digest sha256 (venv) shinji@raspberrypi:~/SE-PLUG-TRUST-MW_04.07.01/simw-top/pycli/se050_keys $ openssl pkeyutl -verify -inkey reference_key_0xf0000100.pem -rawin -in public_key_0xf0000100.pem -sigfile signature_without_provider.txt -digest sha256 Signature Verification Failure The priv portion of the reference key is interpreted as the private key, and the signature is generated accordingly. The signature generation is successful, but the signature verification will naturally fail because the private key being used does not correspond to the public key. In this case, we applied SE050 protection to a process that uses OpenSSL commands. An example of applying SE050 protection to an application using the OpenSSL library is described in the following article. Connecting to Azure IoT Hub using the Eclipse Mosquitto client ========================= We are currently unable to respond to comments left in the " Comment " section of this post . We apologize for the inconvenience, but please refer to " Technical Questions to NXP - How to Contact Us( Japanese Blog) " when making inquiries.(If you are already an NXP distributor or have a relationship with NXP, you may ask your representative directly.) In the previous article, we described the procedure for setting up the "Plug and Trust Middleware" library for SE05x (Secure Element) on a Raspberry Pi and FRDM-IMX93 (development board for i.MX 93) . How to use Secure Element SE05x: Setting up Plug and Trust Middleware on Raspberry Pi (Japanese blog) How to use Secure Element SE05x: Setting up Plug and Trust Middleware on the FRDM-IMX93 development board (Japanese blog) By using Secure Element and "*Plug and Trust Middleware," you can apply protection features to all applications that perform authentication using OpenSSL (e.g., Eclipse Mosquitto ™ , etc.) without modifying the application itself . This article explains practical ways to use SE05x in conjunction with OpenSSL. (Estimated time: 10 minutes *Assuming Plug and Trust Middleware is already set up) *Plug and Trust Middleware also includes integration with OpenSSL, which is widely used on Linux. Security Technology Focus Japanese Blog
查看全文
Viable replacement for DSP56F807 Hi team, We have a customer seen the EOL that was sent out on the DSP56F807, specifically we use the DSP56F807VF80E. Since we are faced with having to tackle this and there were no direct replacements listed, I was wondering what the most similar part would be from your point of view? We are thinking if we can find anything that requires little to no redesign work. Thank you for any support you can give on this.
查看全文
S32G:为什么 QSPI_IP_HyperflashProgram 每 2 字节发送一次写入命令? 专家们好 CTM: 法雷奥 平台:S32G3 模块:RTD 5.0.0QLP04 Fls 驱动程序 客户报告说,他们遇到的或非闪存写入吞吐量明显低于预期。 客户可能想知道为什么 QSPI_IP_HyperflashPro gram 函数 2 字节以 2 字节传输数据。看来这就是瓶颈所在。 是否有专家能就这一问题提供帮助? 感谢你的支持 狮子座 RTD Re: S32G: why the Qspi_Ip_HyperflashProgram sends write command for every 2 bytes? 你好@Nhi_Nguyen 谢谢您的帮助。但是在我们的驱动程序中一次写入 2 字节对客户来说太慢了吗?怎样才能提高性能? BR、 狮子座 Re: S32G: why the Qspi_Ip_HyperflashProgram sends write command for every 2 bytes? 你好@LeoLiAP、 这是因为 Hyperbus 支持以下两种类型的数据发送: 驱动程序支持将单个字写入内部缓冲(您的代码是每个地址数据的单个字),然后调用命令将缓冲区发送到 Fls(写入缓冲区)。 顺祝商祺! Nhi Re: S32G: why the Qspi_Ip_HyperflashProgram sends write command for every 2 bytes? 你好@LeoLiAP、 写入 2 字节遵循 Hyperbus 协议,所以我知道我们无法改变这一点。但 SW 团队将改进代码以节省时间,相关票据为ARTDCMEM-1247。 顺祝商祺! Nhi
查看全文
CLRC663 と CLRC663 plus AUX1 および AUX2 ピン構成の違い。 CLRC663およびCLRC663plusのAUX1およびAUX2のデフォルト状態に関する質問 アプリケーション ノートでは、AUX1 ピンと AUX2 ピンのデフォルトの予想される状態は次のように記載されています。 CLRC663 のGND 。 CLRC663plus 用にオープン。 具体的な質問: CLRC663 では AUX1 と AUX2 のデフォルト状態が GNDなのに、CLRC663plus ではオープンになっているのはなぜですか? CLRC663+ で AUX1 と AUX2 をオープンのままにせずにGNDに接続すると、何が起こるでしょうか、またはどのような影響があるでしょうか? CLRC663plus でこれらのピンを接地すると、LPCD の誤起動の原因になったり、デバイスの動作に他の影響が生じたりしますか? Re: CLRC663 and CLRC663 plus AUX1 and AUX2 pin configuration difference. こんにちは@rahultt999 あなたの調子が良いといいのですが。 CLRC663 の非プラス バージョンは新しいデザインには推奨されないことにご注意ください。 これらのテスト信号は通常の動作モードでは使用できません。これらのピンをデバッグ目的で設定する場合は、必ずCLRC663 アンテナデザインのセクション 4.4.2 の指示に従ってください。そうしないと、デバイスが損傷する可能性があります。NFC アンテナ設計トレーニング シリーズ、講義 4 (約 24 分 30 秒) もご覧ください。 これらのピンを使用していない場合は、AUX1 ピンと AUX2 ピンの対応するアプリケーション ノートの推奨接続に従ってください。 - AN11145はCLRC663にGNDを推奨しています - AN11783はCLRC663プラスでオープンにしておくことを推奨しています よろしくお願いいたします エドゥアルド。 Re: CLRC663 and CLRC663 plus AUX1 and AUX2 pin configuration difference. こんにちは、 必要に応じて、これらのピンを (適切な構成後に) アナログ デバッグに使用できるように、テスト ポイントに接続することをお勧めします。AN11145 および AN11783 の推奨事項は、低電力デザインを目的としています。 よろしくお願いいたします エドゥアルド。 Re: CLRC663 and CLRC663 plus AUX1 and AUX2 pin configuration difference. こんにちは、エドゥアルドさん。 早速のご返信ありがとうございます。 現在の製品設計では、 CLRC663 plusチップを使用しており、これらの特定のピンは現在接地されています。ただし、「プラス」バージョンのアプリケーション ノートでは、これらのピンをオープンのままにしておくことを推奨していることに気付きました。 これらのピンをオープンのままにせずにグランドに接続したままにしておくと、製品のパフォーマンスに既知の影響やリスクはありますか? Re: CLRC663 and CLRC663 plus AUX1 and AUX2 pin configuration difference. ありがとう、エドゥアルド。これらのピンをオープンにしない場合、消費電力に具体的な影響があるかどうかご存知ですか?これらのピンの内部回路の詳細がなければ、決定的な結論を導き出すことができないため、質問しています。
查看全文
i.MXRT1176 无法在外部 QuadSPI 或非 Flash IS25WP256 上启动 您好, 我们正在尝试在定制主板上的 QuadsPI NOR Flash IS25WP256 上启动 i.MXRT1176。我们连接内存的方式与 MIMXRT1170EVK 评估板上的连接方式相同(引脚 GPIO_SD_B2_05 至 11)。我们还将启动引脚设置为与评估板上的相同状态。 我编写了一个简单的"Hello world" 应用程序,在 M7 内核上运行。此应用程序可以在评估板上正确启动,但无法在我们的自定义板上启动。这两个板之间的唯一区别是我们的自定义板上的内存为32MB,评估板上的内存为16MB。 因此,我这样修改了 FCFB(在闪存中编程为 0x400): 我将闪存大小更改为 32MB,并将 LUT 中的 READ命令 更改为使用具有 32 位地址的 READ命令(而不是足以容纳评估板上的闪存的 24 位地址)。 尽管进行了这些更改,但i.MXRT无法在我们的自定义主板上启动。 所以,我看了总线的信号。 启动 ROM 正确地从闪存中读取 FCFB(512 字节)并进行一些配置(写入启用、设置读取参数、读取状态寄存器)。根据 RM 中的记录,时钟频率为 30MHz。 此后,启动 ROM 进行 4 次读取访问,每次 64 字节,时钟频率为 133MHz(这确认了启动 ROM 读取 FCFB 并应用了设置)。但是,它会读取地址为 0x0000、0x0040、0x0080 和 0x00C0 的内存。这些是启动 ROM 的最后一次访问,而 M7 内核无法启动。我将 jLink 探针连接到 M7 内核,发现启动 ROM 在 0x223104 处陷入了无限循环。 我预计启动 ROM 会读取位于 0x1000 的 IVT 表,这样它就可以加载应用程序代码并开始执行。 我试着将时钟频率改为 30MHz(而不是 133MHz)。启动 ROM 以 30MHz 进行最后四次读取访问,但应用程序仍无法启动。 我做错了什么? 我被卡住了,希望得到任何帮助 😉 戴维 Re: i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256 你好,@davidjaouen、 看来问题可能与调试器有关,因为执行卡在地址0x223104,本页的 “RESET” 部分提到了该地址。请终止调试会话,然后清理并重建项目。然后,尝试在不进入调试模式的情况下运行应用程序,并将结果告诉我。 BR Habib Re: i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256 嗨,哈比卜 谢谢您的回答。 不幸的是,我断开了调试器探头与主板的连接并进行了硬件RESET,但是 i.MXRT 仍然无法从闪存启动。 还有其他想法吗? 此致, 戴维 Re: i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256 你好 Habib, 我们终于在 QSPI Flash 上制作了我们的定制板启动。问题出在 BOOT_CFG1[1] 引脚上,它是高电平而不是低电平。因此,启动 ROM 尝试启动加密映像,但我们的映像未加密。 感谢您的帮助。 戴维 Re: i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256 不要劫持主题 - 自己开主题。 Re: i.MXRT1176 does not boot on external QuadSPI NOR Flash IS25WP256 你好@Habib_MS、 我遇到了同样的问题,即RESET/调试启动后目标保持在 0x002231 FC。但是,如果我重新启动主板,应用程序将从 QSPI 闪存启动并正常运行 。 我正在使用: 微控制器: i.MX RT1176 IDE:MCUXpresso 集成开发环境 调试探头:MCULink 根据我的观察,该问题仅在调试器 RESET/调试启动期间出现,而不是在独立启动期间出现。 你能否建议正确的RESET/调试配置或解决方法来解决这个问题? 等待您的回复。 谢谢 纳根德拉-库马尔-S
查看全文
您知道 PCA9698 的状态吗? 我想我可能需要这样的东西。其现状如何?有没有更新的类似产品? 兰迪 Re: Do you know the status of PCA9698 ? 你好,兰迪、 PCA9698 目前仍在生产,但 HVQFN56 版本 (PCA9698BS) 已经停产。TSSOP56 版本(PCA9698DGG)仍然完全有效并受支持,是新设计的推荐选择。没有较新的恩智浦设备能够在单芯片中提供相同的 40 位 GPIO 数量和电流能力,因此,如果需要该功能,PCA9698DGG 仍然是最合适的解决方案。 BRs, Tomas
查看全文