自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux驱动开发-------platform平台设备

在注册驱动时,首先判断platform_driver中的成员probe是否定义,如果定义将device_driver基类中的成员probe赋值为platform_drv_probe,即匹配成功后执行的函数。在platform_drv_probe函数中将会调用platform_driver中的成员probe,即需要自行编写的内容。总结:在编写驱动和设备程序时,需要重点关注。

2024-04-20 17:01:10 866 3

原创 Linux驱动开发--------设备树

一般 .dts描述板级信息 (也就是开发板上有哪些IIC设备、SPI设备等 ),.dtsi描述SOC级信息 (也就是 SOC有几个 CPU、主频是多少、各个外设控制器信息等 )。其他的 .dts文件可以直接引用 .dtsi文件,类似于 C语言中的头文件。DTS是设备树源码文件, DTB是将DTS编译以后得到的二进制文件,编译工具是DTC。DTC工具源码在 Linux内核的 scripts/dtc目录下。

2024-04-13 22:40:21 1016 1

原创 FreeRTOS学习笔记------任务调度机制

任务的切换与Tick和PendSV中断有关,最终的切换在PendSV中断通过调用vTaskSwitchContext函数完成,与tick中断相关的函数是xTaskIncrementTick。上述示例中,实际创建了4个任务,xTaskStartScheduler函数会创建优先级为0的空闲任务。pxReadyTaskLists是一个链表数组,大小与优先级的数量相同。状态的切换就是把任务放进不同的链表的中,如调用vTaskDelay后,任务将会被移进pxDelayedTaskList等链表。

2024-02-02 17:24:59 380

原创 FreeRTOS学习笔记-------任务创建函数详解

根据以上代码可知,在执行任务时,pxTaskCode将被写入PC寄存器中,pvParameters被写入R0寄存器中。任务创建函数执行完后,任务所需的栈示意图如下。

2024-02-01 17:04:00 297 2

原创 FreeRTOS学习笔记-------基础知识

一般借助存储器访问指令,通过内核寄存器Rx(x=0~12)完成存储器的读写。

2024-01-28 22:05:55 997 1

原创 FreeRTOS学习笔记-------中断管理

ISR的优先级高于任务。

2024-01-25 23:38:59 229

原创 FreeRTOS学习笔记-------软件定时器

在FreeRTOS中,软件定时器基于系统滴答中断(Tick Interrupt)。

2024-01-25 22:22:44 546

原创 FreeRTOS学习笔记--------事件组

可以使用事件组传递资源状态。某一位不能是某些位中的某几个事件发生后,唤醒所有符合条件的任务。

2024-01-19 11:50:16 383 1

原创 FreeRTOS学习笔记--------互斥量

互斥量就是二进制的信号量,都是用来传递状态。与二进制信号量不同的是,互斥量的初始值是1。官方源码如下,由源码可知初始值为1(通过xQueueGenericSend函数向队列中写入一个数据)。

2024-01-11 17:21:19 412

原创 FreeRTOS学习笔记-------信号量

队列可以用于传输数据,但不需要传输数据时,可以使用信号量,信号量传输的是状态。信号量的示意图如下所示:在FreeRTOS中,信号量本质就是队列,是一个只关心队列长度,不关心队列数据内容的队列。由官方源码可知, 创建信号量时实际创建的是uxItemSize为0的队列,使用uxMessagesWaiting表示计数值。当计数值达到最大时释放信号量,将返回错误(队列是数据满时再写入数据,如果没有超时,则阻塞。有关队列内容可参考文章信号量有两种:二进制信号量和计数型信号量。

2024-01-11 09:30:14 368

原创 FreeRTOS学习笔记---------队列

队列写数据的方式有两种:向尾部写入,向头部写入。队列向尾部写入数据的过程如下图所示:每次向尾部写入时,先写入数据,pcWriteTo再自加uxItemSize。每次读取时,pcreadFrom先自加uxItemSize,再读取数据。

2024-01-09 01:14:56 500

原创 FreeRTOS学习笔记--------任务管理

在默认调度算法下,对于同优先级的任务,它们轮流执行,轮流的时间基准由tick中断决定,由定时器产生固定间隔的中断。可以修改中断产生的时间间隔。1000Hz表示间隔为1ms。

2024-01-06 15:17:18 1150 1

原创 FreeRTOS学习笔记-------任务创建与删除

FreeRTOS任务创建、删除、优先级、栈等

2024-01-05 00:26:49 445 1

原创 嵌入式Linux LED驱动开发实验

1] 【】I.MX6U嵌入式Linux驱动开发指南V1.71[2]

2023-09-26 12:12:54 49

原创 字符设备驱动开发

字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、IIC、SPI,LCD 等等都是字符设备,这些设备的驱动就叫做字符设备驱动。

2023-09-21 21:09:41 50 1

原创 代码随想录算法训练营第一天|704.二分查找、27.移除元素

二分查找与双指针

2023-08-24 00:55:11 1247

空空如也

空空如也

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

TA关注的人

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