- 博客(13)
- 收藏
- 关注
原创 Linux下的misc设备驱动
misc设备即杂项设备,Linux系统中类似按键、触摸屏都有专门框架处理,类似adc、蜂鸣器等设备无法明确其属于什么类型,一般就归属于杂项设备,按misc驱动框架编写驱动程序。以上就是今天要讲的内容,本文简单介绍了misc设备驱动的编写及使用,制作不易,多多包涵。
2024-07-10 19:13:00
594
原创 设备驱动框架之LED
为了尽量降低驱动开发者难度以及接口标准化,就出现了设备驱动框架的概念;Linux 针对每个种类的驱动设计一套成熟的、标准的、典型的驱动实现, 然后把不同厂家的同类硬件驱动中相同的部分抽出来自己实现好,再把不同部分留出接口给具体的驱动开发工程师来实现,这就叫驱动框架。说白了,设备驱动框架就是对原始的驱动开发接口进行了封装,不同种类的设备有不同的封装和实现方法,驱动开发工程师根据这些封装好的接口来编写自己的驱动程序,这就是设备驱动框架。
2024-06-26 19:33:56
1332
原创 设备树下的platform驱动编写
基于总线、设备和驱动这样的驱动框架, Linux 内核提出来 platform 这个虚拟总线,相应的也有 platform 设备和 platform 驱动。以上就是今天要讲的内容,本文介绍了设备树下platform驱动的编写,制作不易,多多包涵。
2024-06-19 19:27:33
910
原创 Linux下的异步通知
中断是处理器提供的一种异步机制,我们配置好中断以后就可以让处理器去处理其他的事情了,当中断发生以后会触发我们事先设置好的中断服务函数,在中断服务函数中做具体的处理。阻塞、非阻塞都是通过主动查询实现的,如果可以类似中断一样,设备能主动告诉我们可以访问就好了。信号为此应运而生,软件层次上类似硬件的中断,驱动主动向应用程序发送信号的方式报告自己可以访问了。
2024-06-18 09:02:11
1029
原创 Linux阻塞和非阻塞IO
阻塞和非阻塞IO是linux驱动开发中很常见的设备访问模式,编写驱动时一定要考虑到。这里的IO并不是指GPIO,而是Input/Output,也就是输入输出。阻塞:应用程序调用 read 函数从设备中读取数据,当设备不可用或数据未准备好的时候就会进入到休眠态。等设备可用的时候就会从休眠态唤醒,然后从设备中读取数据返回给应用程序。非阻塞:应用程序使用非阻塞访问方式从设备读取数据,当设备不可用或数据未准备好的时候会立即向应用程序返回一个错误码,表示数据读取失败。
2024-06-14 19:08:34
1337
原创 Linux下的中断实验
中断顾名思义,就是在CPU执行的时候被某个中断信号打断,保护现场后跳转到预先设定好的中断处理代码中执行,执行完毕后返回并恢复现场,继续执行被打断前的任务。以上就是今天要讲的内容,本文简单介绍了Linux下中断的使用,而Linux内核提供了完善的中断框架,大量能使我们快速便捷地处理中断的函数和方法,使用非常方便。
2024-06-05 19:47:39
2088
原创 Linux内核下的定时器
定时器是我们常用的功能之一。系统时钟由内核中的通用寄存器提供。中断周期性产生的频率就叫系统频率(节拍率)可以设置,在内核CONFIG_HZ可配置。HZ代表了一秒的节拍数,也就是常说的频率。内核中有大量程序需要时间管理,比如周期性程序、延时程序、还有我们的定时器。以上就是今天要讲的内容,本文介绍了Linux内核下定时器的使用,举例说明了其简单使用,制作不易,多多包涵。
2024-05-31 19:24:46
546
原创 Linux下的并发与竞争
Linux系统是个多任务操作系统,并发访问带来的问题就是竞争,所谓的临界区就是共享数据段,要保证临界区是原子访问的。主要方法有四种:原子操作,自旋锁,信号量,互斥体。本文主要介绍内核下各方式的常用API及基本用法,帮助大家快速上手。以上就是今天要讲的内容,本文简单介绍了Linux内核下的并发与竞争,常用的API,用法以及测试案例。制作不易,多多包涵。
2024-05-29 18:46:31
1397
原创 Linux中的设备树详解
设备树是Linux驱动开发中必不可少的环节之一,它可以帮助我们快速了解设备硬件结构及快速配置,提高工作效率以上就是今天要讲的内容,本文简单介绍了Linux中设备树的使用,制作不易,多多包涵。
2024-05-21 19:05:56
8195
2
原创 Linux中编写GPIO驱动
GPIO是嵌入式开发中常用的一个模块,Linux下的任何外设驱动,最终目的都是要配置相应的硬件寄存器。在Linux中,不管是内核空间代码,还是用户空间代码,访问的都是虚拟地址。以上就是今天要讲的内容,本文简单介绍了内核中对GPIO的使用,制作不易,多多包涵。
2024-05-16 19:41:38
1929
原创 基于petalinux内核源码编写字符设备驱动
一个基础的petalinux工程,在配置工程的时候即可在图形界面进行kernel配置,然后编译出内核镜像,并且要在编译完整个工程后才有内核源码,且目录部分与传统Soc的SDK kernel部分不同。在驱动开发中,如果想要单独写驱动并在Xilinx平台上运行,该怎样操作呢?以上就是今天要讲的内容,本文介绍了在petalinux工程外编译字符驱动的方法。制作不易,多多包涵。
2024-05-14 19:42:23
1096
2
原创 以Xilinx ZCU106为例从0开始搭建Petalinux工程
本文以Xilinx ZCU106为例,从0开始搭建一个petalinux项目工程,目标是编译出来的镜像,最终烧写进开发板后的效果与烧写官方提供的镜像效果一致。以上就是今天要讲的内容,本文介绍了petalinux的使用,生成和官方效果一样的镜像文件,制作不易,多多包涵。
2024-05-10 09:06:19
2716
原创 从源码开始编译Xilinx VCU中的vcu_gst_app
以上就是今天要讲的内容,本文简单介绍了vcu_gst_app的交叉编译步骤,制作不易,多多包涵。
2024-05-08 08:58:28
1053
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人