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