Arduino был разработан таким образом, что вы можете использовать любую ОС, которую хотите написать свой код, это не повлияет на ваше окончательное приложение на Arduino. Linux, OS X, Windows, все равны относительно компиляции и загрузки с использованием Arduino IDE, поэтому вы можете выбрать тот, который вы предпочитаете. Например, я использую OS X и Linux ежедневно с одинаковыми результатами.
Это работает так, потому что инструменты, необходимые для компиляции кода и загрузки его на Arduino, присутствуют в приложении Arduino IDE. Вам не нужно устанавливать avr-gcc или что-то еще, кроме IDE. Это замечательно для новичков, потому что вы можете сразу закодировать свои приложения. Другая причина, по которой он работает настолько плавно, заключается в том, что Arduino uc сжигается с загрузчиком, который может принимать новый код из Arduino IDE через простой USB-кабель.
Если вы хотите запрограммировать свой собственный uc с помощью Arduino IDE, вам сначала нужно сжечь загрузчик, чтобы ваш чип работал как Arduino, но на самом деле это не Arduino. Вот это учебное пособие: http://arduino.cc/en/Tutorial/ArduinoISP
Перед использованием uc вам нужно проверить, доступен ли для этого uc загрузчик. Вы можете сделать это здесь: board.txt
Еще одна вещь, о которой следует помнить, заключается в том, что, когда ваш проект становится больше, использование Arduino IDE может быть болью в шее, и вы захотите использовать такие вещи, как Makefile и т. Д. ваш любимый редактор кода.
Итак, вкратце, операционная система не является важной частью сейчас. Но если вы создадите более сложные проекты с большим количеством инструментов, я поеду с Linux или OS X, потому что avr-gcc и co. действительно просты в использовании на этих пластинках (и более подробно описаны мной на мой взгляд).
EDIT:
Во-первых, я уточню некоторые понятия:
avr-gcc
является компилятор. Это программное обеспечение, которое принимает ваш код и преобразует его во что-то полезное/исполняемое вашим микроконтроллером Arduino или любым чипом AVR. Он основан на gcc
, известном компиляторе с открытым исходным кодом для C/C++. Поэтому, когда вы используете avr-gcc
, вы используете только gcc
с некоторыми конкретными реализациями.
Вы должны различать две вещи: разработку аппаратного обеспечения и разработку программного обеспечения. Аппаратное обеспечение в основном «делает ваш собственный Arduino с тем, что вам нужно». Программное обеспечение должно знать аппаратное обеспечение, которое должно быть написано, и делать то, что вам нужно. Это похоже на цыпленок или яичный парадокс, но на самом деле это не так: я бы сказал, что оборудование на первом месте.
Итак, если вы начинаете разработку аппаратного обеспечения, я бы посоветовал вам сначала купить Arduino, чтобы изучить концепции. Весь код Arduino является открытым исходным кодом, поэтому вы можете попытаться понять все.
Микросхемы AVR широко используются, поэтому, как только вы узнаете об этом, будет проще попробовать и использовать разные. И даже если вам нужно изменить другой бренд, основы будут одинаковыми, даже если вы не сможете использовать avr-gcc
. Но, чтобы начать с чего-нибудь, иди за Ардуино! :)
Я написал документацию для своего проекта, где я объясняю все более подробно. Он предназначен для 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