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. springMVC静态资源访问

    springMVC默认是访问不到静态资源的,如css,js等,需要在xml里进行配置 保证已经配置好了 web.xml, <!-- Spring MVC servlet --> <s ...

  2. 随机森林(Random Forests)

    简单地看了一些入门的资料. 随机森林似乎和CART有些联系. 随机森林的算法步骤: 1. 利用自助法(Bootstrap)从原始训练集中生成k个自助样本集,每个自助样本集是每棵分类树的全部训练数据.自 ...

  3. js 中onclick 事件 点击后指向自己的对象,查找或者添加属性 用关键字this 传入参数 (可以改变原标签css)

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. bzoj 4573: [Zjoi2016]大森林

    Description 小Y家里有一个大森林,里面有n棵树,编号从1到n.一开始这些树都只是树苗,只有一个节点,标号为1.这些树 都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力. ...

  5. SQL脚本整理系列 三

    触发器 SQL 2008 怎么实现删除学生表里面的一条记录,成绩表里面关于这个学生的记录也同时删掉,谢求具体代码 --创建表 DROP TABLE tstudent GO CREATE TABLE t ...

  6. hibernate表关系

    1.一对一 用户表可以查分成两个表,一个userInfo.一个userLogin表 实现方式: (1)使用外键:外键+唯一性约束+非空约束 (2)公用主键:公用主键,从表的主键同时也是外键,来源于主表 ...

  7. geth

    >geth --networkid 123 --dev --datadir "d:/blockchain/project/ethereum" --rpc --rpcaddr ...

  8. webstorm上传vue代码至git

    Git在push时候,提示:push to origin/master was rejected 解决方案如下: 提交代码顺序 webstorm右键项目名称==>Git==>Commit ...

  9. iOS 在Host App 与 App Extension 之间发送通知

    如何从你的一个App发送通知给另一个App? (例:搜狗输入法下载皮肤完成后使用皮肤) 注:搜狗输入法是App.而键盘是Extension 当你为你的App 添加 App Extension时,如果想 ...

  10. js 常用排序整理

    排序: 1. 内部排序: (1). 交换排序: 1). 冒泡排序 稳定 一次比较相邻两个元素的大小,顺序错误的,将其位置互换 (从高位到低位 或者 从低位到高位) 初始版: var array = [ ...