几天来一直在尝试构建这个引导加载程序。
https://github.com/ahtn/kp_boot_32u4
Windows pc,在mingG下,安装WINavr和Python。
我坚持创建精灵文件......
Linking: build/default-atmega32u4/kp_boot_32u4-1024-default-atmega32u4.elf
avr-gcc -mmcu=atmega32u4 -I. -Isrc -Wno-error=unused-function -DBOOT_SIZE=BOOT_SIZE_10 -DCHIP_ID=CHIP_ID_ATmega32U4 -g -DUSB_VID=0x1209 -DUSB_PID=0xBB05 -DF_CPU=16000000UL -DF_USB=UL -DBOARD=BOARD_default -DARCH=ARCH_AVR8 -D ____ -Os -fno-strict-aliasing -Wstrict-prototypes -Wa,-adhlns=build/default-atmega32u4/kp_boot_32u4-1024-default-atmega32u4.elf -std=gnu99 -Wall -Werror -MMD -MP -MF build/default-atmega32u4/obj/.dep/kp_boot_32u4-1024-default-atmega32u4.elf.d build/default-atmega32u4/obj/usb/device_descriptors.o build/default-atmega32u4/obj/main.o build/default-atmega32u4/obj/usb.o build/default-atmega32u4/obj/spm.o --output build/default-atmega32u4/kp_boot_32u4-1024-default-atmega32u4.elf -T ./ld_scripts/avr5.xn -Wl,--section-start=.text=0x7c00 -Wl,--section-start=.boot_extra=0x7ff0 -Wl,--undefined=.boot_extra -Wl,-Map=build/default-atmega32u4/kp_boot_32u4-1024-default-atmega32u4.map,--cref -Wl,--gc-sections -flto
./ld_scripts/avr5.xn:18: nonconstant expression for length
make: *** [avr-makefile/avr.mk:253: build/default-atmega32u4/kp_boot_32u4-1024-default-atmega32u4.elf] Error 1
我上传了一个 palou elf 到 build 文件夹,制作过程完成。经过一番研究,我看到许多其他人得到了错误,但想知道是否有另一个版本的 avr-gcc 我可以使用?老实说,我对这一切都很陌生,所以可能咬得比我能咀嚼的多(锁定思维活动)
……
**__DATA_REGION_LENGTH__ = DEFINED(__DATA_REGION_LENGTH__) ? __DATA_REGION_LENGTH__ : 0xffa0;**
......
并导致内存部分出错...
MEMORY
{
text (rx) : ORIGIN = 0, LENGTH = __TEXT_REGION_LENGTH__
data (rw!x) : ORIGIN = 0x800060, LENGTH = __DATA_REGION_LENGTH__
谢谢米