自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 FFMpeg源码分析-io_open_default()

url_open()本身是URLProtocol的一个函数指针,这个地方根据不同的协议调用的url_open()具体实现函数也是不一样的,例如file协议的url_open()对应的是file_open(),而file_open()最终调用了_wsopen(),_sopen()(Windows下)或者open()(Linux下,类似于fopen())这样的系统中打开文件的API函数;主要调用了两个函数url_find_protocol()和url_alloc_for_protocol();

2024-04-27 19:28:39 755

原创 MIT 6.S081 lab1

我使用的Ubuntu22.04。//安装必须的工具链//单独移除掉qemu的新版本//额外安装一个旧版本qemumake//克隆xv6仓库//进行编译make qemu//编译成功并进入xv6操作系统的shell输入ls指令在安装的过程中,可能出现缺少某些包,百度后直接安装即可。

2023-12-28 21:47:22 869 1

原创 STM32F767的FreeRTOS移植

直接下载即可。我用的是正点原子的例程。在目录下建一FreeRTOS文件夹,将E:\qrs\RTOS\FreeRTOSv202212.01\FreeRTOS\Source目录下的FreeRTOS源码复制过去,然后打开portable文件夹,留下RVDS和MemMang即可。然后进入到RVDS文件夹,只留下ARM_CM4F最后复制FreeRTOSConfig.h,也可以自己写,这个文件和内核没有关系,我用的是官方例程中F103中的,将其复制到USER目录下,至此,所有需要的文件都已准备完毕。

2023-12-18 20:12:14 414 1

原创 Free RTOS学习笔记 - 队列,信号量,互斥量,事件组,任务通知

1、队列的特点数据的操作采用先进先出的方法(FIFO),写数据时放到尾部,读数据时从头部开始读取。也可以强制写队列头部,但不会覆盖头部数据。队列中每个数据的大小时固定的。创建队列时要指定长度,数据大小。2、队列的使用在创建队列时,会创建两个链表,分别存放等待数据的任务和等待向队列中写的数据,buf中存放队列的数据。1)创建队列可以看到xQueueXCreat()最后调用的是xQueueGenericCreate()。创建队列时,会创建几个指针,pcHead始终指向头部,不会移动;

2023-12-08 11:21:49 172

原创 Linux文件作用

binanry(二进制),使用的命令全部以二进制文件的形式保存在这个目录下,这个目录下的所有文件不需要任何权限就可以执行,系统启动后直接启动的目录,缺少bin目录,系统无法正常运行。etcetera(等等),早期unix把各种零碎的文件保存在这个目录下,系统所有的设置项都是以文件的形式保存在这个目录下。/sbin 存放一些权限敏感的命令,如init,shutdown,系统所必须的命令,有些需要管理员权限才能运行。library(图书馆,库,框架),保存着系统,程序,甚至硬件运行所依赖的库文件。

2023-11-30 21:46:19 43

原创 Linux进程间几种通信方式的介绍

进程间通信(IPC,InterProcess Communication)是指在不同进程之间交换信息。IPC的方式有管道(包括命名管道和非命名管道)、消息队列、信号量、共享存储、Socket等。管道通常指无名管道、是Unix系统最古老的形式。1、特点1.半双工,具有固定的读写端2.只能用于具有亲缘关系的进程间通信(如父子,兄弟)。3.它可以看成一种特殊的普通文件,可以使用write、read等函数对其进行操作,但是其只存在于内存中。2、函数原型如下输出如下。

2023-11-21 21:46:52 55

原创 Linux系统下的文件类型

在Windows系统下,操作系统识别文件类型一般是通过文件名后缀判断,例如C语言头文件.h,源文件.c等等,系统会首先识别出文件类型之后由相关的程序去调用。在Linux系统下,并不会通过文件后缀名来识别一个文件的类型。但是还是需要加后缀方便阅读。普通文件是Linux系统下最常见的文件。普通文件的数据存在系统磁盘中,可以以字节为单位进行存储访问。文本文件:顾名思义,文件内容是由文本构成的,所谓文本指的是ASCII码字符,常见的.c,.h.sh都是文本文件。

2023-11-20 20:11:37 52 1

原创 Linux的文件系统

