Настраивал ли кто-нибудь Atmel Studio для работы со скетчами ардуино?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Оно вообще как то странно работает.. то сохраняет, то не сохраняет проекты... раз тут целый день возился.. потом обнаружил пустой файл... начал тупа делать копии в текстовый файл всего кода что за день написал... иначе какие то не предсказуемые ситуации получаются :(

axill
Offline
Зарегистрирован: 05.09.2011

именно такого глюка у меня не было

были другие, у меня сейчас нормально не работает, дает ошибки ио новым проектам, а старые компилирует

самый дественный способ - задать вопроч на формуе visualmicro, они быстро отвечают

mihart
Offline
Зарегистрирован: 14.05.2013

Ок, спасибо!

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Подыму тему, а то, смотрю все на 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

 
Подключал я это всё для своей ATmega16A на пинбоарде 2.2, потому у меня пропатченный загрузчик и ядро (можно поискать на форуме по слову Arduino16, кому нужно). Но это не важно, можно подключить любую плату, что есть в ArduinoIDE.

Согласно статье прикручивание получилось нормально, правда при прошивке приходится жать руками на Reset, но это не парит пока что. Скетч выглядит один в один как в ArduinoIDE, всё компилируется и шьётся.

VisualMicro или как оно там (триальное) я видел, но он мне жутко не понравился, к тому же еще и не бесплатный - в таз.

Единственный минус (хотя это относительно). При прикручивании нужно выбрать правильную плату, иначе будет криво. Т.е. для каждой платы нужно скомпилировать своё ядро. Но меня это не парит, зато среда удобная. Ах, да, еще есть минус, внешние библиотеки нужно прикручивать отдельно.

Еще, в двух словах, принцип прикручивания:

1. Тупо компилируется ядро ArduinoIDE в виде файла core.a

2. Перенос этого файла в отдельный каталог, а также всех .h файлов

3. Указание в настройках проекта F_CPU и ARDUINO=100, хотя можно их указывать в каждом .cpp файле

Если, вдруг, кому нужна инструкция на русском, допишу, частично она готова.

Я вообще сохранил шаблон, теперь создаю проект сразу со всеми нужными настройками.

 

axill
Offline
Зарегистрирован: 05.09.2011

зачем все эти пляски с бубном если visual micro делает все правильно и бесплатно? платно только отладчик

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Не вопрос, просто он мне не понравился, а на счет танцев с бубном - делается всё легко и просто. Ок, каждому своё

Danila
Offline
Зарегистрирован: 16.05.2013

Добрый день ! 

Подскажите что делать если Microsoft Visual Studio во вкладке TOOLS -VISUAL MICRO-BOARDS

не отображает ни одной модели ардуино.

Как настроить ? 

xstramento
Offline
Зарегистрирован: 19.10.2013

axill пишет:

нашел такой туториал http://www.jayconsystems.com/tutorial/atmerpt1/

есть большое число библиотек для ардуино с одной стороны и очень хороший инструментарий по отладки в atmel stduio с другой. хотел бы скрестить интересен опыт похожий или решения для подобной задачи

ссылка показывает на 500 ошибку ...

 

ERROR 500 - INTERNAL SERVER ERROR

axill
Offline
Зарегистрирован: 05.09.2011

а нет смысла больше по тем ссылкам ходить. Ставьте visualmicro.com

axill
Offline
Зарегистрирован: 05.09.2011

Danila пишет:

Добрый день ! 

Подскажите что делать если Microsoft Visual Studio во вкладке TOOLS -VISUAL MICRO-BOARDS

не отображает ни одной модели ардуино.

Как настроить ? 

обратитесь на их форум, если не чураетесь переписки на английском. там быстро отвечают

Danila
Offline
Зарегистрирован: 16.05.2013

Вкладка была пустая из за того что сначала я настроил MVS на папку ардуино, затем зачем то переместил эту папку в другое место, он её потерял.

Danila
Offline
Зарегистрирован: 16.05.2013

Кстати может кто-нибудь сказать - триал период заканчивается, и что, время переставлять назад не помогает ? Кряки кто-нибудь видел ? Ключи ?  : )

axill
Offline
Зарегистрирован: 05.09.2011

Триал только на отладчик. Вы его пользовали?

все кроме отладки бессрочно и бесплатно

Bubaylo
Offline
Зарегистрирован: 19.06.2013

