自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (4)
  • 收藏
  • 关注

原创 进程间通信的七种方法实战演示!值得收藏!

线程和进程间的通讯(Inter-Process Communication, IPC)是操作系统中的一个重要概念,用于实现不同进程或同一进程中的不同线程之间的数据交换和协调。以下是几个常见的进程间通信的方式:管道、消息队列、共享内存、信号、套接字、信号量、文件映射

2024-09-21 21:12:31 1702

原创 超实用线程调度方法!

你有想过这样一个问题吗?线程之间是如何调度的?更具体点说是这样,有两个线程:线程A和线程B,线程B要先于线程A运行,或者是线程B运行了多次之后在启动线程A,如何进行调度?

2024-09-21 17:03:13 299

原创 从零到一学FFmpeg:av_interleaved_write_frame 函数详析与实战

av_interleaved_write_frame是FFmpeg库中的一个函数,用于将一个已编码的媒体数据包(AVPacket)写入到输出媒体文件或流中。此函数特别关注于维护正确的交错(interleaving)顺序,即确保视频和音频帧按照它们应该播放的顺序被写入,这对于生成可正确播放的多媒体文件至关重要。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-06-22 15:02:21 2237

原创 从零到一学FFmpeg:av_packet_rescale_ts 函数详析与实战

av_packet_rescale_ts是FFmpeg库中的一个函数,用于重新缩放或转换媒体流中的时间戳(timestamp),以适配不同的时间基(timebase)。在处理多媒体数据时,特别是当数据在不同组件间传递,或者在编码、解码、转封装等操作中,时间戳经常需要调整以匹配当前上下文的时间基。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-06-22 14:55:38 1125

原创 从零到一学FFmpeg:AVCodecContext 结构体详析与实战

avio_open是FFmpeg库中的一个函数,用于打开一个I/O(输入/输出)上下文,以便于读写文件、网络流或其他类型的媒体数据源。这个函数是FFmpeg进行文件操作的基础,广泛应用于打开输入文件以进行解码或打开输出文件以进行编码。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-06-22 14:29:50 629

原创 从零到一学FFmpeg:avcodec_parameters_from_context 函数详析与实战

avcodec_parameters_from_context是FFmpeg库中的一个实用函数,用于将AVCodecContext中的编解码参数复制到AVCodecParameters结构体中。这个操作在很多场景中都非常有用,尤其是在处理多媒体流和文件格式时,需要根据编解码上下文的信息来设置输出或输入流的参数。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-06-22 12:09:26 1021

原创 从零到一学FFmpeg:avcodec_open2 函数详析与实战

avcodec_open2是FFmpeg库中的一个关键函数,用于根据给定的AVCodecContext和AVCodec实例初始化编解码器,使其准备好进行编解码操作。这个函数是编解码流程中配置编解码器上下文后的重要一步,它负责分配编解码器所需的资源,并根据上下文中的参数设置编解码器。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-06-22 11:59:42 1481 1

原创 从零到一学FFmpeg:AVCodecContext 结构体详析与实战

AVCodecContext是FFmpeg库中的一个核心结构体,它代表了编解码器的上下文信息,是进行音频或视频编解码操作时必不可少的组件。AVCodecContext存储了编解码器的配置参数、状态信息以及与编解码过程相关的资源。无论是在编码还是解码过程中,都需要一个相应的AVCodecContext实例来管理和控制编解码过程。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-06-22 11:23:44 2271

原创 从零到一学FFmpeg:avformat_alloc_output_context2 函数详析与实战

avformat_alloc_output_context2 是FFmpeg库中的一个函数,用于为输出多媒体文件初始化一个AVFormatContext结构体。这个函数在开始输出音频、视频数据到文件之前被调用,它是多媒体文件操作过程中的一个关键步骤。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-06-22 10:12:19 1647

原创 从零到一学FFmpeg:av_compare_ts函数详析与实战

av_compare_ts是FFmpeg库中的一个函数,用于比较两个时间戳(Timestamps)。这个函数广泛应用于视频处理、流媒体播放和多媒体同步等场景,特别是在需要精确控制媒体数据播放顺序和时间的地方。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-06-21 17:55:06 1498

