STM32F407VET6之IAR之ewarm7.80.4工程建立(基于官方固件库1.6版本)
今天把stm32F407的工程之IAR建立完成了,特此记录下。
下载官方固件库,STM32F4xx_DSP_StdPeriph_Lib_V1.6.1,V1.8.0版本的同理。
新建以下几个文件
src放官方的各个c文件
inc放官方的各个h文件,以及用户的h文件,这样可以方便在options里只需要一个目录即可,方便点。
cmsis 放官方的.s汇编文件,.icf文件,icf文件是iar特有的,keil创建工程没有这个文件的。
user,放用户自己的C文件
project,放置iar工程,就是工程文件*.ewp所在目录
无obj目录,iar会自动建立该文件的。
最后的目录如下所示:
文件的来源,可以在STM32F4xx_DSP_StdPeriph_Lib_V1.6.1文件中查找,
固件库的目录展开如下:有点长啊~~博客上面放不下。
针对STM32F407需要的,我摘录了部分,主要是拷贝
1、STM32F4xx_StdPeriph_Driver下的inc,src两个文件夹,
2、Libraries\CMSIS\下的Include文件夹,
3、STM32F4xx_StdPeriph_Templates模板当中的文件,
4、STM32F4xx_StdPeriph_Templates\EWARM下的icf文件,
5、Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\iar下的汇编文件
其实工程需要的文件可以参考下官方自带的模板,相互结合,就可以了。
工程设置:
0、选择stm32f407VE芯片
1、库配置Library Configration(在general options下),如果需要使用某些标准的库函数接口(如我们使用的printf and scanf),就需要选择Full。
2、预处理Preprocessor - 添加h头文件的路径,这里我比较简单,所有h文件都放在一起的,因此添加
$PROJ_DIR$\..\inc\
即可,新版的IAR可以自动把绝对路径转换成上述的路径,可以自行试试看,挺方便的。这样的好处是工程可以拷贝到另外一个文件夹,而不需要在设置头文件路径了
3、添加宏定义,
USE_STDPERIPH_DRIVER
STM32F40_41xxx
一行一个即可
4、use cmsis不打钩也可以编译成功。。
5、输出hex文件,output convert选项中,打钩generate...选择Intel extended,再输入输出名称override default。
6、linker选择,添加$PROJ_DIR$\..\cmsis\stm32f4xx_flash.icf。另外iar自带了$TOOLKIT_DIR$\config\linker\ST\stm32f407xE.icf文件,也可以编译成功的。
最后,stm32F407,没有fmc.c的功能,因此可以remove该文件,不然一大堆编译错误
7、如果需要jlink,等,可以参考其他的文章,在线仿真有jtag,swd两种方式。
STM32F407VET6之IAR之ewarm7.80.4工程建立(基于官方固件库1.6版本)的更多相关文章
- STM32F407VET6之IAR之ewarm7.80.4工程建立(基于官方固件库1.6版本) 的工程文件目录
最后整理结构如下所示,├─cmsis│ startup_stm32f401xx.s│ startup_stm32f40xx.s│ startup_stm32f40_41xxx.s│ startup_s ...
- 痞子衡嵌入式:在IAR开发环境下为工程开启CRC完整性校验功能的方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下为工程开启CRC完整性校验功能的方法. CRC校验在嵌入式领域里的应用非常广,比如在通信领域,CRC检验值可以作为数据 ...
- 痞子衡嵌入式:在IAR开发环境下RT-Thread工程函数重定向失效分析
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下RT-Thread工程函数重定向失效分析. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...
- 在IAR(EWARM)中移植STM32固件库
一.移植环境说明 (1).win10系统 (2).IAR(EWARM)7.7 (3).STM32标准固件库3.5.0 http://www.st.com/content/st_com/en/produ ...
- Xcode6.1标准Framework静态库制作方法。工程转Framework,静态库加xib和图片。完美解决方案。
http://www.cocoachina.com/bbs/read.php?tid-282490.html Xcode6.1标准Framework静态库制作方法.工程转Framework,静态库加x ...
- Xcode工程使用CocoaPods管理第三方库新建工程时出现错误
工程使用CocoaPods管理第三方库,在新的目录update版本的时候出现如下问题 问题1描述: diff: /../Podfile.lock: No such file or director ...
- c/c++工程中外部头文件及库添加方法
在VS工程中,添加c/c++工程中外部头文件及库的基本步骤: 1.添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录. 2.添加文件引用 ...
- 工程移除CocoaPods依赖库
http://zanderzhang.gitcafe.io/2015/09/26/工程移除CocoaPods依赖库/ 点这里--->CocoaPods安装和使用教程 当我们工程安装很多第三方开源 ...
- 【网络通信】服务器端Socket监听80端口,建立连接传输数据时也是使用的80端口么?
1. 服务器端Socket监听80端口,建立连接传输数据时也是使用的80端口么? 答:对.建立连接时服务器会分配一个新的Socket,但是用的源端口号还是80端口.套接字是由协议类型.源IP.目的IP ...
随机推荐
- input文本框默认提示
今天闲暇时间把自己以前写的一个文本框默认提示函数改成了一个小插件.下面是代码 1.引入jQuery库 <script src="http://code.jquery.com/jquer ...
- 2017年2月28日-----------乱码新手自学.net 之特性与验证
现在看asp.net MVC5自学已经到了第六章:数据注解与验证. 话得从以前看MVC music store(音乐商店项目)的源码说起, 最初看music store源码完全就是一脸懵逼,整个程序, ...
- MySQL 如何在一个语句中更新一个数值后返回该值 -- 自增长种子竞态问题处理
什么是竞态问题? 假设有一个计数器,首先当前值自增长,然后获取到自增长之后的当前值.自增长后的值有可能被有些操作用来当做唯一性标识,因此并发的操作不能允许取得相同的值. 为什么不能使用使用UPDATE ...
- ios 设置cell的间距
1.设置假的间距,我们在tableviewcell的contentView上添加一个view,比如让其距离上下左右的距离都是10:这个方法是最容易想到的: 2.用UIContentView来代替tab ...
- Ionic 2 中添加图表
有问题请加入马画藤群:181596813,也强烈欢迎各类建议和需求:Ionic 2 实例开发 今日更新新增章节——Ionic 2 中添加图表: Chart.js是一个在HTML5的<canvas ...
- PHP_RAW_POST_DATA特性
在PHP5.6.x中已废止特性 使用 always_populate_raw_post_data 会导致在填充 $HTTP_RAW_POST_DATA 时产生 E_DEPRECATED 错误. 请使用 ...
- 解决Mysql导入大数据出现gone away的问题
在用Mysql Yog或者PHPMyadmin等工具导入数据量大的sql文件时,会提示“gone away”,那么如何处理这个问题尼? 在Mysql对应的配置文件中my.ini文件中加入以下配置: # ...
- 【Python图像特征的音乐序列生成】GitHub已经有人将mingus改到了Python3版本
https://github.com/bspaans/python-mingus/issues/45 注意此时的安装方法应该是: git clone https://github.com/edudob ...
- 在2017年,如何将你的小米4刷上Windows 10 mobile?(后附大量图赏)
众多攻略集大成者!资深软粉亲测有效! 参考教程: http://bbs.xiaomi.cn/t-11814358 http://bbs.xiaomi.cn/t-11736827 问:刷机前,我需要做什 ...
- 【转载】UWP应用设置和文件设置:科普
数据有两个基本的分类,应用数据和用户数据,而用户数据则为由用户拥有的数据,如文档,音乐或电子邮件等,下面将大致的介绍一下应用数据的基本操作. 应用数据:应用数据包含APP的状态信息(如运行时状态,用户 ...