1 模块参数
定义模块参数
  1. 1 module_param(name, type, perm);
  2. 定义一个模块参数,
  3. name 变量名
  4. type 数据类型
  5. bool:布尔型
  6. invbool:一个布尔型( true 或者 false)值(相关的变量应当是 int 类型). invbool 类型颠倒了值, 所以真值变成 false, 反之亦然.
  7. charp :一个字符指针值. 内存为用户提供的字串分配, 指针因此设置.
  8. int:整形
  9. long:长整形
  10. short:短整形
  11. uint:无符号整形
  12. ulong:无符号长整形
  13. ushort:无符号短整形
  14. perm 访问权限
  15. #define S_IRWXU 00700
  16. #define S_IRUSR 00400
  17. #define S_IWUSR 00200
  18. #define S_IXUSR 00100
  19. #define S_IRWXG 00070
  20. #define S_IRGRP 00040
  21. #define S_IWGRP 00020
  22. #define S_IXGRP 00010
  23. #define S_IRWXO 00007
  24. #define S_IROTH 00004
  25. #define S_IWOTH 00002
  26. #define S_IXOTH 00001
  27. #define S_IRUGO (S_IRUSR|S_IRGRP|S_IROTH) //可以被所有用户访问不能改写
2 module_param_array(name, type, nump, perm);

定义模块参数数组
nump 数组元素的个数

示例:

  1. static int test=;
  2. module_param(test, int, S_IRUGO);

在uboot 的启动参数中传递参数 例如:

  1. setenv bootargs console=ttyS0,115200n8 root=${mmcroot} rootfstype=ext4 rootflags=data=writeback quiet testmodule.test=

testmodule模块名称(也就是.o文件或者.ko文件的名称) test 模块参数名称 如果设置了上面的启动参数,在驱动中就可以看到test的值为1

2 直接用启动参数传递

驱动中定义

  1. static int test=;
  2. static int __init Get_test(char *str)
  3. {
  4. test = simple_strtoul(str, NULL, );
  5. return ;
  6. }
  7. __setup("mode_test=", Get_test);
  8.  
  9. static char *test_name;
  10. static int __init Get_testname(char *str)
  11. {
  12. test_name = str;
  13. return ;
  14. }
  15. __setup("mode_testname=", Get_testname);

在启动参数中

  1. setenv bootargs console=ttyS0,115200n8 root=${mmcroot} rootfstype=ext4 rootflags=data=writeback quiet test= test_name=name

按上面的设置,在驱动可以得到test的值为1,test_name为“name”。

uboot向内核模块传递参数的方法的更多相关文章

  1. C++向main函数传递参数的方法(实例已上传至github)

    通常情况下,我们定义的main函数都只有空形参列表: int main(){...} 然而,有时我们确实需要给mian传递实参,一种常见的情况是用户设置一组选项来确定函数所要执行的操作.例如,假定ma ...

  2. jsp中四种传递参数的方法

    jsp中四种传递参数的方法如下: 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="i ...

  3. Jsp传递参数的方法

    今天老师讲了jsp中四种传递参数的方法,我觉得总结一下,挺好的,以备后用! 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超 ...

  4. Javascript 定时器调用传递参数的方法

    文章来源:  https://m.jb51.net/article/20880.htm 备注:先记下,以后整理: Javascript 定时器调用传递参数的方法,需要的朋友可以参考下. 无论是wind ...

  5. JSP页面之间传递参数的方法有哪些?

    JSP页面之间传递参数的方法有哪些? 解答: 1)request 2)session 3)application 4)提交表单 5)超链接

  6. php cli传递参数的方法

    php cli传递参数的方法 <pre>$options = "f:g:"; $opts = getopt( $options ); print_r($opts); & ...

  7. springMVC controller间跳转 重定向 传递参数的方法

    springMVC controller间跳转 重定向 传递参数的方法 spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参 ...

  8. Linux线程体传递参数的方法详解

    传递参数的两种方法 线程函数只有一个参数的情况:直接定义一个变量通过应用传给线程函数. 例子 #include #include using namespace std; pthread_t thre ...

  9. Django URL传递参数的方法总结(转)

    1 无参数情况 配置URL及其视图如下: 1 2 3 4 (r'^hello/$', hello)   def hello(request): return HttpResponse("He ...

随机推荐

  1. CF830A/831D Office Keys

    思路: 问题的关键在于对钥匙按照位置排序之后,最终选择的n个钥匙一定是其中的一个连续的区间. 实现: #include <iostream> #include <cstdio> ...

  2. JS——百度背景图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. win10 打开chm文件内容空白如何解决

    win10 打开chm文件内容空白如何解决 .CHM文件是非常常见的帮助文件格式.由于其便携性,很多小说或杂志也会采用chm格式.win7/win8.1/win10系统,由于采用了UAC,致使原本在x ...

  4. windows设置右键菜单

    1. 打开注册表,(win + R,输入regedit) 2. 在 HKEY_CLASSES_ROOT\Directory\Background\shell 中,新建项:如(cmder),在 cmde ...

  5. Spring 注解注入的几种方式(转)

    平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...

  6. 使用Scrapy爬取图书网站信息

    重难点:使用scrapy获取的数值是unicode类型,保存到json文件时需要特别注意处理一下,具体请参考链接:https://www.cnblogs.com/sanduzxcvbnm/p/1030 ...

  7. Django REST framework - 版本控制

    目录 Django REST framework 版本控制 为什么需要版本控制 DRF提供了5种版本控制方案 版本控制系统的使用 全局配置 局部配置 获取版本信息 Django REST framew ...

  8. Golang之路

    目录 Golang之路 Golang之路 Golang(一) - 开篇必须吹牛逼 Golang(二) - 第一个go程序和基本语法 Golang(三) - 函数 Golang(四) - 流程控制 Go ...

  9. Tensorflow读取csv文件(转)

    常用的直接读取方法实例:#加载包 import tensorflow as tf import os #设置工作目录 os.chdir("你自己的目录") #查看目录 print( ...

  10. hadoop-磁盘出现坏盘,如何能在线换盘

    涉及到磁盘存储路径的配置文件参数有: hdfs-site.xml <name>dfs.datanode.data.dir</name> yarn-site.xml <na ...