嵌入式

Hello_Embed7 小时前
笔记·单片机·嵌入式·freertos·usb
USB 虚拟串口源码改造与 FreeRTOS 适配在上一篇笔记中,我们完成了 USBX 组件的手工移植并实现了基础的 USB 虚拟串口功能,能够实现与 PC 端的简单数据收发。但原有源码的收发逻辑缺乏可靠的同步机制与数据缓存机制,在实际工程应用中容易出现数据丢失、发送超时无响应等问题。本次笔记将基于 FreeRTOS 的信号量与消息队列,对 USB 虚拟串口的源码进行改造,实现可靠的阻塞式发送与队列化接收,让 USB 串口功能更符合嵌入式工程的实战需求,同时夯实 FreeRTOS 与 USBX 结合使用的核心技巧。
LN花开富贵15 小时前
笔记·单片机·嵌入式硬件·学习·嵌入式
LM393的工作原理和引脚作用LM393是一款双路、独立、高精度电压比较器。简单来说,它是一个“电压裁判”,专门负责比较两个输入电压的大小,并根据比较结果输出一个明确的数字信号(高电平或低电平)。
凉、介1 天前
arm开发·笔记·学习·架构·操作系统·嵌入式
ARM 架构中的内存屏障在现代 ARM 处理器中,由于乱序执行、多级缓存以及多核并发的存在,程序中“看起来按顺序执行”的内存访问,并不一定以相同顺序被系统中其他观察者看到。   内存屏障(Memory Barrier)正是用于显式约束这种重排行为,以保证程序的正确性和可预测性。
Try1harder1 天前
嵌入式·网口·极海
极海APM32F107V6 + DP83848CVV驱动网口(一)首先目标先是跟4G模块一样,数据上云吧,接着再看看其他功能。其次是通过这块开发板的外设,了解一下lwIP这个协议栈。对tcp/ip通信加深理解吧。
辰尘_星启2 天前
linux·docker·容器·机器人·嵌入式
解决幽灵容器幽灵容器现象本质上是 Docker 内存状态、磁盘元数据目录与内核挂载点 三者之间失去同步导致的“逻辑死锁”。 如果容器频繁进行大量的 IO 操作(比如写日志、写传感器数据),而刚好遇到一次意外断电或系统 OOM(内存溢出),文件系统的 Journal(日志) 可能会损坏
changzehai2 天前
vscode·后端·stm32·rust·嵌入式·probe-rs
Rust + VSCode + probe-rs搭建stm32-rs嵌入式开发调试环境1. 安装probe-rs需要先安装rust和cargo(自行参照网上教程安装),然后执行下面的命令即可安装probe-rs等相关工具。
CQ_YM3 天前
c语言·arm开发·嵌入式硬件·嵌入式
ARM--SDK、led、beep与链接脚本在动手开发前,需先明确几个核心概念,这是理解后续流程的关键:汇编语言通过直接编写机器指令操作硬件,虽执行高效,但代码冗长、可读性差,且移植性弱。C 语言开发的核心是 “寄存器地址映射”—— 将芯片的物理寄存器地址映射为 C 语言中的变量,通过变量读写实现对硬件的控制,兼顾了开发效率与底层操作能力。
Jason_zhao_MR3 天前
linux·人工智能·嵌入式硬件·目标检测·计算机视觉·目标跟踪·嵌入式
YOLO5目标检测方案-基于米尔RK3576开发板本文基于米尔MYD-LR3576开发板,详细记录了如何利用500万像素USB摄像头实现640×640分辨率的YOLO5s目标检测,并将结果实时输出至1080P屏幕的全流程。通过系统级的软硬件协同优化,最终将端到端延迟控制在40ms以内,实现了 20FPS的稳定实时检测性能。文章重点剖析了摄像头特性分析、显示通路选择、RGA硬件加速、RKNN NPU集成等关键技术环节,为嵌入式AI视觉系统的开发与调优提供了一套完整的思路与实践方案。
断水客3 天前
linux·运维·arm开发·嵌入式
搭建ARM LINUX 内核 QEMU 仿真调试环境获取内核源码:wget https://mirrors.tuna.tsinghua.edu.cn/kernel/v6.x/linux-6.1.80.tar.xz
半条-咸鱼3 天前
c语言·stm32·学习·嵌入式
C语言基础语法+STM32实践学习笔记 | 指针/寄存器核心应用学习说明volatile:中文意思是易变的 (面试笔试常见问题)volatile signed char c;表示有符号位的变量。
明洞日记4 天前
数据库·5g·嵌入式·软考·嵌入式实时数据库
【软考每日一练013】解析嵌入式网络数据库(NDB)架构在软考(嵌入式系统设计师)的上午场客观题中,数据库系统是一个虽然占比不大但容易失分的环节。尤其是随着 5G 和物联网(IoT)的发展,基于网络的数据库系统 (NDB) 逐渐成为考察重点。本文将结合经典真题,带你彻底扫清 NDB 的知识盲区。
乔碧萝成都分萝4 天前
linux·驱动开发·嵌入式
二十四、Linux如何处理中断各种不同架构的CPU都有自己的异常处理机制,并且中断属于异常的一种(中断异常)。那么Linux作为一个通用的操作系统,它是如何用同一套机制来处理这些不同架构处理器的异常和中断的呢?这篇文章就来了解和学习这个问题。
程序员老舅5 天前
c++·嵌入式·八股文·c++八股文·八股文面试题·c++面经·c++面试题
【无标题】简历上写着 “熟悉框架应用” 的人一抓一大把,但面试时只要涉及底层原理 —— 比如 JVM 内存模型、Spring 事务本质,不少只懂 CRUD 的新人就容易卡壳。
charlie1145141915 天前
开发语言·c++·学习·算法·嵌入式·现代c++·工程实践
现代嵌入式C++教程:对象池(Object Pool)模式内存分配是一个非常常见的事情,这是我们无法回避讨论的。任何一个生命周期需要自己掌控而非自动的对象(或者你说结构体或者说是变量都对)都需要分配堆上内存。尽管单片机上也许没有太过严格的划分,但是我们一定需要一些持久化分配的对象。
我是海飞6 天前
c语言·单片机·嵌入式·ai对话·杰理·websockey
杰理 AC792N 使用 WebSocket 连接百度语音大模型,实现 AI 对话本文详细介绍了如何基于杰理 AC792N SDK 接入百度智能云语音大模型,实现类似"小度 AI"的实时语音对话功能。全文涵盖从账号开通、接口对接、数据流设计到代码实现的完整流程,方便开发者快速复现和二次开发。
不凉帅6 天前
网络·嵌入式·硬件·软件·计算机基础
NO.2计算机基础计算机系统(Computer System )是指用于数据管理的计算机硬件、软件及网络组成的系统。它是按人的要求接收和存储信息, 自动进行数据处理和计算,并输出结果信息的机器系统。
PinoLio7 天前
嵌入式·鲁班猫
鲁班猫烧录镜像win10平台声明:本人烧录的是Ubuntu22.04版本镜像,烧录成功案例。下载烧录工具和格式化工具 官方的百度网盘资料中 6-开发软件/rufus-4.3.exe和SDCardFormatterv5_WinEN.zip
不脱发的程序猿8 天前
python·单片机·嵌入式硬件·嵌入式
使用Python高效对比多个相似的CAN DBC数据目录1、安装 cantools 模块2、代码实现在汽车电子和嵌入式开发领域,经常会遇到多个 CAN DBC 文件版本的对比需求。尤其是当系统需求变更或多个供应商协作开发时,对比 DBC 文件以找出差异和潜在问题是至关重要的。本文将深入探讨如何通过 Python 的 cantools 库,实现高效、准确地对比多个相似的 CAN DBC 数据。
皮蛋sol周8 天前
linux·数据结构·学习·嵌入式·arm·双向链表
嵌入式学习数据结构(二)双向链表 内核链表目录双向链表头文件创建遍历头插尾插头删尾删查找指定节点修改删除指定结点销毁内核链表与单向链表相比,双向链表多增加一个指针域,指向前一个结点。
cui__OaO8 天前
linux·运维·服务器·嵌入式
Linux驱动--基于驱动设备分离的按键中断驱动设备树是搭配驱动使用,记录硬件信息的一种文件形式,常见的设备树文件类型如下设备树的编写格式如下节点{属性1;