原创 C语言中结构体使用.与->访问成员变量的区别

在C语言中,. 和 -> 都是用来访问结构体成员的运算符,但它们的使用场景和含义有所不同。提示:以下是本篇文章正文内容,下面案例可供参考当你直接使用结构体变量时,使用点运算符 .。当你通过指针访问结构体成员时,使用箭头运算符 ->。

2024-06-14 15:58:41 554

原创 基于pulseaudio实现一个边录边播的demo

通过上一讲,我们实现了一个加载pulseaudio的module-loopback的功能来实现侦听,那么除了加载模块的方式,有没有其他方式来实现侦听功能呢?答案自然是有的,今天我们就写一个实例来实现上一讲原文链接:提示:以下是本篇文章正文内容,下面案例可供参考。

2024-06-07 08:41:27 992 1

原创 pulseaudio如何加载侦听模块(module-loopback)

pulseaudio是一款基于Linux系统的音频服务器,它基于ALSA层之上来实现音频相关的各种设备管理、音频处理等功能,为用户提供更好的音频服务,它的功能大多数已模块化的形式进行加载,今天我们主要讲解的功能是它的侦听功能提示:以下是本篇文章正文内容,下面案例可供参考。

2024-06-07 08:12:13 937

原创 一文看懂RAM与ROM的区别!(建议收藏)

RAM与ROM是计算机中常见的存储器类型,它们在数据存储和访问方面扮演着重要的角色。RAM(Random Access Memory)是一种临时存储器,用于存储计算机正在运行的程序和数据。它具有快速的读写速度和随机访问的特点。相比之下,ROM(Read-Only Memory)是一种只读存储器,用于存储固定的程序指令和数据。ROM中的数据在计算机断电时不会丢失,因此被称为非易失性存储器。接下来,我们将详细介绍RAM和ROM的特点和常见类型。RAM和ROM在计算机系统中扮演着不同的角色。

2024-01-07 17:44:09 148768 1

原创 零基础学Linux内核:1、Linux源码组织架构

这里将是我们从零开始学习Linux的第一节,这节课我们将了解Linux源码的各个文件夹的组成与含义。

2023-11-26 11:05:21 868

原创 如何下载Linux源码,看这篇就够了!

在工作中,我们难免会遇到需要去找某个版本的linux源码的情况,今天这篇文章就手把手教大家如何找到自己想要的linux源码版本提示:以下是本篇文章正文内容,下面案例可供参考。

2023-11-11 10:10:13 13242 3

原创 Linux ifconfig只显示 lo 网卡,没有ens网卡解决方案

之前在调试linux的时候,由于一些不太清楚的误操作,导致ubuntu linux出现无网络问题,现象如下ifconfig 只显示了 lo 网卡lo 网卡:它是本地环回接口。这意味着您的虚拟机当前没有其他网络接口或网络适配器被识别。

2023-09-09 09:45:05 6106 1

原创 一文看懂什么是状态机

状态机(State Machine)是一种数学模型,用于描述系统或程序在不同状态之间转换的行为。它由一组状态、转移条件和动作组成。提示:以下是本篇文章正文内容,下面案例可供参考状态机可以被看作是一个抽象的机器,它可以处于不同的状态,并根据输入条件执行相应的动作来改变状态。状态表示了系统或程序所处的特定情况或阶段,而转移条件决定了在何种条件下从一个状态转移到另一个状态,动作则表示在状态转移时要执行的操作。

2023-08-01 09:28:20 14198 2

原创 一文看懂什么是回调函数

回调函数是一种在编程中常见的概念,它是指一个函数作为参数传递给另一个函数,并且在特定事件发生或条件满足时被调用执行的函数。

2023-07-17 22:36:51 7417 1

原创 关于可执行文件的代码段、数据段、BSS段所存数据

源代码程序经过编译后,生成的可执行文件通常会分为以下几个主要段。

2023-07-16 16:08:42 800

原创 手把手教你如何在linux环境下制作deb软件包

Linux系统一般分为两个派系:Redhat系和 Debian 系,Redhat系使用 RPM 包管理机制,而 Debian 系,像 Debian 系,如 Debian、Ubuntu 等操作系统则使用 deb 管理机制。

