好久没有发文章了,近期有点忙。
这几天临时接到一个使用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
按照安装说明就可以顺利的安装下来了。
先添加几个文件:
Drive文件夹,里面在添加inc文件夹,用于存放外设驱动的头文件。src文件夹用于存放外设的实现。
User文件夹,里面在添加inc文件夹,用于系统配置的一些头文件。src文件夹存放一个main.c文件
这些文件夹的设置,可以按照自己的习惯配置就好了。
看一下目录树:
里面我就不展开了。
同样的方法:
同样的方法要构建这样的目录树:
以后添加任何的文件,都是这样的方法。
#include
#include
#include "conf.h"
void main(void)
{
PORTE &= ~(1 << 4);
DDRE |= (1 << 4);
while(1)
{
PORTE ^= (1 << 4);
delay_ms(500);
}
}
选择我是用的128A
然后编译链接
没有报错。
但是尴尬的事情发生了,直接烧写 debug,hex文件烧写不到板子里面去,
但是生成的hex文件是没有问题的,我是用Atmel Studio 把这个hex文件顺利的烧写到了板子里面去了,功能也实现了。但是用IAR怎么就烧写不进去呢,我在网上了好久的资料,貌似都没有说这个问题的,要是大家有实现过的,麻烦不吝赐教,谢谢了。
但是就是这样的一个配置,我感觉开发起来就顺心多了,我是用IAR开发生成hex文件,使用Atmel Studio 烧写一些程序,其实也还是不错的。不过下一步,我将再看看这个到底是什么原因导致的,不能烧写和debug。
需要项目模板文件的,请私信我: