首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LUFA为AT90USB162编写一个示例

LUFA为AT90USB162编写一个示例
EN

Stack Overflow用户
提问于 2011-11-02 13:05:14
回答 1查看 2.8K关注 0票数 4

我有一个支持USB的AVR微控制器卢法 (2011-10-09)的开源USB库,我正在尝试将CDC (一个引导加载程序)示例编码到我的AT90USB162芯片上。示例代码位于文件夹/Bootloads/CDC中,并为构建用于AT90USB1287的CDC做好了准备。因此,我需要更改makefile参数来设置适当的微芯片。

在makefile中,我更改了以下内容:

  • 微控制器= at90usb162
  • F_CPU = 16000000
  • FLASH_SIZE_KB = 16
  • BOOT_SECTION_SIZE_KB =4

并建立了密码。这没有发生错误,但是当我试图用.hex文件烧录芯片时,它返回消息:

地址超出范围

为什么会发生这种事?

更新

makefile中,BOOT_START配置为:

代码语言:javascript
复制
BOOT_START = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc)

也许在BOOT_START会计中会出现错误?我应该配置更多的东西吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-03 10:05:46

根据at90usb162数据表的第239页,对于4Kb的引导加载程序,熔断BOOTSZ0和BOOTSZ1需要为0。你查过这个了吗?您还需要检查at90usb1287和at90usb162之间是否匹配其他东西(比如BOOT_START和其他东西)。如何将新的引导加载程序刻录到AVR中?你是否有一个合适的程序员,或者你试图用嵌入式USB引导加载程序来完成它?

刚刚从@avra评论中补充@avra的回答

在现有的引导加载程序之上存储另一个引导加载程序是不可能的。现在就得到它?;-)这是引导加载程序的限制区域,这就是为什么它会为您失败。引导加载程序无法自行覆盖它。您需要其他类型的程序员,这是不附带此限制的。所有带有引导加载器的AVR都需要使用这种特殊类型的程序员进行初始编程(JTAG/ISP/SPI/PDI程序员)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7980808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档