• 添加内核编译选项


    当我们自己对内核代码进行了添加,如添加了对某设备的支持,我们就要添加内核编译选项使得我们可以编译我们自己的代码.

    一下顺序可以互换:

    1,拷贝源码到相应类型的目录下.

    2,在该目录下找到Kconfig文件,在文件中添加选项:

    一般为:

    config  config的名称

      tristate 显示的名称        #用于显示在选项中的名称,可以有三种选择结果,不选择,内建,模块

      bool   显示的名称      #用于显示在选项中的名称,可以有两种选择结果,选中和不选中,不支持模块,和tristate两者选一

      depends on 其他选项名称    #根据其他选项是否被选择而显示或者不显示

      select 其他选项名称      #这个和depends on相反,这个选项可以决定其他的选项的显示

      default y           #默认选项也是对应的不选择(n),内建(y),模块(m)三种结果,也可以根据其他的选择来决定,if 其他选项

      help

      help的内容           #帮助

    如果我们是有一类很多的设备或者功能时,我们可以使用

    menu 名称

    config ....

    config ...

    endmenu

    或者

    choices

    config ....

    config ...

    endchoice

    跟menu与endmenu用法基本一样,唯一的区别在于,choices定义的“子菜单”(应该叫选项表)中的多个菜单项只能有一个被选中,相当于menu定义一个可多选的子菜单,choices定义一个单选的子菜单

    comment 说明性的文字    #选项中显示一行说明性的文字,不能进行选择

    source 其他的Kconfig文件   #引用其他的config文件

    3,在makefile文件中添加

    obj-y += 代码文件名.o    #内建编译

    obj-m += 代码文件名.o    #模块编译

    obj-$(自己添加的config名称) += 代码文件名.o  #根据config选项进行编译

    多文件编译:

    obj-$(自己添加的config名称) += 目标.o

    目标-y:= 代码1.o 代码2.o .....

    或者根据其他选项来决定是否要集成某些 .o文件

    目标-$(其他config选项) += 代码.o

  • 相关阅读:
    迭代器实现斐波那契数列
    type 创建类,赋予类静态方法等
    使用types库修改函数
    使用property取代getter和setter方法
    pdb 进行调试
    nonlocal 访问变量
    timeit_list操作测试
    metaclass 拦截类的创建,并返回
    isinstance方法判断可迭代和迭代器
    苹果cms10 官方QQ微信防红防封代码
  • 原文地址:https://www.cnblogs.com/CHYI1/p/5578025.html
Copyright © 2020-2023  润新知