Arduino有装配体吗?


12

自从我涉足微处理业务以来,由于可用资源众多,我决定选择Atmel AVR。而且Arduino似乎也有很多,更不用说他们的入门套件似乎更“像我一样”

问题是我想先在Assembly中学习它,然后去C / C ++或带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 2012年

Answers:


5

Arduino板可进行汇编编程。您只需要一条ICSP电缆(在线串行编程器)电缆和AVR工具链(ATMEL免费提供)即可写到板上。然后,您将获得板载调试的优势。

正如您所建议的,您可以将ATMEL芯片拍在面包板上,然后到镇上。

您引用的工具包似乎是一个很好的起点。您可以直接从板上取下芯片,然后将其粘贴在自己的面包板上(只要它具有正确调节的功率并占用时钟)。


是的,我很乐意坚持现在不把它放在我自己的面包板上,大声笑我在电路方面还不是很好。

@Sauron-哈-两种方法都不错。不管让您着迷!好东西是单个芯片非常便宜(几美元左右)。
RQDQ 2011年


2

据我所知,关于Arduino引导加载程序应该没有什么特别的,可以阻止您使用汇编而不是C。Arduino IDE可能会很难上传您自己的.hex文件,但是看起来Arduino引导加载程序与STK500兼容,因此您应该可以将其与avrdude一起使用。


是的,实际上,Arduino IDE本身使用avrdude来执行上传。
克里斯·斯特拉顿

1

Arduino开发板(无论如何都是Uno和Duemilanove)都有一个标准的AVR编程连接器,Atmel编程人员和调试器通过AVR Studio支持该连接器。Studio支持汇编程序和C。合适的编程器是AVRISP MkII,而AVR Dragon提供编程和调试功能。我会得到后者的,它要贵50美元,但调试功能非常宝贵。您也可以将这些工具与插入面包板或PCB的标准AVR芯片(不是Arduino)一起使用。


1

Arduino由两部分组成:硬件和IDE。IDE主要(如果不完全)将您限制为C和C ++(开发人员使用了一些语法糖使其变得更像Processing / Java)。IDE可能会与标准草图(.pde)识别同一目录中的.s或.S文件,但我不会为此感到沮丧。

硬件没有什么特别的。这是一个很好的,友好的开发板,具有µC新手将欣赏的许多精美功能,但是,如果您只想通过ISP标头对AVR进行编程,也可以这样做。您将需要Atmel AVRISP mkII之类的东西,或者需要与Arduino板上的2x3行连接器配合使用的任何其他编程器。寻找与将用于上传应用程序的avrdude程序兼容的程序。远离Adafruit的USBtinyISP;我的运气太糟糕了,最终以不到40美元的价格从Mouser那里购买了我所链接的Atmel。


1
奇怪,我除了拥有Atmel IDE和usbtiny之外,还没有很好的经验,而且buspirate还将在许多不同平台上作为isp出现,这是一个很棒的小工具
crasic 2011年

1

一点也不难。

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

您需要查看我认为在页面上的ser.c才能选择哪个卡。有些默认情况下使用不同的串行端口速度,并且使用不同的重置方案进入编程模式。如果您查看arduino固件,您会发现几乎没有任何avr编程命令真正受支持。无论如何,真的不需要它们。


1

Aruduino绝对可以在组装中编程。而且,您甚至都不需要ICSP电缆!

好吧,在公平,这是一样的从地上爬起来的纯组装其编程。

但是您可以使用C进行内联汇编。这意味着您可以将代码加载到具有内联汇编的Arduino上,然后执行。考虑TVOut库,该允许Arduino将NTSC / PAL输出到电视。

该库对时间非常敏感(因为它要输出到电视,所以每条扫描线都必须在正确的时间写入。)因此,它使用内联汇编来加快该过程。从库中查看该文件的第89行,作者正在使用他编写的一些程序集宏

现在。我怀疑他没有使用默认的Arduino IDE编写它们。但是该库调用他的内联asm代码,任何人都可以通过其接口导入,编译和执行。

祝你好运!


2
实际上,您也可以执行汇编源文件,您只需要跳过Arduino IDE并直接与avr-gcc(或任何用作汇编程序的后端程序)和avrdude等后端工具进行交互。
克里斯·斯特拉顿

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.