Arduino debugging

Обсуждаем контроллеры компании Atmel.
Ответить
Аватара пользователя
Yadro
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Чт сен 15, 2011 17:42:13

Arduino debugging

Сообщение Yadro »

Привет всем. Появилась идея сделать устройсво на Arduino Nano + MPU-6050(акселерометр). Примеры завелись и все ок. Теперь все упирается в код. Вопрос заключается в том, что лучше использовать arduino или голый мк (имеется еще Mini c atmega168, который можно выпаять, а в качестве программатора использовать другой arduino). Хотелось бы иметь отладку кода, а для ардуины есть только Visual Micro с платным дебагером. Как я понял, саму атмегу можно отлаживать, но я не в курсе как все подключать, прошивать и чем для этого придется пожертвовать. Стоит ли отказываться от arduino и пересаживаться на голый avr?

Еще есть мысли, сначала использовать arduino только для снятия информации с датчика, а всю логику писать на удобном для меня JS, и только потом переписывать код на c++, и делать мк самостоятельным (или это бред?).

ps Ничего не смыслю в мк и в схемотехнике, но много пишу на JS.
Реклама
Аватара пользователя
eess9
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Re: Arduino debugging

Сообщение eess9 »

Yadro писал(а):Хотелось бы иметь отладку кода, а для ардуины есть только Visual Micro с платным дебагером.
Тогда покупать лицензию на дебаг. Ну или найти кряк :))
Yadro писал(а):Как я понял, саму атмегу можно отлаживать, но я не в курсе как все подключать, прошивать и чем для этого придется пожертвовать. Стоит ли отказываться от arduino и пересаживаться на голый avr?
Нужен вам дебагер для этого. Никогда не интересовался, может быть, есть на просторах интернета проект самодельного дебагера. В противном случае, надо покупать железяку за десятки $. У ее будет перечень сред разработки, которые ее поддерживает. Будет ли там что-то, что позволит вам писать код на java? Нет. Обычно это голый C или скрипты на его основе.
Java очень тяжела для AVR. Только однажды я видел урезанную до безобразия версию для AVR.
http://www.harbaum.org/till/nanovm/index.shtml

Также дебажить можно при помощи uart или светодиодов. Просто в нужных местах кода, выдаете сообщения в канал или мигаете/зажигаете/тушите светодиоды. Часто применяется на МК при отладке кода в реальном времени, когда остановить выполнение программы невозможно. Например, при отладки устройств в беспроводных сетях Bluetooth или ZigBee. Немного муторно, но на безрыбье и рак рыба...
Реклама
Аватара пользователя
DronVolk
Встал на лапы
Сообщения: 109
Зарегистрирован: Чт сен 03, 2015 15:52:10
Откуда: Сибирский федеральный округ

Re: Arduino debugging

Сообщение DronVolk »

eess9 писал(а): что позволит вам писать код на java
JS (JavaScript) и Java это разные вещи. (да gcc может и java собрать в бинарный код для целевой системы).

Yadro писал(а):Вопрос заключается в том, что лучше использовать arduino или голый мк
Переходить на голый Си имеет смысл если вас не устраивает язык ардуино (Processing) используется обычный C++ и спрятаны некоторые конструкции от разработчика. (типа функции main и включения заголовочных файлов).
да наверное легче использовать процессинг и через последовательный порт тягать данные (node должен это уметь где то видел) и вы сможете писать на js.

зы так и называется "serialport"

зызы если в иде ардуины зайти в терминал порта то он перед отображением дергает DTR на землю перезагружая мк (на хабре ноют что это сильно мешает и допиливают платы впаивая в нее дополнительные емкости :))) ) если вы будете использовать node то для перезагрузки мк вам придется руками дергать этот провод (в смысле программно) я уж не знаю от чего это зависит но половина разработчиков на оной плате бесятся от этого но по нормальному не разобрались... (ну или я слишком заумный)
================
ага это я слишком заумным оказался! я пользуюсь питоном и установив себе serialport либу я сразу ее исправил и запретил ей пользоваться проводом DTR что позволяет не перезагружать мк а как будет в js не знаю.
Последний раз редактировалось DronVolk Пт ноя 06, 2015 12:08:36, всего редактировалось 2 раза.
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

