Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
BSP
github
github_CI_action
如何在master上的BSP中添加配置yml文件
发布于 2024-11-24 23:45:33 浏览:15
订阅该版
[tocm] # 如何在master上的BSP中添加配置yml文件 ## 问题 目前CI对BSP检查 默认都是只检查基本的GPIO UART的编译,并没有涉及到更多的文件的编译,添加bsp 的yml文件可以让CI去编译更多的配置,从而保护更多的配置。 ## 简介 目前我们的RT-THREAD仓库上的bsp的CI检测,已经包含了大部分的bsp, CI [bsp_buildings.yml](https://github.com/RT-Thread/rt-thread/blob/master/.github/workflows/bsp_buildings.yml) ![image-20241124231650166.png](https://oss-club.rt-thread.org/uploads/20241124/ba78819c2c5e49d3e7f7c4d3464113d2.png) 相信提过PR的小伙伴都有遇到过,当有新的BSP提交的时候,只要在这个yml文件里面添加某个bsp就可以了,参考之前的文章 https://club.rt-thread.org/ask/article/b3d7172e2b37cd0a.html 目前已经添加了300多个bsp,每次PR的时候都会进行检测。 但是,目前BSP覆盖的都是基本的bsp编译工程,通常这个配置会检测GPIO, UART,其他的配置不会开。这样的话,可能会导致一些.c文件漏查,出现问题。 之前的文章 介绍了attach文件如何添加,大家可以参考一下,基本目的差不多,都是为了让CI检查更多的配置,这样可以让CI来编译更多的.c , 也可以把自己常用的配置上传上去。 【bsp】如何添加.ci,attach文件完善bsp编译 https://club.rt-thread.org/ask/article/5edd0f0940a57129.html 【1024】【ci】【github】【bsp】RT-THREAD中的attach文件使用(开启对应配置的CI检查) https://club.rt-thread.org/ask/article/f129e62f91118746.html ## yml文件 这里我们做了个yml文件,包含所有配置,方便大家统一保存配置。 参考yml文件 https://github.com/RT-Thread/rt-thread/blob/master/bsp/nrf5x/nrf5340/.ci/attachconfig/ci.attachconfig.yml 以下是yml文件的主要内容。 ![image-20241124232006233.png](https://oss-club.rt-thread.org/uploads/20241124/96ace3d2a5faf7bfd43946ba2bdf57ee.png.webp) 基本上和attach文件功能相同,大家都可以用。 采用yml文件这里,我们觉得比较方便大家更改和管理, ## 如何添加yml文件 ### 第一步添加ci.attachconfig.yml 在你常用的bsp下面添加文件`.ci/attachconfig/ci.attachconfig.yml` 比如`bsp/nrf5x/nrf5340/.ci/attachconfig/ci.attachconfig.yml` https://github.com/RT-Thread/rt-thread/blob/master/bsp/nrf5x/nrf52840/.ci/attachconfig/ci.attachconfig.yml 注意这里的文件夹和文件名不要改变。 ### 第二步,添加对应的CONFIG 这里的config就是每次menuconfig需要选中的步骤,比如你要测试segger_rtt的时候 参考 https://github.com/RT-Thread/rt-thread/blob/master/bsp/nrf5x/nrf52840/.ci/attachconfig/ci.attachconfig.yml 添加如下配置 ``` segger: kconfig: - CONFIG_PKG_USING_SEGGER_RTT=y - CONFIG_RT_USING_SERIAL_V2=y ``` 这里的配置就是差异的配置,你可以在menuconfig之后,查看`.config` 的差异,找到这些修改之后的配置。这里注意只需要填写主要的menuconfig的那个主配置,比如这里选中软件包`CONFIG_PKG_USING_SEGGER_RTT` 其他默认配置不需要添加,只添加修改的配置即可。 如果想要disable某个配置也是添加`CONFIG_RT_USING_SERIAL_V2=n`即可。 ### 第三步,提PR验证 通常提交PR之后,会有一个对所有BSP的检测 https://github.com/RT-Thread/rt-thread/actions/workflows/bsp_buildings.yml 这里是所有bsp的检测 ![image-20241124232719919.png](https://oss-club.rt-thread.org/uploads/20241124/e5f6fb6376aa28150a4deb4c1831ca01.png.webp) 找到你的修改是否生效 ![image-20241124232847980.png](https://oss-club.rt-thread.org/uploads/20241124/8c9745a1ee169fb906b7cb7cc8df96b0.png.webp) 这里可以看到编译是否通过,如果不通过,需要修改对应的.c文件 ## 额外功能 ### 添加scons 参数 另外如果需要加`--strict` 强制编译的话。 直接添加一个参数` scons_arg:` 例如: ``` devices.gpio: scons_arg: - '--strict' kconfig: - CONFIG_BSP_USING_GPIO=y ``` ### 添加依赖 如果想要复用之前的config,可以参考下图,添加`depends` 节点 ![image-20241124233431433.png](https://oss-club.rt-thread.org/uploads/20241124/98ac4c5c2e700877e8071331be3b7f6e.png) ### 添加引用 如果想复用之前的scons_arg: 参数也可以参考下面写法: ``` scons.args: &scons scons_arg: - '--strict' devices.gpio: <<: *scons kconfig: - CONFIG_BSP_USING_GPIO=y ``` ![image-20241124233535738.png](https://oss-club.rt-thread.org/uploads/20241124/9772a3b27239a9d6a8900181a073c82d.png) 这个主体功能在`https://github.com/RT-Thread/rt-thread/blob/master/tools/ci/bsp_buildings.py` 中实现。 ## 总结 主要引入yml, 方便大家保存一些常用的menuconfig配置, 经常大家 可能遇到自己常用的配置跑着跑着不能跑了,这种方式可以帮助大家用ci来维护对应的menuconfig配置。 建议添加yml的时候参考如下规则: - 采用单独的yml文件放所有的配置, - 每个配置名称尽量不同,如果相同请用`---` 号隔开,可以参考yml语法 - 尽量在kconfig中写出所有修改的配置,保证config配置能够尽可能方便验证。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
RTT_逍遥
https://github.com/supperthomas
文章
36
回答
499
被采纳
75
关注TA
发私信
相关文章
1
STM32 407 串口接收数据 系统卡死
2
RTT nrf24l01 设备驱动程序
3
stm32f10x串口只能发送数据,无法接收
4
第一次尝试移植rt-thread 到stm32F103系列问题
5
有人把stm32L07xx的bsp移到rtt上来了吗?求一个
6
rt-thread线程调度异常在stm32f103芯片上
7
RTT是否支持STM32F429
8
请问谁有 STM32F40x HAL + RT-THREAD 模板
9
rt-thread在stm32f411下的移植问题
10
针对STM32F7系列平台的MPU,Cache特性,需要注意哪些问题?
推荐文章
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
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
RTT_逍遥
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部