自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入式开发,ARM Linux开发

分享点滴,共同进步

  • 博客(49)
  • 收藏
  • 关注

原创 海思Hi3519D的MPP介绍

是海思为 Hi3519D 等视觉 SoC 封装的,屏蔽底层寄存器、硬件时序、内存管理细节,向上提供标准化 C 语言 MPI 接口,实现视频采集、图像处理、编解码、显示、音频、智能分析全链路硬件加速开发,所有音视频操作均由硬件引擎完成,CPU 仅做业务调度,负载极低。

2026-06-19 21:32:18 335

原创 WIFI传输带宽

本文系统梳理了WiFi技术发展及各代标准的关键参数。从WiFi1到WiFi7,理论速率从11Mbps提升至20Gbps+,实际吞吐量约为理论值的60-70%。重点分析了2.4GHz、5GHz和6GHz频段在带宽、干扰和穿墙能力上的差异,指出嵌入式设备应根据需求选择频段:2.4GHz适合远距低带宽,5GHz适合高清视频传输。文章还对比了两款WiFi5模组的实测性能,移远FC900E在同等条件下比AP6256高10-20%带宽。最后强调WiFi6/7已成为新一代设备首选,而WiFi5仍是当前高清摄像头的主流选择

2026-05-25 22:32:03 452

原创 WIFI模组介绍:FC900E

FC900E是移远通信推出的Wi-Fi5+蓝牙5.0二合一模组,采用高通QCA9377-3芯片,支持双频Wi-Fi(最高866.7Mbps)和蓝牙5.0。该模组具有12×12mm小尺寸、工业级温度范围(-40℃~+85℃)、SDIO3.0高速接口等特点,适用于Linux/Android嵌入式设备。主要应用于智能家居、工业网关、车载终端等场景,已通过SRRC、CE、FCC等多项认证。相比同类产品,FC900E在温度范围、接口速度和成本方面具有优势。

2026-05-24 16:06:14 351

原创 H264的两种码流格式

H.264码流有两种主流格式:AnnexB和AVCC。AnnexB格式使用起始码0x00000001分隔NAL单元,常见于硬件编码输出和实时传输场景;AVCC格式采用4字节长度前缀,主要用于MP4容器存储。两种格式可通过FFmpeg工具相互转换:AnnexB转AVCC需去除起始码并添加长度前缀,而AVCC转AnnexB则需反向操作。实际应用中,MP4容器仅支持AVCC格式,而AVI等容器可直接兼容AnnexB格式。理解这两种格式的差异及转换方法,对视频处理开发至关重要。

2026-05-17 09:19:48 41

原创 海思Hi3519D的SDK编译,烧录,运行

本文介绍了在Ubuntu 20.04系统上搭建Hi3519DV500开发环境的完整流程。首先配置交叉编译环境,安装必要的软件包和依赖库;然后解压SDK源码包,分别编译uboot、kernel、rootfs等组件;接着使用海思专用烧录工具ToolPlatform通过USB接口进行程序烧录,详细说明了驱动安装和烧录步骤;最后总结了遇到的"全部擦除"问题及解决方法(需使用强制烧写键)。整个流程涵盖了从环境搭建到最终烧录成功的完整开发过程。

2026-05-10 10:25:51 407

原创 FFmpeg常用命令行指令整理

2026-05-05 22:37:36 71

原创 嵌入式开发,如何选择C标准库

在研究嵌入式SDK编译的时候,发现有2种编译工具链:一个是 musl库工具链:aarch64-linux-musl-gcc另一个是glibc库工具链:aarch64-linux-gnu-gcc那这两个工具链如何选择呢?

2026-04-26 17:19:11 487

原创 USB入门书籍《圈圈教你玩USB(第3版)》

《圈圈教你玩USB(第3版)》是刘荣编著的USB开发入门教材,2022年由北京航空航天大学出版社出版。全书481页,定价99元,配套完整源代码和电路图资源。第3版新增USB3.0基础和Linux gadget开发内容,延续实例驱动的特色,通过U盘、鼠标等10个案例系统讲解USB硬件设计、固件开发、驱动编写等全流程。该书语言通俗易懂,代码可直接复用,特别适合嵌入式开发和USB入门学习者,能帮助读者快速掌握USB核心协议与开发技能。相比前两版,第3版增加了Linux平台支持和USB3.0相关内容,更具技术时效性

2025-12-27 23:15:37 1095

原创 USB——UVC简介

UVC(USB视频类)是由USB-IF制定的标准协议,用于规范USB视频设备与主机的通信。其核心特点是即插即用、支持多种视频格式和双向通信,通过标准化协议确保设备兼容性。UVC采用逻辑功能单元结构,支持等时和批量两种传输方式,适用于视频会议、直播等场景。主流操作系统均内置UVC驱动,开发者可通过标准接口访问设备。这一协议极大简化了视频设备的开发和使用流程,成为跨平台视频采集的重要标准。

2025-10-15 23:30:41 553

原创 ADB简介

ADB(Android Debug Bridge)是Android SDK中的关键调试工具,由三部分组成:运行在PC端的客户端(adb client)和服务端(adb server),以及设备端的守护进程(adbd)。客户端通过5037端口与服务器通信,服务器负责检测设备连接并将请求转发给设备端的adbd。启动时,服务器会扫描5555-5585端口寻找模拟器,建立连接后即可处理调试命令。ADB支持多设备连接,是一个客户端-服务器架构的调试系统。

2025-08-10 22:40:34 486

原创 基于Ubuntu20.04的环境,编译QT5.15.17源码

本文详细介绍了在Ubuntu20.04系统下编译安装QT5.15.17的完整过程。首先列出了必要的依赖项安装命令,然后讲解了从清华镜像站获取源码、解压及配置的步骤,重点说明了configure脚本的关键参数及其作用。接着描述了使用make命令进行编译安装的方法,最后指导如何设置环境变量并验证安装结果。整个流程涵盖了从环境准备到最终验证的全过程,为需要在Linux系统上编译QT的开发人员提供了实用参考。

2025-08-10 17:49:25 760

原创 GUI:QT简介

Qt是一个跨平台C++ GUI开发框架,由Trolltech公司创建,现由Qt Company维护。它支持Windows、Linux、macOS、Android等系统,提供丰富的GUI控件、网络、数据库等模块,采用信号槽机制实现对象通信。Qt具有开源(LGPL/GPL)和商业两种授权模式,广泛应用于桌面软件(如VirtualBox)、嵌入式系统和移动开发。自1991年发布以来,Qt经历了Qt4、Qt5到Qt6的演进,持续优化性能和跨平台能力,成为C++跨平台开发的主流选择之一。

2025-08-08 13:18:06 471

原创 嵌入式系统GUI

Linux GUI系统发展历程与技术架构解析 摘要:本文系统介绍了Linux图形用户界面(GUI)的发展历程与技术架构。从X Window System作为Linux图形标准开始,详细解析了其三层架构(X Server、X Client、X Protocol)的工作原理。文章对比了桌面环境两大主流方案KDE(Qt)和GNOME(Gtk+)的技术特点,并深入探讨了嵌入式环境下的GUI解决方案,包括Qt/Embedded、GtkFB和Microwindows等。重点分析了各类技术方案在跨平台性、资源占用、开发效

2025-08-08 10:52:19 291

原创 GUI简介

GUI(图形用户界面)是采用图形方式显示的人机交互界面,通过窗口、图标、菜单等元素简化操作。其发展始于20世纪70年代施乐公司的Alto系统,后经苹果、微软等企业推动逐步成熟,从字符界面演变为现代主导的图形交互形式。GUI具有交互性、美观性、实用性和技术性四大特点,可分为操作系统专属界面和跨平台软件界面两类。系统结构包含显示模型、窗口模型和用户模型三部分,依赖于硬件和操作系统支持。GUI的普及极大降低了计算机使用门槛,成为连接用户与电子设备的重要桥梁。

2025-07-21 22:12:12 611

原创 音视频解码基础知识

音视频解码是将压缩数据还原为原始格式的处理过程,主要包括四个步骤:1)解封装,将复合流拆分为视频和音频裸流;2)解码,将裸流逐帧解码为YUV和PCM数据;3)同步处理,以音频为基准调整视频帧率;4)播放,通过特定框架输出同步后的音视频内容。整个过程实现了压缩媒体到可播放信号的转换。

2025-05-28 22:41:27 549

原创 计算机系统简介(二)

存储器系统是计算机中由不同容量、成本和访问速度的存储设备组成的层次结构。主要分为寄存器(CPU内部最快存储器)、高速缓存(L1/L2/L3缓存)、主存储器(DRAM内存)和辅助存储器(硬盘/SSD等外存)四个层次,从上到下容量增大但速度降低。存储器利用局部性原理提升效率:空间局部性指访问相邻内存位置,时间局部性指重复访问相同数据。优化访问模式(如采用步长为1的连续读取)可显著提高存储性能。这种层次化设计平衡了速度、容量和成本,是现代计算机高效运行的关键。

2025-05-26 22:15:05 546

原创 计算机系统简介(一)

计算机系统由硬件和系统软件组成,主要体系结构包括冯诺伊曼架构和哈弗架构。冯诺伊曼架构采用统一存储器,设计简单但性能受限;哈弗架构使用分离存储器,性能更高但设计复杂,适用于嵌入式系统等高性能场景。两种架构在存储器结构、数据路径和应用领域等方面存在显著差异。

