Arduino IDE的完整替代品?[关闭]


50

我并不喜欢正式的Arduino IDE(就视觉效果而言),因此我开始寻找更好的替代品。但是,我发现的大多数项目都在alpha / beta中,并且通常是不完整的。

我是100%熟悉电路板编程的人,并且以前从未使用过Arduino,但是从我的收集中可以看到,Arduino IDE只是avr库的包装器,它可以实际编写电路板。其他“类arduino设备” IDE可能吗?

同样,我对此很陌生,所以用户友好性会很好。


20
天哪 我已经习惯了功能齐全的IDE,从诸如Wing IDE(用于Python)或Visual Studio之类的东西到Arduino人们乐于称呼“ IDE”的东西,就像被打在脸上一样。最重要的是,Arduino构建过程的很大一部分是在java源代码中完成的,而不是让它做一些有意义的事情,例如发出makefile,因此管理您自己的构建过程是一场噩梦。
康纳·沃尔夫,

1
我已经将Eclipse与Arduino结合使用(请查看arduino.cc/playground/Code/Eclipserobertcarlsen.net/2009/10/31/arduino-in-eclipse-989,它的效果非常好-快速,简洁,快捷捷径)唯一的缺点是第一次设置可能需要一段时间:)
丹,

2
如果您在TextMate,avr-libc,make和screen之前已经完成了任何编程,则已经足够。我认为自己是AVR编程的初学者,但这就是我所使用的一切。一开始的数据手册阅读令人困惑。
tuupola 2011年

@VisualMicro不,它不是唯一完整的选择。请参阅下面有关Stino的评论。
Marnen Laibow-Koser

1
Arduino for Visual Studio ProAtmel Studio 6.1插件是Arduino Ide的完整替代品,支持标准或自定义硬件,编译,上传,自举程序烧录,程序员,专家模式库编辑,多个串行监视器,Intellisense和许多其他选项适用于新手和高级用户。安装不到10分钟。还包括Arduino示例资源管理器和可选的Arduino USB调试器
Visual Micro

Answers:


44

警告,即将进行广泛的解释。我想清除一些我认为您有的误解。

Arduino实际上是两件事。

  1. 用avr-gcc和
  2. 一个小的引导程序固件程序,该程序先前已在工厂编程到芯片上。

是的,Arduino IDE基本上包装了avr-gcc-AVR C编译器。您的项目或“草图”包含了提到的Arduino库,并使用avr-gcc进行了编译。但是,这些都与如何将任何内容写入板无关。这些草图的部署方式与往常有所不同。

Arduino IDE通过板上的USB到串行芯片与Arduino通信,并初始化引导加载程序能够理解的编程模式,并将您的新程序发送到芯片,引导加载程序会将其放在某个已知位置,然后运行它。没有“ avr库可以完成实际的编写”-只是Arduino IDE打开一个串行端口并与引导加载程序进行通讯-这也是在运行时将调试消息打印到IDE的方式。

任何其他IDE都必须能够与引导加载程序进行相同的串行通信。Arduino很容易,因为它们已经为您提供了所有库,并且可以通过IDE一键式运行程序。老实说,我认为它不会变得更容易或更友好。他们已经抽象了AVR微控制器的所有细节以及构建/部署过程。

另一种选择是类似avr-studio(它的编译器也使用avr-gcc)和一个ICSP编程器(这是您必须购买的附加硬件)。除了一些寄存器定义头文件和一些有用的宏之外,没有提供其他任何东西。您的AVR芯片上也没有提供任何引导程序,只是空白。您想对微控制器做任何事情,就必须深入了解其硬件外设和寄存器,并在C中移动字节。是否要将调试消息打印回PC?首先为print()编写UART例程,然后在计算机上打开一个终端。

与之相比,您需要在文本编辑器中编写代码,并从Makefile或命令行调用avr-gcc和avr-dude(编程命令行工具),才能做到这一点。

再往下走,您将在文本编辑器中编写汇编,并调用avr-assembler和avr-dude。

我不确定该怎么做,我只是认为现有的IDE和Arduino绝对是天才,非常适合初学者-他们成名的说法用户友好。也许不是您要找的答案,请学习工作流程并使其变得很酷。


2
这不是我期望的答案,但确实使我对设备的理解更加清晰。谢谢
n0pe 2011年

4
arduino IDE实际上是件事。C(++)库,一块硬件和一堆Java代码,这些代码在编译时就以某种方式将这些库粘贴到您编写的代码中。
康纳·沃尔夫,

