From 87a6f4ad2cf98e1a5b045a5b2f001a5dde2eaea8 Mon Sep 17 00:00:00 2001 From: yangjie11 <39754270+yangjie11@users.noreply.github.com> Date: Thu, 20 Jan 2022 16:20:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0bsp=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E8=87=AA=E6=9F=A5=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rt-thread-standard/_sidebar.md | 1 + .../bsp-selfcheck/bsp_selfcheck.md | 118 ++++++++++++++++++ .../bsp-selfcheck/figures/checkok.png | Bin 0 -> 18549 bytes .../bsp-selfcheck/figures/cla.png | Bin 0 -> 16765 bytes .../bsp-selfcheck/figures/iar-proj.png | Bin 0 -> 3421 bytes .../bsp-selfcheck/figures/mdk-proj.png | Bin 0 -> 3719 bytes 6 files changed, 119 insertions(+) create mode 100644 rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/bsp_selfcheck.md create mode 100644 rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/checkok.png create mode 100644 rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/cla.png create mode 100644 rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/iar-proj.png create mode 100644 rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/mdk-proj.png diff --git a/rt-thread-version/rt-thread-standard/_sidebar.md b/rt-thread-version/rt-thread-standard/_sidebar.md index dceb003..188beae 100644 --- a/rt-thread-version/rt-thread-standard/_sidebar.md +++ b/rt-thread-version/rt-thread-standard/_sidebar.md @@ -182,5 +182,6 @@ - [传感器驱动开发指南](/rt-thread-version/rt-thread-standard/development-guide/sensor/sensor_driver_development.md) - [软件包开发指南](/rt-thread-version/rt-thread-standard/development-guide/package/package.md) - [向RT-Thread贡献代码](/rt-thread-version/rt-thread-standard/development-guide/github/github.md) + - [BSP提交自查](/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/bsp-selfcheck.md) - [RT-Thread 标准版的版本选择](/rt-thread-version/rt-thread-standard/application-note/setup/rt-thread-version/an0030-rtthread-version.md) - [API参考手册](https://www.rt-thread.org/document/api/) diff --git a/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/bsp_selfcheck.md b/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/bsp_selfcheck.md new file mode 100644 index 0000000..efd1140 --- /dev/null +++ b/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/bsp_selfcheck.md @@ -0,0 +1,118 @@ +# BSP 提交自查 + +注意:以下所有要求不针对厂商提供的库文件驱动等等,为防止库文件 ci 不通过,需要在 [.ignore_format.yml](https://gitee.com/rtthread/rt-thread/blob/gitee_master/.ignore_format.yml) 加入库文件路径,将忽略检查库文件格式。 + +## 代码规范部分 + +首先了解代码规范,可以查看 rt-thread 源码中的文档:[《RT-Thread 代码规范》](https://gitee.com/rtthread/rt-thread/blob/gitee_master/documentation/coding_style_cn.md) + +举例代码格式要求: + +- 不允许中文注释 +- 4 个空格缩进 +- 大括号换行 + +了解上述链接中的代码规范之后,根据链接中的文档要求编写代码,代码格式可以使用 [astyle 格式化](# 格式化代码)。 + +## readme 检查 + +是否清晰可读 + +1. 开发板的照片 +2. 芯片资源的介绍中是否包含 FLASH,RAM(需要在 heap 配置时候检查大小,链接脚本是否配置正确) +3. 添加开发板资源的链接 +4. 硬件连接是否清晰 +5. 文档中英文之间添加空格,可以使用 vscode-pangu 插件一键格式化文档 +6. 检查联系人信息,添加维护人自己的名字和 github 链接 + +## 命名检查 + +函数、变量名: +- 小写命名 +- 不包含芯片厂商名,具体如下: + +bsp 函数命名规范: + +- 驱动 ops 命名规则:`_外设名_操作 `,以 uart 举例: + - static _uart_read/write() +- 驱动注册接口命名规则:`rt_hw_外设_init()`,以 uart 举例: + - int rt_hw_uart_init(void) + +## 代码 + +1. 应用代码不包含设备驱动头文件,如 main 中不出现 #include "drv_gpio.h" ,驱动头文件可以包含在 board.h 中。 +2. GCC 代码 rtt 启动部分是否修改(entry) +3. HEAP 大小配置是否正确 +4. 检查链接脚本 ram rom 大小是否正确 +5. 中断需要 rt_interrupt_enter(); 与 rt_interrupt_leave(); +6. 驱动合并重复代码 +7. 驱动函数名小写 +8. 不允许提交空文件 + +代码精简: + +1. 是否存在无用的文件 +2. 是否存在注释的代码, 如: `if 0` +3. 没有多于一行的连续换行 + +## 注释 + +注释格式如下,注释应该为英文注释,只允许放在 函数 / 语句 上方或右方 + +``` +/* xxx */ +``` + +## license + +- 所有文件都要有 license 文件头 +- 不能有 GPL 等与 apache 版权冲突的版权 +- 非 apache 的兼容 license,需要更新 bsp 目录下的 license 声明:[Copyright_Notice.md](https://gitee.com/rtthread/rt-thread/blob/gitee_master/bsp/Copyright_Notice.md)。bsp 按照字母顺序排列。 + +## 工程文件检查 + +- 若支持MDK5,应上传: + +![image-20220120161549734](figures/mdk-proj.png) +- 若支持IAR,应上传: + +![image-20220120161611132](figures/iar-proj.png) + +## 格式化代码 + +当所有的代码都写完之后,检查代码格式就比较麻烦了,此时可以使用 astyle 工具格式化代码。 + +astyle 格式化参数: + +``` +!E --style=allman --indent=spaces=4 --indent-preproc-block --pad-oper --pad-header --unpad-paren --suffix=none --align-pointer=name --convert-tabs --verbose +``` + +如何使用 astyle 格式化代码:[《astyle 格式化代码方法》](https://blog.csdn.net/yang1111111112/article/details/104793319) + +## 测试验证 + +提交的 bsp 需要通过测试,并支持最基本的功能:uart 控制台,pin 设备。 + +最基本功能的效果: + +- 可以运行 finsh 控制台,可以输入命令; +- 可以点灯。 + +## 添加 bsp 到 CI + +- bsp 添加到 ci + +打开源码根目录下 [.github/workflows/action.yml](https://gitee.com/rtthread/rt-thread/blob/gitee_master/.github/workflows/action.yml) 文件,添加 bsp 到 ci + +## PR 后的检查项 + +- 提交 PR 之后,检查 CLA 是否签署(一个账户只需要在第一次提交时候签署)。注意不要使用非 GitHub 账号提交 commmit,或者使用不同的账号提交 commit 后提 Pull Request,这会导致 CLA 签署失败。 + +![image](figures/cla.png) + +再检查 ci 是否正常运行(ci 检查需要一段时间),有无报错信息,全部通过后显示如下: + +![image](figures/checkok.png) + +- 接下来等待 review 结果,有反馈需要修改的话,进行修改直到合并。 \ No newline at end of file diff --git a/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/checkok.png b/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/checkok.png new file mode 100644 index 0000000000000000000000000000000000000000..9be4ef0a5e6f0dcad48aa201e51768fcf292d1c4 GIT binary patch literal 18549 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 JtaD0e0s!?Y)4Kow literal 0 HcmV?d00001 diff --git a/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/cla.png b/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/cla.png new file mode 100644 index 0000000000000000000000000000000000000000..7e3f7021e21aa728a9ca95a92bf7187ac3e5582a GIT binary patch literal 16765 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 PfIhrek}8!j{Pw>9u}iJ) literal 0 HcmV?d00001 diff --git a/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/iar-proj.png b/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/iar-proj.png new file mode 100644 index 0000000000000000000000000000000000000000..f5883bac7fdb67522e05cbaaa1ac9de776623e95 GIT binary patch literal 3421 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 SRqd0r2{6((LsjazME?tGbb`eI literal 0 HcmV?d00001 diff --git a/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/mdk-proj.png b/rt-thread-version/rt-thread-standard/development-guide/bsp-selfcheck/figures/mdk-proj.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9377e82f36901ec1c49761c765b17bec3cc720 GIT binary patch literal 3719 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 B{EYwr literal 0 HcmV?d00001 -- Gitee