Как перейти от использования Arduino в качестве программиста к внешнему программисту?

12

Вторая часть серии из трех частей о переходе с Arduino на простой микроконтроллер AVR и минимальные вспомогательные компоненты ( часть первая , часть третья )

Я видел, что многие люди спрашивают об этом в Интернете, поэтому здесь идет:

Я уже знаю, как программировать и использовать базовые ATmega328 с Arduino в качестве программиста . Теперь я хочу начать использовать внешний программист с Arduino IDE.

Как мне действовать в этом переходе? Чему я должен научиться? (Было бы неплохо, если бы в качестве ответа был предоставлен мини-учебник для некоторых частей)

Manishearth
источник
2
+1, отличный кандидат на контрольный вопрос, я с нетерпением жду некоторых хорошо структурированных и подробных ответов, за которыми легко следовать новичку, а не ответы «etch-a-board».
Аниндо Гош
Я запутался. Вы хотите шаги, чтобы перейти от одной методологии к другой. Что вы ожидаете в качестве ответа? Учебники для непосредственного использования внешнего программиста - это настоящие учебники.
asheeshr
@AshRj: Переход и запуск заново - это две разные вещи. Если кто-то знает, как использовать Arduino, он должен знать, какие будут различия в различных кодах (и основы использования программиста).
Manishearth
@Manishearth Что вы подразумеваете под «без загрузчика»?
Полярный
@Polar: По сути, я не хочу, чтобы загрузчик Arduino был там, чтобы помочь мне (что происходит, если вы используете Arduino в качестве программиста), я просто хочу голую ATmega, в которой весь код - мой код.
Manishearth

Ответы:

6

Примечание: Этот мини-учебник базируется на официальной информации здесь на сайте Arduino. Это также предполагает использование официальной IDE Arduino.

Примечание 2: ссылки на продукты могут быть либо ссылками Farnell (так как они содержат таблицы данных), либо фактическими страницами продуктов на веб-сайте производителя.


Шаг 1: Получить внешнего программиста

Первое, на что следует обратить внимание, это то, что вам нужен внешний программист, чтобы избежать загрузчика и освободить 1К или 2К памяти, которую он занимает (12,5% от общего объема памяти). Вы можете использовать AVR-ISP , STK-500 или программатор с параллельным портом - официальный сайт Arduino имеет инструкции для этого здесь . Обратите внимание, что вы не можете общаться с платой через параллельный программатор - для этого рекомендуется использовать последовательный кабель. Основным преимуществом использования параллельного программатора является то, что он намного дешевле, чем другие, если вы хотите выполнить некоторую пайку - вам нужно всего лишь несколько (3) резисторов и несколько разъемов, тогда как провайдер может настроить вас на резервное копирование. до £ 30 / $ 50 (конверсионный курс приблизительный).


Шаг 2: Отредактируйте файл настроек Arduino

Далее вам нужно настроить Arduino IDE, чтобы обойти загрузчик. Убедитесь, что у вас нет открытой Arduino IDE! Файл настроек preferences.txtможно найти в следующих местах, в зависимости от вашей операционной системы:

  • C:\Documents and Settings\<Username>\Application Data\Arduino\preferences.txt (Windows)
  • /Users/<Username>/Library/Arduino/preferences.txt (Mac)
  • ~/.arduino/preferences.txt (Linux)

Чтобы перейти к файлу настроек в Windows, перейдите в меню «Пуск» и затем перейдите к %appdata%(примечание: я не пользуюсь Windows регулярно, не стесняйтесь меня поправлять). Затем перейдите к Arduino, а затемpreferences.txt

На Mac либо используйте Terminal, и выполните:

cd ~/Library/Arduino
open .

Или в Finder используйте Goto (Cmd-Shift-G) и введите ~/Library/Arduino. Они оба приведут вас к окну Finder с preferences.txtin.

В системах Unix папки, начинающиеся с '.' (например .cache, .git) по умолчанию скрыты, поэтому в Linux вам нужно будет использовать терминал и ввести:

cd ~/.arduino
nautilus .

Примечание: вы можете заменить наутилус, gnome-open если хотите. Я знаю, что оба они работают над общими версиями Linux, но у вас могут возникнуть проблемы с некоторыми из более «экзотических» версий.

Как только вы нашли preferences.txtфайл, откройте его и измените upload.usingс bootloaderна имя одного из программистов в ./hardware/programmers.txtподкаталоге. Если вы хотите удалить загрузчик только с одной платы, ./hardware/boards.txtвы можете изменить <board>.upload.usingпараметр, и все остальные платы все равно будут использовать загрузчик. Затем просто сохраните соответствующий файл и закройте его (мой Arduino просто разбился, и я почти потерял ответ, возможно, потому что я забыл это сделать).


Шаг 3: Загрузить эскиз

После того, как вы отредактировали соответствующий файл, снова откройте IDE Arduino и загрузите эскиз как обычно. Если вы только что отредактировали ./hardware/boards.txt, то только у этой конкретной платы не будет загрузчика, но если вы отредактировали, preferences.txtто все платы не будут иметь загрузчика.


Шаг 4: заменить загрузчик

Если вы хотите снова установить загрузчик на свои платы (по какой-либо причине), то сначала удалите либо <board>.upload.usingпараметр, либо установите upload.usingобратно bootloader. Затем вам нужно будет снова записать загрузчик на затронутые платы - этот ответ достаточно хорошо объясняет один из способов сделать это, и есть более простой способ загрузить загрузчик Arduino только с помощью Интернет-провайдера (который вы должны были получить ранее) на официальном сайте здесь .

полярный
источник
Я думаю, что я не был ясен, я отредактировал вопрос, чтобы сделать это очевидным: я хотел более или менее полностью отказаться от IDE (что означает, что вам нужно выучить другой язык программирования. Однако, так как вы уже опубликовали ответ, я Я могу просто задать это как отдельный вопрос.
Manishearth
@Manishearth Ах, я отредактирую это, чтобы отразить это, если хотите. Опять же, мы могли бы сделать больше вопросов ...
Полярный
Я спрошу другого, это станет слишком широким, если я
напишу
@Manishearth Хорошо :)
Полярный