一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【RT-Thread】【ci】【scons】將ci.attachconfig.yml和scons結(jié)合使用

RT-Thread官方賬號 ? 2025-02-20 19:57 ? 次閱讀

前言


大家有沒有遇到過這樣的問題:明明已經(jīng)啟用了某個功能,卻因為編譯報錯不得不進(jìn)入 menuconfig 去啟用其依賴的功能;或者是為了啟用某個功能,需要在 menuconfig 中四處尋找相關(guān)選項,甚至有時不知道該如何在特定板子上正確配置這些功能。

于是,結(jié)合 scons 的 --attach 功能應(yīng)運而生。通過使用 scons --attach 命令,可以快速加載前人已經(jīng)配置好的功能(PS:由于這些配置已經(jīng)通過 CI 檢查,確保不會出現(xiàn)編譯錯誤)。

實際操作


這里以星火一號開發(fā)板為例子

首先是查看當(dāng)前bsp支持所有的attachconfig

scons --attach=?

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

比如說我想快速打開rw007模塊的配置

那么在終端里就可以輸入

scons --attach=peripheral.rw007

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

這樣rw007就打開了,然后就可以用scons -j4進(jìn)行編譯

如果還想打開其他功能也可以重復(fù)上述操作

最后是恢復(fù)命令

scons --attach=default

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

首次使用 scons --attach=peripheral.rw007命令開啟功能時,會自動備份當(dāng)前的 .configrtconfig 文件。之后,如果需要恢復(fù),系統(tǒng)會將備份的 .configrtconfig 文件恢復(fù)為未使用--attach 命令之前的狀態(tài)。

如何編寫attachconfig


首先在剛拉下來的bsp里用menuconfig配置好選項

然后按下d彈出最小配置保存頁面,再次按下回車即可

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

接下來在bsp目錄下就會看到一個叫defconfig的文件

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

其中的內(nèi)容就是剛剛用menuconfig打開了的設(shè)置

比如說:

上圖的CONFIG_RT_USING_NANO=y就是我剛打開了的nano配置

然后找到當(dāng)前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語法

用于繼承另一個屬性的內(nèi)容

這里完整的語句是這樣

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

主要用于ci的時候開啟嚴(yán)格編譯,這里可以先不管