在Windows系统下,我们写一个文档的时候,一般通过打开/创建文档,编辑文档,保存文档,关闭文档实现,在Linux系统下,基本上也是这样的步骤,系统为我们提供了几个接口函数来实现:open(),write(),read(),lseek(),close()。在NAME中可以看到,有3个名字,在SYNOPSIS中,前三个头文件就是我们在使用open函数时需要添加的,再往下看,open函数有两个函数重载,第一个有两个参数,第一个参数是一个常量指针,也就是一个字符串,指向文件的地址,第二个参数是打开文件的方式,

2023-10-27 11:15:07 28 1

原创 STM32的内存管理讲解

在C语言中,已经初始化的全局变量和静态变量放在一个区域,未初始化的全局变量和静态变量放在一个区域。由图可以看到地址空间为0x00000000-0xFFFFFFFF,并将这4G的空间分为代码、SRAM、外设、RAM、外部设备、专用总线内部、专用总线外部、特定厂商。在stm32中,可以在启动文件中设置堆区的的大小。典型的例子是局部变量,在函数运行结束后即销毁,所以不能返回局部变量的地址。初始化为0的全局变量和初始化为0的静态变量存放在.data段。未初始化的全局变量和未初始化的静态变量存放在.bss段。

2023-10-12 15:49:38 541

原创 STM32的启动过程

对于Cotex-M4内核,ARM规定向量表的起始地址存放的是栈的入口地址(这里为__initial_sp),然后存放复位中断的入口地址,上电之后,硬件会根据向量表的地址找到向量表的具体位置(可以在NVIC寄存器中设置),根据这两个地址设置SP,PC的值,之后CPU就可以从复位中断的入口函数中去指令运行。有两条分支,首先判断是否定义了_MICROLIB,如果定义了,就调用C库完成堆栈的初始化,赋予__initial_sp,__heap_base,__heap_limit全局属性。指示该内存区域中包含数据。

2023-10-10 21:09:57 95 1

原创 SPI详解

SPI至少需要四根线,MISO(主设备输入,从设备输出),MOSI(主设备输出从设备输入),SCLK(时钟),CS(片选)。SPI总线采用同步方式工作,时钟线在上升沿或下降沿时发送器向数据线上发送数据,在紧接着的下降沿或上升沿时接收器从数据线上读取数据,完成一位数据的传输,八个时钟周期即可完成一个字节数据的传送。CPHL = 0,每个周期的第一个时钟沿采样,上升沿接数据,下降沿发数据。CPHL = 1,每个时钟的第二个时钟沿采样,上升沿发数据,下降沿接数据。CPOL = 0 ,空闲时SCLK为低电平。

2023-10-09 17:19:55 387 1

原创 ROM,RAM和FLASH区分

又称为闪存,它结合了ROM和RAM各自的长处,不仅具备了电子可擦除的性能,而且还不会掉电丢失数据,读写速度较快。NOR Flash带有SRAM接口,有足够的引脚来寻址,可以很容易的存取内部的每一个字节。SDRAM的同步含义是内存工作需要同步时钟,内部命令的发送和数据的传输都以它为基准,它的内部是一个存储阵列,我们可以将其看作一个表格,在写入数据的时候,指定行和列就可以确定存储的位置。NOR Flash的使用与SDRAM是一样的,用户可以直接运行存储在NOR Flash中的程序,这样可以减少SRAM的容量。

2023-10-04 21:11:04 40

原创 IIC详解

IIC是一种串行、半双工总线,主要用于近距离、低速的芯片之间的通信。有两根信号线,一根为SCL(时钟线),一根为SDA(数据线)。IIC是一种多主机总线,连接在IIC总线上的器件分为主机和从机,主机有权发起和结束一次通信,而从机只能被呼叫;当总线上有多个主机同时启用总线时,IIC也具备冲突检测和仲裁的功能来防止错误产生;每个连接到IIC总线上的器件都有唯一的地址(7bit),并且每个器件都可以作为主机和从机;IIC总线在通信时总线上发送数据的为发送器,接受数据的为接受器。

2023-10-04 21:08:50 831

原创 ADC的单次转换,连续转换,扫描模式详解

2023-10-04 20:59:11 79

空空如也

空空如也

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

TA关注的人

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