gpt4 book ai didi

linux - AVR-GCC 支持 ATXMega16a4u

转载 作者:太空宇宙 更新时间:2023-11-04 09:44:36 25 4
gpt4 key购买 nike

我有一台 Atmel 的 ATXMega16a4u mcu,并尝试使用 avr-gcc 4.7.2 (Fedora 4.7.2-1.fc17) 编译代码。我收到此错误:

Unrecognized argument in option '-mmcu=atxmega16a4u'

所以我尝试使用 -mmcu=atxmega16a4 编译代码(最后没有“u”)。并得到一些“未声明的”错误:

error: 'ADC_CH_GAIN_DIV2_gc' undeclared (first use in this function)

avr-gcc 还不支持我的微 Controller 吗?是否有可能使其在 Fedora 上运行,避免使用 avr studio(和 windows)?

谢谢长

最佳答案

ATxmega16A4U 是 not supported by AVR-libc .您的 undefined symbol 存在 C 编译器抛出的错误。粗略浏览一下 Atmel 的网站,可以发现这两款微 Controller ATxmega16A4U 和 ATxmega16A4 是不同的设备,最显着的区别在于前者的 USB 接口(interface)。因此,在 avr/io.h 给出的包含文件中找到的一些寄存器描述对于 ATxmega16A4U 将不可用。这个问题的解决方案是创建一个新的头文件,其中包含该微 Controller 的必要定义。这会处理 libc 方面。对于编译器/链接器端,您可能必须修补 gcc 以采用正确的 -mmcu 选项并定义 avr/io.h 一般所需的符号。链接描述文件可能也是必需的,尽管粗略阅读 Atmel 的网站表明两个微 Controller 的内存布局相同,因此最后一步可能不是必需的。

关于linux - AVR-GCC 支持 ATXMega16a4u,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17719688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com