STM32Cube是一项意法半导体的原创活动, 通过减少开发工作、时间和成本, 使开发者的开发工作更轻松。STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。(如,STM32CubeF7是针对STM32F7系列)。平台包括了STM32Cube 硬件抽象层和一套的中间件组件(RTOS,USB,FS,TCP/IP,Graphics,等等)。

10.1  软件安装

必备软件:Java(V1.7及以上版本)和STM32CubeMX(版本4.22.1)

Java下载地址:www.java.com/zh_CN/

STM32CubeMX下载地址:http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html

10.1.1  安装Java软件

双击安装包“JavaSetup8u151.exe”,具体操作步骤如下:

图 10-1 Java安装步骤1

图 10-2 Java安装步骤2

图 10-3 Java验证成功

在本地新建好文件夹后,把准备好的库文件添加到相应的文件夹下:

10.1.2  安装STM32CubeMX软件

双击安装包“SetupSTM32CubeMX-4.22.1.exe”,具体操作步骤如下:

图 10-4 STM32CubeMX启动安装

图 10-5 STM32CubeMX接受本许可协议的条款

图 10-6 STM32CubeMX指定安装路径

图 10-7 STM32CubeMX创建快捷方式

图 10-8 STM32CubeMX完成安装

10.2  新建工程

10.2.1  新建工程

打开STM32CubeMX,软件会更新一些组件,等待安装完成即可。

图 10-9 CubeMX安装组件

1. 选择CPU型号

这个根据你开发板使用的CPU具体的型号来选择, M7挑战者选STM32F767IGT型号。我们直接在搜索框输入型号STM32F767IG得到两个结果,最终确认STM32F767IGTx为我们实际使用型号。

图 10-10 选择具体的CPU型号

2. 确认时钟源

进入工程后打开RCC选项,选择Crystal/Ceramic Resonator,即使用外部晶振作为HSE的时钟源。

图 10-11 选择时钟源

3. 配置IO口

这个工程简单控制一个LED周期闪烁,我们只需要配置一个IO即可,这里选定控制红色LED的引脚PH10,通过搜索框搜索可以定位IO口的引脚位置,图中会闪烁显示,配置PH10的属性为GPIO_Output。

图 10-12 查找IO口

图 10-13 配置IO口属性

4. 配置系统时钟

开发板的外部晶振为25MHz,我们填入25;通道选择LSE;PLLM选择为/25;倍频系数N选择为x432;系统时钟选择PLLCLK;系统时钟设定为216Mz;APB1分频系数选择为/4即PCLK1位54MHz;APB2分频系数选择为/2即PCLK2位108MHz。

图 10-14 如何在工程中添加文件

5. 进一步配置IO的具体属性

点击Configuration,进入系统详细配置,选着GPIO,配置PH10的默认电平,开漏输出,无上下拉,低速模式。引脚标签为LED_R。

图 10-15 设置文件是否加入编译

6. 配置工程属性

配置工程的名称,路径,使用的IDE工具,堆栈大小。

图 10-16 配置工程属性

7. 生成代码

在设定的路径成功生成代码,选着打开工程。

图 10-17成功生成代码

8. 添加用户测试代码

打开工程后在main函数中的主循环插入用户代码,目的是让红色LED周期闪烁。

图 10-18添加用户测试代码

9. 配置下载调试工具

配置下载工具为CMSIS-DAP,程序下载完后复位并运行。

图 10-19配置下载调试工具

10.3  下载验证

把编译好的程序下载到开发板并复位,可看到板子上的红色灯会周期闪烁。

