【发布时间】:2011-11-02 13:05:14
【问题描述】:
我正在为支持 USB 的AVR microcontrollers、LUFA (2011-10-09) 使用开源 USB 库,并且我正在尝试将 CDC(引导加载程序)示例编写到我的AT90USB162 芯片。示例代码位于文件夹 /Bootloads/CDC 中,为为 AT90USB1287 构建 CDC 做好了准备。所以我需要更改 makefile 参数以设置正确的微芯片。
在 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 记帐中?我应该配置更多东西吗?
【问题讨论】:
标签: arduino avr libusb avr-gcc atmel