Ардуїно зі збором?


12

Оскільки я працював у мікропроцесорі, я вирішив перейти на Atmel AVR завдяки величезним доступним ресурсам. І Arduino, здається, має також багато, не кажучи вже про їхні набори для стартерів здаються більш "на моєму рівні"

Проблема в тому, що я хочу спершу вивчити це в Асамблеї, а потім перейти до C / C ++ або w / e Arduino використовує, але я почув, що Arduino не прийме збірку AVR? Це правда? чи є їх спосіб обійтись?

Дякую

редагувати: Я б пішов з ATMEL STK500, але ... для першого таймера це виглядає ДУЖЕ складно? Чи є якась причина, чому я не можу просто отримати 8-бітний AVR і помістити його на дошці та експериментувати таким чином? (я думаю, мені доведеться розібратися, як їх інтерфейсувати як такі ....)

edit2: Це я думав

http://www.adafruit.com/index.php?main_page=product_info&cPath=17&products_id=193


Як справи? То яке рішення ви розглянули? Я купив Arduino Uo і шукаю спосіб розробки на асемблері , а також
SLL

Відповіді:


5

Дошки Arduino можна запрограмувати в зборі. Все, що вам потрібно, це кабель ICSP (In Circuit Serial Programmer) і кабель інструментів AVR (вільний від ATMEL) для запису на плату. Потім ви отримуєте перевагу на налагодженні на борту.

Як ви запропонували, ви можете просто ляпнути чіп ATMEL на дошці та поїхати до міста.

Комплект, на який ви посилаєтесь, виглядає як чудова відправна точка. Ви можете зняти чіп прямо з дошки та наклеїти його на власну дошку (доки вона має правильну регульовану потужність і ви враховуєте годинник).


Так, я б хотів дотримуватися того, щоб не ставити його на моїй власній дошці зараз, хай я не так чудово з схемами.

@Sauron - ха - будь-який спосіб хороший. Що б ви не зачепили! Хороша річ, що окремі фішки досить дешеві (пара баксів або близько того).
RQDQ


2

Наскільки я знаю, не повинно бути нічого конкретного щодо завантажувача Arduino, що може завадити вам використовувати збірку замість C. Arduino IDE може ускладнити завантаження ваших власних файлів .hex, але схоже, що завантажувач Arduino сумісний із STK500, тому ви повинні мати можливість використовувати його з avrdude.


Так, насправді сам Arduino IDE використовує avrdude для виконання завантаження.
Кріс Страттон

1

Плати Arduino (Uno і Duemilanove в будь-якому випадку) мають стандартний роз'єм програмування AVR, який підтримується програмістами Atbu і програмою Atmel через AVR Studio. Студія підтримує асемблер і C. Підходящим програмістом є AVRISP MkII, а AVR Dragon пропонує і програмування, і налагодження. Я отримав би останнє, це дорожче на 50 доларів, але налагоджувальний інструмент неоціненний. Ви також можете використовувати ці інструменти зі стандартним чіпом AVR (не Arduino), підключеним до дошки або друкованої плати.


1

Arduino складається з двох частин: обладнання та IDE. IDE в основному (якщо не повністю) обмежує вас на C і C ++ (з деяким синтаксичним цукром, який розробники кинули, щоб зробити його трохи більше схожим на Processing / Java). Є ймовірність, що IDE розпізнає файли .s або .S у тому ж каталозі, що і стандартний ескіз (.pde), але я не повісив би шапку на це.

У техніці немає нічого особливого. Це приємна дружна дошка з великою кількістю чудових функцій, які неофіти µC оцінять, але якщо ви хочете просто запрограмувати AVR за допомогою заголовка провайдера, ви можете це зробити і. Вам знадобиться щось на кшталт Atmel AVRISP mkII або будь-який інший програміст, який працює з роз'ємом 2x3 рядка на платі Arduino. Шукайте ті, які сумісні з програмою avrdude, яку ви використовуєте для завантаження своїх додатків. Тримайтеся подалі від USBtinyISP Adafruit; Я мав жахливу удачу з цим, і в кінцевому підсумку купив Atmel, який я пов’язав менше ніж за 40 доларів у Mouser.


1
Дивно, що у мене не було нічого, крім хорошого досвіду роботи з Atmel IDE і usbtiny. Також buspirate збільшиться в два рази як ісп для багатьох різних платформ, чудовий маленький інструмент
катастрофа

1

Зовсім не складно.

http://www.dwelch.com/arduino/

Вам потрібно подивитися на мою сторінку ser.c, щоб вибрати, яку картку. деякі використовують різні швидкості послідовного порту за замовчуванням та різні схеми скидання, щоб перейти в режим програмування. Якщо ви подивитесь на прошивку arduino, то виявите, що навряд чи якась команда програмування avr справді підтримується. Dont дійсно їм потрібні все одно.


1

Aruduino можна абсолютно запрограмувати в зборі. І для цього вам навіть не потрібен кабель ICSP!

Гаразд, чесно кажучи, це не те саме, що програмувати його в чистому складі з нуля.

Але ви можете вбудовувати збірку в C. Що означає, що ви можете завантажити код на свій Arduino, який має вбудовану збірку, яка потім буде виконана. Розглянемо бібліотеку TVOut , яка дозволяє Arduino виводити NTSC / PAL на телевізор.

Ця бібліотека дуже залежна від часу (оскільки вона виводиться на телевізор, кожен сканер повинен бути написаний у потрібний час). Таким чином, він використовує вбудовану збірку для пришвидшення процесу. Переглядаючи рядок 89 цього файлу з бібліотеки, автор використовує деякі з макросів складання, які він написав.

Тепер. Я підозрюю, що він не написав їх, використовуючи IDE Arduino за замовчуванням. Але ця бібліотека вимагає свого вбудованого ASM-коду, який кожен може імпортувати, компілювати та виконувати через свій інтерфейс.

Удачі!


2
Насправді, ви можете робити файли вихідних файлів збірки, вам просто потрібно пропустити Arduino IDE і взаємодіяти з інструментами зворотного кінця, такими як avr-gcc (або з тим, що ви використовуєте як асемблер) і avrdude безпосередньо.
Кріс Страттон

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.