Linux 下 AVR 开发环境的搭建
本文将简单描述在Debian Linux下搭建AVR8位单片机开发环境的过程,采用CDK4VAR(AVR Cross Development Kit)免费开发工具。我们可以从http://cdk4avr.sourceforge.net/上得到所有关于CDK4AVR的资料。因为我的系统是Debian,所以,我下载的所有安装包均是.deb的安装包格式;安装命令类似于:dpkg -i XXXX.deb。在整个安装过程中cdk4avr会安装在/opt/cdk4avr/路径下。
一、安装
1、cdk-avr-base
在安装cdk-avr-base的过程中,会自动运行脚本来设置cdk4avr的环境变量;在我的电脑上并没有生效,我们可以手动设置也很简单,设置方法如下:在~/.bashrc文件中加入
. /opt/cdk4avr/etc/profile.d/cdk4avr.sh重启系统后,就会自动设置环境变量。
2、cdk-avr-binutils
cdk-avr-binutils中包含的工具常用来操作二进制目标文件。该包中最重要的两个工具就是GNU汇编器as和连接器ld。
3、cdk-avr-gcc
GNU编译器工具集,包括C和C++的编译器。
4、cdk-avr-libc
cdk-avr-libc是AVR 8-bits单片机的C语言标准库。
5、cdk-avr-gdb
GNU Debugger 调试工具。
6、cdk-avr-simulavr
AVR 8-bits单片机模拟器。
7、cdk-avr-avrdude
AVR 8-bits单片机片上memory下载/读取软件。可以用于Flash和eeprom的编程,也可以用于设定fuse和lock位。
8、cdk-avr-uisp
功能和cdk-avr-avrdude软件一样。
9、cdk-avr-avarice
cdk-avr-avarice是JTAG和GDB的连接软件,可用于JTAG仿真AVR单片机。
到此,我们整个AVR单片机的开发环境差不多都搭建好了,我们可以编译一个简单的AVR程序了。
二、编译程序
/*
**********************************************************************************
* 这是一个简单完整的示例
* 功能:发光二极管闪烁
* ledAVR.c
*********************************************************************************/
#include <avr/io.h>
int main(void){
unsigned char i, j, k, led=0;
DDRB = 0x01;
while (1) {
if (led)
PORTB |= 0x01;
else
PORTB |= 0xFE;
led = !led;
for (i=0; i<255; i++)
{
for (j=0; j<255; j++)
k++;
}
}
}
# avr-gcc -mmcu atmega8 ledAVR.c -o ledAVR.o
可以正常生成ledAVR.o文件了。