• RDA Kconfig介绍 ***


    安装显示库:

      sudo apt-get install libncurses5-dev libncursesw5-dev

     执行相关文件:

      1、radisson.Kconfig

      2、gen_radisson_customer.pl

      3、.config

      4、back2source.sh

      5、modify_config.sh

      6、radisson.config

      7、Makefile.radisson 

      8、build_history.sh

      

    文件的相关功能:

    radisson.Kconfig

      “radisson.Kconfig”为“radissonconfig”规则文件,规定了Kconfig的显示规则&条目。

      由于目录中项目是动态变化的,所以在运行“radissonconfig”时要用脚本“gen_radisson_customer.pl”重新生产“Kconfig”文件,即动态生成“radissonconfig”的规则文件。

    source "../BUILD_RECORD/Kconfig"
    source "../CUS_FILE/AQ/Kconfig"
    source "../CUS_FILE/BD/Kconfig"
    source "../CUS_FILE/IR/Kconfig"
    source "../CUS_FILE/KP/Kconfig"
    source "../CUS_FILE/LG/Kconfig"
    source "../CUS_FILE/PN/Kconfig"
    source "../CUS_FILE/PQ/Kconfig"
    source "aps/customer/Kconfig.radisson"

    gen_radisson_customer.pl

      迭代BUILD_RECORD/AQ/BD/IR/KP/LG/PN/PQ等目录,动态生成相关的“Kconfig”,便于“radissonconfig”界面加载规则。

    .config

      “.config”为“radissonconfig”显示的数据文件。

      即“radisson.Kconfig”&“.config”形成了“规则”&“数据”文件,“radissonconfig”才能正常加载并显示。

    back2source.sh

      “radisson.Kconfig”&“.config”完成界面的规则与数据,但在界面中进行配置后保存的“.config”文件,要转换为CODE使用的头文件“BUILD_SETTING.h”

      即“back2source.sh”完成“.config”到“BUILD_SETTING.h”的转换工作,相关的输入/输出文件如下:

      输入文件:.config

      输出文件:MI170824LBJ001_XXXX/BUILD_SETTING.h

      执行格式为:

        ./back2source.sh    MI170824LBJ001_COMMON_512C816

        即将配置文件保存在“MI170824LBJ001_COMMON_512C816”目录下的“BUILD_SETTING.h”。

      执行时机为:

        ./scripts/kconfig/mconf.c 退出“radissonconfig”界面时执行。

    modify_config.sh

      既然界面退出时要完成配置文件到头文件的转换保存工作(“.config”转换为“BUILD_SETTING.h”),那么在进入“radissonconfig”界面时也要完成相关的“BUILD_SETTING.h”转换为“.config”的工作。

      这样才能保证“radissonconfig”加载到正确的数据。即“modify_config.sh”完成“BUILD_SETTING.h”到“.config”的转换,相关的输入/输出文件如下:

      输入文件:“BUILD_SETTING.h”&“radisson.config”

      输出文件:“.config”

      执行格式:

        ./modify_config.sh     ../BUILD_RECORD/MI170816LBJ001_RAD_8503RR8303AMSTARUI/BUILD_SETTING.h

    radisson.config

      虽然在“radisson.Kconfig”中定义了显示规则,但“BUILD_SETTING.h”文件中却不能保存所有规则的数据,这就导致“BUILD_SETTING.h”中未配置项在“radissonconfig”中不能正常显示。

      这也就是“radisson.config”文件必须存在的原因,这个文件定义了未配置项在界面中显示的默认值。

    build_history.sh

      完成程序的配置及编译工作。

      另外要输出根目录的“mconfig.config”文件,对应的输入文件为:“DEFAULT.config”/“BUILD_SETTING.h”/“radisson.config”,执行过程如下:

        1、拷贝“DEFAULT.config”为“menuconfig.config”

        2、“BUILD_SETTING.h”相关项目覆盖到“menuconfig.config”

      整体原则是:BUILD_SETTING.h + DEFAULT.config = menuconfig.config。即radissonconfig配置项,DEFAULT.config文件中就不要再配置,否则重叠了就会有冲突。

    //“BUILD_RECORD”目录下,所有的“BUILD_SETTING.h”插入新行“#define NEWLINE”方式:
    sed -i "s/====MARK_MENUCONFIG_START====/====MARK_MENUCONFIG_START====\n#define NEWLINE/g"  `grep -rl ====MARK_MENUCONFIG_START==== ./`
  • 相关阅读:
    Markdown的简介(转)
    写在二月的尾巴上
    The Pragmatic Programmer 读书笔记
    C/C++语言的一些精简归纳
    一般常用设计模式及原则的思想小结
    常用UML模型简要小结
    LeetCode 101. Symmetric Tree
    LeetCode 100. Same Tree
    LeetCode 99. Recover Binary Search Tree
    线索二叉树的建立与遍历
  • 原文地址:https://www.cnblogs.com/jiangzhaowei/p/7372025.html
Copyright © 2020-2023  润新知