Arduino DUE + Atmel Studio 7
- Войдите на сайт для отправки комментариев
Чт, 28/04/2016 - 09:14
Доброго дня.
Решил намедне познакомиться с ардуинкой. Прикупил сразу DUE. С микрухами сталкиваюсь не впервые.
Посмотрел на родную дуиновкую среду - чет не впечатлило. На форуме вычитал что есть примочка к Atmel Studio для работы с дуинкой. Студию поставил, примочку подгрузил, пустой скетч создал, на его основе запилил проект в студии - гуд. Но при компиляции вылезли ошибки - нет некоторых файлов в директории...
Скрин:
Сталкивался может кто с таким. Что делать? с 7 студией не шибко знаком.
Скетч компилится и грузится в Arduino IDE в Студии никаких изменений не вносил...
Хотел файлы вручную подцепить, но не нашел таковых у себя. Думал закоментить обращения к кним, но чую эт важные файлики.
где скрин?
Картинка не прицепилась, исправляюсь
Ссылочка на полный размер
http://i069.radikal.ru/1604/79/34f3a7ab5a06.jpg
Решил намедне познакомиться с ардуинкой. Прикупил сразу ...
Добро пожаловать на борт!
Простите, что не по конкретному вопросу, но нафига к студии лепить дуню? Чем Вам сама студия недостаточна? Если очень нужны библиотеки дуни, так заберите их в студию. Если хочется заливать без программатора код, через СОМ, так тулзу к студии прилепить... :)
Простите, что не по конкретному вопросу, но нафига к студии лепить дуню? Чем Вам сама студия недостаточна? Если очень нужны библиотеки дуни, так заберите их в студию. Если хочется заливать без программатора код, через СОМ, так тулзу к студии прилепить... :)
Мысль логичная, я собственно и хочу от дуинки избавиться. Решил для начала попробовать прикрутить дуинку к студии чисто ради интереса и там поковыряться с отладкой. Сразу во взрослую жизнь студии страшно :D
А не подскажете инструментину для залики прошивки через COM порт??
Avrdude
В Atmel Studio можно добавить консольную команду с параметрами вызова Avrdude. Находится в меню Tools - External Tools. Потом её можно вызывать из меню или добавить кнопку на панель инструментов и привязать к кнопке эту консольную команду.
Вот, например у меня так настроено в AS6 (только прошивка не через COM-порт, а через программатор USBasp)
В Atmel Studio можно добавить консольную команду с параметрами вызова Avrdude. Находится в меню Tools - External Tools. Потом её можно вызывать из меню или добавить кнопку на панель инструментов и привязать к кнопке эту консольную команду.
Вот, например у меня так настроено в AS6 (только прошивка не через COM-порт, а через программатор USBasp)
Огромное спасибо! буду разбираться)
P.S. Avrdude я прикрутил из комплекта утилиты SinaProg (графическая оболочка для консольной Avrdude), можно прикрутить Avrdude из комплекта Arduino IDE или вовсе скачать отдельно. Без разницы, главное правильно прописать путь и параметры вызова.
Мой пример для ATtiny13a и программатора USBasp:
Command: F:\_Electronics\_AVR\Soft\SinaProg\data\avrdude.exe (путь к avrdude.exe, у Вас будет свой)
Arguments: -c usbasp -b 19200 -p t13 -U flash:w:$(ProjectDir)Debug\$(ItemFileName).hex:a -q
Простите, что не по конкретному вопросу, но нафига к студии лепить дуню? Чем Вам сама студия недостаточна? Если очень нужны библиотеки дуни, так заберите их в студию. Если хочется заливать без программатора код, через СОМ, так тулзу к студии прилепить... :)
Мысль логичная, я собственно и хочу от дуинки избавиться. Решил для начала попробовать прикрутить дуинку к студии чисто ради интереса и там поковыряться с отладкой. Сразу во взрослую жизнь студии страшно :D
А не подскажете инструментину для залики прошивки через COM порт??
Про подключение Jeka_M написал, а вот с отладкой засада - китайские программаторы дешёвые не прокатят, прошивку для их приобщения к студии при первой попытке найти не смог, и не сильно старался. Пока ещё микроПаскаль пытюсь использовать...
Да, отлаживать в железе через COM-порт или с помощью дешёвого китайского программатора Вы не сможете. Для этого нужны программаторы, которые официально поддерживаются студией, они не дёшевы. Но кое-какую отладку можно делать на встроенном в студию симуляторе. Есть окошко IO View, в котором видно всю переферию и регистры микроконтроллера с выставленными битами. В симуляторе, как и в железе, можно ставить точки останова и т.д.
Да, отлаживать в железе через COM-порт или с помощью дешёвого китайского программатора Вы не сможете. Для этого нужны программаторы, которые официально поддерживаются студией, они не дёшевы. Но кое-какую отладку можно делать на встроенном в студию симуляторе. Есть окошко IO View, в котором видно всю переферию и регистры микроконтроллера с выставленными битами. В симуляторе, как и в железе, можно ставить точки останова и т.д.
Неужели ещё никто не слил код? :( Или Атмел защитился от такого безобразия схемой из 2-х процессоров?
JTAG ICE 2 слит и вполне, судя по отзывам, работоспособен.
Чисто мне не интересе, не юзаю камней с JTAG...
ICE 2 поддерживает же все интерфейсы и OCD не только на JTAG ведь работает. Разве нет?
Кслит, но схема, мягко говоря, отличается от того, что у китайских товаришей на одном кристальчике... :)
Я извиняюсь, неправильно спросил - имел в виду софтовый эмулятор на одной меге ему ещё не сотворили?
Мужики, я вот совcем не знаю какие там у атмела есть аппаратные средства отладки. Сейчас заказал на атмелсторе такую вот штуку и жду, когда приедет. Там все их средства отладки есть или у них или что-то ещё бывает?
Не то, чтобы эти средства отладки мне нужны (фиговину-то покупал как параллельный программатор с кроватками под все AVR'ки), но если есть, так чего не попробовать-то?
Мужики, я вот совcем не знаю какие там у атмела есть аппаратные средства отладки. Сейчас заказал на атмелсторе такую вот штуку и жду, когда приедет. Там все их средства отладки есть или у них или что-то ещё бывает?
Не то, чтобы эти средства отладки мне нужны (фиговину-то покупал как параллельный программатор с кроватками под все AVR'ки), но если есть, так чего не попробовать-то?
в STK500 нет средств отладки. У атмела в этим все запутано. В STM500 есть только программатор. Хороший программатор, с последовательным и паралелльными интерфейсами, но только программатор.
Для отладки нужен или из старой серии avrdragon/jtagice2/jtagice3/jtagice или новый универсальный atmel ice, стоит в минимуме 100 баксов (их 4 версии, самая дешевая версия PCB без корпуса) + доставка, можно купить у офф диллеров типа mouser, digikey, farnell
я в свое время покупал в mouser jtagice3. Делаю с ним отладку с тини13/атмега168/атмега328/атмега32/атмега128
с интерфейсами у атмела тоже все запутано - это и awire и debugwire и JTAG и PDI
В этом смысле все куда лучше проще и дешевле у STM. Можно купить универсальный программатор он же отладчик даже официальный стоит вменяемых денег, а уж китайский клон меньше 500р. Работать будет и с STM8 и с STM32
Спасибо, axill.
Не то, чтобы эти средства отладки мне нужны (фиговину-то покупал как параллельный программатор с кроватками под все AVR'ки), но если есть, так чего не попробовать-то?
О, попались! :))) Никак не могу найти решение, что раньше куры или яйца, т.е. как лучше поступать: прошивать проц и потом его впаивать или прошивать уже на плате. И то, и другое решение в моём сосзнании имеет равные плюсы и минусы. Вас по какой причине кроватки привлекли?
Вас по какой причине кроватки привлекли?
Сексуальные фантазии. А что?
Работает только со студией древней 4й версии. С 6й и 7й работают только оригинальные отладчики.
4 - нисколько не древняя! Последняя нормальная студия.
Работает только со студией древней 4й версии. С 6й и 7й работают только оригинальные отладчики.
Вот собаки! Как-то всё больше STM32 начинает нравиться...
4 - нисколько не древняя! Последняя нормальная студия.
все относительно. Мне 7я намного удобнее и вообще микрософт можно ругать, но студия удобнее и кейла и IAR на порядок
есть мысль использовать visualstudio для редактирования проектов stm. В сравнении iar и кейл сильно проигрывают
Работает только со студией древней 4й версии. С 6й и 7й работают только оригинальные отладчики.
Вот собаки! Как-то всё больше STM32 начинает нравиться...
коматозник, ты только сейчас узнал, что цивилизованным людям влом лепить клоны JTAG ICE для новых версий, а проще купить фирменный от Атмел?
Работает только со студией древней 4й версии. С 6й и 7й работают только оригинальные отладчики.
ниужели совсем нет альтернативы оригшиналу?
Не нравится эта политика фирм, лишьбы на всём бабла срубить
SIEMENS себя так же ведёт, софт платный, да и стоит по 30к, сейчас не знаю как с учётом курса
Вот приехал сегодня программатор - китайский клон ST-Link за копейки. Оригинальные драйверы подошли, даже обновлённая прошивка в него загрузилась, всё работает... Попробовал прочитать код из часиков на ST32 - что-то прочиталось. Пока ничего про ST32 не знаю, но, пожоже, оно не как Atmel - корова бесплатно, но с ней кошка в нагрузку за мульён...
Приветствую господа, вот решил поставить Атмел Студию, встала с первого раза, также установил плагин визуал микро, для работы с Ардуинкой (появился пункт в меню) но чтото не разберусь, выдает ошибку.... подчеркивает весь текст как будто бы не знаком (на скрине видно) ..
на компе установлена ардуино ИДЕ 1.7.10 версии, в настройках Студии указал путь к ИДЕ, и больше не знаю где и что ставить......
вот скрин , кто что может подсказать?
на компе установлена ардуино ИДЕ 1.7.10 версии
и, где ты взял 1.7.10, если последняя официальная финальная arduino-1.6.9 ?
ловите http://www.arduino.org/downloads но дело не в этом, пробовал переустанавливал на 1.6.9 тоже не помогло
ловите http://www.arduino.org/downloads но дело не в этом, пробовал переустанавливал на 1.6.9 тоже не помогло
ты мне ещё на http://www.porn.org/downloads ссылку дай.
если до тебя не доходит - прямой текст: долбоёб, качай софт с официальных источников
Очень приятно познакомиться , Меня Денис звать...
и кстати версия сейчас 1.6.9 и все равно не помогло, старую снес!
и кстати версия сейчас 1.6.9 и все равно не помогло, старую снес!
а, кто сказал, что поможет? тебе было сказано, что ты юзаешь какой-то шлак - не более.
я Вас попрашу не превращеть тему во флудилку, если нечего канкретного подсказать то лучше ничего не писать.
Обращаюсь к пользователям атмел студии кто что подскажет.....
П С Визуал студию поставил все норм работает и даже заливает скетч, но душа не очень лежит к ней.
Обращаюсь к пользователям атмел студии кто что подскажет.....
П С Визуал студию поставил все норм работает и даже заливает скетч, но душа не очень лежит к ней.
а, атмел студио уложит твою стоячую душу?
вот похоже что то нашел, выдает ошибку только вот что там указать в строке не знаю ....
подробная инструкция на русском
http://www.visualmicro.com/page/User-Guide.aspx?doc=ru/Getting-started.html
https://www.arduino.cc/en/Main/Software
ничего не нашел что нужно писать в этой строке.
Кто использует Атмел студию может посмотреть что там у вас прописано?
P.S. Avrdude я прикрутил из комплекта утилиты SinaProg (графическая оболочка для консольной Avrdude), можно прикрутить Avrdude из комплекта Arduino IDE или вовсе скачать отдельно. Без разницы, главное правильно прописать путь и параметры вызова.
Как Из ATmel Studio шить Arduinу без программатора? Причем я знаю наверняка что код от студии гораздо производительней всего остального, то есть как это делать не чез левые компиляторы и прочее?
Напрямую Atmel Studio шьет только через программатор (причём USBasp не поддерживается). Но можно прикрутить avrdude, выше я объяснял с картинками как это сделать. А уже avrdude, в свою очередь, может прошивать и без программатора - так сделано в Arduino IDE. Нужно только разобраться с параметрами вызова avrdude.
Как Из ATmel Studio шить Arduinу без программатора?
Без программатора? Да, почти никак. Студия заточена на использование STK-500 - это такая плата, в атмелсторе за 83 бакса продаётся - очень рекомендую, я купил и не пожалел ни разу. Если есть любой программатор, то то можно запускать его через PostBuild event - это позволяет использовать любой программатор, даже тот, про который студия ничего не знает (например, у меня отлично работает USBASP). Ну, а про остальное Вам коллега уже написал.
нука-нука, что энто за зверь? по поиску не понятно
Догадываюсь, бери Хекс и шей чем хочешь только автоматом?
Догадываюсь, бери Хекс и шей чем хочешь только автоматом?
В общем и целом - да.
Открываете студию, наводите мышь на название проекта, по правой кнопке в меню выбираете "Properties".
В появившемся окне ищете "Build Events". Там в окошке "Post build event command line" прописываете строку вызова Вашего программатора со всеми путями к нему и параметрами.
Для обозначения платы и имени hex файла используете макросы студии. Смотрите, как я их использую ($(avrdevce), $(OutputDirectory) и $(OutputFileName))
Теперь по команде "Build" она должна всё компилировать и прошивать после компиляции.
Попробуйте, если всё нормально, то рекомменду сделать ещё один шаг.
Очиситите проект (оставьте только пустой main и, может быть свои самые любимые include). Поставьте мышь на Solution и выберите из меню "File | Export template". Сохраните этот проект как шаблон с каким-нибудь именем. Тогда при создании нового проекта этот шаблон будет появляться в общем списке шаблонов и Вы сможете создавать новые проекты с уже установленной загрузкой - чтобы больше об этом не думать.
Спасибо, попробую потом )
У меня вот пока не получается Скетч запучтить в VisualMicro+AtmelStudio
Компилятор как будто не видит мою позовательскую структру и пишет что мол "Структура Блабла не имя типа"
http://forum.amperka.ru/threads/atmel-studio-%D0%B8%D0%B3%D0%BD%D0%BE%D1%80%D0%B8%D1%80%D1%83%D0%B5%D1%82-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D1%83%D1%8E-%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%83-%D0%B8-%D0%B2%D1%8B%D0%B4%D0%B0%D1%91%D1%82-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-%D1%81-arduino-ide-%D0%BD%D0%B0-visual-micro.9293/#post-84540
Компилятор как будто не видит мою позовательскую структру и пишет что мол "Структура Блабла не имя типа"
Рискну предположить, что когда они делали поддержку Ардуиновских скетчей, они для совместимости перетащили всё безграмотное дерьмо из Ардуино IDE. Причём, в последних версиях IDE до разработчиков наконец-таки дошло, что они неправы и они это дерьмо убрали (в старых версиях IDE такое тоже не скомпилировалось бы). А разработчики плагина для Студии перетаскивали до того, как убрали, и всё говнецо себе перетащили - для совместимости. Иначе бы многие ардуиновские скетчи у них бы не компилировались.
Суть дерьма я уже объяснял, почитайте. Там со слов "сначала я объявляю класс" как раз Ваш случай рассматривается.
Бороться с этим просто. Например, забудьте про Ардуино и нормально программируйте в студии. Или, если не хотите забывать про Ардуино, то не используйте собственные типы в параметрах функций. Передавайте указатель на void, а уже внутри функции преобразовывайте - там можно.
нас самом деле оказалось что нужно просто все прототипы функций выписать вначале после дефайнов и код заработал, однако проблема новая нарисовалась - почемуто Тач не срабатывает, точнее скорее всего Функция не срабатывает для выхода из setup или обработчик нажатий чтото в этом духе
на самом деле я только за, не так давно обнаружил что Arduino IDE тупо пропускал выполнение case-ов без каких либо на то причин, компилирует и загружает но не выполняет то что внутри ни в какром виде, я так и сяк пробовал, и в блоки всё одеваю и все значения проверял в порт выводил, а он тупо не выполняет кусок кода ))) результат - заменил на if такое было в 2х местах
Правда есть ещё вариант что гдето в памяти контроллера какойто касяк, но это я хрен узнаю
А есть какаято обучалка как переделать Скетч Ардуины в нормальный проект AtmelStudio (я не имею ввиду на нормальный синтаксис С++, а вот как куда библиотеки подключать и что да как там)?
а примерчик маленьки можно? не вкурю как указатель типа void поможет объект передать
а примерчик маленьки можно? не вкурю как указатель типа void поможет объект передать
Вот и всё. В новой функции f мы спокойно пользуемся указателем p на класс A, но пр и этом сам класс в параметрах не фигурирует.
чтото я не понимаю, мы передаём указатель на объеки а типа А, а принимаем мы указатель типа void
Почему компилятор не возражает на это ведь вроде бы указатели на разные типы разные?
Почему компилятор не возражает на это ведь вроде бы указатели на разные типы разные?
void * - унивесральный указательный тип (указатель на что-нибудь"), который может сойти за любой указатель. Можно сказать так: "void *" - это "указатель вообще" - т.е. просто "адрес памяти". Поэтому его можно использовать вместо любого конкретного указателя.
Правда, лучше без крайне нужды этого не делать, т.к. при этом теряется контроль типов и компилятор не может предупредить Вас о том, что Вы передаёте неправильный тип. Но в тех ситуациях, когда функции надо передать просто указатель на кусок памяти, это оправдано и функции, принимающей void * можно передать любой указатель.
я так понял что Тип указателя нужен только для того чтобы программа знала какого Типа переменная хранится по адресу в указателе
То есть если создать указатель с неправильням типом будет касяк в памяти
А где вообще почитать про работу компилятора?
Вот сейчас например нужно знать где хранятся Значения констант #define?
То есть если создать указатель с неправильням типом будет касяк в памяти
Не будет, если тип вовремя преобразовать в правильный, что мы и делаем.
А где вообще почитать про работу компилятора?
Для начала Вам нужно почитать про язык, т.к. Вы не знаете языка и никакие знания о компиляторе Вам не помогут. О языке читайте (именно в такой последовательности):
1. http://www.programming1189.ru/files/Kern_Ritch.pdf
2. http://8361.ru/6sem/books/Straustrup-Yazyk_programmirovaniya_c.pdf
Когда Вы это прочтёте, то вопросы типа
где хранятся Значения констант #define?
отпадут сами собой. Кстати, ответ, - если маленькие, то нигде не хранятся, вставляются прямо в код. Если большие, то зависит от опций компилятора.