STM32Cube 扩展包开发 checklist

STMCube 包括:
- STM32CubeMX,一个图形化配置工具软件,可以生成c语言的配置代码。
- 一个详尽的STM32Cube MCU开发包,为每个STM32系列提供:

-- STM32Cube HAL,涵盖所有外设。
-- Low-layer APIs,提供一个轻量快速的面向专家的接口层,LL只包含部分外设。
-- 一系列中间件,例如RTOS,USB,TCP/IP和图形界面等。
-- 一系列应用和示例。

简介

STM32Cube MCU Package 运行在 cortex-M 处理器上。

质量规范

  1. 确保所有工具兼容,不能有error和warnings。
  2. 开发要符合 MISRA C 编码标准,并且要进行静态代码分析。

封装规范

  1. 本地的STM32Cube MCU 组件包不能修改。release note 不能删除,不用的文件也不能删除,源代码也不能被修改。
  2. release notes应该包含以下的内容:
    -- 主要变更点
    -- 变更的内容,包括新开发的组件和被引用的组件。
    -- 工具链,编译器
    -- 支持的设备或者开发板
    -- 局限性说明
  3. 每一个组件都应该有release note
  4. 文件或者相关的软件都要版本管理,并且在文件头或者release note中添加修改日期。
  5. 要求license 说明。
  6. 新的BSP驱动应该添加在 \Drivers\下。如果要添加新的组件,应该添加在\drivers\BSP\Components下。
  7. 新的中间件应该添加在 \Middlewares\Third_Party目录下。
  8. 用户示例应该添加到\Projects\下 ,并且遵循以下归类:
    -- examples: 只使用HAL和BSP的例子。
    -- Applications:使用中间件的例子。
    -- Demonstration:全部使用的例子。
  9. example目录组织如下:
    -- \Inc for header files
    -- \Src for source files
    -- \ toolchain preconfigured project, all temporary files haveto be deleted
    -- ApplicationN_Name.ioc: STM32CubeMX
    project file
    -- .extSettings: STM32CubeMX project
    additional settings file (optional, if needed)
    -- \Binary containing binary file, using thisnaming format "USER_BOARD_REF_ApplicationN_Nam
    e_VX.Y.Z.bin"
  10. 使用TMC32CubeMX生成的例子
  11. .ioc .mxproject 和.extSettings文件必须和readme.txt文件在同一级目录,都在示例工程的根目录下。
  12. ioc 文件遵循 ApplicationN_Name.ioc格式的命名格式。
  13. 媒体文件应该放在 \Utilities\Media目录下。
  14. readme文件包含了每一个资源的copyright、license,务必要添加。
  15. 所有的上位机PC软件必须放在 \uTILITIES\pc+Software 下。
  16. 要为每一个示例添加预配置的EWARM,MDK-ARM,SW4STM32工程文件
  17. 顶层目录命名应该符合规范:STM32CubeExpansion____VX.Y.Z
  18. 发布的bin或者lib必须遵循:
    -- 包含对应的头文件
    -- release note
    -- lib如果跟编译器相关,要遵循命名规则:LibraryNameV_CMx_C_O.a

中间件规范

  1. RTOS工程必须包含 CMSIS-RTOS API
  2. 一个新的中间件应该和硬件或者平台无关,并且有相应的接口层支持。
  3. 中间件要有中间件接口文件,可供用户定制或者更新。

文档规范

  1. 新增的组件都要有相应的API文档
  2. 每一个示例都应该有详尽的注释,功能描述和硬件设置说明。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注