"); //-->
摘要:以最近官方的一个制作STM32 BSP 为例子,讲解如何向RT-Thread 仓库提交代码。
并且只有一次提交commit.
编程风格
RT-Thread 代码编程风格请参考 rt_thread 项目 documentation 目录下的 coding_style_cn.txt文件。
准备工作
安装 git
安装 TortoiseGit/ Sourcetree 工具,这两个个工具是 git 的一种图形化界面
注意安装 git 的时候记得勾选将 git 所在目录添加到系统环境变量
必须是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. 创建本地分支
我们在这里创建一个stm32f103-hw100k-ibox分支为例。目标是保证提交的干净整洁。
这样做的好处是,master 可以跟踪rt-thread 库获取最新的代码,然后自己可以在stm32f103-hw100k-ibox分支进行开发,两者相互不影响,开发完,进行合并就可以。
这是之前的理解,有点问题,你的分支是不需要合并的,其实master 必须保证是最新的代码,然后每次开发在master上建立分支,所以就不需要合并自己的分支。然后就能保证最小的提交数量,保证提交的整洁。或者你修改好了,copy 出来,然后分支回退,也能保证提交干净。

图6:
4.开发
在之前已经做好的stm32f103-hw100k-ibox bsp 基础上修改LED引脚。

图7:
编译通过。

图8:
实际板子验证一下,能正常运行。

图9:
5. 提交(commit)
向本地仓库提交 bug. 不推送到远程仓库。
提交的话,需要先把多余的文件清理干净。具体可参考其他bsp,进行最终提交代码的整理。

图10:

图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:
ENV 配置规范
IDE 配置规范:
BSP 提交规范:
6. 保持本地仓库最新保持本地仓库最新。因为第一步已经保证了。所以这里是保证后续如何与RTT仓库保持同步更新。 这里只列出一种方法:https://blog.csdn.net/qq1332479771/article/details/56087333
在准备发起 Pull Request 之前,需要同步原仓库最新的代码,记得检查目前的项目是否是最新的版本。

(13)

(14)

(15)

(16)

(17)
(18)

(19)
(20)

(21)

(22)
然后将自己的分支合并到主分支上,以让自己的分支也是最新的代码。其实还有方法可以直接更新分支的代码和远程RTT 保持一致。然后直接提交分支就可以。不需要合并。

(23)
7. Push 到自己的远程仓库
(24)

(25)
8.发起并完成 Pull Request在 git 仓库中选择自己修改了的分支,点击 create pull request 按钮发起 pull request。注意顺序。

(26)

(27)
第一次提交有个CLA协议的签署。

(28)

(29)

(30)
签完以后,就可以看见自己的提交请求。等待审核。

(31)
最后官方人员审核完成后的结果如下会被合并到库里面:


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
万年历的汇编代码未考虑闰年.rar
支持EMBEST IDE 的ARM JATG 原理图.rar
IonQ 宣布两量子比特门保真度达 99.99%,创量子计算新纪录
买ARM仿真器=赚钱?
Microchip推出高度集成的单芯片无线平台,专为先进互联、触摸及电机控制而设计
用89C2051制作音乐播放电路012901.rar
台积电据称 2016–2023 年间光刻相关专利数量翻倍,领先优势进一步扩大
DDR4、DDR5 现货交易激增:买家加速对冲价格风险,主流 DDR4 涨幅近一成
贸泽电子新品推荐:2025年第三季度新增超过16000个新物料
村田顽童爬坡
关于定时器的问题
为什么shell的速度很慢?
再问个问题,有关用mpc来控制FPGA
2025(第五届)国际汽车数字化与智能制造大会在渝盛大开幕
6v,2w的报警闪光灯电路
村田顽童的堂妹“村田少女”问世 1
40路医用无线呼叫系统电路
日月光收购 ADI 槟城封测厂,布局东南亚核心制造版图——预计 2026 年上半年完成交割
具有可靠指示的报警灯电路
5功能遥控器PT8A977/978的应用电路
一头雾水
村田顽童——三年级学生篇
用单片机实现的音乐播放器图和程序070302.rar
报警闪光灯电路
TCL CSOT 启动全球首条 G8.6 印刷 OLED 产线,正式迈向量产阶段
村田顽童的堂妹“村田少女”问世 2
万年历全部资料--Proteus仿真电路图加程序.rar
Crucial英睿达推出迄今功能最强大的游戏内存:DDR5 Pro OC 6400 CL32
瑞萨电子超高算力RA8系列新增两款MCU产品,搭载1GHz双核7300 CoreMark跑分及嵌入式MRAM技术
村田顽童的堂妹“村田少女”问世 3