原创 STM32学习笔记之IAR下建立FWlib 3.0项目

2009-6-10 12:17 8408 6 11 分类: MCU/ 嵌入式

开发工具:JLink V7.0


开发环境:IAR5.3


第一步:下载函数库
    从ST官方网站(http://www.st.com/stonline/products/support/micro/files/um0427.zip)下载STM32 V3.0固件函数库。


第二步:复制库文件
    将下载的软硬件函数库解压后,将目录中的【Libraries】目录拷贝到您的项目目录中,然后【Project】目录下的【Template】目录下的main.c、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h四个文件拷贝到您的目录下,然后将【Project】——【Template】——【EWARMv5】目录下的四个加载镜象文件复制到您的止录下。所以这些完成后您的项目中的文件差不多如下图所示了:


点击看大图


第三步:加载文件
    启动IAR5.3开发环境,选择在当前工作空间建立新项目,将提示工具选择,选择ARM即可;项目模板选择,直接选择空项目即可选择完毕后单击OK按钮,提示项目文件存放位置,直接存到之前新建的项目目录中即可。然后按下图所示添加各文件组,并将相应的文件添加进去就可以了。


点击看大图



第四步:配置IAR 5.3
    右击项目文件(比如上图中的MyProject - Debug),选择右击菜单中的【Options】按钮,将出现项目配置选项卡。选择【General Options】,在【Target】页中选择【Device】,再点击【Device】右侧的器件选择按钮,选择您的STM32芯片。选择完毕后将如下图所示:



点击看大图


选择【C/C++ Compiler】,再选择【Preprocessor】页在【Additional include directories】的文本框中,输入您的项目所需索引的头文件地址,配置完成后,将如下图所示:


点击看大图


选择【Linker】,再选择【Config】页,将【Override Default】复选框选中,单击文本框右侧的文件选择按钮,在您的项目根目录中选择您要连接配置的文件(比如您准备将程序在Flash中运行,则选择stm32f10x_flash.icf),配置完成后,将如下图所示:



点击看大图


选择【Debugger】,再选择【Setup】页,在【Driver】下拉选择框中选择【J-Link/J-Trace】, 配置完成后,将如下图所示:



点击看大图


完成以后操作后,点击Make命令按钮,提示保存Workspace file,输入您要保存的名称(比如就上面的项目就取名为MyProject),点击保存后,系统进行编译。编译后将提示Warning[Pe223]: function "assert_param" declared implicitly 警告,这是因为没有申明stm32f10x_conf.h文件的原故,在main.c的头文件中申明一下就可以了。


    通过以上四步,您就可以使用IAR建立一个您自己想要的项目了,不过在IAR配置介绍中,我只是做了一个最基本的配置介绍,读者如果想了解更多IAR的环境使用说明,可以直接参考IAR的帮助文件进行学习深入。文中如有不明之处,还希望各位朋友不吝提出。非常感谢!!


 

文章评论5条评论)

登录后参与讨论

用户211336 2009-7-14 09:15

不明白之处可以加我QQ-35406688.看看能否帮你解决!

用户829600 2009-7-11 09:57

Error[Pa045]: function "BusFaultException" has no prototype D:\stepMotor\library\src\stm32f10x_it.c 76 Error[Pa045]: function "UsageFaultException" has no prototype D:\stepMotor\library\src\stm32f10x_it.c 91 Error[Pa045]: function "DebugMonitor" has no prototype D:\stepMotor\library\src\stm32f10x_it.c 106 Error[Pa045]: function "SVCHandler" has no prototype D:\stepMotor\library\src\stm32f10x_it.c 117 Error[Pa045]: function "PendSVC" has no prototype D:\stepMotor\library\src\stm32f10x_it.c 128 Error[Pa045]: function "SysTickHandler" has no prototype D:\stepMotor\library\src\stm32f10x_it.c 139 怎么搞啊?

用户829600 2009-7-10 18:34

好,值得看看...........谢谢了...........

用户211336 2009-6-10 11:53

是的,这是IAR没破解的提示。

用户221045 2009-6-9 15:36

初学stm32,我按照你说的方法一步一步设置的,怎么不行呢?报错:Fatal Error[Cp001]: Copy protection check, No valid license found for this product [24] 这是不是我安装的iar ewarm没有破解? 请赐教阿
相关推荐阅读
用户211336 2011-06-27 15:28
NEC的扩展RAM和CODE BANK在IAR的设置和使用
    NEC的8位单片机有很多型号具有内部扩展RAM和额外代码段,在IAR中如何使用呢,一直没有资料说明,特将它整理后放于此文。 扩展RAM:   变量申明方法如下:#pragma dataseg=...
用户211336 2011-03-02 10:53
define宏定义中的#,##,@#及\符号
1、# (stringizing)字符串化操作符。其作用是:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串。其只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前。 如: #def...
用户211336 2010-07-03 00:41
C51定义位变量方法
使用位域 typedef union {   unsigned char byte;   struct   {      unsigned char bit0:1, bit1:1, bit2:1, b...
用户211336 2010-03-24 20:10
程序编写最重要的原则
代码简单化        编写的代码不仅仅是给计算机执行的,更大的价值在于能被其他人以及自己所理解.        尽量用人的语言来编写程序而不是计算机的语言. ...
用户211336 2009-06-14 20:11
AD6导入使用SolidWorks建立的3D模型
在传统的电子产品整机设计流程里,电器设计部门与结构设计部分是两个完全独立工作的部门,之间没有什么直接的合作关系。多数情况下(这里指的是大多数。因为也是有部分企业的产品是已定型化的,都是先设计好外壳再根...
用户211336 2009-06-12 10:32
使用STM32的PWM输入功能计算输入PWM的周期!
1、时钟部分,TIMER2的时钟频率,我是初始化为36M.      RCC_PCLK1Config(RCC_HCLK_Div2);           //设置低速AHB时钟=系统时钟/2     ...
EE直播间
更多
我要评论
5
6
关闭 站长推荐上一条 /6 下一条