Работа с AVRA под Windows
Материал из SEWiki
Версия от 12:45, 13 октября 2015; E.f.suvorov (обсуждение | вклад)
Важно: есть проект WinAVR, обновлявшийся в последний раз в 2010 году. Его ставить не надо! Он не поддерживается и не обновляется. Например, если в установщике поставить галочку "обновить PATH" и системный PATH довольно длинный, то он просто убьётся, надо будет восстанавливать. Вроде бы установщик бэкапит старый куда-то, но я бы на это не надеялся.
- Предполагается, что у вас уже стоит 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).