Linux内核开发
基于Arm-A53的内核驱动开发
存墨
做一个有情怀的程序员
展开
-
Linux中的文件访问权限
文件的访问权限和文件模式文件的访问权限由三类——读权限、写权限和执行权限。因此一个文件的访问权限由9种不同的二进制标识组成;另有三种附件标识——suid、sgid、和sticky来定义文件模式。这些模式应用于可执行文件时有以下含义:执行文件的进程通常保留进程所有者的用户ID(UID)。但是,如果可执行文件设置了suid标志,则进程将获取文件所有者的UID。执行文件的进程保留进程组的用户组ID。但是,如果可执行文件设置了sgid标志,则进程将获取文件的用户组ID。设置了sticky标志的可执行文件对原创 2021-11-23 22:33:49 · 274 阅读 · 0 评论 -
Linux中的文件类型和文件包含的信息
Linux文件包含以下种类:1.普通文件2.目录3.符号链接4.块设备文件5.字符设备文件6.无名管道和有名管道7.套接字前三种类型是所有Linux文件系统中都有的类型,这些类型的实现在第八章详细描述。设备文件和IO文件与集成在内核中的设备驱动相关联;比如,当程序访问一个设备文件时,它直接通过该文件相关的IO驱动来操作。管道和套接字是用于进程间通信的特殊文件。Linux中明确区分文件内容和文件信息。除了驱动文件和文件系统中特殊的文件之外,每个文件由字节序列组成。这些文件不包含任何控制信息,比原创 2021-11-22 21:53:00 · 915 阅读 · 0 评论 -
Linux驱动——混杂设备实现对蜂鸣器的操作
#include <linux/init.h>#include <linux/module.h>#include <linux/cdev.h>#include <linux/fs.h>#include <linux/device.h>#include <asm/uaccess.h>#include <asm/gpio.h>#include <mach/soc.h>#include <mach原创 2021-10-22 23:11:25 · 109 阅读 · 0 评论 -
Linux驱动——实现对设备文件的读写操作和ioctl操作
#include <linux/init.h>#include <linux/module.h>#include <linux/cdev.h>#include <linux/fs.h>#include <linux/device.h>#include <asm/uaccess.h>#define DEV_MINOR 0#define DEV_CNT 1#define DEV_DATA_SIZE 127#define原创 2021-10-22 23:10:05 · 838 阅读 · 0 评论 -
Linux驱动——如何创建一个字符设备
#include <linux/init.h>#include <linux/module.h>#include <linux/cdev.h>#include <linux/fs.h>#define DEV_NUM 110#define DEV_CNT 1dev_t dev;int dev_init(void){ int ret; dev = MKDEV(DEV_NUM, DEV_CNT); ret = alloc_chrdev_re原创 2021-10-22 23:08:28 · 258 阅读 · 0 评论 -
第一个linux驱动——掌握驱动的“入口”和“出口”
#include <linux/module.h>#include <linux/vermagic.h>#include <linux/compiler.h>MODULE_INFO(vermagic, VERMAGIC_STRING);struct module __this_module__attribute__((section(".gnu.linkonce.this_module"))) = { .name = KBUILD_MODNAME, .i原创 2021-10-22 23:05:28 · 261 阅读 · 0 评论