USnooBie: руководство по использованию |
![]() |
Добавил(а) microsin |
В статье приведено краткое описание, как работать с платой USnooBie. [Загрузка кода] На видео показан процесс установки напряжения питания с помощью перемычки, и активизация бутлоадера для загрузки программы пользователя в память микроконтроллера. Для запуска бутлоадера удерживайте кнопку активизации бутлоадера BOOT, и затем нажмите и отпустите кнопку сброса RST, и затем отпустите удерживаемую кнопку BOOT. Бутлоадер запустит USB-устройство, которое компьютер увидит как программатор USBasp, так что теперь Вы можете использовать его для загрузки кода основной программы через утилиту AVRDUDE. Обычная команда AVRDUDE выглядит наподобие следующей, она загружает hex-файл в память flash микроконтроллера: avrdude -c usbasp -p atmega328p -U flash:w:filename.hex Бутлоадер не поддерживает работу с фьюзами (перемычки, fuse-bits), что предотвращает "повреждение" бутлоадера. Внимание: если увидите ошибку наподобие "avrdude: error: usbasp_transmit: usb_control_msg: sending control message failed, win error: A device attached to the system is not functioning.", то игнорируйте её. Такая ошибка происходит всегда, когда бутлоадер завершает свою работу и делает безусловный переход на загруженный код программы пользователя (по адресу 0). При этом он не подтверждает команду которая поступила перед переходом, переход происходит немедленно, из-за чего и происходит ошибка. Нельзя исправить это поведение, чтобы перед переходом посылалось подтверждение, так как имеются ограничения на размер кода бутлоадера - он может не поместиться в специально отведенную для него область памяти bootloader memory section. Если у Вас нет опыта работы с AVRDUDE, см. собрание учебников по AVR [1]. Для работы бутлоадера USBaspLoader нужна установка драйвера USBasp, который Вы можете найти и загрузить по ссылке [2]. [Переключение напряжения на шине питания] Для переключения напряжения питания USnooBie между уровнями 5V или 3.3V имеется специальная перемычка, которую можно поставить в одно из двух соответствующих положений (см. фото). Положения перемычки снабжены пояснениями в маркировке на нижней стороне печатной платы. [Важные замечания по использованию портов] Вам нужно использовать ножки портов PORTD2 или PORTD7? К сожалению, эти ножки заняты сигналами шины USB (см. принципиальную схему USnooBie [3]). PORTD2 подключен к USB D+ и PORTD7 подключен к USB D- (убедитесь, что Ваш файл usbconfig.h имеет соответствующие установки, если Вы используете библиотеку V-USB для создания USB-устройств). Если Вы подключите что-нибудь постороннее на эти порты, то это может повлиять на работу шины USB (и может перестать работать бутлоадер). [С чего начать] Чтобы начать делать свои устройства USB, посетите [1]. Как использовать USnooBie в среде программирования Arduino, см. [4]. [Ссылки] 1. Quickstart Tutorial for ATMEL AVR Microcontrollers site:imakeprojects.com - пошаговое руководство для новичка по программированию AVR (быстрый старт). |