登录社区云,与社区用户共同成长
邀请您加入社区
之前写了一篇LAN9252移植的文档,是基于SPI接口的,但是在电机端的代码开发差不多的时,上了EtherCAT通信发现使用SPI与LAN9252进行通信带来的结果就是SPI的通信速率太慢了,MainLoop()函数在主循环中执行的时间在340us,即使后续进行了优化,时间仍然有150us。原因是MCU与LAN9252进行一次通信时候会涉及到8~9个字节通信,即使SPI的速率很高,有几十M,但是一
LVGL 是现代嵌入式 GUI开发领域的一个强大,灵活且资源高效的选择。它凭借其轻量级、高性能、丰富的功能集、出色的可移植性和活跃的社区支持,成为众多工程师为嵌入式设备创建专业级用户界面的首选库。无论你的项目是基于低成本的微控制器还是功能更强的微处理器,LVGL 都值得考虑。LVGL 是一个免费、开源的嵌入式图形库,用于为各种嵌入式设备创建美观、流畅的图形用户界面。它的设计目标是为任何具有微控制器
MPQ8632GLE-4是一款4A/18V同步降压转换器,采用3x4mm QFN-16封装,适用于通信设备、服务器等紧凑型电源系统。该器件采用自适应COT控制模式,无需复杂环路补偿,具备快速瞬态响应能力。支持200kHz-1MHz可编程开关频率,0.5%参考电压精度,集成过流、过压保护及PowerGood指示功能。其4.5-18V宽输入范围覆盖多种应用场景,4A连续输出能力配合0.611-13V可
本文介绍了嵌入式菜单库中几个关键交互功能的实现方法: 多级菜单导航系统:通过固定深度的函数指针数组模拟调用栈,实现类似浏览器的前进/后退功能,同时防止循环引用导致的无限堆叠。 动画效果系统: 提供可替换的动画接口,支持自定义效果 默认实现包含展开动画和平滑滚动效果 滚动速度根据选中项位置动态调整 消息框超时机制:基于简单的计时器实现自动关闭功能,不依赖操作系统定时器。 这些功能将基础菜单升级为具有
嵌入式设备OTA升级中,分片下载的边界处理是关键难点。文章指出常见问题包括:最后一片长度计算错误、HTTP Range越界、Flash写入不对齐、CRC校验范围错误等。核心解决方案是:动态计算每片下载长度(取剩余长度和分片大小的较小值),严格检查服务器返回数据长度,确保Flash写入地址正确对齐,并区分下载偏移和Flash地址。特别强调整数倍固件大小和最后一片的特殊处理,建议通过详细日志记录off
《FreeRTOS实战笔记》是一份面向嵌入式开发的实用手册,系统整理了FreeRTOS核心机制与开发技巧。笔记从任务调度、队列、信号量等基础组件出发,结合CubeMX配置、中断处理、内存管理等实际问题,提供"概念-场景-API-示例-排错"的完整学习路径。重点内容包括:任务状态模型、优先级调度规则、组件选择公式(如任务间通信优先用队列,资源保护用互斥量),以及STM32开发中的
本文详细介绍了FatFs文件系统的移植与应用过程。首先阐述了文件系统的基本概念及其优势,包括数据定位、空间管理和格式解析等功能。随后重点讲解了FatFs文件系统的特点、配置方法和移植步骤,包括ffconf.h的参数配置和diskio.c的驱动实现。通过实际案例演示了在STM32平台上对W25Q64 Flash芯片的文件系统初始化、格式化、文件读写等操作。文章提供了完整的代码实现和详细的参数说明,特
摘要:英飞凌BSC117N08NS5是一款80V/49A的OptiMOS™5功率MOSFET,采用TDSON-8封装(5×6mm),具有11.7mΩ超低导通电阻和优化的开关特性。该器件针对同步整流应用优化,相比前代产品导通电阻降低43%,输出电容减少44%,显著提升电源效率1-2个百分点。其低栅极电荷(15-19nC)和快速开关特性(tr=4ns)使其适用于高频开关电源、服务器VRM、光伏逆变器等
1、下载IAR软件;(链接: https://pan.baidu.com/s/1X1xGG6ZB9Yu00L0LFLoiEw?pwd=6666 提取码: 6666)我的版本比较老,需要新的可以网上找一下;安装步骤在文件中。2、小华官网下载HC32L021系列标准库包;。
在 Eclipse 中使用 Copilot 插件时,Copilot 需要安装与终端相关的依赖项,以支持代理模式中的工具。如果缺少这些依赖项,Copilot 在大多数功能中仍能正常运行,但无法正确执行。当 IDE 启动时,你会看到一个对话框通知你关于缺失的终端依赖项。如果你不打算使用工具,此功能不会影响任何其他Copilot功能。本指南介绍如何安装所需的终端功能以完全启用支持。
《储能BMS量产技术难题与解决方案》 本文基于16串铁锂储能BMS量产项目,总结了三个典型技术问题及解决方案: 电压采样低温漂移问题:-20℃时部分电芯采样值漂移达+12mV,发现是DC-DC电感漏磁干扰采样线。通过PCB布局优化、增加共模扼流圈和软件动态校准,精度控制在±3.5mV内。 绝缘电阻检测异常:偶现负值问题,源于Y电容充放电时间不足。将采样等待时间从5ms延长至150ms,并增加中值滤
本文为BMS行业资深工程师分享的入门指南。文章指出BMS作为电动汽车和储能系统的核心,行业前景广阔但技术门槛高,需要掌握硬件设计、嵌入式软件、电池算法等多领域知识。作者将学习路径分为三个阶段:基础夯实(1-6个月)、方向专精(7-12个月)和实战进阶(1年以上),建议从C语言、电路基础入手,逐步深入CAN通信、SOC算法等功能开发。文中强调理论结合实践的重要性,并推荐使用国产AI工具辅助设计。最后
本文记录了从零构建嵌入式菜单库的初始探索过程。作者基于U8g2图形库,从一段简单的单函数菜单原型代码出发,逐步拆解设计思路。该原型实现了菜单内容回调、平滑滚动动画、垂直滑块等基础功能,采用回调函数机制实现框架与业务逻辑解耦。文章详细分析了代码中的关键设计决策,包括行模型抽象、追击算法实现平滑滚动、裁剪窗口控制显示范围等技术要点,并指出了当前实现的优缺点。这段仅300行的原型代码为后续开发完整的35
2026年嵌入式培训市场深度解析:实战为王,警惕行业乱象 随着AI边缘化加速,嵌入式人才需求激增(2024年职位增长264%),但培训市场乱象丛生: 四大评估维度:师资实战性(需10年以上研发经验)、硬件先进性(需覆盖ARM V8等架构)、项目真实性(拒绝教学玩具)、就业诚信度(警惕简历造假); 行业痛点:63%机构使用过时开发板,90%项目未经历量产检验,部分机构甚至教唆学员伪造履历; 破局者案
0x03 包里传输的是一个。
本文介绍了Armv8-R AArch32架构的特性与应用。该架构支持32位处理,具有虚拟化功能,采用A32/T32指令集,配备一级和二级MPU内存保护机制。文章对比了A、R、M三大系列处理器的特点,详细阐述了R系列的编程模型、虚拟化技术实现方式以及MPU工作原理。重点分析了Cortex-R52处理器的技术特性,包括8级流水线、多核配置、双核锁步、缓存/TCM设计、中断控制等。最后总结了Armv8架
裸机开发在项目初期具有简单直接、资源占用少和快速验证的优势,但随着系统复杂度提升,其局限性逐渐显现:时间关系混乱、模块耦合加重、故障难以定位。RTOS的核心价值在于为系统建立明确的调度规则和协作机制,通过任务优先级、同步原语和资源共享策略,解决裸机开发中隐含的时间假设和耦合问题。文章指出,当系统出现多条独立功能链、差异化实时性需求、中断滥用或持续扩展预期时,RTOS将成为必要选择。但同时强调,RT
创建型:管理对象创建结构型:管理类 / 对象组合行为型:管理对象通信。
嵌入式开发是一场没有终点的马拉松,代码需要一行行敲,Bug需要一个个调。希望这个专栏能成为我们交流的阵地,如果你有任何问题或建议,欢迎在评论区留言讨论。让我们一起,在MCU的世界里打怪升级!🚀。
读写锁是 “读多写少” 场景下的性能最优解,它通过 “读共享、写独占” 的机制,既保证了共享资源的安全性(避免脏读、数据混乱),又最大化了读操作的并发效率,解决了互斥锁串行读的性能瓶颈。而读锁的存在,不是多余的,而是为了协调读与写的关系 —— 它保护的不是读操作本身,而是读操作的正确性,避免读线程拿到写操作过程中的 “半成品” 数据,同时防止写操作被读操作打断。结合你之前的代码,我们可以做一个简单
Modbus Poll v13 和 Modbus Slave v10 安装包与注册码Modbus Poll 版本信息: Modbus Poll v13.0.1.2535 for Win x64 & x86Modbus Slave 版本信息: Modbus Slave v10.0.0.2493https://share.note.youdao.com/yws/public/resource/9f46
软件程序直观地定义了一个程序执行流(program flow),其规则时基于一定的逻辑顺序。而当软件程序经编译器翻译成可执行的机器码并在CPU上执行时,内存系统通常不会严格按照软件程序定义的时序来进行内存访问,这也就是前文描述的乱序执行。CPU采用乱序执行的原因主要有以下几点:① 在不改变软件程序定义的指令序列的预期行为的前提下,CPU可能会对一些访存操作重新排序;② CPU拥有多个总线接口(bu
摘要: U-Boot源码虽庞大,但其核心启动流程仅由不到50个关键文件支撑。本文通过Sandbox平台分析最小骨架,揭示U-Boot的核心机制:1)构建系统依赖Kbuild和链接脚本(如u-boot.lds);2)启动分为前置重定位(init_sequence_f)和后置重定位(init_sequence_r)两个阶段;3)最终进入main_loop实现命令交互。最小文件集涵盖架构层(sandbo
本文针对汽车电子开发语境,明确辨析概要设计与架构设计的概念边界、重叠关系及行业使用惯例,澄清 ASPICE 标准中的精确定义。
摘要: “小小调度器”是一款专为资源受限的嵌入式系统设计的轻量级任务调度方案,其核心优势在于极简的RAM占用(每个任务仅需3字节)和高效的多任务管理能力。通过状态机宏和C_task结构体实现任务调度,开发者只需定义任务变量、封装任务函数(使用TaskFun/EndFun),并在SysTick中更新计时器、主循环中执行任务即可。该方案避免了RTOS的开销和复杂状态机的设计,尤其适合低端MCU的裸机开
在上面我们简单对整个CDC_ACM模型的回环通信代码进行了梳理,这一节对整个的执行过程进行总结,首先给出USB设备端的状态机和状态说明。首先,将ESP32S3插入上位机之后,上电复位并启动进入固件,此时ESP32S3虽然已经插入上位机,但注意它并不算是Attached状态,因为此时ESP32S3的DWC2 USB控制器还没有有效上拉D+/D-两根线,所以是Not Attached状态。
承接上篇"AI边界分析",本文提出嵌入式工程师"六边形战士"六维能力模型:硬件具身感知、系统架构、软件实现、质量合规、AI工具编排、工程领导力。不是六维全深,而是无明显短板且有两三个长板。文章刻画了年轻工程师(π型新锐)、资深工程师(伞型专家)、技术管理者(桥接者)及副业从业者四类画像,并给出两代工程师从筑基到定义的具体进化路线。在SDV与ASPICE、功能安全、AI工具三重叠加下,汽车电子最需要
STM32启动文件解析 STM32的.s启动文件是系统上电后首先执行的程序,主要完成三个核心任务:1)初始化堆栈指针和程序计数器;2)建立中断向量表;3)配置系统时钟并准备C语言环境。启动流程分三步:硬件自动从向量表获取入口地址→执行复位处理程序(配置时钟、初始化RAM)→跳转至用户main函数。文件包含中断向量表定义、栈堆空间分配等关键部分,其中[WEAK]修饰符允许用户覆盖默认中断服务函数。启
边缘与端侧AI芯片四大阵营竞逐新赛道 全球半导体展会密集举办,边缘与端侧AI成为核心增量赛道。华兴万邦通过实地观察发现,边缘AI正从可选升级变为半导体企业的核心方向,并形成四大差异化竞争阵营: 物联网阵营:以芯科科技为代表,通过集成无线连接、安全模块和AI加速器,打造低功耗AISoC,抢占智能家居、工业节点等市场。 MCU/MPU阵营:如XMOS,在传统控制芯片中融入并行AI加速器,实现实时语音、
摘要: RS1G32LO5D2FDB-31BT是Rayson推出的32Gb LPDDR5 DRAM芯片,采用1G×32架构,支持6400Mbps数据速率,符合JEDEC JESD209-5B标准。其双时钟域设计(CK/WCK)优化了功耗与信号完整性,CK用于命令/地址(1600MHz),WCK用于数据选通(3200MHz)。通过DFE、CTLE和动态阻抗校准(ZQ)技术,确保高速数据传输的稳定性。
项目代码分为3个核心文件:main.c(主函数、系统初始化)、app_task.c(任务实现、传感器采集、协议处理)、freertos.c(FreeRTOS任务创建),以下重点解析关键模块,完整代码附在文末。先说明一下:本文基于STM32(以STM32F103为例,其他系列可快速适配),使用HAL库开发,整合了多个常用外设和通信协议,适合用于工业控制、智能监测等场景。主函数核心逻辑:初始化MCU外
2026年AI革命席卷软件业,嵌入式领域却呈"低温"。AI虽能辅助代码与测试,却难逾越嵌入式与物理世界耦合的五重壁垒——硬件约束、实时确定性、功能安全合规、资源极致优化及跨域调试。行业正剧烈分化:纯编码、手动测试被挤压,系统架构、功能安全、AI编排等经验型工作愈发稀缺。AI是资深工程师的放大器,却可能阻碍年轻工程师建立底层直觉,造成代际断层。结论:嵌入式工程师不会被取代,但必须进化为数字与物理世界
本产品是一款基于ZYNQ XC7Z100的3U VPX高性能处理模块,以超高密度网络(11路千兆+8路万兆)为核心优势,结合PS/PL双域各1GB DDR3独立缓存架构释放异构算力。具备极其丰富的网络接口及多种标准工业总线。同时,模块集成了独立的管理 MCU,实现完善的板级状态监测。产品兼具强大的数据处理能力与高可靠性,适用于雷达信号处理、高速数据采集、网络信息安全、边缘计算等对算力与接口密度要求
本文分享了在STM32平台上使用软件I2C驱动AHT20温湿度传感器的实践经验。针对F407/F429主频差异导致的时序问题,通过调整延时确保时序精度;将GPIO配置为开漏上拉模式以满足I2C总线要求;优化了信号处理流程,确保数据读取正确性。文章详细解析了I2C协议特性,包括"线与"架构原理,并提供了完整的驱动代码实现,包括初始化、起始/停止信号、字节收发等关键操作。通过规范初
摘要:圆周率智能推出"SDNand存储+离线地图+算法一体化解决方案",破解存储行业价格波动大、现货紧缺的痛点。该方案整合上下游资源,提供全规格存储适配(128GB-128MB),交货周期缩短至3周内,以"核弹级"综合成本优势帮助合作伙伴提升市场竞争力,实现存储、地图与算法的深度融合,助力企业从容应对行业挑战。
XMOS升级USBAudio方案平台,推出四大功能优化:新增32段EQ调节实现精细声频控制;支持SPDIF输入输出及一键升频功能;针对便携设备优化低功耗设计;新增DSD转PCM功能适配R2R解码。这些升级旨在满足专业音频设备对高保真、便携性和个性化定制的市场需求。XMOS将持续推进音频技术创新,为行业提供可升级的核心技术平台。
摘要:嵌入式SD卡(SDNAND)的初始化流程包括:1)上电时序需满足电压要求并发送74个时钟脉冲;2)发送CMD0复位命令进入空闲状态;3)通过CMD8检测卡类型;4)循环发送CMD55和ACMD41完成初始化;5)读取CSD和CID获取卡信息;6)设置512字节块大小。常见问题包括时序错误、参数错误、超时过短或电源不稳。遵循标准SD协议,初始化后即可正常读写。
SDNAND和eMMC是嵌入式存储的两大主流方案,各有优势。SDNAND开发简单、尺寸小巧(最小6x8mm)、寿命长(SLC版擦写10万次)、成本低,适合工业控制和车载应用。eMMC速度更快(理论400MB/s)、容量更大(可达256GB),适合消费电子和大容量需求。选择建议:优先开发便捷选SDNAND,追求性能选eMMC,空间受限选SDNAND,长寿命需求选SDNAND,大容量需求选eMMC。根
本文详细介绍了STM32串口通信的实现方法,包括物理层和协议层的概念解析。物理层区分了TTL和RS-232电平标准,协议层说明了数据包格式。文章重点讲解了三种接收方式:阻塞式接收定长数据,通过HAL_UART_Receive()实现;中断式接收定长数据,使用HAL_UART_Receive_IT()和回调函数处理;中断式接收不定长数据,利用HAL_UARTEx_ReceiveToIdle_IT()
XMOS发布语音方案选型指南,帮助工程师快速匹配最优语音解决方案。该交互式工具通过简单问题即可推荐适合的XMOS语音方案,涵盖远场拾音、抗噪等需求。配套知识库整合专业资料和最佳实践,助力攻克高难度拾音场景。选型指南支持精准对比XMOS全系列产品,提供详尽的方案差异分析,帮助工程师高效决策。适用于智能家居、机器人、工业设备等多种应用场景。
mcu
——mcu
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net