如何向RT-Thread 倉庫提交代碼
摘要:以最近官方的一個制作STM32 BSP 為例子,講解如何向RT-Thread 倉庫提交代碼。
并且只有一次提交commit.
編程風格
RT-Thread 代碼編程風格請參考 rt_thread 項目 documentation 目錄下的 coding_style_cn.txt文件。
準備工作
安裝 git
安裝 TortoiseGit/ Sourcetree 工具,這兩個個工具是 git 的一種圖形化界面
注意安裝 git 的時候記得勾選將 git 所在目錄添加到系統(tǒng)環(huán)境變量
必須是fork最新的代碼。
1.fork 到自己的倉庫。
圖1:
2.克隆(clone)
將 rt-thread 倉庫 clone 到自己的本地 PC。
圖3:
在本地找個文件夾,
先使用git init 命令 初始化一個倉庫。
再使用 clone 命令。
git clone https://github.com/XiaojieFan/rt-thread.git
圖4:
這就是克隆后的最終結果。
圖5:
3. 創(chuàng)建本地分支
我們在這里創(chuàng)建一個stm32f103-hw100k-ibox分支為例。目標是保證提交的干凈整潔。
這樣做的好處是,master 可以跟蹤rt-thread 庫獲取最新的代碼,然后自己可以在stm32f103-hw100k-ibox分支進行開發(fā),兩者相互不影響,開發(fā)完,進行合并就可以。
這是之前的理解,有點問題,你的分支是不需要合并的,其實master 必須保證是最新的代碼,然后每次開發(fā)在master上建立分支,所以就不需要合并自己的分支。然后就能保證最小的提交數(shù)量,保證提交的整潔。或者你修改好了,copy 出來,然后分支回退,也能保證提交干凈。
圖6:
4.開發(fā)
在之前已經(jīng)做好的stm32f103-hw100k-ibox bsp 基礎上修改LED引腳。
圖7:
編譯通過。
圖8:
實際板子驗證一下,能正常運行。
圖9:
5. 提交(commit)
向本地倉庫提交 bug. 不推送到遠程倉庫。
提交的話,需要先把多余的文件清理干凈。具體可參考其他bsp,進行最終提交代碼的整理。
圖10:
圖11:
RT-Thread STM32 系列 BSP 制作與提交時應當遵守的規(guī)范 。開發(fā)人員在 BSP 制作完成后,可以根據(jù)本規(guī)范提出的檢查點對制作的 BSP 進行檢查,確保 BSP 在提交前有較高的質(zhì)量 。
1. BSP 制作規(guī)范
STM32 BSP 的制作規(guī)范主要分為 3 個方面:工程配置,ENV 配置和 IDE 配置。在已有的 STM32 系列 BSP 的模板中,已經(jīng)根據(jù)下列規(guī)范對模板進行配置。在制作新 BSP 的過程中,拷貝模板進行修改時,需要注意的是不要修改這些默認的配置。BSP 制作完成后,需要對新制作的 BSP 進行功能測試,功能正常后再進行代碼提交。
下面將詳細介紹 BSP 的制作規(guī)范。
工程配置
遵從RT-Thread 編碼規(guī)范,代碼注釋風格統(tǒng)一
main 函數(shù)功能保持一致
如果有 LED 的話,main 函數(shù)里只放一個 LED 1HZ 閃爍的程序
LED_PIN 定義在 board.h,初始化在 board.c 完成
在 rt_hw_board_init 中需要完成堆的初始化:調(diào)用 rt_system_heap_init
默認只初始化 GPIO 驅動和 FinSH 對應的串口驅動,不使用 DMA
當使能板載外設驅動時,應做到不需要修改代碼就能編譯下載使用
提交前應檢查 gcc/mdk/iar 三種編譯器直接編譯或者重新生成后編譯是否成功
使用 dist 功能對 BSP 進行發(fā)布,檢查使用 dist 命令生成的工程是否可以正常使用
Gcc 如何檢查呢?說是改python 腳本。不然沒法改參數(shù)。
直接在env中使用scons 命令就可以。會生成rtthread.bin 文件。
圖12:
ENV 配置規(guī)范
IDE 配置規(guī)范:
BSP 提交規(guī)范:
6. 保持本地倉庫最新保持本地倉庫最新。因為第一步已經(jīng)保證了。所以這里是保證后續(xù)如何與RTT倉庫保持同步更新。 這里只列出一種方法:https://blog.csdn.net/qq1332479771/article/details/56087333
在準備發(fā)起 Pull Request 之前,需要同步原倉庫最新的代碼,記得檢查目前的項目是否是最新的版本。
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
然后將自己的分支合并到主分支上,以讓自己的分支也是最新的代碼。其實還有方法可以直接更新分支的代碼和遠程RTT 保持一致。然后直接提交分支就可以。不需要合并。
(23)
7. Push 到自己的遠程倉庫
(24)
(25)
8.發(fā)起并完成 Pull Request在 git 倉庫中選擇自己修改了的分支,點擊 create pull request 按鈕發(fā)起 pull request。注意順序。
(26)
(27)
第一次提交有個CLA協(xié)議的簽署。
(28)
(29)
(30)
簽完以后,就可以看見自己的提交請求。等待審核。
(31)
最后官方人員審核完成后的結果如下會被合并到庫里面:
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。
斷路器相關文章:斷路器原理
高壓真空斷路器相關文章:高壓真空斷路器原理 漏電斷路器相關文章:漏電斷路器原理