Arduino med montering? (Svenska)

För min satsning på mikroprocessering bestämde jag mig för att gå med Atmel AVR på grund av de stora resurser som finns tillgängliga. Arduino verkar också ha mycket, för att inte tala om att deras startpaket verkar mer ” på min nivå. ”

Problemet är att jag först vill lära mig det vid montering och sedan gå till C / C ++ eller vad Arduino använder, men jag har hört att Arduino inte kommer att ta AVR-montering. Är detta sant? Finns det någon väg runt det?

Redigera: Jag skulle gå med ATMEL STK500, men för en första timer ser det väldigt komplicerat ut. Finns det någon anledning till att jag inte bara kan få en 8-bitars AVR och sätta den på en brädbräda och experimentera på det sättet? > Edit2: Det här tänkte jag

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

Kommentarer

  • Hur går det? Så vilken lösning har du funderat på? Jag köpte Arduino Uo och letade efter ett sätt att utvecklas även i assembler
  • Jag föreslår att jag använder 89c51 (8051) controller för monteringsspråk

Svar

Arduino-korten kan programmeras i montering. Allt du behöver är en ICSP-kabel (In Circuit Serial Programmer) och AVR-verktygskedjan (fri från ATMEL) för att skriva till tavlan. Då får du fördelen med felsökning ombord.

Som du föreslog kan du bara slå ett ATMEL-chip på en bräda och gå till stan.

Satsen du refererade till ser ut som en bra utgångspunkt. Du kan ta chipet direkt från brädet och hålla det på ditt eget brödbräda (så länge det har korrekt reglerad effekt och du tar hänsyn till klockan).

EDIT: Tydligen behöver du inte en ICSP för att ladda monteringsprogram. Se kommentar nedan för detaljer.

Kommentarer

  • Ya I ’ Jag vill gärna hålla fast vid att inte lägga det på mitt eget bräda just nu lol Jag är inte så bra med kretsar.
  • @Sauron – hah – hur som helst är bra. Oavsett vad som hakar i dig! Det bra är att de enskilda chipsen är ganska billiga (ett par dollar eller så).
  • Det här svaret är väsentligen vilseledande: INGEN ISP BEHÖVS . Bootloadern som används av Arduino föregår Arduino-projektet och har ingen aning alls om filen som laddas kommer från en kompilator eller en samlare. = ”e2979f2a58”>

