历史上的今天
今天是:2025年08月05日(星期二)
2019年08月05日 | STM32Cube工具学习笔记(一)Cube配置
2019-08-05 来源:eefocus
前几周接触到了STM32CubeMX这个工具,以下简称Cube,先简单介绍一下这个工具吧。
STM32CubeMX是ST出的一款免费的开发工具,近几年ST也在一直大力推这个工具,也在推行新的HAL库(an STM32 abstraction layer embedded software ensuring maximized portability across the STM32 portfolio)硬件抽象层API。使用HAL库开发的好处是方便用户在不同的芯片平台上移植代码。
Cube的作用是通过图形化的配置生成基础的工程文件,生成的文件包含了芯片初始化代码,现支持IAR、MDK、TureSTUDIO等IDE, 对于用惯了使用标准库开发的我来说我觉得还是非常方便的。
先说一下用Cube配置STM32工程的过程:
我这边常用的IDE是KEIL 5 相信大部分人都用的是这个环境,我常用MCU是STM32F103这个系列,也是烂大街的ARM入门级的单片机。
首先打开软件:

界面看上去非常简洁,下面直接点击下面的蓝色字体 New Project就会弹出下面的界面:

可以看到这里有一个芯片的选型界面,可以针对不同的应用可以选择不同芯片进行开发,方便用户选型。
双击目标芯片后会弹出下面的界面:

这边就是Cube主要的配置界面,可以看到左边的可以对内部的一些外设资源进行配置,右边是目标芯片的pin mapping 看上去还是非常直观的,点击相应的引脚还能看到引脚的一些复用功能,非常有利于新手开发,不用一直查手册去找对应引脚的功能。
1.先配置一下一下芯片的外部时钟源、RCC时钟和单片机调试接口,先让单片机工作起来:
STM32F103有两个时钟源:HSE(高速时钟)和LSE(低速时钟)这 两个时钟信号分别由外部的晶体振荡器产生,先找到对应的引脚并将其设置为对应的功能
两个晶体振荡器一共是四个引脚,配置完后,对应的引脚显示绿色
在左边的功能配置中找到RCC,HSE和LSE都选择Crystal
配置完RCC后找到SYS,Debug调试模式选择Serial Wire(SW),时基源选择SysTick(系统时钟),PA13和PA14这两个引脚配置成SW模式的SWCLK和SWDIO这边引脚的配置就结束了。
2.点击第二个选项卡Clock Configuration进入时钟配置
进入之后直接可以看到芯片内部的时钟树

这边的配置比较简单根据实际的工作需求可以选择不同时钟频率。
3.进入下一个Configuration界面,这个配置可以理解为一个总体的配置
这里可以配置串口、中断、DMA等外设的具体参数,这边由于没用到任何其他外设这边就不需要对这边的配置进行修改,保持默认就可以了。
4.最后一个Power Consumption Calculator 功耗计算器,这边可以根据芯片频率和选择外设的数量和种类计算出一个大概的功耗。
现在一个简单的基本芯片工作配置就结束了,之后就是要生成对应的工程模板
点击Project -> Setting
进入配置页面:
填一个项目名称,把Toolchain/IDE 更改成MDK-ARM V5 其他选项保持默认
进入第二个选项卡:Code Generator代码生成 修改如下
为了减少编译文件,这里选择只拷贝必要的库文件到项目中,勾选为每个外设生成对应的 .c和.h文件,这样方便对每个外设的代码进行管理和修改。
到此所有配置结束 点击Project -> Generate Code 后,Cube会在之前设置的目录下生成工程文件:
项目文件在MKD-ARM文件夹下。
打开项目编译没有问题

这样Cube配置的部分就告一段了,使用还是非常方便的,避免以往繁琐的项目新建过程,往后的项目开发可能会经常用的这个工具。
史海拾趣
|
在wince平台下,我们通过调用IDirectDrawVideoPort中的StartVideo函数,但是StartVideo调用不成功,不知有那位大侠帮小弟分析一个原因或可能出错的地方。以下是关于StartVideo的一些代码: memset(&g_vpInfo,0,sizeof(g_vpInfo)); //add ...… 查看全部问答> |
|
发现一个很奇怪的问题: S3C6410+WinCE6.0的系统,两个中断同一时刻来的时候,就出现丢数的现象。 详细情况是这样:做磁卡的驱动,有两个磁道:每个磁道有一个时钟线、一个数据线。 ...… 查看全部问答> |
|
我现在把framebuffer设置为1280X720, 然后我在写buffer的时候,写进去的是一张:720X480的图片 这样的画这个图片只会显示在左上脚,我要如何设置才能让这个图片全屏显示?谢谢...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:30 编辑 如标题,这几个类型的技术问题在电子工程师技术交流QQ群应该可以讨论得起来。 QQ群号:12425841 … 查看全部问答> |
|
[求助]请问6720与SRAM的接口问题[已解决 附接线方法] 6720接STC的256*16 SRAM,一上电SRAM就发热,9V下总电流100多mA 硬件上没有短路,换了一片SRAM还是这样 如果让DSP处于复位状态SRAM就不会发热,电流也变的正常 请有经验的朋友帮忙看一下哪里有问题 我的接法是 SRAM D0~D15 ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 13:14 编辑 参考设计:Stellaris® AC 感应电机参考设计套件 型号:RDK-ACIM AC 感应电机概述 AC 感应电机 (ACIM) 是消费电子类应用和工业应用中最受欢迎的电机。此电机高度可靠,设计简单,其没 ...… 查看全部问答> |
|
前几天做了一个多功能Web查询系统,还不是很完善。功能基本可以全部实现,现在想和大家一起来分享一下!说明一点,本人上传的代码提供“技术支持、免费服务”大家可以去看看代码或者运行一下。。。。还要很多地方需要改进,希望大家多给建议。。。 ...… 查看全部问答> |




