Оно вообще как то странно работает.. то сохраняет, то не сохраняет проекты... раз тут целый день возился.. потом обнаружил пустой файл... начал тупа делать копии в текстовый файл всего кода что за день написал... иначе какие то не предсказуемые ситуации получаются :(
Подыму тему, а то, смотрю все на visualmicro скатились. Просто вчера дошли руки, прикрутил к Atmel Studio 6.1 ядро от ArduinoIDE 1.0.5, правда за неимением программатора, который понимает Atmel Studio, шил через обычный arduino загрузчик.
В двух словах.
Ссылки на статью, которой я пользовался (это ТРИ части, нужно выполнить их все) (UPDATED 12.01.2016):
Подключал я это всё для своей ATmega16A на пинбоарде 2.2, потому у меня пропатченный загрузчик и ядро (можно поискать на форуме по слову Arduino16, кому нужно). Но это не важно, можно подключить любую плату, что есть в ArduinoIDE.
Согласно статье прикручивание получилось нормально, правда при прошивке приходится жать руками на Reset, но это не парит пока что. Скетч выглядит один в один как в ArduinoIDE, всё компилируется и шьётся.
VisualMicro или как оно там (триальное) я видел, но он мне жутко не понравился, к тому же еще и не бесплатный - в таз.
Единственный минус (хотя это относительно). При прикручивании нужно выбрать правильную плату, иначе будет криво. Т.е. для каждой платы нужно скомпилировать своё ядро. Но меня это не парит, зато среда удобная. Ах, да, еще есть минус, внешние библиотеки нужно прикручивать отдельно.
Еще, в двух словах, принцип прикручивания:
1. Тупо компилируется ядро ArduinoIDE в виде файла core.a
2. Перенос этого файла в отдельный каталог, а также всех .h файлов
3. Указание в настройках проекта F_CPU и ARDUINO=100, хотя можно их указывать в каждом .cpp файле
Если, вдруг, кому нужна инструкция на русском, допишу, частично она готова.
Я вообще сохранил шаблон, теперь создаю проект сразу со всеми нужными настройками.
есть большое число библиотек для ардуино с одной стороны и очень хороший инструментарий по отладки в atmel stduio с другой. хотел бы скрестить интересен опыт похожий или решения для подобной задачи
А не подскажет ли кто, зачем AVR Studio 4.19 (да и другие компиляторы Си) в конце ассемблерного кода сгенерированного по моей Си программе, добавляет ещё небольшой свой код. К примеру:
Вот взял пример для изучения работы AVR Studio 4.19 с ATtiny85:
#define F_CPU 128000UL /* Тактовая частота в Гц */
#include <avr/io.h> /* Опребеляет имена для портов ввода-ывода */
#include <util/delay.h> /* Дает возможность формирования задержки */
int main (void) { /* Начало выполнения программы, главная функция */
DDRB |= (1 << 0); /* Устанавливаем порт PORTA.1 как выход */
for (;;) /* Бсконечный цикл */
{
PORTB ^= (1 << 0); /* Инвертируем состояние вывода */
_delay_ms(1000); /* Задержка в 1000 миллисекунд */
}
return 0; /* Выход из программы, в данном случае останов который */
/* никогда не произойдет т.к. выше бесконечный цикл */
} //end main
Так в конце рабочего ассемблерного кода такая добавка и появилась. Думаю, что это какая то программная "ловушка", но хочется узнать мнение знатоков.
А не подскажет ли кто, зачем AVR Studio 4.19 (да и другие компиляторы Си) в конце ассемблерного кода сгенерированного по моей Си программе, добавляет ещё небольшой свой код. К примеру:
rjmp .-2 -- прыгаем постоянно на rjmp, т.е. бесконечный цикл.
мало ли что будет у вас находится после самой программы. Хорошо если просто нопы, а если мусор будет соответствовать команде rjmp адр., то ваше устройство принесет вам не мало сюрпризов.
AVRstudio
Не видел, но слышал народ перепрошивает arduino полностью на свой манер. Конечно "библиотек" нет, за то доступны исходники на С, что говорить - open source
и тут вопрос,
нет ли трудностей с ISP? любой программатор?
а нет смысла больше по тем ссылкам ходить. Ставьте visualmicro.com
Гы-гы-гы!
ставил когда то на VS2008 не работало, раз!
два, я давно отказался от геморроя - VisualStudio! он мне, и тормоза от него, банально не нужен на компе.
а нет смысла больше по тем ссылкам ходить. Ставьте visualmicro.com
Гы-гы-гы! ставил когда то на VS2008 не работало, раз! два, я давно отказался от геморроя - VisualStudio! он мне, и тормоза от него, банально не нужен на компе.
вам atmel studio не нужен, тогда зачем вы в этой теме? Вас сюда насильнь не затаскивали)
не нужен - не ставьте. Здесь тема для тех кому нужна
Настроил я по руководству с jayconsystems.com среду AtmelStudio, все работает, все нравится, но один ма-а-аленький недостаток портит бочку меда - загрузка прошивки происходит только если в среде активна закладка с главным файлом проекта, в противном случае в командной строке для avrdude передается неправильное имя прошивки
если terminalwindow в виде отдельного плавающего окна, то все работает на ура, а стоит его передвинуть и приклеить в ряд с закладками с исходными текстами, то происходит постоянный разрыв связи. стоит только переключиться с закладки терминала на любую другую закладку и обратно, как терминал прекращает получать данные с ком-порта
загрузка прошивки происходит только если в среде активна закладка с главным файлом проекта, в противном случае в командной строке для avrdude передается неправильное имя прошивки
Кто-нибудь смог это победить?
Видимо человек писавший туториал не до конца знал определения студии. Почему-то предлагают задавать путь к файлу прошивки так: $(ProjectDir)Debug\$(ItemFileName).hex
При этом используется: $(ProjectDir) - "The directory of the project (defined as drive + path)" и $(ItemFilename) - "The file name of the current file (file name)".
Я предлагаю использовать: $(TargetDir) - "The directory of the item to be built" и $(TargetName) - "The file name of the item to be built", а сама строчка будет выглядеть так: $(TargetDir)$(TargetName).hex - в результате не надо указывать папку Debug и по идее не будет зависеть от файла, который сейчас открыт.
Разобрался с созданием библиотек. Оба метода описанных в мануале - лажа. Особенно повеселило #include"EEPROM.cpp".
Делаем как описано выдирание core.a. Но вот беда: в папке нет EEPROM.a, а есть EEPROM.o. Смотрим на вывод и видим, что библиотека core.a собирается утилиткой avr-ar. собираем библиотеку EEPROM:
<путь>avr-ar rcs <путь>libeeprom.a <путь>EEPROM.o
Лучше прописывать полные пути, как это делает штатная среда разработки. В результате получим файл libeeprom.a(если не будет начинатся с lib - студия не видит). Копируем этот файл и EEPROM.h в каталог куда ложили libcore.a, подключаем библиотеку в свойствах и наслаждаемся.
Если библиотека имеет несколько файлов кода, надо операцию с avr-ar провести над всеми файлами .o, при этом все паковать в одну библиотеку.
Если библиотека имеет несколько файлов заголовков, то можно положить их в отдельный каталог и прописать пути.
В visual micro в бесплатной версии не работает отладчик Atmel Studio или ихний visual micro? Просто посмотрел видио и понравился Atmel Studio из за наличия отладки. Но на ардуинке много бублиотех хороших вот хочется перейти на AVR с ихней отладкой и что бы ардуинку потдерживало))
обновил сегодня visualmicro, а среду оставил прежней 6.1.
Не смотря на заверения, что последняя версия visualmicro работает как с 6.1, так и с 6.2, посыпались ошибки от visualmicro на несоответствие версий при компиляции
System.IO.FileLoadException: Could not load file or assembly 'Atmel.Studio.Services.Interfaces, Version=6.2.0.0
ведь не хотел же..... придется и саму среду обновлять.
Ну правильно, чтобы работала отладка нужен отладчик. А плата Ардуино не содержит "железного" отладчика. Из студии можно только прошивать (и то не всё так просто). В "Tool" у меня выбрано "Simulator", потому что железного отладчика нет и отлаживаю в симуляторе.
Поэтому нажимайте кнопочку Build Solution (или F7) (в русской локализации вроде Построить решение).
а что можете посоветовать с тем что Атмел подчеркивает библиотеку ?
Это технология IntelliSense подчёркивает. Может у Вас код и нормально скомпилируется, надо пробовать. Если не скомпилируется, тогда уже искать ошибки. Возможно ядро arduino не установилось как положено.
Оно вообще как то странно работает.. то сохраняет, то не сохраняет проекты... раз тут целый день возился.. потом обнаружил пустой файл... начал тупа делать копии в текстовый файл всего кода что за день написал... иначе какие то не предсказуемые ситуации получаются :(
именно такого глюка у меня не было
были другие, у меня сейчас нормально не работает, дает ошибки ио новым проектам, а старые компилирует
самый дественный способ - задать вопроч на формуе visualmicro, они быстро отвечают
Ок, спасибо!
Подыму тему, а то, смотрю все на visualmicro скатились. Просто вчера дошли руки, прикрутил к Atmel Studio 6.1 ядро от ArduinoIDE 1.0.5, правда за неимением программатора, который понимает Atmel Studio, шил через обычный arduino загрузчик.
В двух словах.
Ссылки на статью, которой я пользовался (это ТРИ части, нужно выполнить их все) (UPDATED 12.01.2016):
http://www.jayconsystems.com/tutorials/atmerpt1
http://www.jayconsystems.com/tutorials/atmerpt2
Согласно статье прикручивание получилось нормально, правда при прошивке приходится жать руками на Reset, но это не парит пока что. Скетч выглядит один в один как в ArduinoIDE, всё компилируется и шьётся.
VisualMicro или как оно там (триальное) я видел, но он мне жутко не понравился, к тому же еще и не бесплатный - в таз.
Единственный минус (хотя это относительно). При прикручивании нужно выбрать правильную плату, иначе будет криво. Т.е. для каждой платы нужно скомпилировать своё ядро. Но меня это не парит, зато среда удобная. Ах, да, еще есть минус, внешние библиотеки нужно прикручивать отдельно.
Еще, в двух словах, принцип прикручивания:
1. Тупо компилируется ядро ArduinoIDE в виде файла core.a
2. Перенос этого файла в отдельный каталог, а также всех .h файлов
3. Указание в настройках проекта F_CPU и ARDUINO=100, хотя можно их указывать в каждом .cpp файле
Если, вдруг, кому нужна инструкция на русском, допишу, частично она готова.
Я вообще сохранил шаблон, теперь создаю проект сразу со всеми нужными настройками.
зачем все эти пляски с бубном если visual micro делает все правильно и бесплатно? платно только отладчик
Не вопрос, просто он мне не понравился, а на счет танцев с бубном - делается всё легко и просто. Ок, каждому своё
Добрый день !
Подскажите что делать если Microsoft Visual Studio во вкладке TOOLS -VISUAL MICRO-BOARDS
не отображает ни одной модели ардуино.
Как настроить ?
нашел такой туториал http://www.jayconsystems.com/tutorial/atmerpt1/
есть большое число библиотек для ардуино с одной стороны и очень хороший инструментарий по отладки в atmel stduio с другой. хотел бы скрестить интересен опыт похожий или решения для подобной задачи
ERROR 500 - INTERNAL SERVER ERROR
а нет смысла больше по тем ссылкам ходить. Ставьте visualmicro.com
Добрый день !
Подскажите что делать если Microsoft Visual Studio во вкладке TOOLS -VISUAL MICRO-BOARDS
не отображает ни одной модели ардуино.
Как настроить ?
обратитесь на их форум, если не чураетесь переписки на английском. там быстро отвечают
Вкладка была пустая из за того что сначала я настроил MVS на папку ардуино, затем зачем то переместил эту папку в другое место, он её потерял.
Кстати может кто-нибудь сказать - триал период заканчивается, и что, время переставлять назад не помогает ? Кряки кто-нибудь видел ? Ключи ? : )
Триал только на отладчик. Вы его пользовали?
все кроме отладки бессрочно и бесплатно
Ребят, а для visualmicro требуется visual studio или это самостоятельная среда?
А не подскажет ли кто, зачем AVR Studio 4.19 (да и другие компиляторы Си) в конце ассемблерного кода сгенерированного по моей Си программе, добавляет ещё небольшой свой код. К примеру:
0000004a <_exit>:
4a: f8 94 cli
0000004c <__stop_program>:
4c: ff cf rjmp .-2 ; 0x4c <__stop_program>
Это код для останова мк, в противном случае, что, по Вашему, должен делать мк после выхода из main.
Вот взял пример для изучения работы AVR Studio 4.19 с ATtiny85:
#define F_CPU 128000UL /* Тактовая частота в Гц */
#include <avr/io.h> /* Опребеляет имена для портов ввода-ывода */
#include <util/delay.h> /* Дает возможность формирования задержки */
int main (void) { /* Начало выполнения программы, главная функция */
DDRB |= (1 << 0); /* Устанавливаем порт PORTA.1 как выход */
for (;;) /* Бсконечный цикл */
{
PORTB ^= (1 << 0); /* Инвертируем состояние вывода */
_delay_ms(1000); /* Задержка в 1000 миллисекунд */
}
return 0; /* Выход из программы, в данном случае останов который */
/* никогда не произойдет т.к. выше бесконечный цикл */
} //end main
Так в конце рабочего ассемблерного кода такая добавка и появилась. Думаю, что это какая то программная "ловушка", но хочется узнать мнение знатоков.
А не подскажет ли кто, зачем AVR Studio 4.19 (да и другие компиляторы Си) в конце ассемблерного кода сгенерированного по моей Си программе, добавляет ещё небольшой свой код. К примеру:
0000004a <_exit>:
4a: f8 94 cli
0000004c <__stop_program>:
4c: ff cf rjmp .-2 ; 0x4c <__stop_program>
это просто порграммная заглушка:
cli ---запретили прерывания
rjmp .-2 -- прыгаем постоянно на rjmp, т.е. бесконечный цикл.
мало ли что будет у вас находится после самой программы. Хорошо если просто нопы, а если мусор будет соответствовать команде rjmp адр., то ваше устройство принесет вам не мало сюрпризов.
AVRstudio
Не видел, но слышал народ перепрошивает arduino полностью на свой манер. Конечно "библиотек" нет, за то доступны исходники на С, что говорить - open source
и тут вопрос,
нет ли трудностей с ISP? любой программатор?
а нет смысла больше по тем ссылкам ходить. Ставьте visualmicro.com
Гы-гы-гы!
ставил когда то на VS2008 не работало, раз!
два, я давно отказался от геморроя - VisualStudio! он мне, и тормоза от него, банально не нужен на компе.
а нет смысла больше по тем ссылкам ходить. Ставьте visualmicro.com
вам atmel studio не нужен, тогда зачем вы в этой теме? Вас сюда насильнь не затаскивали)
не нужен - не ставьте. Здесь тема для тех кому нужна
8=)
Для такой маленькой микросхема.. такой большой студио, а?!
Настроил я по руководству с jayconsystems.com среду AtmelStudio, все работает, все нравится, но один ма-а-аленький недостаток портит бочку меда - загрузка прошивки происходит только если в среде активна закладка с главным файлом проекта, в противном случае в командной строке для avrdude передается неправильное имя прошивки
Кто-нибудь смог это победить?
Почему бы вам не поставить visualmicro? Он без модуля отладки бесплатен. Это нормальный хорошо работающий плагин к студии.
То чем вы сейчас пользуетесь - полухакерская настройка
Почему бы вам не поставить visualmicro? Он без модуля отладки бесплатен. Это нормальный хорошо работающий плагин к студии.
То чем вы сейчас пользуетесь - полухакерская настройка
вот это останавливает:
именно такого глюка у меня не было
были другие, у меня сейчас нормально не работает, дает ошибки ио новым проектам, а старые компилирует
или теперь все исправили?
все работает
вот такой глюк заметил
если terminalwindow в виде отдельного плавающего окна, то все работает на ура, а стоит его передвинуть и приклеить в ряд с закладками с исходными текстами, то происходит постоянный разрыв связи. стоит только переключиться с закладки терминала на любую другую закладку и обратно, как терминал прекращает получать данные с ком-порта
напишите им на форме
у меня закрепленное окно терминала нормально работает
напишите им на форме
у меня закрепленное окно терминала нормально работает
штатный терминал от студии или от вижуалмикро?
Терминал именно от visualmicro
"Штатного" у студии нет, но есть еще один терминал в списке расширений, его нужно отдельно ставить в менеджере расширений
терминал из расширений я и называл штатным, ибо сделан самим atmel`ом для студии. он по функционалу удобнее, только вот не сбоил бы :)
а от visualmicro - связь не теряет, но неудобный. чекбоксы вместо кнопок всю логику запутывают.
поставил этот терминал, выглядит интереснее, попробую в работе
Кто-нибудь смог это победить?
Видимо человек писавший туториал не до конца знал определения студии. Почему-то предлагают задавать путь к файлу прошивки так: $(ProjectDir)Debug\$(ItemFileName).hex
При этом используется: $(ProjectDir) - "The directory of the project (defined as drive + path)" и $(ItemFilename) - "The file name of the current file (file name)".
Я предлагаю использовать: $(TargetDir) - "The directory of the item to be built" и $(TargetName) - "The file name of the item to be built", а сама строчка будет выглядеть так: $(TargetDir)$(TargetName).hex - в результате не надо указывать папку Debug и по идее не будет зависеть от файла, который сейчас открыт.
Разобрался с созданием библиотек. Оба метода описанных в мануале - лажа. Особенно повеселило #include "EEPROM.cpp".
Делаем как описано выдирание core.a. Но вот беда: в папке нет EEPROM.a, а есть EEPROM.o. Смотрим на вывод и видим, что библиотека core.a собирается утилиткой avr-ar. собираем библиотеку EEPROM:
<путь>avr-ar rcs <путь>libeeprom.a <путь>EEPROM.o
Лучше прописывать полные пути, как это делает штатная среда разработки. В результате получим файл libeeprom.a(если не будет начинатся с lib - студия не видит). Копируем этот файл и EEPROM.h в каталог куда ложили libcore.a, подключаем библиотеку в свойствах и наслаждаемся.
Если библиотека имеет несколько файлов кода, надо операцию с avr-ar провести над всеми файлами .o, при этом все паковать в одну библиотеку.
Если библиотека имеет несколько файлов заголовков, то можно положить их в отдельный каталог и прописать пути.
В visual micro в бесплатной версии не работает отладчик Atmel Studio или ихний visual micro? Просто посмотрел видио и понравился Atmel Studio из за наличия отладки. Но на ардуинке много бублиотех хороших вот хочется перейти на AVR с ихней отладкой и что бы ардуинку потдерживало))
обновил сегодня visualmicro, а среду оставил прежней 6.1.
Не смотря на заверения, что последняя версия visualmicro работает как с 6.1, так и с 6.2, посыпались ошибки от visualmicro на несоответствие версий при компиляции
System.IO.FileLoadException: Could not load file or assembly 'Atmel.Studio.Services.Interfaces, Version=6.2.0.0
ведь не хотел же..... придется и саму среду обновлять.
или это лечится, кто-нибудь знает?
Здесь врядли много специалистов по визуалмикро. У меня студия 6.2 давно, проще обновиться
если очень хочется оставить 6.1 то при знании английского все вопросы легко решить на их форуме
Да и нужно ли держаться за 6.1, вот в чем вопрос. Я тоже уже 6.2 поставил, хотя пока ничего не собирал.
да не то, чтобы я такой ретроград :) просто хотел оттянуть неизбежное...
Поставил. Хорошая штука, но чо-то тормознууутая. (
kisoft,не осталось лт у вас статьи? Ибо указанные ссылки более недоступны :(
kisoft,не осталось лт у вас статьи? Ибо указанные ссылки более недоступны :(
Увы, к сожалению не осталось ничего. Кажется, что интернет вечен, ан нет.. Надо снова гуглить и искать
UPD: Оказывается они просто поменяли URL, я ссылки исправил, там вместо tutorial -> tutorials
UPD2: Исправил в сообщении #54 http://arduino.ru/forum/programmirovanie/nastraival-li-kto-nibud-atmel-studio-dlya-raboty-so-sketchami-arduino?page=1#comment-40052
пользуется ли кто нибудь атмел студио 7 ?
нужна помощ с настройками, никак не могу запустить... вроди все делал по сабжу а работать отказывается...
У меня работает Atmel Studio 6.2 и Atmel Studio 7.0. После установки запустились сразу без всяких настроек, Win7 32-бит. А что у Вас не работает?
UPD: А, вы наверно про плагин Visual Micro, чтобы ардуиновские скетчи писать? Тогда не смогу помочь, т.к. не пользуюсь.
вот накидал пару строк в скетче в IDE и открыл файл атмел студией , вот что видно подчеркивает библиотеку #include <Arduino.h>
вин7-64 (скрин своей вкладки не сделаете ?)
Ну правильно, чтобы работала отладка нужен отладчик. А плата Ардуино не содержит "железного" отладчика. Из студии можно только прошивать (и то не всё так просто). В "Tool" у меня выбрано "Simulator", потому что железного отладчика нет и отлаживаю в симуляторе.
Поэтому нажимайте кнопочку Build Solution (или F7) (в русской локализации вроде Построить решение).
спасибо за подсказку,вечером попробую, а что можете посоветовать с тем что Атмел подчеркивает библиотеку ?
а что можете посоветовать с тем что Атмел подчеркивает библиотеку ?
Это технология IntelliSense подчёркивает. Может у Вас код и нормально скомпилируется, надо пробовать. Если не скомпилируется, тогда уже искать ошибки. Возможно ядро arduino не установилось как положено.
ооо я счаслив все реально работает, теперь буду разбираться как добавлять в атмел библиотеки и новые платы как к примеру ESP8266
Jeka_M спасибо!