IAR Embedded Workbench for Atmel AVR 6.10 环境配置

2019-08-07 20:42发布

好久没有发文章了,近期有点忙。

这几天临时接到一个使用ATmega128a作为控制器的小项目,ATmega128a属于AVR系列单片机,先说说开发工具的选择和环境的配置。

对于AVR系列单片机开发工具有很多,诸如:ICC for AVR、Atmel Studio、IAR for AVR 等我都系统的配置了一遍,说实话对比之下还是IAR好用,没有之一,可能是我以前在做ARM的时候一直用IAR,所以感觉现在也是它好用。谁用谁知道。

下面就说来说说IAR Embedded Workbench for Atmel AVR 6.10 环境的搭建和配置。

这是在网上搜到的IAR6.10 for AVR的破解版文件:里面有安装包、和谐方法、安装说明。现整理如下:https://pan.baidu.com/s/1uZtyL3kkqQ8DJkB_3NPN5Q 提取码:25to

按照安装说明就可以顺利的安装下来了。

工程的建立和配置

  • 首先在桌面上建立一个文件夹,且命名为:IAR6.1 for ATmega128a-demo-code用来来存放我们的code。
  • 打开IAR。

99a830dda56744fb9b0023e14fba95865f06e7c004124c7195cc264313800c2b

cd1ae536859144eaba8a573a2683c235d6745daed17f4dd982239bcf5c48c708

2c9745f81e2940f0be55a17678f50557f1eab04510a745c78adb9e0eb16c6192

  • 然后打开桌面上的文件夹,应该是这样的

d7079b136fb94aeaa8289f2d4b08ed7f

先添加几个文件:

Drive文件夹,里面在添加inc文件夹,用于存放外设驱动的头文件。src文件夹用于存放外设的实现。

User文件夹,里面在添加inc文件夹,用于系统配置的一些头文件。src文件夹存放一个main.c文件

这些文件夹的设置,可以按照自己的习惯配置就好了。

看一下目录树:

6c9f0026582a4962910ee0f79ae64a05

里面我就不展开了。

  • 继续配置IAR这边

d01a22c75d22407f8eaa8681be3a44b3

373a241eb6f74953b65d447ae3ebb63d

同样的方法:

d0266c1895634591b35cf73257e8ad90

ca8d9bb9c45f4903ad02f4b485d2eb7a

同样的方法要构建这样的目录树:

2d9bb3b3d0f24221a3e2048cbcf781fe

  • 把main文件添加到工程

15d08b9c61be4fddbe96decc1ba30277

以后添加任何的文件,都是这样的方法。

  • 向mian.c里面添加一个简单的测试用例:
#include 
#include 
#include "conf.h" 
void main(void)
{
 
 PORTE &= ~(1 << 4);
 DDRE |= (1 << 4);
 while(1) 
 {
 PORTE ^= (1 << 4);
 delay_ms(500);
 }
	 
}

编译器的设置

  • 左击项目文件

6153209b0c984511881003267cba67ac

选择我是用的128A

e187ec2294d742a0828848ec62ea7a16

24398dfdc3b64eca8419308a49509936

  • 添加头文件的编译路径

c745e21514104b7abb1afef39a230792105c03ec9220458695a68649546ba8d6

然后编译链接

f8d8db687c574184b48565ec6d6858f0

没有报错。

烧写 调试

但是尴尬的事情发生了,直接烧写 debug,hex文件烧写不到板子里面去,

但是生成的hex文件是没有问题的,我是用Atmel Studio 把这个hex文件顺利的烧写到了板子里面去了,功能也实现了。但是用IAR怎么就烧写不进去呢,我在网上了好久的资料,貌似都没有说这个问题的,要是大家有实现过的,麻烦不吝赐教,谢谢了。

但是就是这样的一个配置,我感觉开发起来就顺心多了,我是用IAR开发生成hex文件,使用Atmel Studio 烧写一些程序,其实也还是不错的。不过下一步,我将再看看这个到底是什么原因导致的,不能烧写和debug。

需要项目模板文件的,请私信我:

0546d3cd85914ea9ba8b2e94ea90bdb4