2025-05-25 20:19:13 504

原创 死锁及银行家算法

死锁是多进程/线程环境中因相互等待资源而陷入的僵局,其发生需同时满足互斥、占有等待、不可抢占和环路等待四个条件。银行家算法通过动态资源分配来避免死锁,核心是检查资源分配后的系统安全性,关键数据结构包括可用资源向量、最大需求矩阵、分配矩阵和需求矩阵。该算法在分配前模拟安全状态,确保不会引发死锁。

2025-05-25 10:28:39 383

原创 信号量与PV操作

摘要:信号量是用于多线程/进程同步的机制,通过PV操作控制共享资源访问。P操作申请资源(信号量-1),若资源不足则阻塞;V操作释放资源(信号量+1),并唤醒等待进程。文章详细介绍了信号量的实现代码,包括初始化、反初始化及PV操作函数,并以生产者-消费者问题为例,展示5个生产者和消费者通过信号量(缓冲区大小为10)协调工作:生产者每2秒生产,消费者每5秒消费,通过互斥锁和信号量确保线程安全。

2025-05-24 11:17:00 523

原创 USB接口介绍

USB接口主要分为标准USB、迷你USB和微型USB三大类。标准USB包括Type-A、Type-B和Type-C,其中Type-C因其正反盲插和多功能性成为主流。Type-A常见于电脑和手机充电器,分为USB2.0和USB3.0,广泛应用于鼠标、键盘等设备。Type-B多用于打印机。迷你USB和微型USB在Type-C普及前广泛使用,支持OTG功能,允许设备间直接数据传输。Type-C接口设计先进,支持USB数据、PD充电和音视频输出,是目前性能最强的USB接口。

2025-05-18 12:18:25 4471

原创 USB基础知识

USB(通用串行总线)是一种用于连接计算机与外部设备的标准化接口,旨在简化设备间的数据通信和电源传输。自1996年推出以来,USB技术经历了多次迭代,从最初的USB 1.0(1.5Mbps)发展到最新的USB 4.0(40Gbps),并引入了如USB On-The-Go(OTG)和USB Type-C等创新功能。USB的普及得益于其高性价比、易用性和广泛的兼容性,使其成为连接智能手机、移动设备及工业应用外围设备的首选标准。USB的发展不仅提升了数据传输速度,还增强了电源传输能力,如USB 4.0支持高达24

2025-05-17 11:04:06 532

原创 FFmpeg(7.1版本)编译生成ffplay

但是,实际上却没有生成ffplay,会是什么原因呢?在build.sh脚本里配置了ffplay。

2025-05-07 22:00:23 608

原创 Busybox简介

Busybox是一个开源项目,遵循GPL v2协议。Busybox将众多的UNIX命令集合进一个很小的可执行程序中,可以用来替代GNU fileutils、shellutils等工具集。Busybox中各种命令与相应的GNU工具相比,所能提供的选项比较少,但是也足够一般的应用了。Busybox主要用于嵌入式系统。Busybox在编写过程中对文件大小进行了优化,并考虑了系统资源有限(比如内存等)的情况。

2025-04-13 10:34:28 339

原创 WiFi模组介绍:AP6256

AP6256是正基科技推出的一款低成本,低功耗的模块,该模块具有Wi-Fi(2.4GHz和5GHz IEEE 802.11 a/b/g/n/ac)+蓝牙(BT5.0)功能,并通过了SRRC认证,带mesh,完美替换AP6255(BT4.2)。高度集成的模块提供了网页浏览,VoIP,蓝牙耳机应用的可能性。凭借无缝漫游功能和高安全性,还可以与无线局域网中不同供应商的802.11a/b/g/n/ac接入点进行交互。

2025-04-06 19:46:55 2125

原创 DDR简介

DDR SDRAM(Double Data Rate Synchronous DYNAMIC RAM)中文名是:双倍数据速率同步动态随机存储器。传统的SDRAM只在时钟信号的上升沿传输数据,而DDR可以同时在时钟的上升沿和下降沿传输数据,因此在同样的时钟频率下,DDR内存的传输速率是SDRAM的两倍。这就是“Double Data Rate”(双倍数据速率)的含义。所谓同步指的是DDR是同步内存的一种,同步内存与系统时钟信号保持同步。动态是指DDR中的数据断电后无法存储,且需要周期性刷新。

2025-04-02 22:49:14 690

原创 文件系统简介

文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

2025-04-01 22:50:00 173

原创 嵌入式系统简介

