衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RTT黑科技: 添加手動打包和編譯特定bsp功能

RTThread物聯網操作系統 ? 來源:未知 ? 2023-06-12 19:40 ? 次閱讀

如何手動打包RTT 上的bsp

PART01

簡介

有很多小伙伴喜歡用scons --dist功能下載包,但是又有時候不想下載RT-THREAD的所有的包,這個時候,可以考慮看下這篇文章,說不定對你有幫助。這邊我提供了一種手動來trigger 生成特定bsp的project文件。

PART02

如何使用

打開倉庫:https://github.com/RT-Thread/rt-thread比如想生成qemu-vexpress-a9的單獨的project,可以參考下面圖的操作:824f7104-0915-11ee-962d-dac502259ad0.jpg這個時候,你可以選擇自己熟悉的bsp,只需要告訴action你需要編譯的bsp路徑就可以了,然后選擇一下tool_chain, 自己應該知道平時用的是哪個toolchain。
  • 注意事項:你需要有這個倉庫的權限才行,所以如果小伙伴發現沒有這個按鈕,你可以把倉庫fork下來,在自己fork之后的倉庫來操作
最后如果需要,可以選擇一個配置進行選擇配置,比如CONFIG_BSP_USING_I2C ,最后執行Run worflow 綠色的小按鈕。之后就可以讓action幫你生成了。

PART03

生成之后的文件在哪里

點完之后,會稍微需要等一會,因為action在跑運行。826f242c-0915-11ee-962d-dac502259ad0.png稍微等個5分鐘以內吧。然后就可以獲得工程文件,參考下圖:8296c824-0915-11ee-962d-dac502259ad0.jpg這個時候,你就可以把這個下載下來。當然這個action也會幫你檢查bsp的scons編譯情況(可以加特定config 配置情況),你不需要每次都把最新的代碼下載下來。

PART04

最后文件

最后zip包里面有兩個文件,project.zipqemu-vexpress-a9 這兩個文件,project.zip 就是我們平時用的scons --dist 生成出來的。另外一個文件就是原來master分支上bsp經過scons編譯之后,里面包含可執行文件,如果qemu-vexpress-a9,你可以在scons直接執行,里面已經有rtthread.elf 文件。

PART05

原理講解

