全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

【RT-Thread】【ci】【scons】将ci.attachconfig.yml和sc

时间:2025-02-20 19:57

人气:

作者:admin

标签: 开发板  scons  RT-Thread 

导读:前言大家有没有遇到过这样的问题:明明已经启用了某个功能,却因为编译报错不得不进入menuconfig去启用其依赖的功能;或者是为了启用某个功能,需要在menuconfig中四处寻找相关选项,...

前言


大家有没有遇到过这样的问题:明明已经启用了某个功能,却因为编译报错不得不进入 menuconfig 去启用其依赖的功能;或者是为了启用某个功能,需要在 menuconfig 中四处寻找相关选项,甚至有时不知道该如何在特定板子上正确配置这些功能。

于是,结合 scons 的 --attach 功能应运而生。通过使用 scons --attach 命令,可以快速加载前人已经配置好的功能(PS:由于这些配置已经通过 CI 检查,确保不会出现编译错误)。

实际操作


这里以星火一号开发板为例子

首先是查看当前bsp支持所有的attachconfig

scons --attach=?

d60417f6-ef81-11ef-9434-92fbcf53809c.png

比如说我想快速打开rw007模块的配置

那么在终端里就可以输入

scons --attach=peripheral.rw007

d627c034-ef81-11ef-9434-92fbcf53809c.png

这样rw007就打开了,然后就可以用scons -j4进行编译

如果还想打开其他功能也可以重复上述操作

最后是恢复命令

scons --attach=default

d64b5350-ef81-11ef-9434-92fbcf53809c.png

首次使用 scons --attach=peripheral.rw007命令开启功能时,会自动备份当前的 .configrtconfig 文件。之后,如果需要恢复,系统会将备份的 .configrtconfig 文件恢复为未使用--attach 命令之前的状态。

如何编写attachconfig


首先在刚拉下来的bsp里用menuconfig配置好选项

然后按下d弹出最小配置保存页面,再次按下回车即可

d6671ca2-ef81-11ef-9434-92fbcf53809c.png

接下来在bsp目录下就会看到一个叫defconfig的文件

d684e1ba-ef81-11ef-9434-92fbcf53809c.png

其中的内容就是刚刚用menuconfig打开了的设置

比如说:

上图的CONFIG_RT_USING_NANO=y就是我刚打开了的nano配置

然后找到当前bsp中.ci\attachconfig下面的ci.attachconfig.yml

d69f2656-ef81-11ef-9434-92fbcf53809c.png

比如说我想配置nano的attach

那么按照这个格式添加到attachconfig文件中

nano: kconfig: - CONFIG_RT_USING_NANO=y

d6c1669e-ef81-11ef-9434-92fbcf53809c.png

其中的<<: *scons 是yaml语法

用于继承另一个属性的内容

这里完整的语句是这样

scons.args: &scons scons_arg: - '--strict'nano: <<: *scons kconfig: - CONFIG_RT_USING_NANO=y

主要用于ci的时候开启严格编译,这里可以先不管

具体关于attachconfig可以参考以下帖子:(可在以下网站https://club.rt-thread.org/index.html搜索下列对应名称浏览相应文章)

RT-Thread-还在担心bsp不好维护吗?快使用yml管理主线bspRT-Thread问答社区 - RT-Thread

RT-Thread-【bsp】如何添加.ci,attach文件完善bsp编译RT-Thread问答社区 - RT-Thread

RT-Thread-【1024】【ci】【github】【bsp】RT-THREAD中的attach文件使用(开启对应配置的CI检查)RT-Thread问答社区 - RT-Thread

结语


感觉attachconfig还有很大的潜力,可以让 menuconfig 保留最基础的配置,而将更复杂的功能配置放到 attachconfig 中。这样不仅能够确保刚拉下来的 BSP 是一个最小系统,同时也能保留 menuconfig 的灵活性,使得系统配置更加模块化和易于扩展。

轻度开发用attachconfig,深度开发用menuconfig从零配置

后续感觉可以出个图形化界面,根据功能类别分个类,然后每个attach是通过打勾的形式去开启

由于这个功能刚刚推出,大部分 BSP 中的 attachconfig 还不是开箱即用的,甚至有的 BSP 还没有 attachconfig 。因此,仍然需要大家共同努力,进一步完善和优化它,以确保其在各个项目中的兼容性和可用性。

该功能仅支持ENV下的RT-Thread

————————————————

版权声明:本文为RT-Thread论坛用户「alight」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信