IAR for STM32F4xx
	目前STM32教程多采用 Keil 作为开发平台。实验室采用 IAR 作为开发平台,所以这里介绍一下 IAR 平台下的工程建立过程。 
	0. IAR介绍
	IAR Systems 于1983年由安德斯·朗德格伦创立,是世界领先的嵌入式系统开发工具和服务供应商,客户涉及 20,000 多家大型和小型公司。IAR Systems 被用来开发基于 8,16 和 32 位处理器的各种产品。IAR Systems 的产品包括:带有 C/C++ 编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具,尤以支持众多知名半导体公司的微处理器的 C 编译器 IAR Embedded Workbench 著名,应用涵盖工业自动化,医疗设备,消费电子和汽车行业等多个领域。 
	主要版本有 
	IAR Embedded Workbench for ARM 
	IAR Embedded Workbench for ColdFire 
	IAR Embedded Workbench for HCS12 
	IAR Embedded Workbench for 8051 
	1. STM32标准外设库
	意法半导体(ST)官方提供了各产品线的标准外设库和外设例程。我们可以从官网直接下载最新的标准外设库和外设例程。以 STM32F4xx 为例: 
	  
	 
	  
	 
	  
	下载即可。 
	下载可能需要注册。 
	下载后文件结构如图: 
	  
	Libraries 文件夹下放的是 STM32 的系统的标准外设库。 
	Project 文件夹下是官方提供的项目模板。 
	Project 文件夹里包含官方提供的例程(Examples)和项目模板(Templates)。官方提供了 IAR、Keil、System Workbench 和 TreSTUDIO 四种开发工具的模板。 
	2. 工程设置
	因为实验室统一版本的要求,安装的IAR版本低于官方提供的模板开发版本,工程设置信息部分丢失,需要重新设置。 
	根据自己的开发芯片型号,选择合适的工程。 
	  
	然后设置选项,主要更改内容有: 
	  
	设备芯片型号。 
	  
	C/C++编译器的包含文件路径和预定义(Define)。 
	  
	连接器设置文件。 
	  
	根据自己的情况选择相应的调试器。 
	3. Warning[Pe223]: function "RCC_AHB1PeriphClockCmd" declared implicitly
	设置完以上内容后,编译测试,发现如上的错误信息。 
	主要原因是因为缺少一个宏定义 USE_STDPERIPH_DRIVER。这个定义出现在 stm32f4xx.h 文件中。 
	在 121 行位置,这个宏定义被注释掉了,如果使用 V3.0 以上版本固件库,需要把该注释解除。 
	之后再编译,会出现 
	Warning[Pa050]: non-native end of line sequence detected (this diagnostic is only issued once)的警告。 
	这个警告产生的原因是 Windows 中的换行符使用表示换行,在 UNIX 类系统中则使用。因此当一个文件从一个系统转换到另外一个系统,因为换行符的定义不同就会产生问题。 
	因为固件库里有大量的文件需要修改,好在该警告对编译没有影响。可以选择将其警告信息屏蔽。 
	在 Opitons - C/C++ - Diagnostic - Suppress these diagnostic: 
	将错误代码 Pa050 填入即可。 
	  
	再次完整编译,0 error,0 warning,完美。 
					
					 |