新闻  |   论坛  |   博客  |   在线研讨会
linux(ubuntu9.04)安装avr编译环境
mayer | 2009-09-06 11:28:51    阅读:2608   发布文章

linux(ubuntu9.04)安装avr编译环境

1。安装avr的编译环境
    sudo apt-get install gcc-avr binutils-avr avrdude avr-libc

2. 安装下载软件avrdude
   sudo apt-get install avrdude

////////////////////////////////////////////////////////////////////
测试文件rar
/////////////////////////////////////////////////////////////////
///////////其中main.c  简单 有点avr基础就明白,让灯闪//////////////////////////////
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
     unsigned char i;
    DDRC = 0xff;
        i = 0x55;
    while (1)
        {       
        PORTC  = i;
                _delay_ms(500);
        PORTC  = ~i;
        _delay_ms(500);
    }
    return 0;
}
//////////////////////////////////////////////////
解压后 用命令行终端进入
文件列表如下:

输入命令make
-------- begin --------
avr-gcc (GCC) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Compiling C: main.c
avr-gcc -c -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=3686400UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst  -std=gnu99 -Wundef -MMD -MP -MF .dep/main.o.d main.c -o main.o

Linking: main.elf
avr-gcc -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=3686400UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o  -std=gnu99 -Wundef -MMD -MP -MF .dep/main.elf.d main.o --output main.elf -Wl,-Map=main.map,--cref     -lm

Creating load file for Flash: main.hex
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock main.elf main.hex

Creating load file for EEPROM: main.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
    --change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0

Creating Extended Listing: main.lss
avr-objdump -h -S -z main.elf > main.lss

Creating Symbol Table: main.sym
avr-nm -n main.elf > main.sym

Size after:
AVR Memory Usage
----------------
Device: atmega16

Program:     196 bytes (1.2% Full)
(.text + .data + .bootloader)

Data:          0 bytes (0.0% Full)
(.data + .bss + .noinit)



-------- end --------
文件列表:
点击看大图


其中main.hex为烧写文件 main.eep为eeprom文件.

/////////////////////////////////////////////////////////////////////////////////////
如果输入命令make clean
就只是剩下原先两个文件.

///////////////////////////////这儿值得注意的是:特别是windows转linux学习的菜鸟(我是这样),前面没有啥问题:就是怎么将程序下载到avr单片机
我以avrisp下载线为例子
输入make program 则为下载程序到单片机命令,其中怎么实现的呢?
在makefile里面 可以查找到如下:
#AVRDUDE_PROGRAMMER = pony-stk200
AVRDUDE_PROGRAMMER = stk500V2
其中#后面表示注释语句,则pony-stk200和stk500V2表示下载线型号,我用avrisp则是对应stk500V2,要是并口下载线应该是pony-stk200了吧
#AVRDUDE_PORT = /dev/parport0
AVRDUDE_PORT = /dev/ttyUSB0
如果是并口 则要指明是哪个口“parport0”表示并口1吧,具体没有验证(我的机子没有并口)
ttyUSB0指的是usb转串口0号,不想windows下为串口3或者串口几。
如果是电脑自己带的串口则是ttyS0,ttyS1,ttyS2,ttyS3于windows对应为com1,com2,com3,com4
///////////////////////////////////////////////////////////////////////////////////////
至于makefile文件 我用winavr(windows下的)编译的makefile在这儿就能用,这儿有个自动makefile生成文件在ouravr上,记不得网址了.

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客