如何實現上述功能呢?這里很多是關于github action的內容,方便后續維護。這個功能添加的PR 鏈接:https://github.com/RT-Thread/rt-thread/pull/7648 輸入功能github action 有一個input輸入功能,可以用來手動trigger

				1#Controlswhentheactionwillrun.Triggers'scons--dist'tobuildthedist  2on:  3workflow_dispatch:  4#https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs  5inputs:  6bsp_options:  7description:'WhichbsppathWouldyouwantdistinbsp?likestm32/stm32l496-st-nucleo'  8required:false  9type:string 10default:'qemu-vexpress-a9' 11bsp_tool_chain: 12description:'Choicetool_chain' 13required:false 14default:'sourcery-arm' 15type:choice 16options: 17-"sourcery-arm" 18-"llvm-arm" 19-"sourcery-aarch64" 20-"sourcery-mips" 21-"sourcery-riscv-none-embed" 22-"sourcery-riscv64-unknown-elf" 23bsp_config: 24description:'Typeaconfigyouwantmannualtestin.config,likeCONFIG_BSP_USING_I2CCONFIG_BSP_USING_WDT' 25required:false 26type:string 27default:'CONFIG_BSP_USING_GPIO'
				這里可以具體內容參考github中的文檔:https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs大概看yaml也能大概看懂,就是輸入的一些參數改成變量bsp_options, bsp_tool_chain, bsp_config有了這3個變量,我們就可以編譯特定的bsp了。
				如何編譯執行如何編譯執行,這里參考了一下action.yml中的操作,將.config按照要求修改,然后執行pkgs --update 更新下軟件包,然后執行下scons, 把scons之后的bsp先拷貝出來,之后再執行scons --dist 最后將project.zip也拷貝出來,方便后面上傳。

				1-name:BspSconsCompile  2if:${{success()}}  3shell:bash  4env:  5RTT_BSP:${{github.event.inputs.bsp_options}}  6RTT_TOOL_CHAIN:${{github.event.inputs.bsp_tool_chain}}  7run:|  8source~/.env/env.sh  9echo$RTT_BSP 10lsbsp/$RTT_BSP/Kconfig&&scons-Cbsp/$RTT_BSP--pyconfig-silent 11sed-i"s/#${{github.event.inputs.bsp_config}}isnotset/${{github.event.inputs.bsp_config}}=y/g"bsp/$RTT_BSP/.config 12pushdbsp/$RTT_BSP&&pkgs--update&&popd 13scons-Cbsp/$RTT_BSP-j$(nproc) 14mkdir-p${{github.workspace}}/$RTT_BSP 15cp-rbsp/$RTT_BSP${{github.workspace}}/$RTT_BSP/ 16scons--dist-Cbsp/$RTT_BSP 17cpbsp/$RTT_BSP/dist/project.zip${{github.workspace}}/$RTT_BSP/ 18lsbsp/$RTT_BSP/dist 19pwd
				
				如何上傳中間文件那如何上傳中間文件的呢?這里就要用到github中的一個小功能了。只需要在action中添加下面的代碼。·name 是你要顯示的名字·path 是你要上傳的文件路徑

				1-uses:actions/upload-artifact@v3 2with: 3name:dist_file 4path:${{github.workspace}}/${{github.event.inputs.bsp_options}}/*
				

PART06

總結

這個方便生成dist之后的文件。大家如果覺得好用,可以在評論區留言。如果覺得有哪里還有可以改進的地方,也可也在評論區里面建議或者提PR,都可以~非常歡迎。這個功能剛開始做,所以肯定有很多地方可以完善的地方。后續我會繼續考慮完善它。大家可以試試幫我試試自己常用的bsp,看下是否ok。如果有問題歡迎反饋~。

原文:https://club.rt-thread.org/ask/article/419a30e57384a239.html

———————End———————

RT-Thread線下入門培訓

7月 -上海,南京

1.免費2.動手實驗+理論3.主辦方免費提供開發板4.自行攜帶電腦,及插線板用于筆記本電腦充電5.參與者需要有C語言單片機(ARM Cortex-M核)基礎,請提前安裝好RT-Thread Studio 開發環境

82b43260-0915-11ee-962d-dac502259ad0.png

立即掃碼報名

報名鏈接

https://jinshuju.net/f/UYxS2k

巡回城市:青島、北京、西安、成都、武漢、鄭州、杭州、深圳、上海、南京

你可以添加微信:rtthread2020 為好友,注明:公司+姓名,拉進RT-Thread官方微信交流群!

點擊閱讀原文,進入RT-Thread 官網


原文標題:RTT黑科技: 添加手動打包和編譯特定bsp功能

文章出處:【微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RT-Thread
    +關注

    關注

    31

    文章

    1305

    瀏覽量

    40386

原文標題:RTT黑科技: 添加手動打包和編譯特定bsp功能

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【RA-Eco-RA2L1-48PIN-V1.0開發板試用】——使用Jlink的RTT實現串口打印功能

    能干瞪眼了?????? 當然不行啊,剛好JLINK自帶的RTT就能彌補這個缺陷,它能進行串口printf打印的所有功能。 本期測評就讓我來給大家講解一下使用JLINK的RTT實現printf打印的
    發表于 01-23 11:33

    使用OpenVINO?條件編譯功能,壓縮Windows應用體積

    cmake -DENABLE_INTEL_GPU=OFF 便可以取消 GPU plugin 庫的編譯。除此以外 OpenVINO 還提供了條件編譯功能,用于針對特定模型進行運行庫壓縮
    的頭像 發表于 01-13 10:26 ?133次閱讀
    使用OpenVINO?條件<b class='flag-5'>編譯</b><b class='flag-5'>功能</b>,壓縮Windows應用體積

    Triton編譯器與GPU編程的結合應用

    Triton編譯器簡介 Triton編譯器是一種針對并行計算優化的編譯器,它能夠自動將高級語言代碼轉換為針對特定硬件優化的低級代碼。Triton編譯
    的頭像 發表于 12-25 09:13 ?324次閱讀

    Triton編譯功能介紹 Triton編譯器使用教程

    。以下是 Triton 編譯器的一些功能介紹和使用教程。 Triton 編譯功能介紹 多語言支持 :Triton 支持多種編程語言,使得開發者可以在同一個
    的頭像 發表于 12-24 17:23 ?642次閱讀

    【敏矽微ME32G070開發板免費體驗】使用JLINK的RTT功能實現類似串口printf打印功能

    是壞的,非常影響我的測評使用。 我這個串口是壞的,非常影響我的測評使用。 我這個串口是壞的,非常影響我的測評使用。 為了先代替串口打印功能,我就先使用Jlink自帶的RTT軟件來進行打印測試log輸出
    發表于 12-15 20:30

    快使用yml看護主線bsp,讓bsp維護更簡單!

    出現編譯不過的情況。通過添加BSP的YML文件,我們可以讓CI系統編譯更多配置,確保更全面的代碼編譯覆蓋率。引入yml有以下幾點優勢:可讀性
    的頭像 發表于 12-03 01:07 ?269次閱讀
    快使用yml看護主線<b class='flag-5'>bsp</b>,讓<b class='flag-5'>bsp</b>維護更簡單!

    KiCad 7中添加網絡類(一)

    “ ?網絡類用于將特定目的的網絡分組,以便快速查看、分配設計規則等操作,比如可以將12V、5V、3.3V、GND等網絡添加到Power網絡類,然后為Power網絡類定義獨立的線寬、間距規則
    的頭像 發表于 11-12 12:21 ?748次閱讀
    KiCad 7中<b class='flag-5'>添加</b>網絡類(一)

    【RA-Eco-RA2E1-48PIN-V1.0開發板試用】使用Jlink RTT完成printf打印功能

    很榮幸收到瑞薩的RA2E1超低功耗開發板,現在開始寫第一篇相關的試用報告,看到別人已經用RA2E1的串口實現了printf打印功能,我就不重復了,下面我就使用Jlink自帶的RTT來實現printf
    發表于 10-31 21:00

    rtt studio使用qspi dma就是進不了中斷,為什么?

    我用的是rtt studio, 當不用qspi dma的時候,stm32g474 qspi讀取w25q64 id正常,后續的讀寫都正常。 如果在dma_config.h添加已下幾個宏使用DMA1
    發表于 09-27 07:03

    rt-thread studio手動導入bsp失敗的原因?怎么處理?

    rt-thread studio 手動導入bsp 失敗。 版本: 2.2.8 構建ID: 202405200930 導入的bsp 是直接從rt-thread 代碼倉庫下載的
    發表于 09-13 06:45

    linux驅動程序的編譯方法有哪兩種

    Linux驅動程序的編譯方法主要可以歸納為兩種: 手動編譯 和 使用內核構建系統(Makefile)自動編譯 。 1. 手動
    的頭像 發表于 08-30 14:39 ?909次閱讀

    延時開關改手動開關怎么接線

    延時開關和手動開關是兩種不同類型的開關,它們的工作原理和接線方式也有所不同。在某些情況下,我們可能需要將延時開關改為手動開關,以滿足特定的使用需求。 一、延時開關和手動開關的區別 工作
    的頭像 發表于 08-19 15:49 ?859次閱讀

    FRDM-MCXN947的純Linux命令行環境搭建

    arm-none-eabi-gcc 從arm官網下載標準工具鏈(arm-none-eabi-gcc),并解壓縮。由于RTT可以直接在腳本里指定工具鏈的絕對路徑,我們也可以偷懶不配置環境變量。 直接修改板級目錄洗的編譯配置腳本,設置
    發表于 07-28 22:55

    【PHYTEC AM62x開發板試用】BSP編譯

    BSP編譯過程中遇到了很多問題,問題及處理方法匯總如下: 1、Ubuntu版本問題。開始安裝的是Ubuntu18.04,在執行下面的指令的時候發現有幾個功能安不上 通過網上查詢解決了部分問題,但是
    發表于 07-10 11:54

    cubeMX能直接導入開發板的BSP嗎?

    開發板用的是F7discovery,想用上邊的音頻DAC,能在cubeMX里設置對應的功能,生成工程時自動把cube庫driver下的BSP和Components里對應的文件也導入到工程嗎?還是得自己手動導入?
    發表于 05-10 06:49
    大发888在线官方| 百家乐官网打鱼秘籍| 游戏机百家乐庄闲| 百家乐官网经验之谈| 澳门百家乐玩法心得技巧| 罗江县| 赌博百家乐探讨| 百家乐官网澳门有网站吗| 百家乐技巧开户网址| 百家乐官网国际赌场娱乐网规则 | 澳门百家乐官网骗人| 德州扑克单机| 做生意房门挂啥招财| 育儿| 威尼斯人娱乐城赌场| 怎么玩百家乐官网的玩法技巧和规则| 太阳城娱乐城申博| 网上百家乐分析软件| 至尊百家乐官网奇热网| 大发888 dafa888 octbay| 折式百家乐赌台| 百家乐官网高手投注法| 新全讯网网址g2vvv| 不规则地形做生意风水好吗| 岗巴县| 娱乐百家乐下载| 互博百家乐官网的玩法技巧和规则| 紫阳县| 百家乐蔬菜配送公司| 百家乐官网网络游戏信誉怎么样| 象州县| 全讯网3532888| 百家乐什么平台好| 百家乐官网路单破解方法| 大发888游戏代充| 百家乐断缆赢钱| 百家乐官网大路小路| 1737棋牌游戏中心| 百家乐技论坛| 百家乐官网最新破| 镇赉县|