安装显示库:

  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==== ./`

RDA Kconfig介绍 ***的更多相关文章

  1. Kconfig介绍

    https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt

  2. 编译android的linux kernel goldfish

    https://source.android.com/source/building-kernels.html $ export PATH=/home/hzh/oldhome/learn/androi ...

  3. RDA 多屏参流程

    一.RDA MAKEFILE的本地变量 在介绍多屏参之前,先看一下./code/env.conf的包含过程,通过./code/Makefile.project加载,env.conf中所有的变量,都变为 ...

  4. 【RDA】使用RDA(Remote Diagnostic Agent)工具对数据库进行健康检查

    [RDA]使用RDA(Remote Diagnostic Agent)工具对数据库进行健康检查 分类: Linux RDA英文全称叫做"Oracle Remote Diagnostic Ag ...

  5. Linux内核配置机制(make menuconfig 、Kconfig、Makefile)讲解【转】

    本文转载自:http://www.codexiu.cn/linux/blog/34801/ 前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式—— ...

  6. Linux ARM kernel Makefile and Kconfig

    kernel build:顶层Makefile:-->1. include build/main.mk    -->2. include build/kernel.mk         k ...

  7. Linux Kconfig及Makefile学习

    内核源码树的目录下都有两个文档Kconfig (2.4版本是Config.in)和Makefile.分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源 ...

  8. 【转】Android bluetooth介绍(二): android blueZ蓝牙代码架构及其uart 到rfcomm流程

    原文网址:http://blog.sina.com.cn/s/blog_602c72c50102uzoj.html 关键词:蓝牙blueZ  UART  HCI_UART H4  HCI  L2CAP ...

  9. 【转】Kconfig,Makefile 和 .config

    原文网址:http://blog.csdn.net/nxh_love/article/details/11846861 最新在做Sensor驱动移植的时候,发现了Android driver 中有Kc ...

随机推荐

  1. Python基础知识点总结

    Python基础知识与常用数据类型 一.Python概述: 1.1.Python的特点: 1.Python是一门面向对象的语言,在Python中一切皆对象 2.Python是一门解释性语言 3.Pyt ...

  2. 3W法则-学习Docker

    一.前言       5W1H法则是在一次面试中学习到的,后来在工作也开始使用这种东西,虽然最后没去那家公司,但是也是学习到了,关注开这些东西以后,也发现了一些简化版的3W法则,最近公司也要搞Doce ...

  3. 本地==〉Github(push)

    [概述] Git中的项目是本地的,为了可以协同工作.需要将项目推送到GitHub服务器上. [步骤] 1) 第一步:创建项目 2) 第二步:在github上创建一个同名的空项目 ①选择Your rep ...

  4. JavaScript编程那些事(牛客网 LeetCode)

    计算给定数组 arr 中所有元素的总和 本人提供常规方法 function sum(arr) { var len = arr.length; var sum = 0; if(len == 0){ su ...

  5. JS基础:函数

    函数声明和函数表达式 在 JS 中定义函数的方式有两种:一种是函数声明,一种是函数表达式. 例如: //函数声明 function fun() { ... } //函数表达式 var f = func ...

  6. CentOS 7防火墙服务FirewallD指南

    CentOS 7防火墙服务FirewallD指南 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 防火墙是一种位于内部网 ...

  7. HDU 3280 Equal Sum Partitions(二分查找)

    Equal Sum Partitions Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  8. SpringMVC之application-context.xml,了解数据库相关配置

    上一篇SpringMVC之web.xml让我们了解到配置一个web项目的时候,怎样做基础的DispatcherServlet相关配置.作为SpringMVC上手的第一步.而application-co ...

  9. 使用Docker部署Gitlab

    由于公司的代码server已使用Gitosis搭建,但由于用户和权限管理太麻烦. 如今想在原有server上再搭建Gitlab,使用Gitlab官方方法直接安装. 会导致与Gitosis冲突,使得Gi ...

  10. linux下配置LAMP开发环境,以及经常使用小细节

    本来安装没什么可说到.可是在linux其中easy会出现各种各样到问题. 我安装以后导致各种问题 比方php无法正常解析,数据库无法关闭,Apache无法开启等等........ 所以搞得我比較郁闷, ...