第10章 使用STM32CubeMX新建工程的更多相关文章

  1. 第10章 新建工程-库函数版—零死角玩转STM32-F429系列

    第10章     新建工程—库函数版 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  2. STM32CubeMX新建工程+基本IO配置过程

    Ⅰ.写在前面 学习本文之前可以查看我前面的文章: STM32CubeMX介绍.下载与安装 STM32CubeMX使用方法及功能介绍 本文接着上一篇文章结合基本IO配置实例,讲述关于STM32CubeM ...

  3. 《构建之法》之第8、9、10章读后感 ,以及sprint总结

    第8章: 主要介绍了软件需求的类型.利益相关者,获取用户需求分析的常用方法与步骤.竞争性需求分析的框架NABCD,四象限方法以及项目计划和估计的技术. 1.软件需求:人们为了解决现实社会和生活中的各种 ...

  4. 敏捷软件开发:原则、模式与实践——第10章 LSP:Liskov替换原则

    第10章 LSP:Liskov替换原则    Liskov替换原则:子类型(subtype)必须能够替换掉它们的基类型(base type). 10.1 违反LSP的情形 10.1.1 简单例子 对L ...

  5. 孙鑫视频学习:对第10章设置线宽时为什么不调用UpDateData(TRUE)的理解

    在第10章10.2.1小节中,首先分别对视图类和对话框类添加了一个名为m_nLineWidth的int型变量,再将用户在CSetting dlg对话框的edit控件中输入的线宽值记录在dlg.m_nL ...

  6. 第10章 系统级I/O

    第10章 系统级I/O 10.1 Unix I/O 一个Unix文件就是一个m个字节的序列:B0,B1,…,BK,…,Bm-1 Unix I/O:一种将设备优雅地映射为文件的方式,允许Unix内核引出 ...

  7. 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化

    高性能Linux服务器 第10章    基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...

  8. Linux就这个范儿 第10章 生死与共的兄弟

    Linux就这个范儿 第10章 生死与共的兄弟 就说Linux系统的开机.必须经过加载BIOS.读取MBR.Boot Loader.加载内核.启动init进程并确定运行等级.执行初始化脚本.启动内核模 ...

  9. 【翻译】《深入解析windows操作系统第6版下册》第10章:内存管理

    [翻译]<深入解析windows操作系统第6版下册>第10章:内存管理(第一部分) [翻译]<深入解析windows操作系统第6版下册>第10章:内存管理(第二部分) [翻译] ...

随机推荐

  1. TCP-Java--图谱

  2. jquery返回顶部和底部插件和解决ie6下fixed插件

    (function($){ //返回顶部和底部插件 $.fn.extend({ goTopBootom:function (options){ //默认参数 var defaults = { &quo ...

  3. CMD 模块定义规范【转】

    在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(Common Module Definition) 模块定义规范.该规范明确了模块的基本书写格式和基本交互规则. 在 CMD 规范 ...

  4. Class.forName和ClassLoader的区别

    一 看名字就知道了,一个是类的创建,一个类加载器 二 再看下Class.forName源码,调用了ClassLoader @CallerSensitive public static Class< ...

  5. 【Linux】time+dd测试硬盘读写速度

    dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. dd 命令通用语法格式如下: dd if=path/to/input_file ...

  6. 写一个安全的Java单例

    单例模式可能是我们平常工作中最常用的一种设计模式了.单例模式解决的问题也很常见,即如何创建一个唯一的对象.但想安全的创建它其实并不容易,还需要一些思考和对JVM的了解. 1.首先,课本上告诉我,单例这 ...

  7. 富文本编辑框和防止xss攻击

    一.后台管理页面构建 1.创建后台管理url urlpatterns = [ ... # 后台管理url re_path("cn_backend/$", views.cn_back ...

  8. sql server 数据库代码备份及还原代码

    --备份 BACKUP DATABASE [库名称] TO DISK='E:\qq\ddd.bak' --备份并覆盖 BACKUP DATABASE [库名称] TO DISK='E:\qq\ddd. ...

  9. python在Android下的自动化测试用法

    # This Python file uses the following encoding: utf-8from com.android.monkeyrunner import MonkeyRunn ...

  10. svn图标显示不正常,文件夹显示但文件不显示svn图标

    svn图标显示不正常,文件夹显示但文件不显示svn图标   这个问题的引发是自己造成的,使用myEclipse时progress会卡在 refresh svn status cache (0%)这里, ...