STM32CubeMX是ST公司推出的一种自动创建单片机工程及初始化代码的工具,适用于旗下所有STM32系列产品。此软件可以作为eclipse插件形式安装,也可以单独运行,需要安装JAVA运行环境。软件可以在ST官网上找到,安装过程非常简单,在此不详述。
建议采用管理员方式运行,因为ST对软件版本及其集成的库更新频繁,无管理员权限容易安装失败。
STM32CubeMX集成了HAL库和LL库,生成的代码也是基于这两个库。HAL库是ST标准库后推出的,设计采用高分层思想,当工程更改主控芯片后,所有函数几乎不需要任何更改。ST公司推出的F7系列32位单片机目前只有HAL库和LL库。
由于HAL库的高封装性,必然导致代码执行效率不高。如果编译器优化等级低,产生的二进制文件比较大。因此,ST又推出了LL库。LL库大多数API函数是直接调用寄存器,且很多函数写成宏形式,或者采用__INLINE内联函数,提高了代码执行效率。
HAL库和LL库按外设模块设计,配置时可选择响应模块用不同的库。
新建工程有三个入口,这里选择第一个 Start My project from MCU。
貌似从芯片特点、模块框图、文档与资源、数据手册到购买一应俱全。
点击上图中 Start Project 按钮后,来到芯片配置环节。
这里,分为四个子页面,Pinout&Configuration、Clock Configuration、Project Manager和Tools。
System Core(系统内核)包括:DMA、GPIO、IWDG、NVIC、RCC、SYS和WWDG。
Analog(模拟)包括:ADC、COMP1、COMP2。
Timers(定时器)包括:LPTIM1、RTC、TIM2、TIM3、TIM6、TIM7、TIM21、TIM22。
Connectivity(连通性)包括:I2C1、I2C2、I2C3、SPI1、SPI2、USART1、USART2、USART4、USART5。
Multimedia(多媒体)包括:ISS2。
Computing(计算)包括:CRC。
Middleware(中间件)包括:FATFS、FREERTOS。
第一步,在Project Name栏输入工程名。
第二步,在Project Location栏输入工程存放目录。
第三步,在Toolchain/IDE栏选择MDK-ARM V5,表示Keil 5开发。
点击GENERATE CODE,生成代码。
空工程例子下载:https://download.csdn.net/download/sunriver2000/12027921
STM32 Cube论坛 :http://www.stm32cube.com/