feat: 添加注释
parent
827a1a6466
commit
738de1b60e
2
Kconfig
2
Kconfig
|
@ -16,7 +16,7 @@ config PKGS_DIR
|
|||
default "packages"
|
||||
|
||||
source "$RTT_DIR/Kconfig"
|
||||
#source "$PKGS_DIR/Kconfig"
|
||||
source "$PKGS_DIR/Kconfig"
|
||||
source "libraries/Kconfig"
|
||||
source "board/Kconfig"
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ int main(void)
|
|||
|
||||
while (1)
|
||||
{
|
||||
rt_thread_delay(1000);
|
||||
/* code */
|
||||
}
|
||||
|
||||
|
|
|
@ -44,25 +44,34 @@ def is_pkg_special_config(config_str):
|
|||
return True
|
||||
return False
|
||||
|
||||
# 从.config文件生成rtconfig.h,在Kconfig中如果默认为n,则在.config中会以#开头,即被注释掉。因此,只有=y的才会被添加到.config文件中
|
||||
def mk_rtconfig(filename):
|
||||
|
||||
# 打开 .config 文件,以读取其中的配置选项。
|
||||
try:
|
||||
config = open(filename, 'r')
|
||||
except:
|
||||
print('open config:%s failed' % filename)
|
||||
return
|
||||
|
||||
# 打开 rtconfig.h 文件,以写入转换后的宏定义。
|
||||
rtconfig = open('rtconfig.h', 'w')
|
||||
rtconfig.write('#ifndef RT_CONFIG_H__\n')
|
||||
rtconfig.write('#define RT_CONFIG_H__\n\n')
|
||||
|
||||
# 定义一个空行变量。
|
||||
empty_line = 1
|
||||
|
||||
# 遍历 .config 文件中的每一行。
|
||||
for line in config:
|
||||
# 移除行首的空格,以及行尾的换行符和回车符。
|
||||
line = line.lstrip(' ').replace('\n', '').replace('\r', '')
|
||||
|
||||
# 如果该行为空行,则跳过。
|
||||
if len(line) == 0:
|
||||
continue
|
||||
|
||||
# 如果该行是以 "#" 开头的注释行,则将该行中的 CONFIG_ 前缀替换为空格,并添加到 rtconfig.h 文件中。
|
||||
if line[0] == '#':
|
||||
if len(line) == 1:
|
||||
if empty_line:
|
||||
|
@ -80,6 +89,7 @@ def mk_rtconfig(filename):
|
|||
|
||||
empty_line = 0
|
||||
else:
|
||||
# 否则,将该行转换为宏定义,并添加到 rtconfig.h 文件中。
|
||||
empty_line = 0
|
||||
setting = line.split('=')
|
||||
if len(setting) >= 2:
|
||||
|
@ -95,9 +105,11 @@ def mk_rtconfig(filename):
|
|||
else:
|
||||
rtconfig.write('#define %s %s\n' % (setting[0], re.findall(r"^.*?=(.*)$",line)[0]))
|
||||
|
||||
# 如果 .config 文件中有 rtconfig_project.h 文件,则将其包含在生成的 rtconfig.h 文件中。
|
||||
if os.path.isfile('rtconfig_project.h'):
|
||||
rtconfig.write('#include "rtconfig_project.h"\n')
|
||||
|
||||
# 在文件的末尾添加 RT_CONFIG_H__ 宏定义,以防止头文件被多次包含。
|
||||
rtconfig.write('\n')
|
||||
rtconfig.write('#endif\n')
|
||||
rtconfig.close()
|
||||
|
@ -242,16 +254,22 @@ def exclude_utestcases(RTT_ROOT):
|
|||
def menuconfig(RTT_ROOT):
|
||||
|
||||
# Exclude utestcases
|
||||
# 排除 utestcases 目录,因为该目录不需要在配置界面中进行配置。
|
||||
exclude_utestcases(RTT_ROOT)
|
||||
|
||||
# 构建 Kconfig 工具
|
||||
kconfig_dir = os.path.join(RTT_ROOT, 'tools', 'kconfig-frontends')
|
||||
os.system('scons -C ' + kconfig_dir)
|
||||
|
||||
# 设置 PKGS_ROOT 环境变量
|
||||
touch_env()
|
||||
env_dir = get_env_dir()
|
||||
if isinstance(env_dir, str):
|
||||
os.environ['PKGS_ROOT'] = os.path.join(env_dir, 'packages')
|
||||
|
||||
# 检查 .config 文件是否已经生成,并检查 .config.old 文件是否存在。
|
||||
# 如果两个文件的 MD5 值相同,则表示用户没有更改配置选项。
|
||||
# 否则,使用新的 .config 文件生成 RT-Thread 的配置文件 rtconfig.h,并将新的 .config 文件复制到 .config.old 中保存。
|
||||
fn = '.config'
|
||||
fn_old = '.config.old'
|
||||
|
||||
|
@ -266,6 +284,7 @@ def menuconfig(RTT_ROOT):
|
|||
else:
|
||||
sys.exit(-1)
|
||||
|
||||
# 如果两个文件的 MD5 值不同,则使用新的 .config 文件生成 RT-Thread 的配置文件 rtconfig.h,并将新的 .config 文件复制到 .config.old 中保存。
|
||||
# make rtconfig.h
|
||||
if diff_eq == False:
|
||||
shutil.copyfile(fn, fn_old)
|
||||
|
|
Loading…
Reference in New Issue