Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Env
SCons
【RT-Thread】【ci】【scons】将ci.attachconfig.yml和scons结合使用
发布于 2025-01-23 12:36:10 浏览:388
订阅该版
[tocm] # 前言 大家有没有遇到过这样的问题:明明已经启用了某个功能,却因为编译报错不得不进入 `menuconfig` 去启用其依赖的功能;或者是为了启用某个功能,需要在 `menuconfig` 中四处寻找相关选项,甚至有时不知道该如何在特定板子上正确配置这些功能。 于是,结合 `scons` 的 `--attach` 功能应运而生。通过使用 `scons --attach` 命令,可以快速加载前人已经配置好的功能(PS:由于这些配置已经通过 CI 检查,确保不会出现编译错误)。 # 实际操作 > 这里以星火一号开发板为例子 首先是查看当前bsp支持所有的attachconfig ``` scons --attach=? ```  比如说我想快速打开rw007模块的配置 那么在终端里就可以输入 ``` scons --attach=peripheral.rw007 ```  这样rw007就打开了,然后就可以用scons -j4进行编译 如果还想打开其他功能也可以重复上述操作 最后是恢复命令 ``` scons --attach=default ```  > 首次使用 `scons --attach=peripheral.rw007` 命令开启功能时,会自动备份当前的 `.config` 和 `rtconfig` 文件。之后,如果需要恢复,系统会将备份的 `.config` 和 `rtconfig` 文件恢复为未使用 `--attach` 命令之前的状态。 # 如何编写attachconfig 首先在刚拉下来的bsp里用menuconfig配置好选项 然后按下d弹出最小配置保存页面,再次按下回车即可  接下来在bsp目录下就会看到一个叫defconfig的文件  其中的内容就是刚刚用menuconfig打开了的设置 比如说: 上图的CONFIG_RT_USING_NANO=y就是我刚打开了的nano配置 然后找到当前bsp中.ci\attachconfig下面的ci.attachconfig.yml  比如说我想配置nano的attach 那么按照这个格式添加到attachconfig文件中 ``` nano: kconfig: - CONFIG_RT_USING_NANO=y ```  其中的```<<: *scons``` 是yaml语法 用于继承另一个属性的内容 这里完整的语句是这样 ``` scons.args: &scons scons_arg: - '--strict' nano: <<: *scons kconfig: - CONFIG_RT_USING_NANO=y ``` 主要用于ci的时候开启严格编译,这里可以先不管 具体关于attachconfig可以参考以下帖子: [RT-Thread-还在担心bsp不好维护吗?快使用yml管理主线bspRT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/5c41835bb8ff9b41.html) [RT-Thread-【bsp】如何添加.ci,attach文件完善bsp编译RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/5edd0f0940a57129.html) [RT-Thread-【1024】【ci】【github】【bsp】RT-THREAD中的attach文件使用(开启对应配置的CI检查)RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/f129e62f91118746.html) # 结语 感觉attachconfig还有很大的潜力,可以让 `menuconfig` 保留最基础的配置,而将更复杂的功能配置放到 `attachconfig` 中。这样不仅能够确保刚拉下来的 BSP 是一个最小系统,同时也能保留 `menuconfig` 的灵活性,使得系统配置更加模块化和易于扩展。 轻度开发用attachconfig,深度开发用menuconfig从零配置 后续感觉可以出个图形化界面,根据功能类别分个类,然后每个attach是通过打勾的形式去开启 **由于这个功能刚刚推出,大部分 BSP 中的 `attachconfig` 还不是开箱即用的,甚至有的 BSP 还没有 `attachconfig` 。因此,仍然需要大家共同努力,进一步完善和优化它,以确保其在各个项目中的兼容性和可用性。** **该功能仅支持ENV下的RT-Thread**
3
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
alight
该用户没有签名
文章
9
回答
0
被采纳
0
关注TA
发私信
相关文章
1
scons不支持python3吗?
2
编译又出现问题
3
BSP目录下做好一个项目后,怎么把发给别人的包裁剪的小...
4
为什么重新scons --target=mdk 后,以前在MDK工程里保存的C文
5
Scons 添加Group,SConscript已经执行,源码却没有添加进工程
6
scons如何指定输出目录?
7
新人求助。
8
想用env 工具自己构建编译环境想用vscode 进行一些简单程序
9
关于scons脚本问题
10
使用scons --target=makefile的问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
10
个答案
3
次被采纳
xiaorui
3
个答案
2
次被采纳
winfeng
2
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
lizimu
2
篇文章
8
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部