Ребят, а для visualmicro требуется visual studio или это самостоятельная среда?

gena
Offline
Зарегистрирован: 04.11.2012

   А не подскажет ли кто, зачем AVR Studio 4.19 (да и другие компиляторы Си) в конце ассемблерного кода сгенерированного  по  моей Си программе, добавляет ещё небольшой свой код. К примеру:   

0000004a <_exit>:
4a: f8 94    cli

0000004c <__stop_program>:
4c: ff cf       rjmp .-2 ;    0x4c <__stop_program>

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Это код для останова мк, в противном случае, что, по Вашему, должен делать мк после выхода из main.

gena
Offline
Зарегистрирован: 04.11.2012

  Вот взял пример для изучения работы 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

 

Так в конце рабочего ассемблерного кода такая добавка и появилась.  Думаю, что это какая то программная "ловушка", но хочется узнать мнение знатоков.

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

gena пишет:

   А не подскажет ли кто, зачем 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 адр., то ваше устройство принесет вам не мало сюрпризов.

Adno
Offline
Зарегистрирован: 21.09.2012

AVRstudio
Не видел, но слышал народ перепрошивает arduino полностью на свой манер. Конечно "библиотек" нет, за то доступны исходники на С, что говорить - open source

и тут вопрос,
нет ли трудностей с ISP? любой программатор?

Adno
Offline
Зарегистрирован: 21.09.2012

axill пишет:

а нет смысла больше по тем ссылкам ходить. Ставьте visualmicro.com


Гы-гы-гы!
ставил когда то на VS2008 не работало, раз!
два, я давно отказался от геморроя - VisualStudio! он мне, и тормоза от него, банально не нужен на компе.

axill
Offline
Зарегистрирован: 05.09.2011

Adno пишет:
axill пишет:

а нет смысла больше по тем ссылкам ходить. Ставьте visualmicro.com

Гы-гы-гы! ставил когда то на VS2008 не работало, раз! два, я давно отказался от геморроя - VisualStudio! он мне, и тормоза от него, банально не нужен на компе.

вам atmel studio не нужен, тогда зачем вы в этой теме? Вас сюда насильнь не затаскивали)

не нужен - не ставьте. Здесь тема для тех кому нужна

Adno
Offline
Зарегистрирован: 21.09.2012

8=)
Для такой маленькой микросхема.. такой большой студио, а?!

com
Offline
Зарегистрирован: 06.09.2013

Настроил я по руководству с jayconsystems.com среду AtmelStudio, все работает, все нравится, но один ма-а-аленький недостаток портит бочку меда - загрузка прошивки происходит только если в среде активна закладка с главным файлом проекта, в противном случае в командной строке для avrdude передается неправильное имя прошивки

Кто-нибудь смог это победить?

axill
Offline
Зарегистрирован: 05.09.2011

Почему бы вам не поставить visualmicro? Он без модуля отладки бесплатен. Это нормальный хорошо работающий плагин к студии.

То чем вы сейчас пользуетесь - полухакерская настройка

com
Offline
Зарегистрирован: 06.09.2013

axill пишет:

Почему бы вам не поставить visualmicro? Он без модуля отладки бесплатен. Это нормальный хорошо работающий плагин к студии.

То чем вы сейчас пользуетесь - полухакерская настройка

вот это останавливает:

axill пишет:

именно такого глюка у меня не было

были другие, у меня сейчас нормально не работает, дает ошибки ио новым проектам, а старые компилирует

или теперь все исправили?

axill
Offline
Зарегистрирован: 05.09.2011

все работает

com
Offline
Зарегистрирован: 06.09.2013

вот такой глюк заметил

если terminalwindow в виде отдельного плавающего окна, то все работает на ура, а стоит его передвинуть и приклеить в ряд с закладками с исходными текстами, то происходит постоянный разрыв связи. стоит только переключиться с закладки терминала на  любую другую закладку и обратно, как терминал прекращает получать данные с ком-порта

axill
Offline
Зарегистрирован: 05.09.2011

напишите им на форме

у меня закрепленное окно терминала нормально работает

com
Offline
Зарегистрирован: 06.09.2013

axill пишет:

напишите им на форме

у меня закрепленное окно терминала нормально работает

штатный терминал от студии или от вижуалмикро?

axill
Offline
Зарегистрирован: 05.09.2011

Терминал именно от visualmicro

