linux 驱动
linux 驱动开发
hello可乐
这个作者很懒,什么都没留下…
展开
-
[linux驱动]字符设备驱动框架
这里写目录标题驱动源码 hello.cMakefile注解编译/安装驱动驱动源码 hello.c#include <linux/module.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/fs.h>#define HELLO_MAJOR 222ssize_t hello_read(struct file *file, char __user *usr, size_原创 2021-09-25 13:35:17 · 69 阅读 · 0 评论 -
[linux驱动1]入门程序 hello world
hello.c#include <linux/module.h>#include <linux/init.h>/*驱动初始化函数*/int hello_init(void){ printk("hello eixt"); return 0;}/*驱动卸载函数*/void hello_exit(void){ printk("hello eixt");}MODULE_AUTHOR("kele>");M.原创 2021-09-25 12:17:58 · 74 阅读 · 0 评论 -
内核链
struct list {struct list *next, *prev;};static inline voidlist_init(struct list *list){list->next = list;list->prev = list;}static inline intlist_empty(struct list *list){return list->ne原创 2017-02-26 12:45:18 · 287 阅读 · 0 评论 -
linux内核版本发展
2.42001.1.4Linux2.4.0版本内核发布。2.62003.12.17Linux2.6版本内核发布,与2.4内核版本相比,它在很多方面进行了改进,如支持多处理器配置和64位计算,它还支持实现高效率线和处理的本机POSIX线程库(NPTL)。实际上,性能、安全性和驱动程序的改进是整个2.6.x内核的关键。原创 2017-02-25 19:03:17 · 748 阅读 · 0 评论 -
32位线性地址—两级页表
#define PGDIR_SHIFT 22#define PGDIR_SIZE (1UL原创 2017-02-11 00:20:31 · 924 阅读 · 0 评论 -
进程的虚拟地址空间(线性地址空间)
linux 将4GB线性地址空间分成两个部分:0x00000000 ~ 0xC0000000前3GB的线性地址空间, 内核和用户进程都可以访问0x00000000 ~ 0xC0000000后1GB的线性地址空间,仅内核可以访问原创 2017-02-13 21:33:22 · 372 阅读 · 0 评论 -
80x86下 linux对分段机制的使用
在80x86架构中,linux中的所有进程共享 代码段描述符和数据段描述符.SegmentBaseGLimitTypeDPLSD/BPuser code0x0000000010xfffff103111user data0x0000000010xfffff2311原创 2017-02-11 01:24:12 · 490 阅读 · 0 评论 -
进程 线性地址到物理地址的映射
在32位处理器中,线性地址空间只有4GB,这4GB被所有进程共享,那么不同进程才能访问不同物理页面呢?linux实现是 给每个进程设置一个页目录表(Page Directory),这样不同进程的相同线性地址 会被映射到不同的 物理页面中去.struct task_struct{ struct mm_struct *mm, *active_mm;};struct mm_struct{原创 2017-02-11 01:03:23 · 792 阅读 · 0 评论 -
进程页面目录表
struct task_struct{struct mm_struct *mm, *active_mm;};struct mm_struct{pgd_t * pgd;};pgd中保存的是该进程页目录表(Page Directory)的线性基地址.原创 2017-02-11 00:34:24 · 692 阅读 · 0 评论 -
linux内核-配置和编译
======================================================================================================================================配置内核make config:基于文本模式的交互式配置make menuconfig:基于文本模式的菜单式配置==原创 2017-02-04 23:48:32 · 204 阅读 · 0 评论