自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一篇快速入门-ARM体系结构

在计算机的指令分类中,通常分为两个派系:CISC(复杂指令集)、RISC(精简指令集)CISC架构设计包含更复杂、功能更丰富的指令,使得单条指令可以执行更多的操作,一条指令可以执行多个操作,减少了程序员的工作量,提高了编程效率。RISC架构采用Load/Store 架构,CPU不能直接处理内存中的数据,要先将内存中的数据Load(加载)到寄存器中才能操作,然后将处理结果Store(存储)到内存中

2025-06-10 09:14:05 1162

原创 一篇文章充分了解-Linux内核编译流程

本文主要梳理了Linux内核编译的完整流程。首先通过编译器将源码编译为.o文件并链接生成ELF格式的vmlinux;接着使用objcopy工具将其转换为纯二进制的Image文件;而后用gzip压缩生成piggy.gzip;再链接解压缩代码(head.o、misc.o、decompress.o)形成zImage;最后通过mkimage添加U-boot头部生成uImage。

2025-06-09 09:39:54 662

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

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

2024-09-21 21:12:31 2119

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

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

2024-09-21 17:03:13 334

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

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

2024-06-22 15:02:21 2451

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

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

2024-06-22 14:55:38 1245

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

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

2024-06-22 14:29:50 671

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

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

2024-06-22 12:09:26 1102

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

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

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

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

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

2024-06-22 11:23:44 2503

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

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

2024-06-22 10:12:19 1861

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

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

2024-06-21 17:55:06 1561

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

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

2024-06-14 15:58:41 622

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

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

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

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

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

2024-06-07 08:12:13 1081

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

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

2024-01-07 17:44:09 166025 2

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

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

2023-11-26 11:05:21 914

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

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

2023-11-11 10:10:13 14133 5

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

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

2023-09-09 09:45:05 6363 1

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

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

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

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

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

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

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

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

2023-07-16 16:08:42 885

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

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

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

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

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

2023-06-02 13:55:40 1030

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

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

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

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

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

2022-12-12 09:18:17 1342

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

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

2022-10-23 10:17:00 9611

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

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

2022-09-27 17:13:27 2052 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 6451 2

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

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

2022-09-22 16:24:57 2152

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

git commit更改

2022-08-26 16:59:30 15728

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

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

2022-08-05 08:59:28 5050

原创 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 6064

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

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

2022-06-26 22:28:20 6064

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

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

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

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

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

2022-05-30 14:35:50 2816

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

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

2022-05-26 14:27:36 1480

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

两种方法调试pulseaudio的debug信息

2022-05-19 16:01:39 1625

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

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

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

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

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

2022-05-07 16:57:17 709

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

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

2020-10-08

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

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

2020-10-08

5路循迹小车.zip

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

2020-10-08

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

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

2020-10-08

空空如也

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

TA关注的人

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