Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/47: Рейтинг темы: голосов - 47, средняя оценка - 4.70
oxytt
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
1

Atmel Studio для компилирования Ардуино?

24.09.2014, 02:26. Просмотров 8848. Ответов 14
Метки нет (Все метки)

Участвую в проекте умного дома где основные интузиасты ардуинщики
Мне среда ардуино не очень интересна после студии да еще и после студии с отладкой в железе
Пробовал переписывать пару версий библиотеки проекта под AVR, все хорошо
Но проект развивается, а переписывание стоит слишком дорого

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

Но с другой стороны toolchain у студии и ардуино один и тот же

речь не о использовании Студии в качестве среды програмирования ардуино (как например в плагине visualmicro), а именно о компиляции кода ардуино в проект Студии
разница принципиальна - железная отладка не возможна для ардуино
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2014, 02:26
Ответы с готовыми решениями:

2560(на плате Ардуино), не понятки с ОЗУ (Atmel Studio), Терминал USART
Доброго всем суток, уже неделю мучаюсь попал в засаду. Не могу понять у меня пропадают(обнуляются...

AT90CAN128 (Atmel Studio 6). Перевод символов для ЖКИ
здравствуйте есть такой код для перевода символов для ЖКИ, если подставлять его тупо в массив то...

Ошибки и предупреждения при компиляции проекта для Attiny2313 в Atmel Studio 7.0
Всем привет.И сразу к сути.У меня написана программа которая должна выводить текст на светодиодах....

Почему AVR Studio 4, а не Atmel Studio 6?
По какой причине большинство специалистов по AVR микроконтроллерам в основном используют AVR Studyo...

Atmel studio 6.1
Здравствуйте. столкнулся с проблемой запуска программы. вылетает сообщение:debugging tool is not...

14
Myrmyk
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
24.09.2014, 10:38 2
Я как то настраивал Visual Studyo для работы с Ардуино. Проблем не возникло.

По поводу Atmel Studyo гугл тоже весьма словоохотлив. Например:
http://www.visualmicro.com/page/Arduino ... tudyo.aspx
0
oxytt
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
24.09.2014, 12:22 3
Цитата Сообщение от Myrmyk
По поводу Atmel Studyo гугл тоже весьма словоохотлив. Например:
http://www.visualmicro.com/page/Arduino ... tudyo.aspx
если вы перечитаете мой вопрос, то увидите там "только не visualmicro" :)
visual micro не делает проект ардуино проектом студии, он делает редактор студии редактором среды ардуино
разница принципиальная
в таком режиме редактор студии работает по другому, а симулятор и отладчик не работают совсем
у visual micro есть свой аля отладчик, но в сравнении с отладчиком студии это ни разу не отладчик, так дампер информации
0
Myrmyk
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
25.09.2014, 13:13 4
Ага... Ну, тогда мне непонятна суть проблемы.

Atmel studyo ведь имеет поддержку С++.
Тоесть достаточно скопировать в ваш проект Arduino/hardware/arduino/avr/cores (и, возможно Arduino/hardware/arduino/avr/libraries), ну... немного заморочиться с зависимостями и вуаля.

Arduino - это суть библиотека... Нужно просто извлечь ее из ide.

Ну и main. Функция main лежит в файле Arduino/hardware/arduino/avr/cores/arduino/main.cpp.

P.S. Чтобы не казаться голословным, скажу, что выдирал и запускал. А кое какой код ардуины и на других платформах запускал. На arm и "голом" x86.
0
25.09.2014, 13:13
oxytt
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
25.09.2014, 13:43 5
вот уже похоже на то, что нужно )))

а как там работает механизм настройки параметров плат?
сами параметры прописаны в boards.txt
но у студии нет такого механизма, получается нужно как-то ручками сконфигуурировать
не разбирались с этим?

основные вопросы к мапингу пинов на конкретный МК и к выбору констант под конкретную тактовую частоту
это все то, что в среде ардуино берется из boards.txt
0
BykTiho
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
25.09.2014, 13:56 6
Костыли в виде define и if ndef не подойдут?
0
oomomstir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
25.09.2014, 14:12 7
То, что берётся из boards.txt - можно попытаться через custom buyld step или custom buyld rule (или как там называется, когда в студии прописываешь правила компиляции неизвестного ей формата файлов), в Visual Studyo это есть - наверняка и у Atmel сохранилось (сейчас проверить не могу).
Вангую проблемы с файлом проекта - ардуиновский-то студия не распарсит. Так что придётся поддерживать параллельно два проекта, ардуиновский и студии, и если в один добавили какой-то файл - добавлять и во второй.
0
oxytt
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
25.09.2014, 14:57 8
Цитата Сообщение от oomomstir
Вангую проблемы с файлом проекта - ардуиновский-то студия не распарсит. Так что придётся поддерживать параллельно два проекта, ардуиновский и студии, и если в один добавили какой-то файл - добавлять и во второй.
с этим как раз проблемы нет
от ардуиновского проекта нужна только коммуникационная библиотека, сам проект чисто студийный, обратная совместимость не нужна
0
Myrmyk
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
25.09.2014, 15:23 9
board.txt
Цитата Сообщение от oxytt
вот уже похоже на то, что нужно )))

