IAR为STM32创建工程模板(基于STM32f103zet6)
今天给小伙伴分享一篇给stm32新建工程模版
1、首先打开IAR,就是这个样子
2、再建一个目录文件夹
3、建立一个工作空间,以及建好工作空间如右图所示
4、接下来建立工程,Project--------Creat New Project
点击Empty project-------------再点击OK
选择你之前创建的目录里面,取个名字再保存就行了
保存之后就是这个样子
5、这个时候再点保存,就像下图,会跳出一个窗口(如图),这个是保存你的工作空间,取个名字(用原来的工程名字都行),点保存就行
6、接下来添加分组
7、我们要多多添加这样的几个分组,如下
8、在我们之前的目录里面也创建如下的文件夹
9、按图示操作把下载的库文件夹里的这部分 复制 到之前创建的文件夹里
10、按照图示,把iar文件夹里的启动文件全部复制到Startup内
11、再把这三个文件复制到Startup文件夹内
12、继续复制文件,把标准库内(图示)目录下的三个文件复制到User目录下,
之前少做了一件事要把Startup文件夹里面的stm32f10x.h移到User文件夹内,这样看的美观一些。
13、导入文件,之前少创建了一个分组,补上如图所示
导入文件的如下(如图):这里要注意一点,startup_stm32f10x_md.s这个文件是需要根据你的单片机型号来定的,不同型号的单片机这个启动文件不一样,我这里是stm32f103c8t6单片机
14、在App里面创建一个main.c
14、接下来配置工程
15、选择单片机的型号
16、将库配置选成Full,再勾选下面的Use CMSIS
17、将char类型改成 有符号型
18、接下来就是极为重要的一件事,添加group里面.c文件的路径,黄色框的文件都要点进去,再点确认
添加完成的路径图片是这样的
19、到这里,已经完成了七七八八,把鼠标点击到main.c,来编译一下,就是图中的图标
这样编译会出现好多个错误,一看到这么错误肯定会慌
不要慌!!!!!!!!
不要慌!!!!!!!!
不要慌!!!!!!!!
不就是这样的错误么,英文意思是请选择你应用中的单片机型号的启动文件
点击这个错误可以定位到这里
也就是说工程里缺少 #if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL) 这么多宏里面的一个
所以我的单片机stm32f103c8t6的启动文件是STM32F10X_MD,按下图所示,添加这个东西之后,再编译
20、再编译之后是下图
这也是有原因的,我们点击一个警告错误,这个是初学者可能不懂,再把这个 USE_STDPERIPH_DRIVER 添加进去
你们肯定会疑问为什么要添加这个这个宏,如下图所示
看红框里面的斜蓝色字体,意思大致就是“如果你不使用外设驱动,在这种情况下,这些驱动不会被包括并且这些应用代码会直接基于外设寄存器”,所以我们需要这样的宏,再编译就显示没有错误,没有警告。
- 参考来源:https://www.cnblogs.com/sanshijvshi/p/10301577.html
- 其他参考博客:https://blog.csdn.net/qq_18842031/article/details/77806815
- http://www.cnblogs.com/wolf-ming/p/5313250.html
- 以上为参考内容,与STM32f103SET6基本配置相同。仅有几处区别如下所示:
- 配置过程中与遇到的主要问题:
- 不知道MDK中启动文件与IAR中是不同的两个文件,直接将MDK工程模板中启动文件拷贝到IAR工程中,作为启动文件。导致错误。。
解决参考考博客:启动文件大量报错《startup_stm32f10x_hd.s》
- 配置成功截图:
IAR为STM32创建工程模板(基于STM32f103zet6)的更多相关文章
- IAR 为 STM32新建工程模板(最详细)
今天给小伙伴分享一篇给stm32新建工程模版 1.首先打开IAR,就是这个样子 2.再建一个目录文件夹 3.建立一个工作空间,以及建好工作空间如右图所示 4.接下来建立工程,Project------ ...
- STM32学习笔记:创建工程模板
STM32作为一类高级单片机,在应用中不容小觑. 所以本人从2018年1月1日开始对于STM32系列单片机的学习. 本人所持的型号为:STM32F429ZI-DISCOVERY,M4内核,封装类型为: ...
- Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401开发
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- Keil MDK STM32系列(四) 基于抽象外设库HAL的STM32F401开发
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- Keil MDK STM32系列(九) 基于HAL和FatFs的FAT格式SD卡TF卡读写
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- Keil MDK STM32系列(三) 基于标准外设库SPL的STM32F407开发
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- Keil MDK STM32系列(六) 基于抽象外设库HAL的ADC模数转换
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- CXF 入门:创建一个基于WS-Security标准的安全验证(CXF回调函数使用,)
http://jyao.iteye.com/blog/1346547 注意:以下客户端调用代码中获取服务端ws实例,都是通过CXF 入门: 远程接口调用方式实现 直入正题! 以下是服务端配置 ==== ...
随机推荐
- c# 并行循环支持 async
var bag = new ConcurrentBag<object>(); var tasks = myCollection.Select(async item => { // s ...
- Laya的Tween缓动没有初始化repeat导致的Bug
当你使用一个Tween给一个图标做旋转动画,循环播放.(repeat是播放次数, repeat=0无限循环,repeat=1播放一次) Laya.Tween.to(this.light,{rotati ...
- 【翻译】Flink Table Api & SQL —Streaming 概念 —— 查询配置
本文翻译自官网:Query Configuration https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/s ...
- 【SSH进阶之路】Hibernate映射——多对多关联映射(八)
上篇博文[SSH进阶之路]Hibernate映射——一对多关联映射(七),我们介绍了一对多关联映射,它是多对多关联映射的基础. 多对多映射是现实生活中最常见的映射,也是最容易理解的映射.废话少说,直接 ...
- 【视频开发】四大图像库:OpenCV/FreeImage/CImg/CxImage
1.对OpenCV 的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法: 然后将图像格式和矩阵运算, ...
- Oracle Spatial分区应用研究之二:按县分区与按省分区对比测试报告
1.实验目的 在上一轮的实验中,oracle 11g r2版本下,在87县市实验数据的基础上,比较了分表与分区的效率,得出了分区+全局索引效率较高的结论(见上一篇博客).不过我们尚未比较过不同的分区粒 ...
- mysql创建用户并授权Repl_slave_priv和Repl_client_priv
CREATE USER 'test'@'localhost' IDENTIFIED BY 'test'; FLUSH PRIVILEGES; GRANT REPLICATION CLIENT ON * ...
- 【转】Axure RP9.0.0.3661Team Edition激活码
被授权人:Axure 授权密码:ydiJnG8quHEhHLu/MWonjkeul5LYB1+tX9fyPVnpdmU0cb/NJzVs45uD7z5Iswmi 转载于:http://menvscod ...
- 【知识总结】动态 DP
勾起了我悲伤的回忆 -- NOIP2018 316pts -- 主要思想:将 DP 过程分解为方便单点修改和一个区间合并的操作(通常类似矩阵乘法),然后用数据结构(通常为线段树)维护. 例:给定一个长 ...
- Mysql中MVCC的使用及原理详解
准备 测试环境:Mysql 5.7.20-log 数据库默认隔离级别:RR(Repeatable Read,可重复读),MVCC主要适用于Mysql的RC,RR隔离级别 创建一张存储引擎为test ...