Linux 内核模块
激萌の小宅
这个作者很懒,什么都没留下…
展开
-
linux 内核模块编程之LED驱动程序(六)
我使用的是tiny6410的核心板,板子如下,淘宝可以买到我们可以看到,板子上有5个LED灯,其中有4个用户可编程LED,他们直接与CPU的GPIO相连,低电平有效(点亮),端口配置如下: LED1LED2LED3LED4对应GPIOGPK4GPK5GPK6原创 2016-01-11 19:36:21 · 757 阅读 · 0 评论 -
linux 内核模块编程之hello word(二)
我们的目的是要编译个hello.ko的文件,然后安装到内核中。先来看下需要的代码,hello.c文件如下#include #include static int hello_init(void){ printk(KERN_WARNING"Hello world!\n"); return 0;}static void hello_exit(void){原创 2016-01-04 19:19:01 · 754 阅读 · 0 评论 -
linux 内核模块编程之环境搭建(一)
这里介绍些关于Tiny6410开发板内核的编译,为后期驱动开发做前期的准备。开发环境:64位的Ubuntu 14.01虚拟机目标机:友善之臂Tiny6410开发板内核:linux-2.6.38-20110325.tar.gz内核源码下载地址 https://www.kernel.org/pub/linux/kernel/v2.6/ ;Tiny6410内核下载地址 http://原创 2016-01-03 18:55:29 · 1390 阅读 · 0 评论 -
linux 内核模块编程之编译多个源文件(三)
编译拥有多个源文件的内核模块的方式和编译一个源文件的方式差不多,我们先来看下我们需要的文件都有哪些。首先是main.c文件#include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("David Xie");MODULE_DESCRIPTION("Hello World Module");MODULE_ALIAS("a sim原创 2016-01-05 20:18:16 · 1652 阅读 · 0 评论 -
linux 内核模块编程之模块参数(四)
通过宏module_param指定模块参数,模块参数用于在加载模块时传递给模块。module_param(name, type, perm)name是模块参数的名字type是这个参数的类型,常见值:bool、int、charp(字符串型)perm是模块参数的访问权限 perm常见值:S_IRUGO:任何用户都对/sys/module中出现的该参数具有读权限S_IWU原创 2016-01-05 20:31:47 · 768 阅读 · 0 评论 -
linux 内核模块编程之内核符号导出(五)
/proc/kallsyms 记录了内核中所有导出的符号的名字与地址原创 2016-01-07 20:29:53 · 1960 阅读 · 0 评论