登录社区云,与社区用户共同成长
邀请您加入社区
服务提流量后,如果 CPUsys占比、内存回收和 Socket 队列同时变化,应用日志里未必有直接异常。此时要把请求入口与内核水位放在一条时间线上观察,而不是先猜某个函数变慢。这类现象的深层原因,往往在于。当高并发流量突破了 Socket 缓冲区极限,触发了内核的直接内存回收(Direct Reclaim)或 cgroups 内存配额限制时,整个操作系统容易产生连锁性的延迟抖动。理解 Linux
原文链接:https://blog.csdn.net/wilylcyu/article/details/51754495转载说明:感谢原作者!如有侵权,请联系我删除,谢谢!说明:此文仅针对Learning ROS for Robotics Programming - Second Edition这本书中的第八章的内容。一、使用gazebo创建建筑1 . 打开building edito...
端侧推理的产品价值很直观:低延迟、离线可用,数据也可以少出设备。工程约束同样直接:内存有硬上限,权限模型比云端零散,崩溃后还不一定有完整现场。所以第一步不是讨论模型参数,而是列出设备、操作系统和运行时的能力边界,再由业务层与 C/C++ 运行时共同约定资源、权限和失败语义。
另外如果安装了多个版本的MinGW,要保证CMakePresents.json文件中是你要使用的那个版本的MinGW,另外如果要更换MinGW版本,需要清除CMake缓存和删除bulid文件夹(每次点击生成按钮都会重建的),有可能缓存中还是旧版本的MinGW,导致编译不通过。另外,要保证在SquareLine Studio导出的LV_COLOR_DEPTH 和Vscode仿真的LV_COLOR_D
本文详细介绍了如何利用VSCode和GDB搭建可视化嵌入式调试环境,显著提升嵌入式Linux程序的调试效率。通过图形化界面管理断点、变量和线程,开发者可以告别传统的printf调试方式,实现更直观、高效的开发体验。文章包含环境搭建、配置详解和高级调试技巧,助力开发者快速掌握这一强大工具组合。
本文详细介绍了如何在嵌入式设备上离线运行Llama大语言模型(LLM),涵盖模型选择、量化技术、内存优化及部署工具链对比。通过实战案例和优化技巧,帮助开发者在资源受限的嵌入式设备上实现高效、低延迟的本地推理,特别适合隐私敏感、实时响应要求高的应用场景。
我在前面的博客中分享了GD32F470的vscode+Embedded IDE环境配置,当时是使用的官方固件库的keil模板直接新建,导致项目结构复杂冗余。遂参照Embedded IDE内置模板STM32项目,新建GD32F470项目工程。
本文介绍了在VSCode环境下开发8086/8088单板机的流程:首先打开例程文件夹并编辑main.c文件;然后切换到cmd模式执行编译;最后返回Powershell模式,通过autoflash.ps1脚本完成串口烧写。该集中开发环境简化了编辑、编译和下载的全过程,提高了开发效率。
本文详细介绍了如何使用VSCode和PlatformIO插件进行韦东山IMX6ULL开发板的LED驱动开发,从环境配置到实际调试的全过程。通过现代开发工具链,提升嵌入式Linux开发效率,特别适合初学者入门和实践。
启动开发板上的 gdbserver,输入命令: gdbserver 192.168.137.50:2001 gdbtest。点击 VSCode 上的“调试” ->“启动调试”按钮,等待连接成功。.vscode 目录下 launch.json 文件内容模板,
以上就是利用vscode进行gdb图形化调试的讲解,在博主的工作中而言,对于嵌入式Linux,百分之90采用的是打印日志调试,剩下百分之10使用gdb调试,建议大家两种调试方法都要会。本次分享就到这里,后边笔者的嵌入式Linux项目预计7月初会上线,有需要的粉丝朋友可以联系笔者。
本文针对国产MCU开发中GCC兼容性问题(如蓝牙合封芯片静态库版本冲突)导致开发者被迫回归Keil的情况,提出基于VSCode的小团队协作方案。核心方案是安装KeiluVisionAssistant插件(需配置Keil路径)和微软C语言插件,通过直接导入Keil工程实现开发。特别提醒:使用Git协作时需保持团队成员工程路径完全一致,以确保兼容性。该方案在保留Keil工具链优势的同时,提供了更现代的
将原本运行在云端的 AI 模型下沉至终端设备(如嵌入式 Linux、边缘网关或客户端),是降低网络传输延迟与保护数据隐私的常见选型。但在存量系统升级过程中,若未经评估直接把云端 API 或既有规则引擎全盘替换为端侧小模型,在高并发或长上下文场景下,容易触发内存超限(OOM)、CPU 资源抢占,进而影响主业务进程的实时响应。端侧 AI 推理的部署除了模型格式转换(如 GGUF、ONNX 或 Tens
AI算力上机器人,NPU/GPU算力板卡的时钟树怎么设计?本文从嵌入式工程师视角拆解100/125MHz差分振荡器的必要性、参数要点与选型经验。
嵌入式C++字面量运算符与单位系统摘要 本文介绍了C++11字面量运算符在嵌入式开发中的应用,重点展示了如何通过自定义后缀实现类型安全的单位系统。主要内容包括: 核心概念:字面量运算符允许为自定义类型定义后缀(如123_ms),实现编译期计算且零运行时开销。 嵌入式优势: 防止单位混淆(毫秒/微秒) 代码自文档化 类型安全检查 保持可读性(如72_MHz) 实现示例: 基本时间单位定义(毫秒、微秒
本文深入对比了嵌入式开发中三种核心通信协议UART、SPI和I2C的技术特性与应用场景,提供详细的电路设计指南和实战优化技巧。通过协议特性对比表、典型代码示例和故障排查方案,帮助开发者根据传输速率、设备数量和功耗需求选择最佳方案,提升嵌入式系统通信可靠性。
设计目标不一样:STL 是 C++ 标准,通用!不管啥框架,只要是 C++ 就能用,追求 “跨编译器、标准化”;Qt 库是 Qt 生态的 “专属工具”,跟信号槽、对象树绑得紧,只为 Qt 项目服务。功能范围不一样:STL 就搞 “基础数据结构 + 算法”,比如 vector 存数据、sort 排序,功能纯粹;
本文深入剖析了TP4056锂电池充电管理芯片在嵌入式硬件设计中的五个实战陷阱,包括系统功耗与充电电流分配、恒压阶段环路稳定性、热拔插浪涌防护、静态功耗控制以及PCB布局关键细节。通过实际案例与示波器波形分析,为电源电路设计者提供了一套完整的避坑指南,确保产品安全与可靠性。
本文全面解析了STC单片机UART串口通信的实战开发。从UART异步串行通信基础、电平标准讲起,详细阐述了STC单片机串口的寄存器与库函数配置方法,并对比了字节、字符串及格式化数据发送。重点介绍了利用中断和缓冲区高效接收数据的策略,以及多串口管理与自定义通信协议的进阶应用,最后提供了系统的硬件连接与软件调试排查指南。
本文详细介绍了如何在资源受限的嵌入式系统中,使用轻量级网络库Mongoose同时实现HTTP客户端与WebSocket客户端。文章通过实战代码解析了其事件驱动、单文件集成、零依赖的核心优势,帮助开发者高效构建稳定可靠的双模网络通信功能,满足物联网设备与云端的数据交互需求。
本文深入探讨了嵌入式硬件接口测试中,因不同厂家设备差异带来的兼容性挑战。文章系统分析了电气特性、协议实现等根源问题,并提供了从文档审查、分层测试到设备矩阵组合验证的系统化测试策略,旨在帮助硬件测试与系统集成工程师有效应对多厂家设备集成难题,提升系统稳定性。
本文总结了嵌入式项目中内存优化的实用策略。针对RAM和FLASH不足问题,重点推荐将查表数据和字符串声明为const存入Flash、合理缩小通信缓冲区、避免全局大数组等直接有效的方法。在通信系统优化方面,建议共享接收缓冲和使用DMA环形接收。此外,禁用浮点printf、避免sprintf、启用编译优化选项和使用精简C库都能显著减少内存占用。通过生成map文件定位内存热点,按优先级实施优化,可使RA
本文详细介绍了如何利用Python和Pylink库快速构建一个嵌入式设备参数配置工具。通过封装J-Link调试器功能,该方案将繁琐的手动配置流程自动化,实现了5分钟内安全、准确地完成参数烧写,大幅降低了操作门槛并提升了团队协作效率。
假设有一个栈,有两个节点:A → B线程1读取head = A,准备pop线程2pop掉A,现在head = B线程2push新节点C,然后push回A,现在栈是A → C → BCAS成功!因为head确实是A但问题来了:线程1以为head还是它当初读到的A,但实际上A已经被pop又push回来了,中间的整个变化它完全没看到。更严重的是,如果A被释放后内存被重新分配给别的对象,CAS可能错误地匹
本文深入探讨了嵌入式系统中通过UART串口向LCD传输并显示图像的核心技术与避坑指南。文章重点分析了RGB565等图像格式的选型与转换,详细讲解了基于双缓冲或环形缓冲区的稳定串口数据传输方案,并提供了LCD显存管理与硬件加速的优化策略,旨在帮助开发者构建高效可靠的图像传输显示系统。
本文为2024年嵌入式CANopen协议实战指南,详细解析了CANopen协议在工业自动化中的核心价值,并提供了从零构建CANopen从站节点的完整流程。内容涵盖核心概念解析、Canfestival协议栈在STM32上的移植、对象字典配置、PDO与SDO通信实现,以及最终的联调与产品集成测试,旨在帮助开发者掌握构建标准化、可互操作工业节点的关键技术。
本文是一篇面向初学者的CAN总线学习笔记,详细介绍了CAN总线的基础知识和STM32开发实践。首先解释了CAN总线的基本概念、两种国际标准(ISO-11898高速CAN和ISO-11519低速CAN)及其应用场景。重点讲解了CAN总线的6大核心特点,包括多主控制、错误处理能力和非破坏性仲裁等。文章深入解析了CAN总线的物理层电平逻辑、数据帧结构、总线仲裁机制和位时序原理。最后提供了STM32 bx
本文详细解析了蓝桥杯嵌入式竞赛中STM32G431RBT6开发板的实战配置与代码编写。内容涵盖从环境搭建、时钟配置到GPIO、LCD、定时器、ADC、EEPROM、USART及RTC等核心模块的驱动开发与优化技巧,提供可直接应用的代码示例,帮助参赛者高效备赛。
本文介绍了ESP8266作为网络服务器的实现方法及其闪存文件系统操作。主要内容包括:1)ESP8266作为基础网络服务器的搭建流程,通过WebServer类实现HTTP请求处理,包括根目录访问、LED控制和引脚状态显示功能;2)ESP8266闪存文件系统(SPIFFS)的基本操作,涵盖文件读写、追加、目录查看、删除以及系统信息获取等功能;3)详细展示了如何通过Arduino IDE编程实现这些功能
FreeRTOS
介绍了FreeRTOS的事件标志组和任务通知
我记得第一次调试数码管显示时,因为没处理好段选和位选的时序,显示出来的数字全是乱的,折腾了整整一个下午才发现问题所在。这块看似普通的开发板,却是蓝桥杯单片机省赛的指定平台,每年都有成千上万的电子爱好者通过它来证明自己的实力。记得我第一次用PCF8591做DA转换时,输出电压总是不对,后来发现是I2C的时序有问题。备赛时,我会提前准备好这些驱动模块,比赛时直接调用,省去了重复编写底层驱动的时间。省赛
本文深度剖析嵌入式开发中C语言面试的核心考点,包括预处理器陷阱、指针运算、内存对齐、并发问题等实战技巧。通过真实案例解析宏定义、寄存器操作、中断处理等关键知识点,帮助开发者掌握嵌入式系统开发中的常见陷阱与优化策略,提升面试通过率与实战能力。
本文全面解析嵌入式系统中NTC热敏电阻的选型、测量电路设计及高精度温度转换算法。从基础参数选择到特殊场景优化,详细介绍了如何利用Steinhart-Hart方程、分段线性拟合等算法提升测量精度,并探讨了现代MCU新特性在温度测量中的应用。适合嵌入式开发者提升NTC测温系统的准确性和可靠性。
本文详细介绍了如何使用STM32定时器的PWM功能实现LED呼吸灯效果,涵盖从原理到HAL库实战的全过程。通过CubeMX配置定时器参数,结合代码示例展示PWM调光技术,并提供了进阶优化技巧如中断控制和多通道协同,帮助嵌入式开发者快速掌握这一实用技能。
本文详细介绍了在STM32F103C8T6上使用软件IIC驱动MPU6050的完整流程,包括硬件配置、I2C协议实现、传感器初始化、数据采集与校准等关键步骤。通过实战案例和调试心得,帮助开发者快速掌握嵌入式开发中MPU6050的应用技巧,提升运动感知系统的开发效率。
本文深入解析蓝桥杯嵌入式竞赛中浮点数比较的精度陷阱,以第十一届真题为例,提供四种实用解决方案,包括误差范围比较法、区间比较法、定点数替代法和整数放大法,帮助开发者避免常见错误,提升竞赛表现。
本文详细记录了使用CubeMX和STM32G431实现蓝桥杯嵌入式赛题'电压区间计时器'的全过程,包括需求分析、工程配置、核心算法实现和人机交互设计。通过状态机设计和性能优化,解决了ADC读数波动和计时误差等问题,最终完成了一个功能完善的嵌入式项目。
本文详细介绍了如何使用示波器和GPIO口为STM32代码进行精准调试,解决时序与死机问题。通过插入GPIO电平翻转指令,配合示波器实时捕捉代码执行轨迹,实现零干扰、纳秒级精度的调试效果。适用于嵌入式开发中的软件调试和Debug场景。
使用luma.oled驱动oled屏
本文深入探讨了5G基站开发中嵌入式中间件的关键作用,重点解析了五大核心API服务及其避坑指南。通过实战案例分享,帮助开发者优化跨板通信、内存管理和日志系统,提升基站系统的稳定性和性能,特别适合嵌入式开发者和基站系统架构师参考。
本文解释了.img文件的本质与结构,它不是简单的文件夹压缩包,而是整块存储设备的完整镜像。文章通过分层结构阐述其组成:整盘设备包含分区表(如MBR),分区表下划分多个分区(如boot和rootfs分区),每个分区内建有文件系统(如ext4),文件系统里存放具体文件。重点区分了U-Boot(直接写入磁盘raw区域)与内核文件(存放在boot分区)的不同层级,并说明为何完整镜像必须写入整盘设备而非分区
本文详细对比了嵌入式系统中五种主流串行通信协议(UART、SPI、I2C、CAN、USB)的关键特性,包括传输速率、通信距离、拓扑结构和硬件成本等。通过实际应用场景分析,为工程师提供了基于5大维度的选型指南,帮助优化系统设计。特别适合需要选择串行通信协议的嵌入式开发人员参考。
嵌入式
——嵌入式
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net