2023-07-08 11:32:24 4583 3

原创 跟我一起学Linux内核开发:1、准备开发环境

想要深入学习内核调试,首先需要准备好开发环境。在这篇文章中,作者详细记录了自己的学习笔记,并提供了丰富的实操经验。如果你也想成为内核调试的高手,不妨跟着作者的步伐一起学习,带你进入内核的奥妙世界!

2023-06-02 13:55:40 899

原创 cmake超详细入门教程,学不会你捶我~

我们在平时编译代码的时,面对简单的代码,直接GCC编译就好,稍微多一点,可以编写Makefile来编译,以上编译起来都很轻松,可是平时工作的时候基本都是大工程呀,代码文件少则几十个文件了,这种情况下就头疼了,咋办呢?今天我来教你使用cmake轻松解决问题~提示:以下是本篇文章正文内容,下面案例可供参考关于cmake的使用方法还有很多,这里只是做了一个最基本的介绍,后期有机会在进行详细补充~

2022-12-26 10:44:41 60666 22

原创 Linux音频相关学习资料汇总(持续更新...)

此篇将主要收集Linux音频学习资料,方便学习查阅,此清单将持续更新。

2022-12-12 09:18:17 1297

原创 linux挂载U盘,mount命令搞定!

我们在有时往linux操作系统上插入U盘时,不会自动挂载U盘,这时候就需要我们手动来挂载,具体步骤如下提示:以下是本篇文章正文内容,下面案例可供参考。

2022-10-23 10:17:00 9465

原创 开发板通过NFS挂载linux镜像、设备树、文件系统等步骤

nfs(Network File System)网络文件系统,通过 nfs 可以在计算机之间通过网络来分享资源, 比如我们将 linux 镜像和设备树文件放到 Ubuntu 中,然后在 uboot 中使用 nfs 命令将 Ubuntu 中 的 linux 镜像和设备树下载到开发板的 DRAM 中。这样做的目的是为了方便调试 linux 镜像和 设备树,也就是网络调试,通过网络调试是 Linux 开发中最常用的调试方法。

2022-09-27 17:13:27 1975 2

原创 sudo arm-linux-gnueabihf-gcc:Command not found 原因及解决办法

使用 arm-linux-gnueabihf-gcc-7 编译系统时,不会提示找不到 arm-linux-gnueabihf-gcc,但是只要使用了sudo去编译(因为有些操作需要sudo),这种情况就会报找不到 arm-linux-gnueabihf-gcc 的问题

2022-09-27 16:16:25 6361 2

原创 uboot启动提示Resetting CPU原因及解决方案

之前学习uboot移植时,遇到的一个问题,编译完uboot后,到开发板上测试时,开发板会一直自动重启,提示 Resetting CPU 字样

2022-09-22 16:24:57 2049

原创 如何修改已提交的git commit信息

git commit更改

2022-08-26 16:59:30 15544

原创 Linux vim 如何实现多行注释与取消多行注释

当我们在使用 vim 编辑器时,通常会遇到一种情况,那就是多行代码需要注释的情况,一行一行手动注释,严重影响工作效率,所以今天就讲解一种快速多行注释的方法提示:以下是本篇文章正文内容,下面案例可供参考。...

2022-08-05 08:59:28 5007

原创 linux下的sys目录的作用

众所周知,linux下一切皆文件,那么应用层如何控制硬件层,同样是通过 文件I/O的方式来实现的,那、么应用层控制硬件层通常有两种方式:1、/dev/ 目录下为各设备节点,通过对这些设备文件的I/O操作可以实现对底层硬件的操作2、sysfs 文件系统的主要功能是对系统设备进行管理,它可以产生一个包含所有系统硬件层次的视图,而 sysfs 文件系统挂载在 /sys 目录下进入到 sys 目录下,可以看到如下文件:包括 block、bus、class、dev、devices、firmware、fs、ker

2022-07-11 09:08:59 5928

原创 插上USB设备虚拟机不弹提示框

修复插入USB设备,虚拟机无弹窗提示问题

2022-06-26 22:28:20 5805

原创 手把手教你制作一块Linux开发板(基于Planck-pi)

