首页 > 系统相关 >【Orange Pi 5 Linux 5.x 内核编程】-字符设备文件操作实现

【Orange Pi 5 Linux 5.x 内核编程】-字符设备文件操作实现

时间:2024-10-27 08:49:06浏览次数:6  
标签:文件 字符 实现 内核 Linux Orange 操作 Pi

字符设备文件与操作(具体实现)

文章目录


上一篇文章中,我们成功实现了字符设备文件的操作,但是在该实例中,各操作函数并没有具体实现,本文在此基础上,进一步实现文件操作函数。

本次实例分为两个部分:

  • 内核驱动
  • 用户应用程序

内核驱动实现了字符设备文件的操作,用户应用程序用于验证内核驱动。

1、内核空间程序(设备驱动)

注意

1、本系列文章将使用的Linux内核版本号为:5.10.160`,

2、开发板为Orange Pi 5,

3、系统镜像为官方提供的系统镜像

4、Linux内核头文件位于:/opt/linux-headers-legacy-rockchip-rk3588_1.1.10_arm64.deb

5、初次使用需要安装Linux内核头文件:sudo dpkg -i linux-headers-legacy-rockchip-rk3588_1.1.10_arm64.deb

在Linux中,一切旨为文件。那么,

标签:文件,字符,实现,内核,Linux,Orange,操作,Pi
From: https://blog.csdn.net/wujuxKkoolerter/article/details/143248036

相关文章

  • 【Orange Pi 5 Linux 5.x 内核编程】-字符设备文件与操作(IOCTL)
    字符设备文件与操作(IOCTL)文章目录字符设备文件与操作(IOCTL)1、IOCTL介绍2、IOCTL使用步骤2.1在驱动程序中创建IOCTL命令2.2在驱动中编写IOCTL函数2.3在用户空间创建IOCTL命令3、内核空间IOCTL驱动实现4、用户空间应用程序5、验证在上一篇文章中,......
  • 【Linux学习】(6)编译器gcc/g++
    前言本节重点:掌握gcc/g++编译器的使用,并了解其过程,原理一、Linux编译器-gcc/g++使用1.gcc/g++的基本使用在前面我们学习了vim,知道如何在Linux中编写代码。但又是如何编译代码的?——在Linux中我们编译代码使用的是gcc/g++。gcc只能用来编译C语言,g++即可编译C也可编译......
  • 【Linux学习】(7)项目自动化构建工具make/Makefile
    Linux项目自动化构建工具-make/Makefile1.背景介绍会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文......
  • Linux:基础IO
    一、文件fd1.1共识原理 1、文件=内容+属性 2、文件分为打开的文件和没打开的文件(如c中的fopen和fclose)      可以用以下的例子去理解:快递(文件) 有被人(进程)取走的快递(打开的文件)和没被取走的快递(没打开的文件),被人取走的快递研究的是人和快递的关系(进程和文......
  • 【Linux探索学习】第八弹——Linux工具篇(三):Linux 中的编译器 GCC 的编译原理和使用详
    #1024程序员节|征文#Linux下的vim编辑器:【Linux探索学习】第七弹——Linux的工具(二):Linux下vim编辑器的使用详解-CSDN博客前言:在上一篇我们学习了如何在Linux环境下直接用vim编辑器来进行编辑代码,今天我们来学习如何运行我们所编辑的代码,运行代码就需要编译器,也就是我们下......
  • linux之系统调用与文件IO编程
    linux之系统调用与文件IO编程系统调用主要包含以下内容:文件操作:打开、读取、写入、关闭文件。目录和文件系统:创建目录、遍历目录、文件属性管理。进程管理:进程创建、进程终止、信号处理、进程间通信(IPC)。内存管理:内存映射、共享内存、动态内存分配。时间管理:时间获取、时......
  • linux学习day1
    1.常见命令介绍(1)ctrlc:取消命令,并且换行(2)ctrlu:清空本行命令(3)tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项(4)ls:列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件(5)pwd:显示当前路径(6)cdXXX:进入......
  • SpringBoot编写WebApi~(1)idea创建项目并打包
    1.idea创建springboot项目,参考2、idea将springboot打包成jar,参考,对于新版idea默认使用gradle构建,则使用下面步骤build.gradle文件添加以下几行://打包配置bootJar{archiveBaseName.set('xxx-project')archiveVersion.set('0.0.1')archiveFileName.set('xxx-......
  • 在K8S中,kube-apiserver和kube-scheduler的作用是什么?
    在Kubernetes(K8s)中,kube-apiserver和kube-scheduler是两个至关重要的组件,它们各自承担着不同的职责,共同协作以确保集群的正常运行。1.kube-apiserver的作用提供API接口:kube-apiserver是KubernetesAPI的入口,提供了RESTful风格的API接口,支持JSON和YAML格式的数据交互。集群内......
  • 0-petalinux2018.3 摸索记录 - 快速亮机
    一、环境搭建1、环境要求①需要注意petalinux、vivado、vitis、linux之间的版本对应关系,在ug1144上可以找到②需要注意linux的硬件要求,运存8G以上不然会报错等等2、环境依赖配置2018.3_PetaLinux_Package_List.xlsx①安装包sudoapt-getinstalltofrodos......