久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

博客專欄

EEPW首頁 > 博客 > 如何向RT-Thread 倉庫提交代碼

如何向RT-Thread 倉庫提交代碼

發布人:電子禪石 時間:2019-01-15 來源:工程師 發布文章

摘要:以最近官方的一個制作STM32 BSP 為例子,講解如何向RT-Thread 倉庫提交代碼。

并且只有一次提交commit.

編程風格

RT-Thread 代碼編程風格請參考 rt_thread 項目 documentation 目錄下的 coding_style_cn.txt文件。

準備工作

  • 安裝 git

  • 安裝 TortoiseGit/ Sourcetree 工具,這兩個個工具是 git 的一種圖形化界面

  • 注意安裝 git 的時候記得勾選將 git 所在目錄添加到系統環境變量

  • 必須是fork最新的代碼。

1.fork 到自己的倉庫。1.png

圖1:

2.png

2.克隆(clone)

將 rt-thread 倉庫 clone 到自己的本地 PC。

3.png

圖3:

在本地找個文件夾,

先使用git init 命令 初始化一個倉庫。

再使用 clone 命令。

git clone https://github.com/XiaojieFan/rt-thread.git

4.png

圖4:

這就是克隆后的最終結果。

5.png

圖5:

3. 創建本地分支

我們在這里創建一個stm32f103-hw100k-ibox分支為例。目標是保證提交的干凈整潔。

這樣做的好處是,master 可以跟蹤rt-thread 庫獲取最新的代碼,然后自己可以在stm32f103-hw100k-ibox分支進行開發,兩者相互不影響,開發完,進行合并就可以。

這是之前的理解,有點問題,你的分支是不需要合并的,其實master 必須保證是最新的代碼,然后每次開發在master上建立分支,所以就不需要合并自己的分支。然后就能保證最小的提交數量,保證提交的整潔。或者你修改好了,copy 出來,然后分支回退,也能保證提交干凈。

6.png

圖6:

4.開發

在之前已經做好的stm32f103-hw100k-ibox bsp 基礎上修改LED引腳。

7.png

圖7:

編譯通過。

8.png

圖8:

實際板子驗證一下,能正常運行。

9.png

圖9:

5. 提交(commit)

向本地倉庫提交 bug.   不推送到遠程倉庫。

提交的話,需要先把多余的文件清理干凈。具體可參考其他bsp,進行最終提交代碼的整理。

10.png

圖10:

11.png

圖11:

RT-Thread STM32 系列 BSP 制作與提交時應當遵守的規范 。開發人員在 BSP 制作完成后,可以根據本規范提出的檢查點對制作的 BSP 進行檢查,確保 BSP 在提交前有較高的質量

1. BSP 制作規范

STM32 BSP 的制作規范主要分為 3 個方面:工程配置,ENV 配置和 IDE 配置。在已有的 STM32 系列 BSP 的模板中,已經根據下列規范對模板進行配置。在制作新 BSP 的過程中,拷貝模板進行修改時,需要注意的是不要修改這些默認的配置。BSP 制作完成后,需要對新制作的 BSP 進行功能測試,功能正常后再進行代碼提交。

下面將詳細介紹 BSP 的制作規范。

工程配置

  • 遵從RT-Thread 編碼規范,代碼注釋風格統一

  • main      函數功能保持一致

    • 如果有 LED 的話,main 函數里只放一個 LED 1HZ 閃爍的程序

    • LED_PIN       定義在 board.h,初始化在 board.c 完成

  • rt_hw_board_init 中需要完成堆的初始化:調用 rt_system_heap_init

  • 默認只初始化 GPIO 驅動和 FinSH 對應的串口驅動,不使用 DMA

  • 當使能板載外設驅動時,應做到不需要修改代碼就能編譯下載使用

  • 提交前應檢查      gcc/mdk/iar 三種編譯器直接編譯或者重新生成后編譯是否成功

  • 使用 dist 功能對 BSP 進行發布,檢查使用 dist 命令生成的工程是否可以正常使用

Gcc 如何檢查呢?說是改python 腳本。不然沒法改參數。

直接在env中使用scons 命令就可以。會生成rtthread.bin 文件。


 12.png

 

圖12: 

ENV 配置規范

IDE 配置規范:

BSP 提交規范:

以上規范詳見:https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97BSP%E5%88%B6%E4%BD%9C%E6%95%99%E7%A8%8B.md

6. 保持本地倉庫最新

保持本地倉庫最新。因為第一步已經保證了。所以這里是保證后續如何與RTT倉庫保持同步更新。 這里只列出一種方法:https://blog.csdn.net/qq1332479771/article/details/56087333

在準備發起 Pull Request 之前,需要同步原倉庫最新的代碼,記得檢查目前的項目是否是最新的版本。

13.png

(13)

14.png

(14)

15.png

(15)


16.png

(16)

16-1.png

(17)

點獲取最新代碼,

18.png

(18)

19.png


(19)

然后拉取到本地。

20.png

(20)

21.png

(21)

22.png

(22)

然后將自己的分支合并到主分支上,以讓自己的分支也是最新的代碼。其實還有方法可以直接更新分支的代碼和遠程RTT 保持一致。然后直接提交分支就可以。不需要合并。

23.png

(23)

7. Push 到自己的遠程倉庫

push 到開發者自己的遠程倉庫中。

24.png

(24)

25.png

(25)

8.發起并完成 Pull Request

在 git 倉庫中選擇自己修改了的分支,點擊 create pull request 按鈕發起 pull request。注意順序。

26.png

(26)

27.png

(27)

第一次提交有個CLA協議的簽署。

28.png

(28)

29.png

(29)

30.png

(30)

簽完以后,就可以看見自己的提交請求。等待審核。

31.png

(31)

最后官方人員審核完成后的結果如下會被合并到庫里面:

32.png

33.png

*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

斷路器相關文章:斷路器原理


高壓真空斷路器相關文章:高壓真空斷路器原理
漏電斷路器相關文章:漏電斷路器原理


關鍵詞:

相關推薦

技術專區

關閉