Mikroprosessointihankkeellani päätin mennä Atmel AVR: n kanssa käytettävissä olevien valtavien resurssien takia. Arduinolla näyttää olevan myös paljon, puhumattakaan siitä, että heidän aloitussarjansa näyttävät olevan ” minun tasolla. ”
Ongelmana on, että haluan oppia sen ensin kokoonpanossa ja siirtyä sitten C / C ++ – tai mihin tahansa Arduinon käyttämään, mutta olen kuullut Arduinon ottavan AVR-kokoonpanoa. Onko tämä totta? Onko tällä tavalla mitään keinoa?
Muokkaa: Menen ATMEL STK500: n kanssa, mutta ensimmäiselle ajastimelle se näyttää erittäin monimutkaiselta. Onko mitään syytä, miksi en voi vain hankkia 8-bittistä AVR: ää ja laittaa sen leipälevylle ja kokeilla tällä tavalla? (Minun pitäisi luultavasti selvittää, miten ne voidaan liittää sellaisenaan.)
Muokkaa2: Tätä ajattelin
http://www.adafruit.com/index.php?main_page=product_info&cPath=17&products_id=193
Kommentit
- Kuinka menee? Joten mitä ratkaisua olet harkinnut? Ostin Arduino Uon ja etsin tapaa kehittyä myös assemblerissa
- Ehdotan, että kokoonpanokieleksi käytetään 89c51 (8051) -ohjainta.
Vastaus
Arduino-levyt voidaan ohjelmoida kokoonpanossa. Tarvitset vain ICSP-kaapelin (Circuit Serial Programmer) ja AVR-työkaluketjun (vapaa ATMEL: stä) taululle kirjoittamiseen. Sitten saat edun aluksella tapahtuvasta virheenkorjauksesta.
Kuten ehdotit, voit vain lyödä ATMEL-sirun leipälaudalle ja mennä kaupunkiin.
Viitattu paketti näyttää hyvä lähtökohta. Voit ottaa sirun suoraan pöydältä ja kiinnittää sen omalle leipälautallesi (kunhan sillä on oikein säädetty teho ja otat huomioon kellon).
MUOKKAA: Ilmeisesti ei tarvita ICSP: tä kokoonpano-ohjelmien lataamiseen. Katso lisätietoja alla olevasta kommentista.
Kommentit
- Kyllä ’ d haluaisin pysyä kiinni Älä laita sitä omalle leipälautalleni juuri nyt lol En ole kovin hyvä piirit.
- @Sauron – hah – kumpikin tapa on hyvä. Mikä vain saa sinut koukkuun! Hyvä asia on, että yksittäiset pelimerkit ovat melko halpoja (pari dollaria tai niin).
- Tämä vastaus on olennaisesti harhaanjohtava: EI ISP: tä TARVITAAN . Arduinon käyttämä käynnistyslatausohjelma on ennen Arduino-projektia eikä sillä ole aavistustakaan, jos ladattava tiedosto on peräisin kääntäjältä tai kokoonpanijalta. Älä ’ t säilyttää väärän käsityksen, jonka mukaan Arduinon käynnistyslatausohjelma sillä on mitään tekemistä menetelmän kanssa kirjoittaa ohjelmia kohdistaa laitteisto; se on yksinkertaisesti kätevä tapa saada minkä tahansa alkuperän koodi siruun.
- @ChrisStratton – kiitos palautteestasi. Olen ’ päivittänyt vastaukseni sisällyttämään palautteesi.
Vastaa
Arduino IDE voidaan ”korjata” kokoonpanokoodin mukaiseksi. Tässä on wiki: http://www.cs.nmsu.edu/~jcook/arduino/index.php?n=Notes.AssemblyMods
Kommentit
- URL-osoite näyttää olevan rikki
Vastaa
Sikäli kuin tiedän, pitäisi Arduino-käynnistyslataimessa ei saa olla mitään erityistä, mikä voi estää sinua käyttämästä kokoonpanoa C: n sijaan. Arduino IDE saattaa vaikeuttaa omistamiesi .hex-tiedostojen lähettämistä, mutta näyttää siltä, että Arduino-käynnistyslatausohjelma on STK500-yhteensopiva , joten sinun pitäisi pystyä käyttämään sitä avrduden kanssa.
Kommentit
- Kyllä, itse asiassa itse Arduino IDE käyttää lataamista avrdudella.
Vastaa
Ei lainkaan vaikeaa.
http://www.dwelch.com/arduino/
Sinun on tarkasteltava mielestäni ser.c sivullani valitaksesi mikä kortti. jotkut käyttävät oletusarvoisesti eri sarjaportin nopeuksia ja erilaisia nollausmalleja päästäksesi ohjelmointitilaan. Jos katsot arduino-laiteohjelmistoa, huomaat, että tuskin mitään AVR-ohjelmointikomennoista todella tuetaan. Älä todellakaan tarvitse niitä.
Vastaa
arduino voidaan ohjelmoida kokoonpanolla GCC-AVR Inline Assembler -sovelluksella tarkista tämä linkki GCC-AVR Inline Assembler Cookbook
http://web.stanford.edu/class/ee281/projects/aut2002/yingzong-mouse/media/GCCAVRInlAsmCB.pdf
Vastaus
Arduino-levyillä (joka tapauksessa Uno ja Duemilanove) on vakio AVR-ohjelmointiliitin, jota Atmel-ohjelmoijat ja virheenkorjaajat tukevat AVR Studion kautta. Studio tukee assembleria ja C: tä. Sopiva ohjelmoija on AVRISP MkII, ja AVR Dragon tarjoaa sekä ohjelmointia että virheenkorjausta. Sain jälkimmäisen, se on kalliimpaa 50 dollaria, mutta virheenkorjaus on korvaamaton. Voit käyttää näitä työkaluja myös tavallisella AVR-sirulla (ei Arduino), joka on kytketty leipäpaneeliin tai piirilevyyn.
kommentit
- Vaikka ’ on totta, että heillä on ICSP-otsikko, ’ ei tarvitse käyttää sitä. Käynnistyslatain toimii yhtä hyvin minkä tahansa ohjelman kirjoitustavan kanssa, ja itse asiassa jopa Arduino IDE luottaa käynnistyslataimen käyttämiseen olemassa olevaan komentorivin apuohjelmaan
avrdude
.
Vastaus
Arduino koostuu kahdesta osasta: laitteistosta ja IDE: stä. IDE rajoittaa pääasiassa C: hen ja C ++: een (jonkin verran syntaktista sokeria, jonka kehittäjät ovat heittäneet tekemään siitä hieman enemmän kuin Processing / Java). On mahdollista, että IDE tunnistaa .s- tai .S-tiedostot samassa hakemistossa kuin tavallinen luonnos (.pde), mutta en ripustaisi hattua siihen.
Ei ole mitään erityinen laitteisto. Se on mukava, ystävällinen alusta, jossa on paljon hienoja ominaisuuksia, joita µC neofyytit arvostavat, mutta jos haluat vain ohjelmoida AVR: n Internet-palveluntarjoajan otsikon kautta, voit tehdä sen myös. Tarvitset jotain sellaista kuin Atmel AVRISP mkII tai mitä tahansa muuta ohjelmoijaa, joka toimii Arduino-kortin 2×3-riviliittimen kanssa. Etsi yhteensopivia avrdude-ohjelmaa, jota käytät lataamaan sovelluksiasi. Pysy kaukana Adafruitin USBtinyISP: stä; Minulla on ollut kamala onnea siinä tapauksessa, että ostin linkitetyn Atmelin alle 40 dollaria Mouserilta.
Kommentit
- Outoa, minulla ’ ole ollut muuta kuin hyviä kokemuksia Atmel IDE: stä ja usbtiny: stä. Myös buspirate tulee olemaan isp monille eri alustoille, hieno pieni työkalu
- ’ ei tarvita ICSP-sovitinta, käynnistyslatausohjelma toimii hyvin kaikilla ohjelmien kirjoitustavoilla
Vastaa
Aruduino voidaan ehdottomasti ohjelmoida kokoonpanossa. Ja sinun ei tarvitse edes tehdä ICSP-kaapelia sen tekemiseen!
Okei, rehellisesti sanottuna tämä ei ole sama kuin sen ohjelmointi puhtaana kokoonpanona alusta asti.
Mutta voit sisällyttää kokoonpanon C: hen. Tämä tarkoittaa, että voit ladata koodin Arduinoon, jossa on inline-kokoonpano, joka sitten suoritetaan. Harkitse TVOut-kirjastoa , jonka avulla Arduino voi lähettää NTSC / PAL: n televisioon.
Tämä kirjasto on erittäin aikaherkkä (koska se lähetetään televisioon, jokainen skannausviiva on kirjoitettava oikealle aika.) Joten se käyttää sisäistä kokoonpanoa prosessin nopeuttamiseksi. Kun tarkastellaan tämän tiedoston riviä kirjastosta, kirjailija käyttää joitain kokoonpanomakrot , jotka hän kirjoitti.
Nyt. Epäilen, että hän ei kirjoittanut niitä oletusarvoisella IDE: llä. Mutta tämä kirjasto pyytää hänen linjaansa asm-koodi, jonka kuka tahansa voi tuoda, kääntää ja suorittaa käyttöliittymänsä kautta.
Onnea!
Comm ents
- Itse asiassa voit tehdä myös kokoonpanon lähdetiedostoja, sinun tarvitsee vain ohittaa Arduino IDE ja olla vuorovaikutuksessa taustatyökalujen kuten avr-gcc (tai mitä tahansa muuta) kanssa käyttää kokoonpanijana) ja avrdude suoraan.
Vastaa
Käytän Linuxia isäntäalustana, mutta luulen, että nämä työkalut ovat käytettävissä myös Windows-muunnoksille.
Käytän ” avra ” kokoonpanossa heksakoodiksi muunnin (kääntäjä)
Sitten ohjelmoin sirun USBTiny-ohjelmoijan ja ” avrdude ” -työkalun avulla.
Uskon, että nämä molemmat työkalut ovat avointa lähdekoodia.