21
Arduino的构建过程巨大的。但是,(目前)它已不可撤销地绑定到了Arduino大量的废话文本编辑器上。我相信OP希望(而且我也不介意)的是一种从另一个IDE调用arduino构建过程的方法。到目前为止,执行Arduino构建的唯一方法是单击IDE中的按钮。这不是脚本。
康纳·沃尔夫,

6
这个答案有点错误。arduino ide不提供自己的功能,可以通过引导加载程序在芯片上进行上传,而是使用称为avrdude的命令行工具来执行此操作。与avr-gcc一样,avrdude也不是arduino产品,可以完全供其他IDE或简单的Makefile使用。
克里斯·斯特拉顿

1
@ChrisStratton,随时进行编辑以纠正错误/无知。
乔恩·L


10

我使用SublimeText作为主要的文本编辑器,所以我很高兴找到Stino,它是SublimeText的Arduino插件。它是Arduino IDE的完整替代品(尽管您确实需要Arduino IDE的副本,以便Stino可以找到库)。它有一些错误,但相当有用。自发现Stino以来,我几乎没有接触过Arduino IDE。


@clabacchio当我得到赞美但没有投票赞成时,我通常会认为人们不熟悉投票概念。而且我没有举报任何内容,所以我不知道您在说什么。
Marnen Laibow-Koser

抱歉,我在该评论上有一个标记,出于某种原因,我认为这是您标记自己的帖子。没关系:)
clabacchio

3
我只想在这种情绪上再加一个声音。SublimeText非常好,这个Stino附加组件是真正的交易。
史蒂夫·库利

2
这绝对是很棒的。我已经使用了sublime文本,这意味着我可以完全放弃arduino应用程序。
康纳·沃尔夫

还有Atom 的mcduino
Marnen Laibow-Koser'1



4

我个人建议(因为我写了它;))UECIDE。它最初是基于MPIDE的chipKIT板,它本身是基于Arduino IDE的0023版,但是现在剩下的原始代码已经不多了,都已被重新编写。

它支持所有Arduino板,以及chipKIT板,Launchpad,Maple以及整个主机。

在此处输入图片说明


看起来很有希望...
奥尔塔2014年

从那时起,UECIDE已经走了很长一段路。您应该查看最新的Beta版本...
Majenko '18

4

另外,您可以尝试使用基于浏览器的在线Arduino IDE,例如Codebender


整齐!那些看起来值得一玩。
Marnen Laibow-Koser

+1,告诉我们有关Codebender的信息。但是,您可以解决Wifino链接上的404错误吗?
davidcary

@davidcary:更新的答案,谢谢您的注意。
boardbite

4