嵌入式系统是由硬件和软件组成,是能够独立进行运作的器件。硬件内容包括:信号处理器、存储器、通信模块等在内的多方面的内容。软件内容:只包括软件运行环境及其操作系统。相比于一般的计算机处理系统而言,嵌入式系统存在较大的差异性, 它不能实现大容量的存储功能,因为没有与之相匹配的大容量介质,大部分采用的存储介质有E-PROM、EEPROM 等, 软件部分以API编程接口作为开发平台的核心。​。

2025-03-31 22:27:02 183

原创 WiFi基础知识

Wi-Fi网络技术(Wireless Fidelity)是基于IEEE802.1b标准的无线通信技术。俗称无线宽带,可以工作在2.4GHZ和5GHz频段。其中,2.4GHz频段具有较好的穿透能力,适合用于覆盖较大范围的无线网络;而5GHz频段则具有更高的传输速率和抗干扰能力,适合用于高密度无线网络环境。

2025-03-08 21:53:10 710

转载 Ubuntu20.04 Samba服务配置

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

2025-02-20 23:22:47 392

原创 MP4分析工具

在实际应用中,我们经常需要对MP4文件进行分析。

2025-02-02 20:20:44 1703

原创 MP4基础

MP4是一套用于音频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的“动态图像专家组”(Moving Picture Experts Group,即MPEG)制定,第一版在1998年10月通过,第二版在1999年12月通过。MPEG-4格式的主要用途在于网上流、光盘、语音发送(视频电话),以及电视广播。

2025-02-02 16:52:38 2733

原创 FFmpeg工具使用基础

这些工具共同构成了FFmpeg的核心功能,支持各种音视频格式的处理和转换‌。

2025-02-01 21:56:37 689

原创 FFmpeg(7.1版本)的基本组成

FFmpeg 是一个非常流行的开源项目,它提供了处理音频、视频以及其他多媒体内容的强大工具。FFmpeg 包含了大量的库,可以用来解码、编码、转码、处理和播放几乎所有类型的多媒体文件。它广泛用于视频和音频的录制、转换、流媒体传输等领域。

2025-01-31 23:26:53 937

原创 FFmpeg(7.1版本)编译:Ubuntu18.04交叉编译到ARM

指的是在目标系统上进行编译的过程 , 生成的可执行文件和函数库只能在目标系统中使用。如 :在 Ubuntu中,本地编译的可执行文件只能在Ubuntu 系统中执行 , 无法在 Windows / Mac / Android / iOS 系统中使用;在 Ubuntu 中 本地编译的函数库 , 只能在Ubuntu本地开发环境中导入并使用不涉及跨平台编译 或 跨体系结构编译 , 因此不需要考虑目标系统的差异;指的是 不同的操作系统平台指的是 不同的 CPU 架构。

2025-01-31 20:19:41 1142

原创 FFmpeg(7.1版本)在Ubuntu18.04上的编译

点击Download Source Code 下载源码到本地电脑上。

2025-01-29 21:17:07 1111

原创 FFmpeg在Ubuntu18.04上的安装

FFmpeg 是一个开源的、跨平台的多媒体框架,它可以解码、编码、转码、流式传输、过滤和播放几乎所有类型的音频和视频格式。由于其广泛的用途和灵活性,FFmpeg 支持多种操作系统和平台。

2025-01-29 15:41:43 637

原创 FFmpeg介绍

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。它是目前最强大的音视频处理开源软件之一,被广泛应用于视频网站、播放器、编码器等多种场景中。

2025-01-28 15:55:30 297

原创 视频基础知识

泛指将一系列静态影像以电信号的方式加以捕捉、记录、处理、储存、传送与重现的各种技术。连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫作视频。视频帧是视频的基本组成单元,每帧都是一个静止的画面。‌当这些帧快速连续播放时,它们会形成运动的视觉效果。视频帧率‌是指每秒显示的帧数,通常用每秒帧数(Frames Per Second,简称FPS)或“赫兹”(Hz)来表示。视频帧率对画面的流畅度有重大影响。

2024-11-17 22:14:23 3095

原创 队列的概念

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。

2024-11-03 21:48:12 1264

原创 数字音频PCM

脉冲编码调制(PulseCodeModulation),简称PCM。是对连续变化的模拟信号进行抽样、量化和编码产生的数字信号。PCM的优点就是音质好,缺点就是体积大。PCM可以提供用户从2M到155M速率的数字数据专线业务,也可以提供话音、图像传送、远程教学等其他业务。PCM有两个标准(表现形式):E1和T1。脉冲编码调制(Pulse Code Modulation)是最常用、最简单的波形编码。它是一种直接、简单地把语音经抽样、A/D转换得到的数字均匀量化后进行编码的方法,是其他编码算法的基础。

2024-11-02 22:20:47 1845

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除