用AVRstudio+win_gcc生成二进制bin文件的方法

时间:2021-07-19 11:47:38
首先用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下了