插件图片
(来源:visualmicro.com

免费的Microsoft Visual Studio和Atmel Studio插件易于使用,并具有Arduino IDE的所有有用功能。

草图代码仍与Arduino Ide完全兼容。该插件使用与Arduino Ide相同的构建过程和工具链。您可以选择要在项目中使用的Arduino Ide版本。

提供许多附加功能,例如,深入分析编译器错误,分解视图(具有深入分析),代码完成,通过程序员或Usb上传。

在单个Ide中支持多个Arduino版本。Visual Studio版本还支持Intel Galileo。

两种Ide均支持Arduino Yun Wifi / Web服务器上传。还有一个可选的USB /串行/ WiFi Arduino调试器

Atmel Studio基于Visual Studio。Atmel Corp.是制造Arduino微控制器的公司。这意味着Atmel Studio Ide知道并适用于Arduino微控制器。

Atmel Studio还提供了其他工具,例如模拟器。

文档和免费论坛


3

最近,我从Arduino IDE的笑话切换为code :: blocks-arduino。它更适合于具有多个源文件的更复杂的项目。您可以完全控制编译器标志,构建目标以及许多其他事情,这些事情在官方IDE中可能丢失或编写不正确。它的操作与eclipse插件非常相似,但不如eclipse code :: blocks-arduino a独立构建。它带有一些有用的上载和调试工具,例如SUPER COOL和USEFUL串行监视器,具有一些非常不错的功能,例如直接i2c(twi,无论您要称呼什么)调试,串行捕获和csv输出等。

已针对Windows进行了编译,并提供了Linux资源 http://www.arduinodev.com/codeblocks/

MariaMole是“中间”方法,不幸的是,它仅用于Windows,但具有官方IDE的许多简单性,但具有“经典” IDE的许多功能。两者之间的显着区别是MariaMole使用.cpp和.h文件,而code :: blocks-arduino使用.ino就像官方的IDE。

仅限于Windows;( http://hackaday.com/2012/11/29/mariamole-an-alternate-arduino-ide-aimed-at-advanced-users/


2
对于这里进行的所有Arduino IDE抨击,人们都忘记了“ Arduino”(IDE,bootloader / libs,HW)的目标是“愚弄”那些初学者!为此,Arduino做得很好。但是,一旦人们毕业于最初的“舔糖果”阶段(像大多数人一样),avr-gcc,avr-libc,makefile,simavr,gdb和简单的编辑器(例如nano,vi甚至emacs)就可以给与工作带来无尽的乐趣。 Arduino。或者,在其自行设计(或至少组装)的板上使用普通的裸机AVR 8位uC。因此,Code :: blocks也许是一个不错的选择,但还是众多选择之一。
icarus74

问题不在于Arduino IDE简单易用。没关系。问题在于它的UI设计不良。像Stino这样的替代方案很简单,但是具有更好的UI。(我指的是2013年的Arduino UI。此后似乎有所改进。)
Marnen Laibow-Koser

2

Jon L:s anser很好地总结了Arduino,并且由于他只是谈到了替代方案,因此我可以进一步阐明它们。

  1. 带有引导加载程序的Arduino。
  2. 装有avr-studio和WinAVR(gcc)的 Windows PC ,可能还带有用于刷新设备的jtag(AVR JTAGICE mkII
  3. 使用WinAVR和AVR JTAGICE mkII的gnu工具链(在Linux或Windows上)。

但是请注意,就像乔恩·L所说的那样,alt1很简单,因为它可以从您的脸上去除大部分东西。打开一个LED,在库中调用turnOnLED函数。

Alt2。您可以获得有关该芯片和更经典的IDE的帮助,但您必须自己做大多数事情。

Alt3。您必须尽自己所能,但要在环境中发挥最大的作用。

因此,现在您可以选择要进行哪种开发,使用AVR的好处之一是,像jtag这样的工具价格实惠,因此无论您使用什么级别,它都是一个非常便宜的平台。

而且由于它是Arduino上的AVR,因此如果它们具有jtag连接器,则可以在Arduino板上使用alt1,2和3。


2

您可以使用emacs(或类似方法)编写代码,并进行构建和部署。arduino软件包附带了makefile示例和用于完成所有操作的存根。



2

Eclipse是一个很好的选择,现在有了eclipse插件,您可以在eclipse.baeyens.it上找到它,它在Windows mac和linux上的安装时间不到15分钟。它甚至有一个串行监视器。


2

您确实需要单独的东西:

  1. 代码编辑器。
  2. 工具链和编译器。
  3. 引导程序。

标准的多合一Arduino IDE带有一个疯狂的基本编辑器,您很快就会厌倦了。我建议先更换编辑器,然后继续从基本软件包中回复步骤2和3。

一旦您准备好冒险,请参阅 http://playground.arduino.cc/Main/DevelopmentTools ,了解可以承担所有三个主要功能的工具。


主要编辑人员正在缓慢添加Arduino支持,例如,请参见youtrack.jetbrains.com/issue/CPP-364
Bryce

1

Dan所说的(在对问题的评论中):Eclipse是一个功能齐全的IDE,可以与Arduino很好地兼容。(不过,第二个也是他的设置注释)。但是,最简单的设置方法可能是将其他人的有效安装移植到您自己的计算机上以获取有效的配置,然后从那里开始进行调整。


0

我一直在使用这个Makefile。它会为您处理大部分过程。然后,您只需编写一个简单的本地makefile即可提供特定于主板的详细信息。关于如何使用它,确实有很棒的文档。然后,我仅使用首选的文本编辑器来编写C或C ++代码,并使用简单的本地makefile对其进行编译。上载也由我链接的makefile处理:只需调用“ make upload”即可。

这是一个很好的解决方案,因为您可以使用所需的任何文本编辑器。它使您可以轻松地链接所有arduino库以及您拥有的任何本地库。


-1

这是我发现的快速,灵活的旧想法。它可以对Arduinos进行编程,也可以对Paperduino或tinyUSB等Arduino克隆进行编程。您还可以通过简单的方法检查USB或串行端口,测试保险丝和许多其他东西。

https://code.google.com/archive/p/avr-project-ide/


这不是一个特别好的建议-自2011年以来该项目就没有更新过,并且不能与许多更新的Arduino品牌的板一起使用。(特别是,它将不支持任何ATmega32U4开发板,例如Arduino Leonardo或Micro,也不支持ARM开发板,例如Arduino Due或Zero。)
duskwuff
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.