【问题标题】:Get AVR with gcc running on fedora在 fedora 上运行 gcc 获取 AVR
【发布时间】:2018-01-22 16:22:42
【问题描述】:

我试图解决这个问题几天了,但我找不到任何解决方案。 我给自己买了一台 Atmega88A,我想在 Fedora 上对其进行编程。 我尝试用 gcc 对 C 进行编程,结果很顺利。但是当我试图包含 avr/io.h 时,我总是失败,它没有找到任何东西。我试图获取新版本的 gcc,但这也给了我一个错误。只需下载 avr/io.h 库并在我的文件中的某个位置实现它就足够了吗?或者有什么方法可以一起下载,包括我需要的所有其他库(例如 util/delay.h)

【问题讨论】:

    标签: linux gcc fedora avr atmega


    【解决方案1】:

    您需要使用专门针对 AVR 芯片构建的 GCC 版本,您不能只为您的系统使用普通的 gcc 可执行文件,因为它会生成错误类型的程序。如果您下载了正确配置的工具链,那么像 #include <avr/io.h> 这样的行应该会自动运行,因为工具链的默认包含搜索路径将被正确设置。

    许多 Linux 发行版都提供了一个 avr-gcc 包,您可以使用包管理器安装它,包括 Fedora。您可能必须安装 avr-libc 包才能获得 avr/io.h 标头。

    如果由于某种原因这不起作用,您可以尝试从此页面下载 Microchip 的官方 AVR 工具链:

    http://www.microchip.com/avr-support/avr-and-arm-toolchains-(c-compilers)

    【讨论】:

    • 我自己不使用 Fedora,但很确定他们有 avr-gcc 包fedoraproject.org/wiki/…
    • Fedora 27 示例:可用 "avr-" → avr-binutils avr-gcc avr-gcc-c++ avr-libc dl.fedoraproject.org/pub/fedora/linux/releases/27/Everything/…
    • 谢谢,我试试下载 GCC。当我想下载 gcc-libc 时,似乎一切都失败了。它总是说“发现错误的 C 编译器,检查路径”。但是我刚刚安装了 gcc,这可能是问题所在,gcc 的版本只是错误的吗?那我怎么知道我需要什么?
    • 请编辑您的问题以包含 Fedora 版本。 ...安装“avr”:# dnf install avr-binutils avr-gcc avr-gcc-c++ avr-libc 关于avr/io.h:路径为/usr/avr/include/avr/io.h ... ...(由'avr-libc'提供)。请设置-I/usr/avr/include
    • Jonny:请附上您运行的确切命令及其完整输出,以便我获得有关该错误的更多线索。另外,您安装了哪些 AVR 工具以及如何安装它们?
    【解决方案2】:

    为我解决了这个问题的是这个丢失的包:avr-gcc-c++。运行命令:

    dnf install avr-gcc-c++
    

    修复它。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-24
    • 2018-09-23
    • 2012-08-25
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多