A mikroprocesszorral való vállalkozásom érdekében a rendelkezésre álló hatalmas források miatt az Atmel AVR mellett döntöttem. Úgy tűnik, hogy az Arduino-nak is nagyon sok van, nem is beszélve arról, hogy az induló készletük ” az én szintemen tűnik. ”
A probléma az, hogy először az összeszerelésben szeretném megtanulni, majd a C / C ++ – ra vagy bármi másra használom, amelyet Arduino használ, de azt hallottam, hogy Arduino nem veszi át az AVR-összeállítást. Igaz ez? Van ennek valami körülménye?
Szerkesztés: Az ATMEL STK500-mal járnék, de első időzítőnél NAGYON bonyolultnak tűnik. Van valami oka annak, hogy nem tudok csak beszerezni egy 8 bites AVR-t, és feltenni a kenyérlapra, és így kísérletezni? (Azt hiszem, ki kellene találnom, hogyan kell őket interfészként kezelni.)
Edit2: Erre gondoltam
http://www.adafruit.com/index.php?main_page=product_info&cPath=17&products_id=193
Megjegyzések
- Hogy megy ez? Tehát melyik megoldást fontolgatta? Megvettem az Arduino Uo szoftvert, és azt kerestem, hogy hogyan tudok fejlődni az assemblerben is.
- Azt javaslom, hogy a 89c51 (8051) vezérlőt használjuk az összeállítási nyelvhez
Válasz
Az Arduino táblák összeállításban programozhatók. Csak egy ICSP kábelre (áramkör soros programozóra) és az AVR eszközláncra van szükség (ATMEL mentes), hogy írjon a táblára. Ezután kihasználhatja a fedélzeti hibakeresés előnyeit.
Amint azt javasolta, egyszerűen felpofozhat egy ATMEL chipet a kenyérlapra, és elmehet a városba.
Az általad hivatkozott készlet úgy néz ki, mint egy remek kiindulópont. Leveheti a chipet a tábláról, és felragaszthatja a saját kenyérlapjára (mindaddig, amíg megfelelően szabályozza az energiát, és figyelembe veszi az órát).
SZERKESZTÉS: Nyilvánvaló, hogy nem kell ICSP az összeszerelő programok betöltéséhez. A részletekért lásd az alábbi megjegyzést.
Megjegyzések
- Igen ‘ d nagyon szeretnék ragaszkodni ahhoz, hogy ne tegyem most a saját kenyérlapomra, lol áramkörök.
- @Sauron – hah – bármelyik módszer jó. Bármi is kiakadjon! A jó dolog az, hogy az egyes zsetonok meglehetősen olcsók (vagy néhány dollár).
- Ez a válasz lényegében félrevezető: NEM SZÜKSÉGES ISP-NEK . Az Arduino által használt bootloader megelőzte az Arduino projektet, és fogalma sincs arról, hogy a betöltött fájl egy fordítótól vagy egy összeállítótól származik. Kérjük, ne ‘ t nem örökíti meg azt a tévhitet, miszerint a bootloader egy Arduino-ban bármi köze van a hardver célzásához szükséges programok írásának módszeréhez; ez egyszerűen egy kényelmes mechanizmus, amellyel bármilyen eredetű kódot be tudnak juttatni a chipbe.
- @ChrisStratton – köszönjük visszajelzését. ‘ Frissítettem válaszomat, hogy beépítsem visszajelzését.
Válasz
Az Arduino IDE “fixálható” az Assembly kód befogadására. Itt van a wiki: http://www.cs.nmsu.edu/~jcook/arduino/index.php?n=Notes.AssemblyMods
Megjegyzések
- úgy tűnik, hogy az URL nem működik
Válasz
Ha jól tudom, meg kell Legyen semmi különös az Arduino rendszerbetöltőjéről, ami megakadályozhatja az összeállítás használatát a C helyett. Az Arduino IDE megnehezítheti saját .hex fájljainak feltöltését, de úgy néz ki, hogy az Arduino rendszerbetöltője > STK500 kompatibilis , ezért képesnek kell lennie arra, hogy az avrdude-tal együtt használhassa.
Megjegyzések
- Igen, valójában maga az Arduino IDE az avrdude segítségével hajtja végre a feltöltést.
Válasz
Egyáltalán nem nehéz.
http://www.dwelch.com/arduino/
A választáshoz meg kell néznie a Szer.c oldalt az oldalamon melyik kártya. egyesek alapértelmezés szerint más soros port sebességet és más reset sémákat használnak a programozási módba való belépéshez. Ha megnézi az arduino firmware-t, akkor azt tapasztalja, hogy az AVR programozási parancsok közül alig támogatott semmit. Különben sincs szükségük rájuk.
Válasz
az arduino programozható összeállítással a GCC-AVR Inline Assembler segítségével. GCC-AVR Inline Assembler szakácskönyv
http://web.stanford.edu/class/ee281/projects/aut2002/yingzong-mouse/media/GCCAVRInlAsmCB.pdf
Válasz
Az Arduino táblák (mindenképpen Uno és Duemilanove) szabványos AVR programozási csatlakozóval rendelkeznek, amelyet az Atmel programozói és hibakeresői támogatnak az AVR Studio segítségével. A Studio támogatja az assemblert és a C-t. Megfelelő programozó az AVRISP MkII, az AVR Dragon pedig programozást és hibakeresést is kínál. Utóbbit kapnám, ez 50 dollárnál drágább, de a hibakeresési lehetőség felbecsülhetetlen. Ezeket az eszközöket egy szabványos AVR chip (nem Arduino) segítségével is használhatja, amely egy kenyérlapra vagy egy NYÁK-ra van csatlakoztatva.
Megjegyzések
- Bár ‘ igaz, hogy van ICSP fejlécük, ott ‘ s nem kell használni. A rendszerbetöltő ugyanolyan jól működik a program készítésének bármely eszközével, sőt, még az Arduino IDE is a már létező parancssori segédprogramra támaszkodik
avrdude
a rendszerbetöltő működtetésében.
Válasz
Az Arduino két darabból áll: a hardverből és az IDE-ből. Az IDE főleg (ha nem teljesen) a C-re és a C ++ -ra korlátoz (némi szintaktikai cukorral a fejlesztők azért dobtak be, hogy kicsit jobban hasonlítsanak a Processing / Java-ra). Lehetséges, hogy az IDE felismeri a .s vagy .S fájlokat ugyanabban a könyvtárban, mint egy szokásos vázlatot (.pde), de nem akasztanám rá a kalapomat.
Nincs semmi különleges a hardverrel kapcsolatban. Ez egy kedves, barátságos tábla, sok remek funkcióval, amelyeket a µC neofiták értékelni fognak, de ha csak az AVR-t szeretné programozni az ISP fejlécén keresztül, akkor ezt is megteheti. Szüksége lesz valamire, például az Atmel AVRISP mkII fájlra, vagy bármely más programozóra, amely az Arduino kártya 2×3 soros csatlakozójával működik. Keressen olyanokat, amelyek kompatibilisek az avrdude program, amelyet az alkalmazások feltöltésére használ. Tartson távol az Adafruit USBtinyISP-jétől; szörnyen szerencsém volt hozzá, és végül megvettem az Atmel-t, amelyet kevesebb, mint 40 dollárért kapcsoltam össze Mousertől.
Hozzászólások
- Furcsa, nekem ‘ nem volt más, csak jó tapasztalataim az Atmel IDE-vel és az usbtiny-vel. A Buspirate is sokféle platformon ispként fog működni, nagyszerű kis eszköz
- Nincs ‘ nincs szükség ICSP-adapterre, a rendszerbetöltő a program szerzői jogának bármely eszközével jól működik
Válasz
Az Aruduino-t abszolút be lehet programozni az összeállítás során. És még csak ICSP-kábel sem szükséges hozzá!
Rendben, igazság szerint ez nem ugyanaz, mint az alapoktól kezdve tiszta összeállításban programozni.
De beillesztheti az összeszerelést C-be. Ez azt jelenti, hogy betölthet kódot Arduino-jába, amely beépített összeállítással rendelkezik, majd végrehajtja. Tekintsük a TVOut könyvtárat , amely lehetővé teszi az Arduino számára, hogy az NTSC / PAL-t egy TV-készülékre továbbítsa.
Ez a könyvtár nagyon időérzékeny (mivel a TV-hez kerül, minden szkennelési sort jobbra kell írni. idő.) Tehát inline összeszerelést használ a folyamat felgyorsítására. Ha a könyvtárból a fájl 89. sorát nézzük, akkor a szerző a összeállítási makrók , amelyeket írt.
Most. Gyanítom, hogy nem az alapértelmezett Arduino IDE használatával írta őket. De ez a könyvtár felhívja az inline asm kód, amelyet bárki importálhat, lefordíthat és végrehajthat a felületén keresztül.
Sok szerencsét!
Comm ents
- Valójában megteheti az összeállítás forrásfájljait is, csak ki kell hagynia az Arduino IDE-t, és kölcsönhatásba kell lépnie a háttéreszközökkel, például az avr-gcc (vagy bármi mással) használd összeállítóként) és közvetlenül avrdude.
Válasz
Linuxot használok hosztplatformként, de úgy gondolom, hogy ezek az eszközök a Windows fajtákhoz is elérhetők.
A ” avra ” fájlt használom az hexadecimális összeállításhoz. átalakító (fordító)
Ezután az USBTiny programozó és a ” avrdude ” programozó eszköz segítségével programozom a chipet.
Úgy gondolom, hogy mindkét eszköz nyílt forráskódú.