我为支持 USB 的AVR 微控制器LUFA (2011-10-09)提供了一个开源 USB 库,并且我正在尝试将CDC(引导加载程序)示例编码到我的AT90USB162芯片中。示例代码位于文件夹中/Bootloads/CDC
,为构建AT90USB1287的 CDC 做好了准备。所以我需要更改 makefile 参数以设置正确的微芯片。
在生成文件中,我更改了以下内容:
- MCU = at90usb162
- F_CPU = 16000000
- FLASH_SIZE_KB = 16
- BOOT_SECTION_SIZE_KB = 4
并构建了代码。这发生时没有错误,但是当我尝试使用 .hex 文件刻录芯片时,它返回消息:
地址超出范围
为什么会发生这种情况?
更新
在makefile
中,BOOT_START
配置为:
BOOT_START = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc)
也许错误会出现在 BOOT_START 记帐中?我应该配置更多东西吗?