用AVRstudio+win_gcc生成二进制bin文件的方法
首先用avr-studio新建工程 并编译一遍 这时产生的文件 有.hex .lss .eep 等文件
然后从“工程”->“配置选项”里的常规选项里 选择 使用外部的Makefile 然后选择 工程目录里的 default(如果你的工程输出文件夹是在这的话)里的Makefile
然后 工程文件列表的 其他文件夹里就多了个Makefile
双击Makefile编辑
找到下面这行
## Build
all: $(TARGET) test.hex test.eep test.lss size (我工程名是test 你的可能不同)
修改为
## Build
all: $(TARGET) test.hex test.eep test.lss test.bin size
然后找到下面的位置
##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)
%.hex: $(TARGET)
avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@
%.eep: $(TARGET)
-avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0
%.lss: $(TARGET)
avr-objdump -h -S $< > $@
在后面添加两行 使其变为这样
##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)
%.hex: $(TARGET)
avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@
%.eep: $(TARGET)
-avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0
%.lss: $(TARGET)
avr-objdump -h -S $< > $@
%.bin: $(TARGET)
avr-objcopy -O binary -R .eeprom $< $@
保存 再编译 编译出来的文件就多了个.bin文件 这个就可以直接用bootloader下了
然后从“工程”->“配置选项”里的常规选项里 选择 使用外部的Makefile 然后选择 工程目录里的 default(如果你的工程输出文件夹是在这的话)里的Makefile
然后 工程文件列表的 其他文件夹里就多了个Makefile
双击Makefile编辑
找到下面这行
## Build
all: $(TARGET) test.hex test.eep test.lss size (我工程名是test 你的可能不同)
修改为
## Build
all: $(TARGET) test.hex test.eep test.lss test.bin size
然后找到下面的位置
##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)
%.hex: $(TARGET)
avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@
%.eep: $(TARGET)
-avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0
%.lss: $(TARGET)
avr-objdump -h -S $< > $@
在后面添加两行 使其变为这样
##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)
%.hex: $(TARGET)
avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@
%.eep: $(TARGET)
-avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0
%.lss: $(TARGET)
avr-objdump -h -S $< > $@
%.bin: $(TARGET)
avr-objcopy -O binary -R .eeprom $< $@
保存 再编译 编译出来的文件就多了个.bin文件 这个就可以直接用bootloader下了