Встроенный программатор?
- Войдите на сайт для отправки комментариев
Доброго вроемени суток. Не знаю, в какую рубрику поместить свой вопрос, но, по всей видимости, в эту.
Так вот, хочу поиграться с Ассемблером и "чистым" Си кодом, для этих целей скачал Atmel Studio 7, и в перспективе скачаю winAVR. Но из микроконтроллеров на дайнный момент у меня только платки ардуино, и даже нет программатора. Но, насколько я знаю, в ардуино (скажем, Mega, хотя и в других вроде тоже) присутствует ATMega 8, которая "пропускает через себя" данные с USART1 и вроде как даже занимается программированием основного контроллера.
Так вот: могу ли я, находясь в одной из вышеперечисленных программ, прошить контроллер Ардуины без особых заморочек по поводу программатора, или нужно скачивать отдельные программы, создавать бинарные файлы и прошивать через них? Либо пользоваться теми же программаторами? Заранее спасибо.
P.s. в окне "программирование" в студии не отображается ни один из способов программирования, только "симуляция", в то время как в окне "Arduino IDE" этих программаторов/способов программирования - целая куча.
Так вот, хочу поиграться с Ассемблером и "чистым" Си кодом...
А что вам мешает делать это из Arduino IDE.
Если вы не будете использовать стандартных библиотек, то в компилятор попадет ваш чистый код на С. Компилятор стандартный AVR GCC. И Асемблер там тоже есть. В Arduino IDE нет своего языка програмирования. - Это всего-навсего надстройка над обычным компилятором упрощает инициализацию проэкта и упрощает работу с портами и регистрами. Тут можно и напрямую работать железом. Например так можно написать для инициации аналоговых портов:
Или сделать обработку прерывания
Тут 100% сомместимость.
Также открою вам секрет. Если из временной папки выдрать HEX фал, то его можно смело прошивать в голую ардуинку.
или так:
asm("cli"); // Проба ассемблерной вставки
В студии есть возможность вызова внешней тулзы для прошивки. Прикручиваете avrdude и можно пользоваться любым программатором, который поддерживает дудка.