Работа с AVRA под Windows — различия между версиями
Материал из SEWiki
(Новая страница: «Важно: есть проект WinAVR, обновлявшийся в последний раз в 2010 году. Его ставить '''не надо'''! О…») |
|||
| (не показаны 2 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
Важно: есть проект WinAVR, обновлявшийся в последний раз в 2010 году. Его ставить '''не надо'''! Он не поддерживается и не обновляется. Например, если в установщике поставить галочку "обновить PATH" и системный PATH довольно длинный, то он просто убьётся, надо будет восстанавливать. Вроде бы установщик бэкапит старый куда-то, но я бы на это не надеялся. | Важно: есть проект WinAVR, обновлявшийся в последний раз в 2010 году. Его ставить '''не надо'''! Он не поддерживается и не обновляется. Например, если в установщике поставить галочку "обновить PATH" и системный PATH довольно длинный, то он просто убьётся, надо будет восстанавливать. Вроде бы установщик бэкапит старый куда-то, но я бы на это не надеялся. | ||
| − | # Предполагается, что у вас уже стоит bash | + | Теперь работающий на Windows 7 алгоритм: |
| − | # Ставим [https://www.arduino.cc/en/Main/Software Arduino Studio]. Отсюда возьмём | + | # Предполагается, что вы работаете с архивом примеров от Михаила Юрьевича. |
| − | # В комплекте используемого нами ассемблера AVRA нет. Он берётся в исходниках [http://sourceforge.net/projects/avra/files/ здесь] и собирается при помощи MinGW. Я у себя на компьютере собрал, можно скачать [[Медиа:avra.zip|тут]]. | + | # Предполагается, что у вас уже стоит bash, make, tail, awk и прочие утилиты (в противном случае как вы вообще живёте?). Некритично, при желании можно написать примерно то же самое и на батниках. |
| − | # | + | # Ставим [https://www.arduino.cc/en/Main/Software Arduino Studio]. Отсюда возьмём <code>avrdude</code> и драйвера (всё должно встать автоматически). |
| + | # В комплекте используемого нами ассемблера AVRA нет. Он берётся в исходниках [http://sourceforge.net/projects/avra/files/ здесь] и собирается при помощи MinGW. Я у себя на компьютере собрал, можно скачать [[Медиа:avra.zip|тут]]. Стоит добавить в PATH. | ||
| + | # Теперь должна работать сборка hex-файлов. | ||
| + | # Добавьте в PATH папку с avrdude (у меня - <code>C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\</code>) и папку с <code>avrdude.conf</code> (у меня - <code>C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\</code>). | ||
| + | # Добавляем следующие строки в начало скрипта detect.sh (после shebang): | ||
| + | <pre> | ||
| + | if [ "$OS" == "Windows_NT" ]; then | ||
| + | port=$(wmic PATH Win32_SerialPort WHERE "Caption LIKE '%arduino%'" GET DeviceID | tail -n +2 | awk '{ print $1; }') | ||
| + | if [[ $port == COM* ]]; then | ||
| + | echo $port | ||
| + | exit | ||
| + | else | ||
| + | echo Unable to detect COM port | ||
| + | exit 1 | ||
| + | fi | ||
| + | fi | ||
| + | </pre> | ||
| + | Альтернативный способ - зайти в диспетчер устройств и посмотреть номер COM-порта у подключённой Arduino в соответствующем поддереве, а потом | ||
| + | захардкодить его в скрипт. | ||
| + | |||
| + | Теперь должен работать и <code>upload.sh</code> (при подключённой Arduino). | ||
Текущая версия на 12:46, 13 октября 2015
Важно: есть проект WinAVR, обновлявшийся в последний раз в 2010 году. Его ставить не надо! Он не поддерживается и не обновляется. Например, если в установщике поставить галочку "обновить PATH" и системный PATH довольно длинный, то он просто убьётся, надо будет восстанавливать. Вроде бы установщик бэкапит старый куда-то, но я бы на это не надеялся.
Теперь работающий на Windows 7 алгоритм:
- Предполагается, что вы работаете с архивом примеров от Михаила Юрьевича.
- Предполагается, что у вас уже стоит bash, make, tail, awk и прочие утилиты (в противном случае как вы вообще живёте?). Некритично, при желании можно написать примерно то же самое и на батниках.
- Ставим Arduino Studio. Отсюда возьмём
avrdudeи драйвера (всё должно встать автоматически). - В комплекте используемого нами ассемблера AVRA нет. Он берётся в исходниках здесь и собирается при помощи MinGW. Я у себя на компьютере собрал, можно скачать тут. Стоит добавить в PATH.
- Теперь должна работать сборка hex-файлов.
- Добавьте в PATH папку с avrdude (у меня -
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\) и папку сavrdude.conf(у меня -C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\). - Добавляем следующие строки в начало скрипта detect.sh (после shebang):
if [ "$OS" == "Windows_NT" ]; then
port=$(wmic PATH Win32_SerialPort WHERE "Caption LIKE '%arduino%'" GET DeviceID | tail -n +2 | awk '{ print $1; }')
if [[ $port == COM* ]]; then
echo $port
exit
else
echo Unable to detect COM port
exit 1
fi
fi
Альтернативный способ - зайти в диспетчер устройств и посмотреть номер COM-порта у подключённой Arduino в соответствующем поддереве, а потом захардкодить его в скрипт.
Теперь должен работать и upload.sh (при подключённой Arduino).