嵌入式

K成长日志3 天前
物联网·嵌入式·蓝牙·iot·ble·无线·通信
BLE链路层空口包--LE Uncoded PHY在BLE协议栈中,链路层(Link Layer)定义了唯一一种空中包(Air Interface Packet)格式。然而,根据物理层的不同,这个统一格式在具体实现上又分为LE Uncoded PHY和LE Coded PHY两种变体。本文将深入剖析LE未编码物理层(LE Uncoded PHY)的空口包结构——这也是BLE最基础、最常用的包格式。
凉、介4 天前
笔记·学习·嵌入式·arm·虚拟化·virtio
Virtio(三):Virtqueue 建立与 Buffer 提交Virtio(一):框架概览 Virtio(二):协议基础与设备初始化上一篇讨论了 virtio 初始化:driver/device 如何通过 status、feature negotiation、device config 和 queue setup 进入可用状态。本文继续向下展开 split virtqueue,说明 Linux guest 如何创建并配置 queue,以及前端驱动如何把业务 buffer 发布到 queue 并通知 device。
dddwjzx4 天前
linux·嵌入式
嵌入式Linux C应用编程——Framebuffer应用编程FrameBuffer(帧缓冲) 是 Linux 系统中的一种显示驱动接口。它将显示设备(如 LCD)进行抽象,屏蔽了不同显示设备硬件的实现差异,对应用层呈现为一块显示内存(显存),允许上层应用程序直接对显示缓冲区进行读写操作,而无需关心物理显存的位置等具体细节,这些都由 FrameBuffer 设备驱动来完成。
国产化创客4 天前
linux·运维·物联网·嵌入式·智能家居·智能硬件
Kindle完整越狱改造:从闲置泡面盖到Linux开发与智能家居终端自亚马逊关停 Kindle 国内服务、云书店与配套同步能力后,大量 Kindle 设备失去原生阅读生态支撑,长期闲置沦为 “泡面盖”,硬件算力、6 寸电容触控墨水屏、ARMv7 Linux 底层系统的潜力完全被厂商锁死。通过社区成熟越狱方案获取设备完整 Root 权限,即可解锁原生 Linux 底层、开启 SSH 远程调试、部署 KUAL 插件管理、使用 FBInk 底层帧缓冲绘图工具,将闲置阅读器改造为一套低成本、可自主开发的嵌入式 Linux 实验平台;依托 arm-linux-gnueabi-gcc
浅止菌4 天前
嵌入式
嵌入式Linux崩溃分析实战:没有JTAG,怎么"空手"定位死机问题?一句话总结:产品量产了才发现死机,没有JTAG接口,串口日志也不够用——用ramoops/pstore、kdump、ftrace这三个武器,大部分崩溃问题不用硬件调试器也能定位。
dddwjzx4 天前
linux·嵌入式
嵌入式Linux C应用编程——tslib库的使用在上一个笔记中,我们基于读取到的 input_event 类型的数据进行了解析,以得到各个触摸点的坐标,然后进一步进行开发。而这一章,为了使开发更为方便,我们将使用Linux系统下专门为触摸屏开发的tslib库进行开发。tslib 是专门为触摸屏设备所开发的 Linux 应用层函数库,并且是开源的。
潘潘的嵌入式日记5 天前
嵌入式·翻译·告警·通信协议·英文·cmis
CMIS的Alarm和Warning一句话: CMIS 标准里的 Alarm 和 Warning 怎么翻译?"故障/预警"偏离原文,"严重/常规"区分度不够。最终保留英文——因为读通讯协议的人要对照规范查定义,翻译会制造断点。
天空'之城5 天前
c语言·嵌入式·内存管理·内存池
C 语言工业级通用组件 02:通用内存池前言:承接上一篇环形缓冲区的内容,我们继续手写工业级通用 C 语言组件。在长时间运行的嵌入式系统、后端服务、高性能中间件中,频繁调用 malloc/free 申请释放内存,是引发性能波动、内存碎片、甚至程序崩溃的核心诱因之一。内存池作为底层开发的经典组件,通过预分配与池化管理,从根源上解决这些问题,是工业级项目的标配基础设施。
浅止菌5 天前
嵌入式
说嵌入式不能用C++的,你们写过超过10万行的嵌入式项目吗?一句话观点:在MCU上跑C++确实是"杀鸡用牛刀",但在超过5万行代码的嵌入式Linux应用中,不用C++才是给自己找麻烦。
dddwjzx6 天前
linux·嵌入式
嵌入式Linux C应用编程——GPIO我们可以在 Linux 应用层通过 sysfs 文件系统操控 GPIO 引脚的方法。sysfs 挂载于 /sys 目录,内核将 GPIO 控制器及每个引脚以文件和目录的形式导出,应用程序可以通过读写这些文件来配置引脚方向、读取电平、触发中断等。这种方式是嵌入式 Linux 中最常用的 GPIO 用户态操作方法,适用于 LED 控制、按键检测、传感器读取等场景。
浅止菌6 天前
嵌入式
嵌入式Linux驱动调试:printk的9个高阶用法,最后一个是救命级一句话总结:printk不只是printk——掌握这些技巧,你能把内核日志从"噪音"变成"手术刀"。做嵌入式Linux驱动开发的人,90%的时间都在跟printk打交道。
dddwjzx6 天前
linux·嵌入式
嵌入式Linux C应用编程——输入设备常见的输入设备有鼠标、键盘、触摸屏、遥控器、电脑画图板等,用户通过输入设备与系统进行交互。Linux 系统为了统一管理这些输入设备,实现了一套能够兼容所有输入设备的框架,那么这个框架就是 input 子系统。驱动开发人员基于 input 子系统开发输入设备的驱动程序,input 子系统可以屏蔽硬件的差异,向应用层提供一套统一的接口。
潘潘的嵌入式日记7 天前
xml·嵌入式·keil·调试·mdk·工程文件
改完Keil工程文件被缓存覆盖?——uvprojx编辑的进阶四坑一句话: 上一篇《Keil工程XML编辑5次失败》讲了基本流程。本文进阶——Perl 静默失败的根因、Keil 缓存回写的时间点、uvoptx 里有 uvprojx 没有的东西、sed 一刀切误伤活跃代码。如果你不止删文件,还要批量改工程配置,这四条会帮你少踩一轮坑。
ICECREAM7 天前
嵌入式
嵌入式 —— 串口与 UART 深入详解 —— i.MX6ULL 实战一句话总结:串口(UART)是一种"发一条线、收一条线、不要时钟"的异步串行通信方式——发送方和接收方各自按约定好的速率(波特率)收发数据,通过起始位、数据位、校验位、停止位组成一帧数据。
浅止菌7 天前
嵌入式
嵌入式Linux内存优化:从OOM到稳定运行的6个实战技巧嵌入式Linux开发最让人崩溃的事是什么?不是代码写不出来,是系统跑着跑着就OOM了。更崩溃的是:你在开发环境怎么测都正常,一到客户现场跑了两天就挂了。客户拍来一张串口截图,上面写着"Out of memory: Killed process xxx"。
大辉狼_音频架构7 天前
嵌入式·音视频开发
Vol.05 VendorHAL-NXP基于 Android 16 / NXP i.MX 平台音频栈源码(hardware/interfaces/audio/aidl + vendor/nxp-opensource/imx/audio/default)
声讯电子7 天前
嵌入式·ai降噪·回声消除·语音模组
AU-60 VS A-59F 语音模组完整对比(研发选型专用)两款同尺寸(37.5×16mm)邮票孔 DSP 语音模组,共享AI ENC 降噪、100dB AEC、BF 双麦波束、T1/T2 硬件档位、SPI 软件调参、模拟 / PDM 双麦、3.3V/5V 双供电核心声学算法,核心差异集中在USB 音频、输出规格、I2S 参数、端口数量、适配场景,下面分维度清晰对比。
Highcharts7 天前
嵌入式·数据可视化
用 Highcharts 构建交互式 ICU 实时生命体征监护仪表盘本篇我们将付诸实践,利用 Highcharts 和 Highcharts.DataTable,构建一个高保真的 ICU 实时生命体征监护图表。
左手厨刀右手茼蒿10 天前
linux·嵌入式·系统内核
PCIe设备驱动开发:从枚举到DMA传输的完整链路PCIe(PCI Express)早已不仅仅是总线的概念。它是现代计算机系统I/O架构的支柱,从网卡、NVMe SSD到GPU和FPGA加速卡,全部挂在PCIe树形拓扑上。理解PCIe驱动开发,首先要理解这个拓扑在Linux中如何建模。
济61710 天前
linux·驱动开发·嵌入式·嵌入式linux驱动开发
I.MX6U Linux 驱动开发篇---零基础必看!中断实验(按键中断 + 定时器消抖 + 设备树配置实战教程)--- Ubuntu20.04🎬 渡水无言:个人主页渡水无言❄专栏传送门: 《linux专栏》《嵌入式linux驱动开发》《linux系统移植专栏》