Re: Arduino debugging

Сообщение Pnjom-Penb »

eess9 писал(а):В противном случае, надо покупать железяку за десятки $.
Тут совсем недавно кто-то продавал Дракона. ТС, поищите в "Продаме" - может еще висит.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Yadro
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Чт сен 15, 2011 17:42:13

Re: Arduino debugging

Сообщение Yadro »

Спасибо за ответы. Значит буду дебажить через serial print. Кстати, DronVolk, google chrome тоже умеет работать с com портом.
Да, и кто какую ide использует, из того что нашел это Atmel Studio или Visual Studio + VisualMicro, какая лучше для программирования под arduino?
Последний раз редактировалось Yadro Пт ноя 06, 2015 07:41:03, всего редактировалось 1 раз.
Реклама
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Arduino debugging

Сообщение Morroc »

Для ардуины... евойную среду и отладку через serial, если мегапроекты не писать вполне хватает :dont_know:
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Реклама
Аватара пользователя
Yadro
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Чт сен 15, 2011 17:42:13

Re: Arduino debugging

Сообщение Yadro »

Morroc писал(а):Для ардуины... евойную среду и отладку через serial, если мегапроекты не писать вполне хватает :dont_know:
Что значит евойная среда?) Если подразумевается Arduino IDE, то это и не иде вовсе.. А мегапроекты на ардуине похоже не пишутся :/
Аватара пользователя
DronVolk
Встал на лапы
Сообщения: 109
Зарегистрирован: Чт сен 03, 2015 15:52:10
Откуда: Сибирский федеральный округ

Re: Arduino debugging

Сообщение DronVolk »

Одноименная среда))) В ней и используется Processing. Если нужно по ближе к железу то плата прошивается через avrdude (одноименная среда ей пользуется) а код пишется в студии атмела (у них на сайте). Только уже разница в том что вам придется работать с железом и регистрами из Си или не придется забивать голову если используется Processing)))

ну для проверки евоная среда как раз и уже дальше используют голый мк и Си/Ассемблер.

я например брал плату потому что уже все распаяно и стоит 120 рублей (дешевле самого мк у меня в городе) китайцы все развели и распояли))) Пишу на Си и прошиваю через дудку (да не пользуюсь студией а консолью для сборки)

зы тут почти все коты чтят datasheet как библию но как мне ответили в atmel еще и в st что этот документ является рекомендацией по использованию. В нем указанны протестированные данные (и по этой причине 0 ячейка avr EEPROM битая над ней издеваются во всем диапазоне температур и напряжений) на самом деле все мк могут больше только тестирование ведет к удорожанию конечной стоимости. (некоторые пользователи ARM заметили что на одинаковых кристалах с "разной памятью" она одинаковая и ST комментирует это тем что они выполняются по одной маске просто тестируют не всю память на некоторых кристалах )


зы у меняу питон и либа serialport я ее исправил как установил и запретил пользоваться проводом DTR (мк не перезагружается).
я повелитель электронов! Но иногда появляются электроны бунтари и делают, что им вздумается, например, прокладывают новые пути движения...

"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Arduino debugging

Сообщение Morroc »

Yadro писал(а): Что значит евойная среда?) Если подразумевается Arduino IDE, то это и не иде вовсе.. А мегапроекты на ардуине похоже не пишутся :/
Ну создатели ее позиционируют как то так. Если ардуина используется просто как плата с мк - тогда это конечно не нужно, а мне для поделий оно и в концепции ардуино нравится, бывает что потом на stm32-ардуине запускаю скетч и ведь работает после небольшого допиливания, в более специализированных средах под определенный мк это заняло бы больше времени наверняка. Конечно не без костылей, когда надо ногами быстро дергать - приходится дергать напрямую и всякое такое.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Ответить

Вернуться в «AVR»