Hello,各位野生钢铁侠们!这篇文章初衷是帮助想自己制作linux小板子的小白们,文中会讲的比较基础,大佬勿喷~本教程会以稚晖君开源的 planck-pi 为基础,从0开始手把手教学直到成功复刻~

2022-06-19 10:48:51 20689 8

原创 git 如何快速同步其他分支的commit改动,git cherry-pick

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、git cherry-pick 命令介绍二、使用方法1.查看需要同步的 commit 编号2.切换到需要同步的分支下前言我们在使用git开发时,通常不只存在一个分支,不同版本可能有不同的分支,那么有时就会出现这样一种情况,同一个bug或者需求,可能好几个分支都需要同时改动,一个一个分支的改就显得很繁琐了,那么可以来使用 git cherry-pick 来加快效率提示:以下是本篇文章正文内容,下面案例可供参考.

2022-05-30 14:35:50 2706

原创 修改pulseaudio后,如何本地编译运行起来?

文章目录前言一、修改源码并配置二、使用 make 工具编译三、关闭原有的pulseaudio服务四、运行并打印debug信息前言这篇文章主要讲解如何本地编译pulseaudio源码提示:以下是本篇文章正文内容,下面案例可供参考一、修改源码并配置修改完 pulseaudio 的源码后,使用 configure 命令进行编译进入到 pulseaudio源码目录下,可以看到这个configure文件执行命令./configure二、使用 make 工具编译make -j8sudo m

2022-05-26 14:27:36 1413

原创 pulseaudio如何开通系统日志来debug

两种方法调试pulseaudio的debug信息

2022-05-19 16:01:39 1572

原创 如何从本地传文件进 docker 容器里面

关于如何从本地机传文件到docker中

2022-05-12 15:14:02 19627 3

原创 如何将U盘刻录为系统启动盘?

如何将U盘制作为系统启动盘

2022-05-07 16:57:17 668

原创 Linux下如何配置QT的kit

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、kit是什么?二、如何手动选择kit前言在刚开始使用QT开发的时候,可能会遇到这种情况,没有可选择的kit工具一、kit是什么?建套件(Kits)都是编译⼯具。是在linux或者windows平台使用⽤的GNU⼯具集导⼊库的集合,这个集合包括了C编译器,C++编译器,和gdb调试器等工具二、如何手动选择kit代码如下(示例):下载qt默认工具包sudo apt install qt5-default.

2022-05-05 09:12:54 5862 1

原创 git fork 别人仓库后,原作者改动了代码,如何同步远程仓库?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档# 前言在日常的开发过程中,git的出场频率是很高的,但是你肯定遇到过这种情况:你fork了一个远程仓库,然后你在你fork下的源码开始解bug、写需求等,一周过去了,你准备push提交到自己fork的仓库下面,提交成功后,准备提pr合并代码到主仓库,结果发现合并不了,定睛一看,原来是主仓库有已经更新了好几个版本了,你们的代码存在冲突。那遇到这种问题怎么解决呢?这篇文章将给你答案~提示:以下是本篇文章正文内容,下面案例可供参考.

2022-04-24 13:47:19 3633

4.stm32f103学习记录,利用串口控制LED,USART - RGB.

利用stm32f103的串口控制LED,USART - RGB,利用的是RGB小灯,共用256种颜色

2020-10-08

2.stm32f103学习笔记,OLED显示万年历

该项目采用stn32单片机,0.96寸oled屏幕,RTC时钟系统,可显示UNIX时钟,日期,生肖年,时间等

2020-10-08

5路循迹小车.zip

该项目采用了一个5路循迹模块,车身底盘为四轮小车,后轮为由两个编码电机驱动,前轮为由一个舵机来控制方向,速度可以根据自己所需来调,可适应大多数情况了

2020-10-08

1.stm32f103学习笔记,EXTI按键中断点亮小灯应用

中断在嵌入式应用中占有非常重要的地位,几乎每个控制器都有中断功能。中断对保证紧急事件得到第一时间处理是非常重要的。我们设计使用外接的按键来作为触发源,使得控制器产生中断,并在中断服务函数中实现控制 RGB 彩灯的任务。

2020-10-08

空空如也

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

TA关注的人

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