Arduino Due + AVR Studio 6.1 = друзья :)
- Войдите на сайт для отправки комментариев
Прикупил себе Arduin Due, попробовал поиграться со стандартными библиотеками от дуино... да все красиво, все легко... НО мощь SAM3X засунута в самую ж-у... написал обычную мигалку штатным светодиодом, без задержки, ну думаю ща едак на 50Мгц или около как замигает, ага ща... стандартная digitalWrite() замигала на 2.5мкс(400кГц). Думал м/б фигня с программой какая нить, вставил внутрь цикла еще один, который щитал с инкрементом от 1 до 100000, делил, и еще какую то операцию...в результате диод так на 400кГц и продолжал мигать, т.е. математику SAM3X тянул на ура, а вот аппаратная часть просто ужасна.
Короче стал чесать репу, к чему бы прикрутиться с due: Keil, IAR ARM ну и т.к атмел МК AVR Studio. Первые 2 платные(как бы :) ), студия с регистрацией бесплатная.
Keil, IAR поставил, нахрапом написать мигалку не получилось :), хз чо там и где выставлять и подключать
Последним решил попробовать студию и о чудо товарищи:
студия поддерживает Arduino due. Почисал лапки от удовольствия и продолжил:
ну там как обычно main.c и на второй вкладке походу прикольная штука ASF Wizard(Atmel software framework). Это набор библиотек для работы с ядром SAM3X или др МК.Список там большой. К каждой библиотеке есть описание функций.
Завтра попробую на работе, помигать на дуинке со студии
вот еще нашел примочка от ардуино для студии
Я правильно понял, что для отладки приложений нужно еще одно com подключение?
пока не знаю. Сегодня попробую, плата на работе лежит...
поставил студию, установил тулсах Arduino IDE for AVR Studio...
В Файл, создаем Arduino Project. Здесь используются стандартные библиотеки от ардуино, но синтаксис подсвечивается и табом вставляются готовые функции. Зашивается программа в платку по F5 (Главно не ставить флажок "Upload Using Programmer")
Все работает, залил обычную мигалку с выводм на Com порт. В мониторинге порта все видно.
Единственное не понял пока, версия етой примочки триал на 30 дней. То ли ето для отладки или прошивка тоже потом отвалится
ну и насколько быстрее замигало?
да программа таже. Это просто порт IDE ардуины в студию..Используются теже библиоеки что и в родной IDE.
походу зашивать программу, построенную на Atmel software framework(ASF) нужно чем то типа STK500, покрайней мере ета сволоч его очень хочет видеть. Плата прошивается, только когда создаешь проект ардуино, а не стандартный студийный. В станадартном менюшка отключена.
Ща сижу ищу чего бы такого подпихнуть вместо STK.
Если бы прикрутить как нить ASF к ардуинке, было бы просто шикарно
у меня есть STK500, заезжай. :)
а ваще просто интересно какую частоту можно выжать программным битбэнгом.
та аналог STK я нашел уже и плату и прошивку, но народ пишет, что студия 6 нос воротит от левых программаторов :(
на родном форуме ардуино народ тоже голову ломает как бы прилепить ASF к ардуино...
CMSIS можно и в ардуино подключить(все есть), но там, я так глянул, пока только символьые обозначения регистров, а в ASF наклепали удобных функций для работы с железом
не знаю как в атмеловских армах но вот в STM32(тоже на кортексе 3 которые) у них есть флаг скорости работы порта и там макс скорость 50МГц
Все получилось. Теперь можно писать в AVRStudio, используя ASF для ардуины, прошивать с помощью самбы.
Что надо:
1. AVR Studio 6.1 (тут пишем програмки);
2. Файл bossac.exe(лежит в C:\ARM\arduino-1.5.2\hardware\tools\). С помощью него будем заливать программу в ардуину
Пример командной строки: c:\ARM\arduino-1.5.2\hardware\tools\bossac.exe --port=COM3 -U false -e -w -v -b c:\ARM\Work\blink\blink_led\blink_led\Debug\blink_led.bin -R
3. Чтобы запускать загрузчик из меню студии надо сделать следующее: идем в Tools->Extrenal tools....
В появившемся окне заполняем поля:
Title - тут вписываем название макроса;
Command - тут жмем на ... и указываем расположение bossac.exe
Arguments - тут вбиваем: --port=COM3 -U false -e -w -v -b $(TargetDir)$(TargetName).bin -R
Ставим галочку на Use Output Window. Все оболчка готова прошить нашу ардуинку.
4. Аппаратная часть. Подключаем USB-шнурок в program-порт и в комп. Верстаем программу. Жмем кнопку Erase на плате и потом Reset. Жмем в менюшке по подготовленному макросу и видим в логе такую же картинку как и в Arduino IDE при прошивке платы.
Радуемся жизни :)
А что по поводу отладки?
Я пока нашел такую штуку:Simple Dumping Monitor for Arduino
Как ей пользоваться: Отладка скетчей Arduino.
Мне отладки не хватало, а так отладка идет достаточно удобно.
На сайте ничего про отладку не нашел, неужели никто ей не пользуется?
ну дык то, что вы нашли ето для семейства меги:
А Arduino Due, ето уже ARM контроллер.
сделал мигалку в ASF, код получился в 3 раза меньше дуиновского
кстати, дерганье ногой без задежки в ASF медленней, но это, мне кажется, надо в gpio настройки правильные делать, там я одним глазом видел что то типа времни отклика порта. Буду сидеть разбираться с ASF, т.к. цель запихнуть RTOS в дуину
Здравствуйте.
Вот у меня сейчас arduino 2013 есть. Пишу код в авр студии 6. Затем переношу без изменений в arduino ide - и всё нормально компилится. А для arduino duе подобная вещь может пройти?
если используете примочку от Arduino для аврстудио, то все спокойно переносится.
Спасибо. Надо будет попробовать. Честно говоря больше всего в ардуино радует быстрая инициализация. В авр студии конечно есть SystemInit для SAM3. Но ардуиновские библиотеки конечно дружелюбнее. А критичные места можно и на чистом си написать. Можно даже ассемблерные вставки попробовать будет.
В итоге ?
На чем писать чтобы не тормозило?
а в CodeBlocks for Arduino IDE не пробовал работать ?
Установил, но попробовать не получилось. Нет там моей DUE.