原创
linux(ubuntu9.04)安装avr编译环境
1。安装avr的编译环境 sudo apt-get install gcc-avr binutils-avr avrdude avr-libc 2. 安装下载软件avrdude sudo apt-get install avrdude //////////////////////////////////////////////////////////////////// 测试文件https://static.assets-stash.eet-china.com/album/old-resources/2009/9/2/dbc948d7-deb2-42fd-a7c4-b3478fa485d6.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上,记不得网址了.
关闭
站长推荐
/2
用户305835 2010-10-17 18:11
tengjingshu_112148725 2009-9-3 08:44