打印
[STM32F4]

【转】stm32f407之创建IAR工程

[复制链接]
722|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一坨代码|  楼主 | 2016-9-10 00:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  首先介绍一下IAR。
         IAR EmbeddedWorkbench for ARM是一套支持ARM所有处理器的集成开发环境,包含项目管理器、编辑器、C/C++编译器、汇编器、连接器和调试器。在IAR Embedded Workbench for ARM环境下可以使用C/C++和汇编语言方便地开发ARM嵌入式应用程序,比较其他的ARM开发环境,IAREmbedded Workbench for ARM具有入门容易、使用方便、代码紧凑等特点。通过其内置的针对不同芯片的代码优化器,IAR Embedded Workbench for ARM可以为ARM芯片生成非常高效和可靠的FLASH/PROMable代码。不仅有这些可靠的技术,IAR Systems还为您提供专业的全球技术支持。(此段内容来自IAR网站)

然后我们一步步创建一个工程。

1.     新建一个文件夹,命名为工程的名字,在这个文件夹里创建我们的工程。为了更好管理工程,我们先在此文件夹下新建三个文件夹,分别命名为user,inc,和startup,如下图所示:



2.     到st网站上下载这块板子的库函数例程

3.     解压后把STM32F4-Discovery_FW_V1.1.0\Project\Demonstration\EWARM目录下的stm32f40x_flash.icf复制到新建的文件夹目录下
把STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\Include目录下的core_cm4.h
core_cm4_simd.h  core_cmFunc.h  core_cmInstr.h复制到inc目录下,
然后在把STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\ST\STM32F4xx\Include目录下stm32f4xx.h和system_stm32f4xx.h文件复制到inc目录下。inc目录下的文件如下图所示:

4.     把STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\ST\STM32F4xx\Source\Templates\iar目录下的startup_stm32f4xx.s复制到startup目录下。

5.     把STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\ST\STM32F4xx\Source\Templates目录下的system_stm32f4xx.c文件复制到user目录下

6.     打开IAR,点击Project->Creat New Project,出现如下对话框:

点击OK,出现如下对话框:

找到刚才建立的文件夹,打开,然后在文件名中写入工程的名字,点击保存。

7.     然后右击Files下的工程,点击Add,按下图所示点击Add Group

出现如下对话框:
输入user,点OK。
重复步骤6,在建立两个Group,分别命名为startup和inc

8.     右击inc->Add->Files,如下图所示:

然后在对话框中打开刚才创建的inc文件夹,把其中的文件全部选中,如下图所示:

点击打开。
重复步骤7,在Group startup中添加文件夹startup中的startup_stm32f4xx.s文件,在Groupuser中添加文件夹user中的system_stm32f4xx.c文件,完成后如下图所示:


9.     点击File下的图标新建一个文件,我们的主程序就写在这个文件中,点击保存,命名为mian.c吧,保存在user目录下。

10.  然后加到Group user下

11.  右击工程Options弹出如下对话框

Target页按上图所示设置

点击C/C++ Compler,点击Prerocessor页,按下图设置
        
点击Linker勾选Overridedefault选项,然后点击右面浏览按钮

弹出如下对话框,点击但工程目录下,打开stm32f40x_flash.icf文件,如下图所示

点击Debugger,Driver选ST-LINK

点击Download页,勾选Use flashloader选项,如下图所示


点击ST-LINK,Interface选择SWD

点击OK,工程设置完毕

因为discovery的晶振为8M,所以请在 stm32f4xx.h中改
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */

在system_stm32f4xx.c中改
#define PLL_M 8


在main.c中写入如下代码:
//file:main.c


[cpp] view plain copy


  • #include<stm32f4xx.h>  
  •   
  •    
  •   
  • void main ()  
  •   
  • {  
  •   
  •   while(1);  
  •   
  • }  


按键盘F7键,编译连接没出错的话,就是工程建立成功了,以后就可以直接复制这个工程文件夹,然后再添加一些代码或者文件来创建新的工程了。

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

109

帖子

2

粉丝