t upprätthåller missuppfattningen att startladdaren i en Arduino har något att göra med metoden för att skriva program för att rikta in sig på hårdvaran; det är helt enkelt en bekväm mekanism att få in koden av vilket ursprung som helst i chipet.

  • @ChrisStratton – tack för din feedback. Jag ’ har uppdaterat mitt svar för att inkludera din feedback.
  • Svar

    Arduino IDE kan ”fixas” för att rymma församlingskod. Här är wiki: http://www.cs.nmsu.edu/~jcook/arduino/index.php?n=Notes.AssemblyMods

    Kommentarer

    • url verkar vara trasig

    Svar

    Så vitt jag vet borde var inget specifikt med Arduino bootloader som kan hindra dig från att använda montering istället för C. Arduino IDE kan göra det svårt att ladda upp dina egna .hex-filer men det ser ut som att Arduino bootloader är STK500-kompatibelt så du bör kunna använda den med avrdude.

    Kommentarer

    • Ja, faktiskt Arduino IDE själv använder avrdude för att utföra uppladdningen.

    Svar

    Inte svårt alls.

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

    Du måste titta på jag tror ser.c på min sida för att välja vilket kort. vissa använder olika seriella porthastigheter som standard och olika återställningsscheman för att komma in i programmeringsläget. Om du tittar på arduino-firmware kommer du märka att knappast någon av AVR-programmeringskommandona verkligen stöds. Behöver verkligen inte dem ändå.

    Svar

    arduino kan programmeras med montering med GCC-AVR Inline Assembler kolla denna länk för GCC-AVR Inline Assembler Cookbook

    http://web.stanford.edu/class/ee281/projects/aut2002/yingzong-mouse/media/GCCAVRInlAsmCB.pdf

    Svar

    Arduino-kort (i alla fall Uno och Duemilanove) har en standard AVR-programmeringskontakt som stöds av Atmel-programmerare och debuggare via AVR Studio. Studio stöder assembler och C. En lämplig programmerare är AVRISP MkII, och AVR Dragon erbjuder både programmering och felsökning. Jag skulle få det senare, det är dyrare för $ 50, men felsökningsfaciliteten är ovärderlig. Du kan också använda dessa verktyg med ett standard AVR-chip (inte Arduino) anslutet till ett bräda eller ett PCB.

    Kommentarer

    • Även om det ’ är sant att de har en ICSP-rubrik finns det ’ behöver inte använda den. Bootloader fungerar lika bra med alla medel för programförfattarskap, och till och med Arduino IDE förlitar sig på det befintliga kommandoradsverktygsprogrammet avrdude för att driva bootloader.

    Svar

    Arduino består av två delar: hårdvaran och IDE. IDE begränsar dig huvudsakligen (om inte helt) till C och C ++ (med lite syntaktiskt socker har utvecklarna kastat in för att göra det lite mer som Processing / Java). Det finns en chans att IDE känner igen .s- eller .S-filer i samma katalog som en standardskiss (.pde), men jag skulle inte hänga min hatt på det.

    Det finns ingenting speciellt med hårdvaran. Det är en trevlig, vänlig tavla med massor av smidiga funktioner som µC neophytes kommer att uppskatta, men om du bara vill programmera AVR via ISP-rubriken kan du också göra det. Du kommer att behöva något som Atmel AVRISP mkII , eller någon annan programmerare som fungerar med 2×3-radkontakten på Arduino-kortet. Leta efter sådana som är kompatibla med det avrdude-program som du kommer att använda för att ladda upp dina applikationer. Håll dig borta från Adafruit USBtinyISP; Jag har haft hemsk tur med det och slutade köpa Atmel som jag länkade för mindre än $ 40 från Mouser.

    Kommentarer

    • Konstigt, jag ’ Jag har inte haft annat än bra erfarenheter med Atmel IDE och usbtiny, Buspirate kommer också att fungera som en isp för många olika plattformar, fantastiskt litet verktyg
    • Det finns inget ’ utan ICSP-adapter, bootloader fungerar bra med alla programförfattarskap

    Svar

    Aruduino kan absolut programmeras i montering. Och du behöver inte ens en ICSP-kabel för att göra det!

    Okej, i rättvisans namn är detta inte detsamma som att programmera den i ren montering från grunden.

    Men du kan integrera montering i C. Vilket innebär att du kan ladda kod på din Arduino som har inbyggd montering, som sedan körs. Tänk på TVOut-biblioteket , vilket gör det möjligt för Arduino att mata ut NTSC / PAL till en TV.

    Det här biblioteket är väldigt tidskänsligt (eftersom det matas ut till en TV måste varje scanline skrivas till höger tid.) Så det använder inbyggd montering för att påskynda processen. Tittar på rad 89 i den här filen från biblioteket använder författaren en del av monteringsmakron som han skrev.

    Nu. Jag misstänker att han inte skrev dem med standard Arduino IDE. Men detta bibliotek uppmanar hans inline asm-kod, som alla kan importera, kompilera och köra via sitt gränssnitt.

    Lycka till!

    Comm ents

    • Egentligen kan du göra monteringskällfiler också, du behöver bara hoppa över Arduino IDE och interagera med backend-verktygen som avr-gcc (eller vad du än använd som en samlare) och avrdude direkt.

    Svar

    Jag använder Linux som min värdplattform, men jag tror att dessa verktyg också är tillgängliga för Windows-sorter.

    Jag använder ” avra ” för montering till hex-kod omvandlare (kompilator)

    Sedan programmerar jag chipet med en USBTiny programmerare och programmeringsverktyget ” avrdude ”.

    Jag tror att båda dessa verktyg är öppen källkod.

    Lämna ett svar

    Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *