1. IAR简单介绍
IAR 一般是指一款嵌入式软件的集成开发环境,类似于 MDK-Keil 这款软件。IAR 的官网:
IAR 对于不同的内核处理器,是对应不同的 IAR 软件的,IAR 到目前为止支持大部分的MCU,比如8051系列、ARM架构系列、MSP430系列、AVR系列等等这些常用的芯片架构。
对于 ARM 架构的芯片,有对应的 IAR Embedded Workbench for ARM 软件平台,因为我主要是使用 ARM 架构芯片,下面安装、注册和使用都是基于这个版本进行介绍的。
2. IAR9.30版本安装和注册
到目前为止,IAR for ARM 已经更新到了9.30以上的版本,我们到IAR官网下载最新版本即可,如下网址:
[https://www.iar.com/products/architectures/arm/iar-embedded-workbench-for-arm/]
或者使用我下面百度网盘提供的链接进行下载,都是一样的软件,里面还包含的 IAR9.30 以上版本的注册工具。
安装过程其实很简单,就是保持默认选项一路next下去即可,这里不多介绍了,或者参考下面这篇文章进行安装(参考这篇文章进行注册9.30以上版本是不成功的,还需要其他的几个步骤)。
https://strongerhuang.blog.csdn.net/article/details/52562533
注册过程详细介绍:
IAR 是专用的收费软件,这里介绍的注册方法仅供学习使用,请勿用于商业用途。
1、打开 IAR EW for ARM 软件,进入 License Manager 管理菜单。
安装完成之后,桌面是没有IAR软件的快捷方式的,可以到开始菜单中找到 IAR EW for ARM 软件,然后打开(注意:要以管理员方式打开)。第一次打开可能会自动弹出 License 注册界面,我们先不管他,点击取消,然后关闭即可。
2、选择激活方式,这里我们选择 offline active(即离线激活方式)。
然后选择 Offline 方式,如下:
3、以管理员方式打开注册机,生生成注册码。
4、把注册码复制到激活软件
5、选择不锁定,如下:
6、生成的激活信息文件保存到我们的安装目录下,然后点击下一页。
7、请求激活信息文件,直接点击下一页即可。
8、这时我们需要再次到注册机去生成激活信息文件。
9、回到 License 管理向导界面,然后选择我们刚刚使用注册机生成的激活信息文件。
10、点击下一步之后,就是会出现 Done 完成的界面了,我们直接点击 Done 即可完成注册。
11、如果是以前的版本,到这里可能就注册成功了,但是我发现注册状态并不是显示OK的,而是提示: the generation feature is not of version 18 这个信息,说明还没有注册成功。这时我们还需要运行一个小工具,如下:
把IAR软件先关闭了,然后把上面的这个工具软件复制到IAR的下面三个安装目录:
run licpatcher64.exe from directories:
C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\
C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\jet\bin\
C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\
在这三个目录中,都运行一遍 licpatcher64a.exe 这个工具软件。
12、再次打开IAR for ARM 软件,确认是否注册成功。
进入到 License Manager 管理界面,如果注册状态是下面这样,说明注册成功了。
3. 创建STM32F407的IAR工程
先到ST的官网下载一份STM32F4的标准外设驱动库(F4之后的芯片型号,好像不出固件库了,只出HAL库),如下网址:
https://www.st.com/zh/embedded-software/stm32-standard-peripheral-libraries.html
选择F4的下载即可。
3.1 准备好需要创建IAR工程的文件目录
1、我们先在某个目录下创建下面的几个文件目录:
2、然后,我们把下载好的STM32F4固件库,复制相关的文件到相应的工程目录。
其中CMSIS目录主要存放M4芯片架构相关的文件,我们把固件库的CMSIS目录下的相关文件都复制到这里面,如下:
然后再复制标准固件库目录下的文件,里面的.c和.h文件我们全部复制到我们对应的目录即可,如下:
3、User 目录中我们自己暂时先创建一个main.c文件即可,里面的代码可以先不实现。
3.2 创建Workspace和Project
1、先创建工作空间,File -> New Workspace
2、然后创建新的项目,Project -> Create New Project
点击OK,然后选择保存项目的目录,我们保存在刚刚准备的文件目录里面去,然后项目名称命名为STM32F407_Project,然后保存。
3.3 IAR添加文件和文件组
1、点击工程,然后右键,选择添加三个和我们在windows目录下的文件组,如下:
2、然后,在每个目录组里面添加相应的.c文件,依次添加CMSIS、标准固件库、还有User目录下的main.c文件,如下:
4. IAR工程的基本配置
4.1 配置内核和芯片型号
点击工程,然后右键,选择Options…选项。
然后配置芯片内核和型号,如下图:
4.2 配置头文件包含路径
C/C++ Compiler -> preprocessor,然后在里面添加我们需要的头文件目录,如下:
4.3 在Options配置中添加所需要的宏定义
C/C++ Compiler -> preprocessor,然后在 Define symbols 栏中添加所需要定义的宏定义,如下:
4.4 链接脚本的配置
IAR软件在链接代码时,是使用 .icf 文件进行管理的,如果我们需要使用自己的链接脚本文件的话,那么选择自己写的 .icf 文件即可。
需要修改的话,那么选择 Linker -> Config ,然后选择自己的链接脚本 .icf 文件就行。
不过这里我们不需要自定义 .icf 链接脚本文件,我们使用软件自带的 .icf 文件就行(如果你的芯片型号在IAR中没有的话,那么就可以需要自己提供.icf文件了)。
4.5 选择调试器和相关配置
1、选择J-Link调试器,Debugger -> Setup ,如下图:
2、然后再选择J-Link对应的接口,开发板是SWD还是JTAG的接口模式,我的开发板是JTAG接口,所以选择JATG接口模式,如下:
4.6 配置是否使用IAR软件自带的一些库函数
如果需要使用某些标准的库函数接口(如我们使用的printf and scanf),那么库就需要选择 Full 类型了,如下图所示。
另外,IAR for ARM 在V5和 V6、V7版本之间存在差异,很多人用新版本IAR编译以前工程出现错误的原因就在于此。所以,我们使用新版本的IAR软件,需要勾选 Use CMSIS(微控制器软件接口标准的意思)。如下图所示。
5. 编译下载程序
进行上面的一些基本的配置之后,就可以编译下载程序了。
首先,main函数这里,我编写一个简单的功能,实现开发板上的LED流水灯效果。然后就可以进行编译和下载了。
5.1编译程序
编译程序可直接按F7,或者Ctrl + F7 ,或者重新构建整个程序,如下图:
5.2 下载程序
由于我是新手,对IAR不熟,只发现下载程序和调试一起进行的方式,就是快捷菜单的那个 Download and debug 按钮,找了好久才发现可以直接下载程序,而不调试的方法。
1、首先Use flash loader选项的勾
2、J-Link下载程序后,选择复位方式是,Reset Pin方式,这样下载程序后,就不需要收到复位就能运行了。反正我发现是这样解决的,不知道有没有其他朋友发现其他的解决办法,欢迎留言讨论。
做完以上的配置之后,就可以下载程序到Flash了,如果我们不需要调试的话,就点击Project -> Download -> Downlaod active application 下载程序了,这个是可以直接下载到Flash而不用调试的。
IAR软件等工具百度网盘链接:
链接:https://pan.baidu.com/s/1wVjJAf760TfTmZSQAby00Q
提取码:7os1