STMCube 包括:
- STM32CubeMX,一个图形化配置工具软件,可以生成c语言的配置代码。
- 一个详尽的STM32Cube MCU开发包,为每个STM32系列提供:
-- STM32Cube HAL,涵盖所有外设。
-- Low-layer APIs,提供一个轻量快速的面向专家的接口层,LL只包含部分外设。
-- 一系列中间件,例如RTOS,USB,TCP/IP和图形界面等。
-- 一系列应用和示例。
简介
STM32Cube MCU Package 运行在 cortex-M 处理器上。
质量规范
- 确保所有工具兼容,不能有error和warnings。
- 开发要符合 MISRA C 编码标准,并且要进行静态代码分析。
封装规范
- 本地的STM32Cube MCU 组件包不能修改。release note 不能删除,不用的文件也不能删除,源代码也不能被修改。
- release notes应该包含以下的内容:
-- 主要变更点
-- 变更的内容,包括新开发的组件和被引用的组件。
-- 工具链,编译器
-- 支持的设备或者开发板
-- 局限性说明 - 每一个组件都应该有release note
- 文件或者相关的软件都要版本管理,并且在文件头或者release note中添加修改日期。
- 要求license 说明。
- 新的BSP驱动应该添加在 \Drivers\
下。如果要添加新的组件,应该添加在\drivers\BSP\Components下。 - 新的中间件应该添加在 \Middlewares\Third_Party目录下。
- 用户示例应该添加到\Projects\
下 ,并且遵循以下归类:
-- examples: 只使用HAL和BSP的例子。
-- Applications:使用中间件的例子。
-- Demonstration:全部使用的例子。 - 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"
- 使用TMC32CubeMX生成的例子
- .ioc .mxproject 和.extSettings文件必须和readme.txt文件在同一级目录,都在示例工程的根目录下。
- ioc 文件遵循 ApplicationN_Name.ioc格式的命名格式。
- 媒体文件应该放在 \Utilities\Media目录下。
- readme文件包含了每一个资源的copyright、license,务必要添加。
- 所有的上位机PC软件必须放在 \uTILITIES\pc+Software 下。
- 要为每一个示例添加预配置的EWARM,MDK-ARM,SW4STM32工程文件
- 顶层目录命名应该符合规范:STM32CubeExpansion_
__ _VX.Y.Z - 发布的bin或者lib必须遵循:
-- 包含对应的头文件
-- release note
-- lib如果跟编译器相关,要遵循命名规则:LibraryNameV_CMx_C_O.a
中间件规范
- RTOS工程必须包含 CMSIS-RTOS API
- 一个新的中间件应该和硬件或者平台无关,并且有相应的接口层支持。
- 中间件要有中间件接口文件,可供用户定制或者更新。
文档规范
- 新增的组件都要有相应的API文档
- 每一个示例都应该有详尽的注释,功能描述和硬件设置说明。