"Штатного" у студии нет, но есть еще один терминал в списке расширений, его нужно отдельно ставить в менеджере расширений

com
Offline
Зарегистрирован: 06.09.2013

терминал из расширений я и называл штатным, ибо сделан самим atmel`ом для студии. он по функционалу удобнее, только вот не сбоил бы :)

а от visualmicro - связь не теряет, но неудобный. чекбоксы вместо кнопок всю логику запутывают.

 

axill
Offline
Зарегистрирован: 05.09.2011

поставил этот терминал, выглядит интереснее, попробую в работе

nick_shl
Offline
Зарегистрирован: 25.03.2014

com пишет:
загрузка прошивки происходит только если в среде активна закладка с главным файлом проекта, в противном случае в командной строке для 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 и по идее не будет зависеть от файла, который сейчас открыт.

 

nick_shl
Offline
Зарегистрирован: 25.03.2014

Разобрался с созданием библиотек. Оба метода описанных в мануале - лажа. Особенно повеселило #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, при этом все паковать в одну библиотеку.

Если библиотека имеет несколько файлов заголовков, то можно положить их в отдельный каталог и прописать пути.

Casper17
Offline
Зарегистрирован: 21.06.2013

В visual micro в бесплатной версии не работает отладчик Atmel Studio или ихний visual micro? Просто посмотрел видио и понравился Atmel Studio из за наличия отладки. Но на ардуинке много бублиотех хороших вот хочется перейти на AVR с ихней отладкой и что бы ардуинку потдерживало)) 

com
Offline
Зарегистрирован: 06.09.2013

обновил сегодня 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

ведь не хотел же..... придется и саму среду обновлять.

или это лечится, кто-нибудь знает?

axill
Offline
Зарегистрирован: 05.09.2011

Здесь врядли много специалистов по визуалмикро. У меня студия 6.2 давно, проще обновиться

если очень хочется оставить 6.1 то при знании английского все вопросы легко решить на их форуме

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Да и нужно ли держаться за 6.1, вот в чем вопрос. Я тоже уже 6.2 поставил, хотя пока ничего не собирал.

com
Offline
Зарегистрирован: 06.09.2013

да не то, чтобы я такой ретроград :) просто хотел оттянуть неизбежное... 

 

Maverik
Offline
Зарегистрирован: 12.09.2012

Поставил. Хорошая штука, но чо-то тормознууутая.  (

alexvs
Offline
Зарегистрирован: 22.07.2014

kisoft,не осталось лт у вас статьи? Ибо указанные ссылки более недоступны :(

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

alexvs пишет:

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

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

пользуется ли кто нибудь атмел студио 7 ?

нужна помощ с настройками, никак не могу запустить... вроди все делал по сабжу а работать отказывается...

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

У меня работает Atmel Studio 6.2 и Atmel Studio 7.0. После установки запустились сразу без всяких настроек, Win7 32-бит. А что у Вас не работает?

UPD: А, вы наверно про плагин Visual Micro, чтобы ардуиновские скетчи писать? Тогда не смогу помочь, т.к. не пользуюсь.

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

вот накидал пару строк в скетче в IDE и открыл файл атмел студией , вот что видно подчеркивает библиотеку #include <Arduino.h>

нажал кнопочку ( Начать отладку) и вот что выдало 

видно что нужно чтото записать в строку  на вкладке Tool

вин7-64 (скрин своей вкладки не сделаете ?)

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Ну правильно, чтобы работала отладка нужен отладчик. А плата Ардуино не содержит "железного" отладчика. Из студии можно только прошивать (и то не всё так просто). В "Tool" у меня выбрано "Simulator", потому что железного отладчика нет и отлаживаю в симуляторе. 

Поэтому нажимайте кнопочку Build Solution (или F7) (в русской локализации вроде Построить решение).

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

спасибо за подсказку,вечером попробую,  а что можете посоветовать с тем что Атмел подчеркивает библиотеку ?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Baks пишет:

а что можете посоветовать с тем что Атмел подчеркивает библиотеку ?

Это технология IntelliSense подчёркивает. Может у Вас код и нормально скомпилируется, надо пробовать. Если не скомпилируется, тогда уже искать ошибки. Возможно ядро arduino не установилось как положено.

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

ооо я счаслив все реально работает, теперь буду разбираться как добавлять в атмел библиотеки и новые платы как к примеру ESP8266 

Jeka_M спасибо!