Kvůli obrovskému množství dostupných zdrojů jsem se rozhodl podniknout mikroprocesor s firmou Atmel AVR. Zdá se, že Arduino toho má také hodně, nemluvě o tom, že jejich startovací sady vypadají více “ na mé úrovni. “
Problém je v tom, že se to nejprve chci naučit při montáži a poté přejít na C / C ++ nebo na cokoli, co Arduino používá, ale „slyšel jsem, že Arduino nepřijme AVR montáž. Je to pravda? Existuje nějaký způsob, jak to obejít?
Upravit: Chtěl bych s ATMEL STK500, ale pro první časovač to vypadá VELMI komplikovaně. Existuje nějaký důvod, proč nemohu dostat 8bitový AVR, dát ho na prkénko a experimentovat tak? (Myslím, že bych musel přijít na to, jak je propojit jako takové.)
Edit2: Na to jsem myslel
http://www.adafruit.com/index.php?main_page=product_info&cPath=17&products_id=193
Komentáře
- Jak to jde? O jakém řešení jste uvažovali? Koupil jsem Arduino Uo a hledal způsob, jak se vyvíjet také v assembleru
- Navrhoval bych použít řadič 89c51 (8051) pro montážní jazyk
Odpověď
Desky Arduino lze naprogramovat v sestavě. K zápisu na desku potřebujete pouze kabel ICSP (In Circuit Serial Programmer) a sadu nástrojů AVR (zdarma od ATMEL). Poté získáte výhodu palubního ladění.
Jak jste navrhli, můžete jen plácnout čip ATMEL na prkénko a jít do města.
Souprava, na kterou jste odkazovali, vypadá jako skvělý výchozí bod. Čip můžete sundat přímo z hrací desky a nalepit na vlastní prkénko (pokud má správně regulovanou energii a počítáte s hodinami).
EDIT: Podle všeho nepotřebujete ICSP k načtení montážních programů. Podrobnosti najdete níže v komentáři.
Komentáře
- Ya ‚ d prolly se chci držet toho, že to právě nedávám na svůj vlastní prkénko lol Im not so great with okruhy.
- @Sauron – hah – oba způsoby jsou dobré. Ať už vás chytí cokoli! Dobrá věc je, že jednotlivé čipy jsou docela levné (pár babek).
- Tato odpověď je podstatně zavádějící: ŽÁDNÝ ISP NENÍ POTŘEBNÝ . Bootloader používaný Arduinem předchází projektu Arduino a vůbec netuší, zda načítaný soubor pochází z kompilátoru nebo assembleru. Prosím, ‚ t udržovat mylnou představu, že bootloader v Arduinu má co do činění se způsobem psaní programů zaměřených na hardware; je to jednoduše vhodný mechanismus, jak dostat kód jakéhokoli původu do čipu.
- @ChrisStratton – děkujeme za zpětnou vazbu. ‚ Aktualizoval jsem svoji odpověď, aby zahrnoval vaši zpětnou vazbu.
Odpovědět
Arduino IDE lze „opravit“ tak, aby vyhovovalo kódu shromáždění. Tady je wiki: http://www.cs.nmsu.edu/~jcook/arduino/index.php?n=Notes.AssemblyMods
Komentáře
- adresa URL se zdá být rozbitá
odpověď
pokud vím, měla by nebuďte nic konkrétního ohledně bootloaderu Arduino, který by vám mohl bránit v použití montáže místo C. Arduino IDE může ztěžovat nahrávání vašich vlastních souborů .hex, ale vypadá to jako bootloader Arduino je kompatibilní s STK500 , takže byste jej měli používat s avrdude.
Komentáře
- Ano, vlastně samotné IDE Arduino používá k provedení nahrávání avrdude.
Odpověď
Není to vůbec obtížné.
http://www.dwelch.com/arduino/
Chcete-li vybrat, musíte se na stránce podívat na ser.c která karta. některé používají ve výchozím nastavení různé rychlosti sériového portu a různá schémata resetování, aby se dostali do programovacího režimu. Pokud se podíváte na firmware arduino, zjistíte, že téměř žádný z programovacích příkazů avr není skutečně podporován. Opravdu je opravdu nepotřebujete.
Odpověď
arduino lze naprogramovat pomocí assembleru pomocí GCC-AVR Inline Assembler, zkontrolujte tento odkaz Kuchařka Inline Assembler GCC-AVR
http://web.stanford.edu/class/ee281/projects/aut2002/yingzong-mouse/media/GCCAVRInlAsmCB.pdf
Answer
Desky Arduino (v každém případě Uno a Duemilanove) mají standardní programovací konektor AVR, který je podporován programátory a debuggery Atmel prostřednictvím AVR Studio. Studio podporuje assembler a C. Vhodným programátorem je AVRISP MkII a AVR Dragon nabízí programování i ladění. „Dostanu to druhé, je to dražší za 50 $, ale ladicí zařízení je neocenitelné.“ Tyto nástroje můžete také použít se standardním čipem AVR (nikoli Arduino) zapojeným do kontaktního pole nebo desky plošných spojů.
Komentáře
- I když je ‚ pravda, že mají záhlaví ICSP, ‚ není nutné jej používat. Zavaděč funguje stejně dobře s jakýmkoli způsobem autorství programu a ve skutečnosti dokonce i Arduino IDE spoléhá na již existující obslužný program příkazového řádku
avrdude
pro provoz zavaděče.
Odpověď
Arduino se skládá ze dvou částí: hardwaru a IDE. IDE vás hlavně (pokud ne úplně) omezuje na C a C ++ (s nějakým syntaktickým cukrem, který vývojáři vrhli, aby to trochu připomínalo Processing / Java). Je tu šance, že IDE rozpozná soubory .s nebo .S ve stejném adresáři jako standardní skica (.pde), ale za to bych klobouk nezavěsil.
Nic tu není speciální hardware. Je to pěkná, přátelská deska se spoustou šikovných funkcí, které µC nováčci ocení, ale pokud chcete programovat AVR pouze prostřednictvím hlavičky ISP, můžete to udělat také. Budete potřebovat něco jako Atmel AVRISP mkII nebo jakýkoli jiný programátor, který pracuje s řadovým konektorem 2×3 na desce Arduino. Hledejte ty, které jsou kompatibilní s program avrdude, který použijete k nahrání svých aplikací. Drž se dál od USBtinyISP společnosti Adafruit; měl jsem s tím strašné štěstí a nakonec jsem koupil Atmel, na který jsem odkazoval, za méně než 40 $ od společnosti Mouser.
Komentáře
- Zvláštní, neměl jsem ‚ nic jiného než dobré zkušenosti s Atmel IDE a usbtiny. Také buspirate se zdvojnásobí jako ISP pro mnoho různých platforem, skvělý malý nástroj
- ‚ Není potřeba adaptér ICSP, bootloader funguje dobře s jakýmkoli způsobem autorství programu
Odpověď
Aruduino lze absolutně naprogramovat v sestavě. A nepotřebujete k tomu ani kabel ICSP!
Dobře, ve spravedlnosti to není stejné jako programování v čisté sestavě od základu.
Můžete ale inline sestavení v C. Což znamená, že můžete načíst kód do svého Arduina, které má inline shromáždění, které se poté provede. Zvažte knihovnu TVOut , což umožňuje Arduinu výstup NTSC / PAL do televizoru.
Tato knihovna je velmi časově citlivá (protože je výstup do televizoru, každá řádka skenování musí být napsána vpravo time.) Takže k urychlení procesu používá inline montáž. Při pohledu na řádek 89 tohoto souboru z knihovny autor používá některé montážní makra , která napsal.
Teď. Mám podezření, že je nenapsal pomocí výchozího IDE Arduino. Tato knihovna však vyžaduje jeho vložené asm kód, který může kdokoli importovat, kompilovat a spouštět prostřednictvím svého rozhraní.
Hodně štěstí!
Comm ents
- Ve skutečnosti můžete také vytvářet zdrojové soubory sestavy, stačí přeskočit IDE Arduino a pracovat s back-endovými nástroji, jako je avr-gcc (nebo cokoli jiného použití jako assembler) a přímá avrdude.
Odpověď
Jako hostitelskou platformu používám Linux, ale myslím, že tyto nástroje jsou k dispozici také pro odrůdy Windows.
Pro sestavení do hexadecimálního kódu používám “ avra “ převaděč (kompilátor)
Poté naprogramuji čip pomocí programátoru USBTiny a programovacího nástroje “ avrdude „.
Věřím, že oba tyto nástroje jsou open source.