а как там работает механизм настройки параметров плат?
сами параметры прописаны в boards.txt
но у студии нет такого механизма, получается нужно как-то ручками сконфигуурировать
не разбирались с этим?

основные вопросы к мапингу пинов на конкретный МК и к выбору констант под конкретную тактовую частоту
это все то, что в среде ардуино берется из boards.txt
Нет. board.txt содержит только информацию для работы программатора. (ну, и ключи компиляции по нему генерируются)

Действительно, кое-какая аппаратно зависимая часть находится в файле pins_arduino.h, который лежит в папке hardware/arduino/avr/variants/ и далее вариант, соответствующий вашей плате.
Другие "платозависимые" аспекты в среде Ардуино выполнены через define, соответствующий процессору. При этом эти define объявляются не программистом, а компилятором (как раз по ключам компиляции). (Смотри файл include/avr/io.h)

Наверно там есть еще какие-то замуты с настройкой под конкретную плату, но это... Частные вопросы, решаемые по схеме "Компилируем, смотрим чего не хватает".

... В этом плане с AVR работать одно удовольствие. avr-gcc сам рисует таблицы прерываний... Константы типа ROMEND, макросы и прочее... Так что код Ардуино, опираясь на эти константы и макросы, определяемые компилятором, как бы уже сам по себе портируем между разными AVR-ками.

UPD:
По сути, в Atmel studyo ключи компиляции задаются при выборе процессора. Тоесть, студия их сама устанавливает, генерируя проект. Я с ней практически не работал, но полагаю, проблем с этим не возникнет.

UPD:

Частота у Ардуины задается тоже через defymi. F_CPU макрос называется... Вот только я запамятовал, кто и где его определяет. От правильной настройки частоты зависит работа всяческих delay.

Возможно, какие-то макросы действительно нужно доопределить. Не помню.

Ну, и конечно, лучше бы фьюзам соответствовать.
0
Myrmyk
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
25.09.2014, 16:03 10
Да , действительно...
Посмотрел свои записи.

Раньше вся аппаратно-зависимая(ну, тоесть аврмоделезависимая) часть ограничивалась pins-arduino.h и ключами компиляции.

Сейчас в новых версиях, в частности, макрос F_CPU перекочевал из файла Arduino.h в Makefile, соответствующий отдельно каждому процу в среде ардуино.

Так что, если вы не будете писать собственный Makefile, F_CPU придется явно определить, например в том же Arduino.h.

Раз есть такая пакость, возможны и другие сюрпризы.
0
oxytt
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
25.09.2014, 16:45 11
Спасибо за информацию

Попробую

П.с. Понадобилось быстро наваять мониторинг температуры с оповещением SMS, взял готовую библиотеку ардуино для sym900. Наваял за вечер, но.... По сути простоя задача - отправка, прием смс, два даласа для кортроля температуры и нокия3310 для локального отображения статуса и в мега328 почти закончилась память. Для развития логики места почти нет
Такая вот она ардуина) хотя надо признать, на студии я провозился бы дольше
0
Myrmyk
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
25.09.2014, 16:53 12
Не понял.
А что даст переход от Ардуины к студии?... Ну разве что сэкономите код boottooder-а.

Компилятор ведь остается неизменным.
0
oxytt
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
25.09.2014, 16:59 13
Это было попутное замечание)
0
Финский
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 789
25.09.2014, 19:25 14
2 oxytt: почитайте мою заметку в Сообществе, там есть про Ардуино в составе Студии.
0
oxytt
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
25.09.2014, 20:17 15
Финский, спасибо. Вы пишите о том же visualmicro, котлрую обсудили выше
Ее я пробовал, она использует студию в качестве редактора, отладка не работает
0
25.09.2014, 20:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2014, 20:17

Atmel Studio
Подскажите где смотреть библиотеку Atmel Studio.

Atmel Studio 6.0
Здравствуйте! Подскажите пожалуйста , не пойму почему при запуске программы компилятор выдает : ...

Atmel Studio
помогите написать программу работы светофора на языке Assembler


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru