第6章 新建工程-寄存器版—零死角玩转STM32-F429系列
第6章 新建工程—寄存器版
全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn
野火视频教程优酷观看网址:http://i.youku.com/firege
本章内容所涉及的软件只供教学使用,不得用于商业用途。个人或公司因商业用途导致的法律责任,后果自负。
版本说明:MDK5.15
版本号可从MDK软件的"Help-->About uVision"选项中查询到。
6.1 新建工程
6.1.1 新建本地工程文件夹
为了工程目录更加清晰,我们在本地电脑上新建1个文件夹用于存放整个工程,如命名为"LED",然后在该目录下新建2个文件夹,具体如下:
表格 8 工程目录文件夹清单
|
名称 |
作用 |
|
Listing |
存放编译器编译时候产生的c/汇编/链接的列表清单 |
|
Output |
存放编译产生的调试信息、hex文件、预览信息、封装库等 |

图 61 工程文件夹目录
在本地新建好文件夹后,在文件夹下新建一些文件:
表格 9 工程目录文件夹内容清单
|
名称 |
作用 |
|
LED |
存放startup_stm32f429_439xx.s、stm32f4xx.h、main.c文件 |
|
Listing |
暂时为空 |
|
Output |
暂时为空 |
6.1.2 新建工程
打开KEIL5,新建一个工程,工程名根据喜好命名,我这里取LED-REG,直接保存在LED文件夹下。

图 62 在KEIL5中新建工程
1. 选择CPU型号
这个根据你开发板使用的CPU具体的型号来选择, M4至尊版选STM32F429IGT型号。如果这里没有出现你想要的CPU型号,或者一个型号都没有,那么肯定是你的KEIL5没有添加device库,KEIL5不像KEIL4那样自带了很多MCU的型号,KEIL5需要自己添加,关于如何添加请参考《如何安装KEIL5》这一章。

图 63 选择具体的CPU型号
2. 在线添加库文件
用寄存器控制STM32时我们不需要在线添加库文件,这里我们点击关掉。

图 64 库文件管理
3. 添加文件
在新建的工程中添加文件,文件从本地建好的工程文件夹下获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。

图 65 如何在工程中添加文件
4. 配置魔术棒选项卡
这一步的配置工作很重要,很多人串口用不了printf函数,编译有问题,下载有问题,都是这个步骤的配置出了错。
a) Target中选中微库" Use MicroLib",为的是在日后编写串口驱动的时候可以使用printf函数。而且有些应用中如果用了STM32的浮点运算单元FPU,一定要同时开微库,不然有时会出现各种奇怪的现象。FPU的开关选项在微库配置选项下方的"Use Single Precision"中,默认是开的。

图 66 添加微库
b) Output选项卡中把输出文件夹定位到我们工程目录下的output文件夹,如果想在编译的过程中生成hex文件,那么那Create HEX File选项勾上。

图 67 配置 Output 选项卡
③在Listing选项卡中把输出文件夹定位到我们工程目录下的Listing文件夹。

图 68 配置 Listing 选项卡
5. 下载器配置
这部分的配置最好是在安装好下载器驱动,下载器连接了电脑和开发板,且开发板上电后来配置。
这里面需要根据你使用了什么仿真器来配置,常用的有三种仿真器:JLINK/ARM-OB,ST-LINK,ULINK2,而且这个配置不是配置完一次之后以后就不会改变,当你换了芯片型号,或者其他操作(具体原因不明)都会改变下载器的配置。
①JLINK/ARM-OB配置
要先安装了JLINK驱动之后,该配置才能下载,两者缺一不可。

图 69 JLINK/ARM-OB下载配置
②ST-LINK配置
要先安装了ST-LINK驱动之后,该配置才能下载,两者缺一不可。

图 610 ST-LINK下载配置
③ULINK2配置
要先安装了ULINK2驱动之后,该配置才能下载,两者缺一不可。要注意的是设置成ULINK2,而不是ULINK。

图 611 ULINK2下载配置
6. 选择CPU型号
这一步的配置也不是配置一次之后完事,常常会因为各种原因需要重新选择,当你下载的时候,提示说找不到Device的时候,请确保该配置是否正确。有时候下载程序之后,不会自动运行,要手动复位的时候,也回来看看这里的"Reset and Run"配置是否失效。M4至尊版用的STM32的FLASH大小是1M,所以这时选择1M的容量,如果使用的是其他型号的,要根据实际情况选择。

图 612 选择芯片型号
一个新的工程模版新建完毕。
第6章 新建工程-寄存器版—零死角玩转STM32-F429系列的更多相关文章
- 第10章 新建工程-库函数版—零死角玩转STM32-F429系列
第10章 新建工程—库函数版 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...
- 第40章 CAN—通讯实验—零死角玩转STM32-F429系列
第40章 CAN—通讯实验—零死角玩转STM32-F429系列 第40章 CAN—通讯实验 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视 ...
- 第1章-如何使用本书—零死角玩转STM32-F429系列
第1章 如何使用本书 1.1 本书的参考资料 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com ...
- 第23章 I2C—读写EEPROM—零死角玩转STM32-F429系列
第23章 I2C—读写EEPROM 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/f ...
- 第50章 读写内部FLASH—零死角玩转STM32-F429系列
第50章 读写内部FLASH 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...
- 第41章 RS-485通讯实验—零死角玩转STM32-F429系列
第41章 RS-485通讯实验 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...
- 第32章 TIM—高级定时器—零死角玩转STM32-F429系列
第32章 TIM—高级定时器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...
- 第31章 TIM—基本定时器—零死角玩转STM32-F429系列
第31章 TIM—基本定时器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...
- 第20章 USART—串口通讯—零死角玩转STM32-F429系列
第20章 USART—串口通讯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fi ...
随机推荐
- @RequestParam详解以及加与不加的区别
以前写controller层的时候都是默认带上 @RequestParam 的, 今天发现不加@RequestParam 也能接收到参数 下面我们来区分一下加与不加的区别 这里有两种写法 @Reque ...
- PHP会话管理
Session使用 在每个页面中使用session之前,必须使用session_start() 在每个session中都可以使用$_SESSION这个全局数组,在页面必须调用session_start ...
- [转]关于Jquery的DataTables里TableTools的应用
本文转自:http://147068307.iteye.com/blog/1700516 最近在产品中使用了TableTools这个工具,主要用来实现导出和复制功能. 但是在实际的运用中出现了以下相关 ...
- JavaScript比较运算符——"== != === !=="区别
JavaScript的比较和逻辑运算符用于测试 true 或 false. 比较运算符在逻辑语句中使用,以测定变量或值是否相等. 例如给定 x=5,下面的表格解释了比较运算符: 1. == 和===的 ...
- Sql 本周当天本期日期转换
--查询当天: --查询24小时内的: --info为表名,datetime为数据库中的字段值 --查询当天: --查询24小时内的: select * from table where DateDi ...
- SpringMVC 的初始化参数绑定
初始化参数绑定:日期格式 一:首先我们先做一种日期格式的绑定,配置初始化参数绑定和自定义类型转换有着异曲同工之妙 配置步骤如下: 1.我们首先配置applicationContext.xml,进行扫描 ...
- hdu 4044 树形DP 炮台打怪 (好题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4044 题目大意:给定n个节点组成的树,1为敌方基地,叶子结点为我方结点.我们可以在每个结点安放炮台,至 ...
- 《Head First 设计模式》之代理模式
代理模式(Proxy):控制对象访问 ——为另一个对象提供一个替身或占位符来访问这个对象. 要点: 代理模式有许多变体,如:缓存代理.同步代理.防火墙代理和写入时复制代理 代理在结构上类似装饰者,但目 ...
- js获取文件上传进度
js获取文件上传进度: <input name="file" id="FileUpload" type="file" /> &l ...
- Java Knowledge series 7
Pepole who make a greate contribution on common libaraies deserve our respect. Component(Widget) / S ...