米尔i.MX 93核心板:异构计算与AI赋能入门级嵌入式开发实战

news2026/5/18 15:02:06
1. 项目概述米尔NXP i.MX 93核心板如何重塑入门级嵌入式体验在嵌入式开发领域选型往往是一场在性能、成本和功能之间的艰难平衡。对于许多从事工业HMI、智能网关、便携式医疗设备或新能源充电桩开发的工程师来说他们既需要一颗能流畅运行Linux或Android系统、处理复杂人机交互的“大脑”又希望这颗大脑能兼顾实时控制、低功耗以及日益增长的边缘AI推理需求同时预算还常常卡在“入门级”的范畴。过去这可能意味着要在多个芯片方案间做取舍或者接受某些方面的妥协。但最近米尔电子推出的基于NXP i.MX 93处理器的MYC-LMX9X核心板及配套开发板让我感觉这个平衡点被重新定义了。简单来说这不是一颗简单的升级版芯片而是NXP将其在i.MX 6和i.MX 8系列上积累的市场经验进行了一次精准的“外科手术式”整合与优化后的产物。其核心i.MX 93处理器采用了一种非常讨巧的异构架构双核Arm Cortex-A55主处理器搭配一颗Cortex-M33实时协处理器。A55双核主频1.7GHz足以应对操作系统和多任务应用而独立的M33核运行在250MHz专门处理对实时性要求苛刻的任务比如电机控制、传感器数据采集或通信协议栈两者通过内部总线高效协同从硬件层面实现了应用与控制的解耦与并行。更吸引人的是它集成了一个算力为0.5 TOPS的NPU神经网络处理单元这让在端侧实现人脸识别、异常检测、语音唤醒等轻量级AI功能成为了可能且成本可控。米尔电子将其做成核心板MYC-LMX9X的形式对于产品开发而言是极具效率的。核心板集成了处理器、内存、存储、电源管理等最核心、设计难度最高的部分工程师只需要设计自己的功能底板Carrier Board通过板对板连接器与核心板对接就能快速构建出最终产品。这极大地缩短了硬件开发周期降低了信号完整性和电源设计的技术门槛。而配套的MYD-LMX9X开发板则是一个功能齐全的参考设计几乎引出了处理器所有关键接口方便开发者进行软硬件评估和原型开发。无论是刚接触嵌入式Linux的新手还是正在为下一代产品寻找高性价比方案的资深工程师这套平台都值得深入研究。它瞄准的正是那些需要一定算力、丰富接口、实时控制能力以及初步AI赋能但又对成本极其敏感的广阔应用场景。2. 核心板深度解析MYC-LMX9X的硬件设计与选型考量当我们拿到一颗像i.MX 93这样的处理器时如何将其转化为一个稳定、可靠、便于使用的核心模块是核心板设计的核心价值。米尔MYC-LMX9X核心板的设计充分体现了对工业级应用需求的深刻理解。2.1 处理器架构与性能定位分析i.MX 93处理器的异构架构是它最大的亮点。双核Cortex-A55属于Arm的“高效”微架构在保证足够应用性能的同时其功耗和芯片面积相比高性能的A核系列如A72有显著优势。1.7GHz的主频在入门级处理器中属于中上水平足以流畅运行基于Linux的Qt图形界面或轻量级Web服务器。独立的Cortex-M33核是关键它基于Armv8-M架构支持TrustZone安全扩展并且通常运行在实时操作系统如FreeRTOS、Zephyr上。在实际项目中我们可以将CAN总线通信、高速ADC采样、PWM电机驱动等对时序要求严格的任务放在M33上运行而A55核则专注于用户界面和网络通信。这种分工避免了在单一操作系统上因任务调度带来的实时性抖动问题。集成的NPUEthos-U65提供了0.5 TOPS的INT8算力。这个算力级别非常精准它不足以运行庞大的视觉Transformer模型但对于经过量化、剪枝优化后的MobileNet、YOLO-fastest等轻量级模型处理640x480甚至更低分辨率的图像分类、目标检测任务绰绰有余。这意味着在不需要额外增加AI加速芯片的情况下产品就具备了基础的视觉感知能力对于智能门禁、工业质检分选等场景是巨大的成本优势。2.2 核心板关键元器件选型与布局一颗核心板的稳定性和性能上限不仅取决于主控更取决于其“左膀右臂”——内存和存储。MYC-LMX9X核心板通常提供多种配置最常见的是搭配1GB或2GB的LPDDR4内存。对于运行Linux系统加上一个中等复杂度的GUI应用1GB是起步线2GB则能提供更充裕的多任务缓冲空间。选择LPDDR4而非DDR3/4主要考量是功耗和体积。LPDDR4的工作电压更低在提供足够带宽的同时能显著降低核心板整体功耗这对电池供电或对散热有严格要求的设备至关重要。存储方面核心板会板载eMMC芯片容量从8GB到64GB不等。eMMC相比传统的SD卡或SPI NAND Flash接口速度更快HS400模式可靠性更高并且将控制器集成在芯片内简化了主机端的驱动设计。对于工业产品直接选用工业级或宽温级的eMMC是保证长期稳定运行的基础。核心板的PCB设计通常采用8层或10层板以确保高速的DDR内存信号和差分信号如MIPI、USB的完整性。电源设计更是重中之重i.MX 93需要多路不同电压、不同电流的电源轨核心板上的PMIC电源管理芯片必须能提供稳定、纯净的电源并支持上电时序控制、动态电压调节等功能。2.3 板对板连接器与扩展性设计核心板通过高密度、高可靠性的板对板连接器Board-to-Board Connector与底板连接。米尔通常选用脚数在200pin以上的连接器将处理器的几乎所有可用GPIO、高速差分对、电源和地线都引出来。这种设计带来了极大的灵活性。工程师在设计底板时可以根据产品具体需求自由分配这些引脚资源。例如一个项目可能需要4个UART而另一个项目可能需要更多的I2C和PWM通过底板的电路设计即可实现无需修改核心板。注意在选择和使用核心板时务必仔细查阅其引脚定义表Pinout。虽然接口丰富但许多引脚是复用的例如一个引脚可以是UART的TX也可以是I2C的SCL。需要在底板的电路设计初期就规划好每个引脚的功能并在后续的软件设备树Device Tree配置中与之对应。错误的引脚复用配置是导致外设无法工作的常见原因之一。3. 开发板功能全景MYD-LMX9X的接口与实战环境搭建如果说核心板是“引擎”那么MYD-LMX9X开发板就是一辆功能完备的“概念车”它展示了i.MX 93这颗引擎在所有可能方向上的潜力。这块开发板几乎是一个嵌入式系统接口的博览会为开发者提供了绝佳的评估和原型开发平台。3.1 网络与通信接口配置详解开发板配备了两个千兆以太网口这在其定位的品类中是不多见的。其中一个网口支持TSN时间敏感网络这是工业自动化、汽车等领域的关键技术能够保证关键数据在标准以太网中的确定性低延迟传输。对于开发工业网关或运动控制器的工程师可以直接利用此功能进行协议研究和原型验证。另一个标准千兆网口则用于常规的网络连接和数据传输。无线连接方面板载的USB接口Wi-Fi模块提供了快速的网络接入能力。而那个M.2 B-key接口的5G/4G模块插座则是为物联网设备接入广域网铺平了道路。在设计需要远程监控或数据上报的设备如充电桩、分布式能源采集终端时这个接口省去了额外设计蜂窝模块电路和天线的麻烦。只需选购兼容的5G/4G模组插入配置好相应的PPP拨号或AT指令驱动即可实现联网。3.2 显示与多媒体输入输出全解析i.MX 93的显示子系统非常灵活开发板也将其充分展现HDMI、LVDS和RGB接口三路显示输出并存。HDMI接口方便开发者连接现代显示器或电视进行高清UI演示LVDS接口常用于工业屏传输距离远、抗干扰能力强24位RGB并行接口则可以直接驱动一些低成本、小尺寸的液晶屏。最高支持1080p60fps的输出能力足以满足绝大多数工业HMI和交互终端的需求。输入方面MIPI CSI摄像头接口是亮点。配合市面上丰富的MIPI摄像头模组如OV5640、IMX219等可以快速搭建机器视觉原型。处理器内部集成的ISP图像信号处理器能对原始图像数据进行降噪、色彩校正等处理减轻CPU负担。音频编解码器芯片通过I2S总线与处理器连接提供标准的耳机插孔和麦克风输入为开发带语音交互功能的产品提供了硬件基础。3.3 工业控制与调试接口实战开发板上的CAN/RS485/RS232复合接口通过凤凰端子引出是工业现场的标配。CAN总线用于汽车和工业控制网络RS485用于长距离、多设备的串行通信如Modbus协议RS232则常用于连接老式设备或作为调试控制台。通过软件配置可以灵活切换该接口的工作模式。对于开发调试Micro SD卡槽、USB OTG Type-C接口和多个UART调试串口至关重要。SD卡可用于存储系统镜像、应用程序或数据日志。USB OTG接口功能强大它可以作为设备模式让开发板被电脑识别为一个大容量存储设备方便烧录系统也可以作为主机模式连接U盘、鼠标键盘等外设。而UART串口则是嵌入式开发者的“老朋友”是查看系统启动信息、进行命令行调试的最可靠手段。4. 从零开始系统烧录、启动与基础环境配置拿到开发板后第一件事就是让它“活”起来。这个过程虽然基础但每一步都藏着细节。4.1 系统镜像获取与烧录工具选择米尔电子通常会为MYD-LMX9X开发板提供完备的软件支持包BSP其中包含针对该硬件优化过的U-Boot引导程序、Linux内核以及文件系统镜像如基于Yocto Project构建的。你需要从米尔官网下载最新的BSP包。系统烧录一般通过USB OTG接口进行常用的工具有NXP官方提供的uuuUniversal Update Utility工具或者利用SD卡启动进行烧录。使用uuu工具是最直接的方式。首先用Type-C数据线连接开发板的OTG口和电脑并将开发板设置为串行下载模式通常通过拨码开关设置。然后在电脑上运行uuu命令指定要烧录的镜像文件如flash.bin这是一个包含了U-Boot、内核、设备树和根文件系统的复合镜像。uuu工具会通过USB将镜像直接写入到eMMC存储中。这种方式速度快且不依赖SD卡。4.2 U-Boot引导与内核启动参数调优烧录完成后将开发板拨回eMMC启动模式上电。此时第一个运行的软件就是U-Boot。通过串口调试工具如MobaXterm、SecureCRT连接开发板的调试串口你可以在启动倒计时时按任意键进入U-Boot命令行。在这里你可以进行一系列底层操作查看环境变量printenv命令可以查看所有启动参数如bootcmd自动执行的启动命令、bootargs传递给Linux内核的参数。设置启动参数例如如果你需要通过NFS挂载根文件系统进行开发可以设置bootargssetenv bootargs consolettymxc1,115200 root/dev/nfs nfsroot192.168.1.100:/nfsroot ip192.168.1.200:192.168.1.100:192.168.1.1:255.255.255.0::eth0:off然后saveenv保存。网络测试使用ping命令测试开发板与主机之间的网络连通性这对后续通过网络加载内核或文件系统至关重要。更新U-Boot本身如果有了新的U-Boot镜像可以通过uuu工具或tftp网络下载的方式将其烧录到eMMC的特定位置。内核启动参数bootargs的配置是系统能否正常启动的关键。除了指定控制台和根文件系统位置还可能包含内存大小、视频输出模式如videomxsfb:1280x800M60,ifRGB24、触摸屏设备等硬件相关参数。这些参数需要根据你的具体硬件配置进行调整。4.3 根文件系统构建与基础软件包安装如果使用米尔提供的预编译文件系统镜像开箱即用包含了基本的命令行工具和库。但对于产品开发我们通常需要自己定制文件系统。Yocto Project或Buildroot是构建嵌入式Linux文件系统的两大主流工具。以Yocto为例你需要搭建一个构建主机环境推荐Ubuntu LTS获取米尔提供的BSP层meta layer然后配置本地构建目录。通过bitbake core-image-minimal这样的命令可以编译出一个极简的文件系统。你可以通过编辑*.bb菜谱文件来添加或删除软件包比如增加Python3、OpenCV、Qt5等。这个过程可能需要数小时但它能让你完全掌控系统里包含的每一个组件及其版本对于保证产品的安全性和可维护性至关重要。文件系统构建好后可以打包成*.wic或*.ext4格式通过uuu工具烧录到eMMC中或者通过NFS挂载进行测试。首次启动进入系统后建议立即通过opkg或apt取决于文件系统类型更新软件包列表并安装必要的开发工具如gcc、gdb、vim、ssh等。5. 外设驱动开发与调试实战指南当基础系统运行起来后真正的硬件适配工作才刚刚开始。让每一个板载和外接的设备都按照预期工作是产品化的关键一步。5.1 设备树Device Tree配置原理与实战在现代ARM Linux中硬件描述信息不再硬编码在内核里而是通过一个叫做设备树Device Tree的配置文件.dts或.dtsi文件来传递。对于MYD-LMX9X开发板内核源码中会有一个对应的.dts文件如imx93-myd-lmx9x.dts它引用了处理器级的.dtsi文件并在此基础上添加或覆盖板级特定的配置。设备树描述了CPU、内存、总线以及挂载在总线上的所有设备如I2C设备、SPI设备、GPIO按键、LED等。例如要使能I2C1总线上的一个触摸屏芯片你需要在设备树中确保i2c1节点是okay状态。在i2c1节点下添加一个子节点来描述这个触摸屏设备指定其兼容字符串用于匹配内核驱动、I2C从地址、中断引脚等信息。修改设备树后需要使用设备树编译器dtc将其编译成二进制格式.dtb并替换掉启动介质中的旧文件。内核在启动时会解析这个.dtb文件根据其中的描述来初始化和加载对应的驱动程序。实操心得设备树调试是嵌入式Linux开发的必修课。一个非常实用的技巧是在系统启动后查看/proc/device-tree目录这里以文件系统形式呈现了内核解析后的设备树信息。你也可以使用dtc工具将/sys/firmware/devicetree/base反向编译成.dts文件来查看内核实际使用的配置这在与预期配置不符时非常有用。5.2 常见外设驱动加载与测试方法GPIO这是最简单的接口。可以通过/sys/class/gpio文件系统接口来控制。例如导出GPIO编号为504的引脚需要根据芯片手册换算echo 504 /sys/class/gpio/export然后设置方向echo out /sys/class/gpio/gpio504/direction最后输出高电平echo 1 /sys/class/gpio/gpio504/value。更专业的方式是在设备树中将其定义为LED或按键使用内核的LED子系统或GPIO按键驱动。I2C首先确认设备树中对应I2C控制器已启用。安装i2c-tools包后使用i2cdetect -l查看系统I2C总线使用i2cdetect -y 1扫描I2C-1总线上的设备地址。如果设备地址出现说明总线通信正常。然后可以编写用户空间程序使用ioctl调用或直接操作/dev/i2c-1设备文件来与从设备通信。SPI同样需要设备树支持。SPI设备通常有专用的设备节点并指定了片选CS引脚、时钟频率、传输模式等。驱动加载后会在/dev下生成类似spidev0.0的设备节点。可以使用spidev_test工具或自行编写程序进行通信测试。UART串口驱动通常默认启用。连接外设后对应的设备节点如/dev/ttymxc1会出现。使用stty命令可以配置波特率、数据位等参数然后使用cat、echo或minicom、picocom等工具进行数据收发测试。5.3 使用示波器与逻辑分析仪进行信号调试当软件配置正确但硬件通信仍失败时就需要请出硬件调试的“利器”。示波器用于观察信号的电压、时序和波形质量。例如在调试I2C通信时可以用示波器测量SCL时钟和SDA数据线的波形检查上升/下降时间是否过慢可能导致时序违规、是否有过冲或振铃阻抗匹配问题、高低电平是否达到标准。逻辑分析仪则擅长于协议层的调试。它有多通道可以同时捕获多条信号线如SPI的MOSI、MISO、SCLK、CS上的数据并将其解码成直观的协议数据包。当你的程序发送了一段数据但设备没有响应时用逻辑分析仪抓取总线上的实际数据可以立刻看出是程序发送的数据不对还是总线根本没有数据可能是片选信号错误亦或是从设备回复了NACK地址错误。这对于调试复杂的通信协议如Camera的MIPI CSI-2、显示的MIPI DSI几乎是不可替代的。6. 异构计算与AI应用开发入门i.MX 93的A55M33NPU架构为应用开发带来了新的范式。如何有效利用这三种不同的计算单元是发挥其最大效能的关键。6.1 Cortex-M33实时核独立开发与通信Cortex-M33核可以完全独立于A55核运行。通常我们会为M33核单独编译一个固件这个固件可能基于FreeRTOS或Zephyr RTOS。这个固件会被打包到整个系统镜像中并在启动时由A55侧的引导程序加载到M33的专用内存区域并启动。A55Linux侧与M33RTOS侧之间的通信是通过处理器内部的内存共享区域Shared Memory和中断机制实现的。双方约定好一块物理内存区域作为“邮箱”定义好数据结构和通信协议。当A55需要M33执行一个实时任务如读取传感器时它将命令和数据写入共享内存然后触发一个中断给M33。M33的中断服务例程读取命令并执行完成后将结果写回共享内存再触发中断通知A55。这种方式延迟极低通信开销小。开发M33固件需要使用Arm的Arm Compiler for Embedded或GCC for Arm工具链。NXP通常会提供M33核的SDK其中包含启动代码、外设驱动库和RTOS的移植。调试M33核相对复杂通常需要通过JTAG/SWD接口连接调试器如J-Link并使用IDE如Keil MDK、IAR Embedded Workbench或VS Code Cortex-Debug进行单步调试和变量查看。6.2 NPU模型部署与推理流程详解利用i.MX 93的NPU进行AI推理主要流程如下模型训练与选择在PC端使用TensorFlow、PyTorch等框架训练一个模型或者选择一个预训练的轻量级模型如MobileNetV2用于图像分类YOLOv5n用于目标检测。模型转换与量化这是关键步骤。NPU通常只支持特定的算子Operations和数据类型如INT8。需要使用NXP提供的eIQ®工具链包含TensorFlow Lite Converter、ONNX Converter等将训练好的模型.h5或 .pt转换为NPU支持的格式如.tflite。同时进行后训练量化Post-Training Quantization将模型的权重和激活从浮点FP32转换为8位整数INT8这能大幅减少模型体积、提升推理速度并降低功耗但可能会带来微小的精度损失。模型部署与集成将转换和量化后的模型文件如mobilenet_v2_int8.tflite放入嵌入式设备的文件系统中。在应用程序中调用NXP提供的推理引擎库如TensorFlow Lite for Microcontrollers的NPU后端或专有的Vela运行时库来加载模型、输入数据并执行推理。性能优化使用工具分析模型在NPU上的运行情况识别瓶颈。可能需要对模型结构进行微调如算子融合、替换不支持的算子或调整输入数据的预处理流程以充分发挥NPU的并行计算能力。6.3 多核协同应用案例智能视觉门禁系统假设我们要开发一个智能视觉门禁。我们可以这样分配任务Cortex-A55 (Linux)运行主应用程序提供Web配置界面或本地GUI。负责从MIPI摄像头采集视频流利用V4L2框架。对采集到的图像进行预处理缩放、色彩空间转换。调用NPU推理引擎执行人脸检测和识别模型。通过网络Wi-Fi/以太网将识别结果上传到云端。通过GPIO控制门锁继电器。Cortex-M33 (FreeRTOS)独立运行一个高精度的定时器周期性如10ms通过ADC读取门磁传感器、刷卡器或按键的状态。实时处理这些输入信号一旦检测到合法刷卡或紧急按钮按下立即通过共享内存中断通知A55核。可以独立控制一个蜂鸣器或状态指示灯提供即时反馈。NPU专门负责运行量化后的人脸检测和特征提取神经网络模型。当A55核将预处理后的图像数据送入NPU后NPU在毫秒级时间内完成推理并将结果人脸框坐标、特征向量返回给A55。这种架构下M33确保了物理交互的实时性和可靠性NPU高效处理了计算密集型的AI任务而A55则统筹全局处理复杂的业务逻辑和网络通信。三者各司其职共同构建了一个高效、可靠且智能的系统。7. 项目实战从开发板到原型机的设计要点将MYD-LMX9X开发板上的功能迁移到自己设计的定制底板上是产品化的核心一步。这个过程充满了挑战但也正是嵌入式开发的魅力所在。7.1 底板原理图设计关键检查项设计底板原理图时绝不能简单照搬开发板。开发板为了展示功能往往将所有接口都引出而产品底板需要根据需求做减法并强化可靠性设计。电源树设计这是重中之重。仔细阅读i.MX 93和核心板的电源需求文档明确每一路电源如VDD_SOC, VDD_ARM, NVCC_*等所需的电压、最大电流、上电时序和纹波要求。选择性能合适的DC-DC和LDO芯片并做好去耦电容的布局通常遵循“大电容储能小电容滤高频”的原则在靠近芯片电源引脚处放置0.1uF和10uF电容。时钟电路处理器需要24MHz的主晶振以及可能需要的RTC时钟32.768kHz。确保选用精度和负载电容匹配的晶体并按照数据手册推荐设计匹配电容和布局远离噪声源。接口电平匹配i.MX 93的GPIO通常是3.3V电平。如果你要连接5V器件如某些老式传感器必须使用电平转换芯片如TXS0108E或分压电阻网络防止损坏CPU引脚。ESD与过流保护所有对外接口USB、以太网、串口、GPIO连接器都应考虑添加ESD保护二极管如USBLC6-2SC6用于USB。电源输入端应设计自恢复保险丝和TVS管防止电源反接或浪涌冲击。未使用引脚处理对于未使用的GPIO最好将其配置为输出低电平或带上拉/下拉的输入模式通过软件或硬件电阻避免浮空引起功耗增加或不稳定。7.2 PCB布局布线实战经验与教训PCB布局布线决定了信号的完整性和系统的电磁兼容性。电源优先先规划电源路径。大电流的DC-DC电路如给核心板供电的路径应路径短而宽输入输出电容要紧贴芯片引脚。模拟电源如音频编解码器和数字电源要分开必要时使用磁珠隔离。高速信号布线对于以太网、USB、MIPI、LVDS等差分信号必须严格遵循差分对布线规则等长、等距、紧耦合并保持完整的参考平面通常是地平面。阻抗控制至关重要需要根据PCB叠层计算线宽线距以达到目标差分阻抗如USB为90Ω以太网为100Ω。避免在差分线下方的参考平面上走线或挖空。内存信号针对核心板设计者如果是自己设计包含DDR的核心板那布局布线是最大的挑战。需要严格遵循芯片厂商提供的设计指南控制走线长度、做T型或Fly-by拓扑结构、进行严格的时序仿真。对于使用米尔核心板的用户这部分最复杂的工作已经由核心板完成。接地策略一般采用“单点接地”和“分区接地”结合的策略。数字地、模拟地、电源地、外壳地屏蔽地在单点连接通常通过0欧电阻或磁珠。铺地平面时要保证地平面的完整性避免信号线割裂地平面。踩坑实录我曾在一个项目中因为将Wi-Fi模块的天线走线布在了DC-DC电源芯片的正下方导致Wi-Fi信号强度极差且不稳定。后来重新布线让天线路径远离所有电源和数字信号区域并保持周围大面积净空问题才得以解决。教训是射频和模拟电路的布局必须给予最高优先级并严格遵守器件手册的布局建议。7.3 散热、结构与电磁兼容性EMC考量散热设计i.MX 93在满负荷运行时会产生一定热量。在底板上核心板正下方应预留足够的空间并考虑在底板背面增加散热焊盘或安装小型散热片。如果产品外壳密闭需要评估整体热设计可能需要在外壳上开散热孔或增加风扇。结构设计底板与核心板的连接器必须选择可靠型号并在PCB上增加定位孔和螺丝孔确保连接牢固防止振动导致接触不良。对外接口的位置要符合产品外壳的设计。EMC设计这是产品通过认证如CE、FCC的关键。除了良好的布局布线在电源入口处增加共模电感、X/Y电容组成滤波电路。时钟信号线包地处理。敏感电路如复位、晶振远离噪声源。预留屏蔽罩的焊盘位置必要时为高速电路如CPU、DDR增加屏蔽罩。在产品打样后必须进行预兼容性测试及早发现问题。从一块功能丰富的开发板到一个稳定可靠的产品原型这个过程是对工程师硬件设计、软件调试和系统整合能力的全面考验。米尔MYC-LMX9X核心板提供了一个极高的起点但最终产品的成功取决于你在后续每一个细节上的深入思考和严谨实践。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2621988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…