具體關(guān)于attachconfig可以參考以下帖子:(可在以下網(wǎng)站https://club.rt-thread.org/index.html搜索下列對應(yīng)名稱瀏覽相應(yīng)文章)

RT-Thread-還在擔(dān)心bsp不好維護(hù)嗎?快使用yml管理主線bspRT-Thread問答社區(qū) - RT-Thread

RT-Thread-【bsp】如何添加.ci,attach文件完善bsp編譯RT-Thread問答社區(qū) - RT-Thread

RT-Thread-【1024】【ci】【github】【bsp】RT-THREAD中的attach文件使用(開啟對應(yīng)配置的CI檢查)RT-Thread問答社區(qū) - RT-Thread

結(jié)語


感覺attachconfig還有很大的潛力,可以讓 menuconfig 保留最基礎(chǔ)的配置,而將更復(fù)雜的功能配置放到 attachconfig 中。這樣不僅能夠確保剛拉下來的 BSP 是一個最小系統(tǒng),同時也能保留 menuconfig 的靈活性,使得系統(tǒng)配置更加模塊化和易于擴(kuò)展。

輕度開發(fā)用attachconfig,深度開發(fā)用menuconfig從零配置

后續(xù)感覺可以出個圖形化界面,根據(jù)功能類別分個類,然后每個attach是通過打勾的形式去開啟

由于這個功能剛剛推出,大部分 BSP 中的 attachconfig 還不是開箱即用的,甚至有的 BSP 還沒有 attachconfig 。因此,仍然需要大家共同努力,進(jìn)一步完善和優(yōu)化它,以確保其在各個項目中的兼容性和可用性。

該功能僅支持ENV下的RT-Thread

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

版權(quán)聲明:本文為RT-Thread論壇用戶「alight」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5389

    瀏覽量

    100896
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1348

    瀏覽量

    41368
  • scons
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    997
收藏 人收藏

    評論

    相關(guān)推薦

    RT-Thread學(xué)習(xí)筆記】使用scons命令生成靜態(tài)庫

    RT-Thread學(xué)習(xí)筆記】如何使用scons 命令中buildlib的生成靜態(tài)庫?
    的頭像 發(fā)表于 07-27 09:13 ?6628次閱讀
    【<b class='flag-5'>RT-Thread</b>學(xué)習(xí)筆記】使用<b class='flag-5'>scons</b>命令生成靜態(tài)庫

    基于RT-Thread的RoboMaster電控框架設(shè)計

    由于 RT-Thread 穩(wěn)定高效的內(nèi)核,豐富的文檔教程,積極活躍的社區(qū)氛圍,以及設(shè)備驅(qū)動框架、Kconfig、Scons、日志系統(tǒng)、海量的軟件包……很難不選擇 RT-Thread 進(jìn)行項目開發(fā)。
    發(fā)表于 09-06 15:21 ?882次閱讀

    使用RT-Threadscons構(gòu)建系統(tǒng)來編譯ESP32C3固件?

    我正在嘗試使用 RT-Threadscons 構(gòu)建系統(tǒng)來編譯 ESP32C3 固件。目前 ESP32C3 的 bsp 已經(jīng)被社區(qū)小伙伴們 PR 到 RT-Thread 主倉庫了([[url
    發(fā)表于 06-07 06:18

    如何在RT-Thread中用好SCons工具

    各類復(fù)雜的處理,而不局限于 Makefile 設(shè)定的規(guī)則。在 SCons 的網(wǎng)站上可以找到詳細(xì)的 SCons 用戶手冊,本章節(jié)講述 SCons 的基本用法,以及如何在RT-Thread
    發(fā)表于 04-11 11:01

    RT-Thread系統(tǒng)中的Scons構(gòu)建工具資料推薦

    CMake 和 SCons 等。1.2 RT-Thread 構(gòu)建工具RT-Thread 早期使用 Make/Makefile 構(gòu)建。從 RT-Thread 0.3.0 開始,
    發(fā)表于 05-07 15:35

    介紹一個RT-Thread進(jìn)行持續(xù)集成的容器化Linux環(huán)境

    RT-Thread Linux CI Environment一個用于嵌入式實時操作系統(tǒng) RT-Thread 進(jìn)行持續(xù)集成的容器化環(huán)境。使用步驟:拉取并啟動鏡像 maikebing
    發(fā)表于 07-28 10:51

    RT-Thread Linux CI 環(huán)境使用教程

    RT-Thread Linux CI 環(huán)境一個嵌入式實時操作系統(tǒng) RT-Thread 進(jìn)行持續(xù)集成的容器化環(huán)境。使用教程:Docker本地步驟拉取并啟動鏡像 maikebing
    發(fā)表于 08-17 15:00

    RT-Thread SCons編譯不穩(wěn)定問題debug總結(jié)

    摘要在使用RT-Thread的過程中,發(fā)現(xiàn)RT-Thread SCons存在編譯不穩(wěn)定的問題。在源文件相同的情況下連續(xù)編譯,相鄰兩次生成的map文件和bin文件差異巨大、運行效果不同,不利于版本
    發(fā)表于 09-19 16:44

    如何在自己軟件包上添加CI集成工具

    的軟件包背景在我們PR的時候,經(jīng)常會遇到CI不通過的情況,其實是RT-THREAD倉庫里面的action文件起作用受這個啟發(fā),我們把它整合到我們自己的軟件包倉庫下面。歡迎star步驟第一步 下載軟件包
    發(fā)表于 09-21 15:55

    如何在RT-Thread中用好SCons工具

    SCons的網(wǎng)站上可以找到詳細(xì)的SCons用戶手冊,本章節(jié)講述SCons的基本用法,以及如何在RT-Thread中用好SCons工具。什么是
    發(fā)表于 11-08 14:38

    RT-Thread BSP qemu-virt64-aarch64的編譯環(huán)境搭建步驟

      scons 結(jié)構(gòu)  進(jìn)入rt-thread/bsp/qemu-virt64-aarch64,直接scons可能會提示scons找不到,如果找不到,就安裝一下
    發(fā)表于 04-04 17:04

    RT-Thread Smart已正式上線

    rt-smart內(nèi)核即可包含基本功能,同時也可定制裁剪。rt-smart用戶態(tài)應(yīng)用環(huán)境采用musl libc提供POSIX接口調(diào)用及C運行環(huán)境,延續(xù) RT-Thread 原有的生態(tài),使用sco
    的頭像 發(fā)表于 11-29 10:31 ?2978次閱讀

    RT-Thread 4.1.0的CMake構(gòu)建教程

    CMake 支持 在 RT-Thread 4.1.0 正式發(fā)布版中,添加了對 CMake 的支持。開發(fā)者可以使用 SCons 工具來生成 CMakeLists.txt 文件。 為何要支持 CMake
    的頭像 發(fā)表于 05-25 11:06 ?3649次閱讀

    RT-Thread全球技術(shù)大會:關(guān)于SCons構(gòu)建引擎的主要部分介紹

    RT-Thread全球技術(shù)大會:關(guān)于SCons構(gòu)建引擎的主要部分介紹 ? ? ? ? 審核編輯:彭靜 ?
    的頭像 發(fā)表于 05-27 14:55 ?1193次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術(shù)大會:關(guān)于<b class='flag-5'>SCons</b>構(gòu)建引擎的主要部分介紹

    基于RT-Thread的RoboMaster電控框架(二)

    由于 RT-Thread 穩(wěn)定高效的內(nèi)核,豐富的文檔教程,積極活躍的社區(qū)氛圍,以及設(shè)備驅(qū)動框架、Kconfig、Scons、日志系統(tǒng)、海量的軟件包
    的頭像 發(fā)表于 09-20 15:16 ?975次閱讀