Arduino已经开发出来,所以你可以使用任何你想要编写代码的操作系统,它不会影响你在Arduino上的最终应用。 Linux,OS X和Windows在使用Arduino IDE进行编译和上传时都是平等的,因此您可以选择您喜欢的。例如,我每天都使用OS X和Linux,并获得相同的结果。
它的工作原理是这样的,因为编译代码并将其上载到Arduino所需的工具都存在于Arduino IDE应用程序中。您不需要安装avr-gcc或IDE以外的任何其他设备。 这对初学者来说非常棒,因为您可以立即编写您的应用程序。 为什么它可以无缝工作的另一个原因是因为Arduino uc被引导加载程序烧毁,它可以通过简单的USB电缆从Arduino IDE接受新代码。
如果你想用Arduino IDE编程你自己的uc,你首先需要烧录bootloader,这样你的芯片就像Arduino一样工作,但不是真的和Arduino。 这里是一个教程来做到这一点:http://arduino.cc/en/Tutorial/ArduinoISP
在使用uc之前,你需要检查一个引导程序是否可用这个uc。你可以这样做:board.txt
要记住的另一件事是,当你的项目变得更大时,使用Arduino IDE可能是一个痛苦的脖子,你会想使用像Makefiles和东西的东西你最喜欢的代码编辑器
因此,简而言之,操作系统现在不是重要的部分。但是如果你用更多的工具构建更复杂的项目,我会选择Linux或OS X,因为avr-gcc和co。在这些平台上很容易使用(并且我自己的观点更多地记录)。
编辑:
首先,我要澄清一些概念:
avr-gcc
是一个编译器。这是一种将您的代码转换成Arduino微控制器或任何AVR芯片可用/可执行的软件。它基于gcc
,一个着名的C/C++开源编译器。所以当你使用avr-gcc
时,你只是在使用gcc
以及一些特定的实现。
您必须区分两件事情:硬件开发和软件开发。 硬件基本上是“根据你的需要制作你自己的Arduino”。 软件需要知道要写入的硬件并执行所需的操作。它看起来像是鸡还是鸡蛋悖论,但事实并非如此:我会说硬件是第一位的。
所以如果你开始硬件开发,我会建议你先购买一个Arduino来学习这些概念。所有的Arduino代码都是开源的,所以你可以真正尝试理解一切。
AVR芯片被广泛使用,所以一旦你了解了一个,它会更容易尝试和使用不同的。即使您需要更换其他品牌,即使您无法使用avr-gcc
,基本操作也是一样的。 但是要开始某个地方,去Arduino! :)
我为我的项目写了一些文档,我用更多的细节解释了一切。它适用于OS X和Linux,但它会给你一个你需要做什么的好主意。
https://github.com/WeAreLeka/moti/blob/master/INSTALL.md
希望它能帮助!
感谢您的详细解答。你能否也请提供我的疑问 - 如果我使用avr-gcc学习编程概念,那么什么类型的程序或者什么类型的应用程序可以开发?我的意思是说,avr-gcc仅用于Atmel的AVR微控制器编程,或者我学习开发其他微控制器/器件应用程序的好处? avr-gcc编译器从嵌入式系统世界的发展角度出名? 使用Arduino IDE我明白我只能编程Arduino?我可以使用它编程任何其他AVR目标处理器吗? – Prakash
@Prakash哇!对不起,我花了近一年的时间回答:(用'avr-gcc'您可以开发[下列MCU类型]的程序(http://www.nongnu.org/avr-libc/user-manual /using_tools.html)。你不能为其他目标编译你的程序,但是一旦你熟悉了这些工具,在没有相同的学习曲线的情况下跳转到新的东西将非常容易。 ) – ladislas