Arduino med montering?

For min satsing på mikroprosessering bestemte jeg meg for å gå med Atmel AVR på grunn av de store ressursene som er tilgjengelige. Arduino ser ut til å ha mye også, for ikke å nevne startpakkene deres virker mer » på mitt nivå. »

Problemet er at jeg først vil lære det i montering, og deretter gå til C / C ++ eller hva Arduino bruker, men jeg har hørt Arduino ikke vil ta AVR-montering. Er dette sant? Er det noen vei rundt det?

Rediger: Jeg vil gå med ATMEL STK500, men for en første tidtaker ser det veldig komplisert ut. Er det noen grunn til at jeg ikke bare kan få en 8-biters AVR og sette den på et brødbord og eksperimentere på den måten? (Jeg antar at jeg må finne ut hvordan jeg kan grensesnitt dem som sådan.)

Edit2: Dette tenkte jeg

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

Kommentarer

  • Hvordan går det? Så hvilken løsning har du vurdert? Jeg kjøpte Arduino Uo og leter etter en måte å utvikle meg også i assembler
  • Jeg vil foreslå å bruke 89c51 (8051) kontroller for monteringsspråk

Svar

Arduino-kortene kan programmeres i montering. Alt du trenger er en ICSP-kabel (In Circuit Serial Programmer) og AVR-verktøykjeden (uten ATMEL) for å skrive til tavlen. Du får deretter fordelen av feilsøking ombord.

Som du foreslo, kan du bare slå en ATMEL-brikke på et brødbrett og dra til byen.

Kit du refererte til ser ut som en flott utgangspunkt. Du kan ta brikken rett av brettet og feste den på ditt eget brødbrett (så lenge den har riktig regulert kraft og du tar høyde for klokken).

EDIT: Tilsynelatende trenger du ikke en ICSP for å laste sammen monteringsprogrammer. Se kommentaren nedenfor for detaljer.

Kommentarer

  • Ya I ‘ Jeg vil gjerne fortsette å ikke legge det på mitt eget brødbrett akkurat nå lol Jeg er ikke så bra med kretsløp.
  • @Sauron – hah – uansett er bra. Uansett hva du får hekta på! Det gode er at de enkelte sjetongene er ganske billige (et par dollar eller så).
  • Dette svaret er vesentlig misvisende: INGEN ISP TRENGES . Bootloaderen som brukes av Arduino, er forut for Arduino-prosjektet og har ingen anelse om filen som lastes, stammer fra en kompilator eller en samler. Vennligst ikke ‘ t opprettholder misforståelsen om at bootloaderen i en Arduino har noe å gjøre med metoden for å skrive programmer for å målrette maskinvaren; det er rett og slett en praktisk mekanisme for å få kode av hvilken som helst opprinnelse inn i brikken.
  • @ChrisStratton – takk for tilbakemeldingen. Jeg ‘ har oppdatert svaret mitt for å inkludere tilbakemeldingen din.

Svar

Arduino IDE kan «fikses» for å imøtekomme samlingskode. Her er wiki: http://www.cs.nmsu.edu/~jcook/arduino/index.php?n=Notes.AssemblyMods

Kommentarer

  • url ser ut til å være ødelagt

Svar

Så vidt jeg vet bør det ikke være noe spesifikt om Arduino bootloader som kan forhindre deg i å bruke montering i stedet for C. Arduino IDE kan gjøre det vanskelig å laste opp egne .hex-filer, men det ser ut som Arduino bootloader er STK500-kompatibel , så du bør kunne bruke den med avrdude.

Kommentarer

  • Ja, faktisk Arduino IDE bruker avrdude til å utføre opplastingen.

Svar

Ikke vanskelig i det hele tatt.

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

Du må se på Jeg tror ser.c på siden min for å velge hvilket kort. noen bruker forskjellige serielle porthastigheter som standard, og forskjellige tilbakestillingsplaner for å komme inn i programmeringsmodus. Hvis du ser på arduino-firmware, finner du ut at nesten ingen av AVR-programmeringskommandoene virkelig støttes. Trenger ikke dem uansett.

Svar

arduinoen kan programmeres med montering ved hjelp av GCC-AVR Inline Assembler, sjekk denne lenken for GCC-AVR Inline Assembler Cookbook

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

Svar

Arduino-kort (i alle fall Uno og Duemilanove) har en standard AVR-programmeringskontakt som støttes av Atmel-programmerere og debuggere via AVR Studio. Studio støtter assembler og C. En passende programmerer er AVRISP MkII, og AVR Dragon tilbyr både programmering og feilsøking. Jeg vil få sistnevnte, det er dyrere for $ 50, men feilsøkingsanlegget er uvurderlig. Du kan også bruke disse verktøyene med en standard AVR-brikke (ikke Arduino) koblet til et brødbord eller et PCB.

Kommentarer

  • Mens det ‘ er sant at de har en ICSP-topptekst, er det ‘ trenger ikke å bruke den. Bootloaderen fungerer like bra med ethvert middel til programforfatterskap, og faktisk er selv Arduino IDE avhengig av det eksisterende kommandolinjeprogrammet avrdude for å betjene bootloaderen.

Svar

Arduino består av to deler: maskinvaren og IDE. IDE begrenser deg hovedsakelig (hvis ikke helt) til C og C ++ (med noe syntaktisk sukker utviklerne har kastet inn for å gjøre det litt mer som Processing / Java). Det er en sjanse for at IDE gjenkjenner .s eller .S-filer i samme katalog som en standard skisse (.pde), men jeg vil ikke henge hatten på den.

Det er ingenting spesielt med maskinvaren. Det er et hyggelig og vennlig tavle med mange smarte funksjoner som µC neofytter vil sette pris på, men hvis du bare vil programmere AVR via ISP-overskriften, kan du også gjøre det. Du trenger noe sånt som Atmel AVRISP mkII , eller en hvilken som helst annen programmerer som fungerer med 2×3 radkontakten på Arduino-kortet. Se etter de som er kompatible med avrdude-programmet du vil bruke til å laste opp applikasjonene dine. Hold deg unna Adafruit USBtinyISP; jeg har hatt fryktelig flaks med det og endte opp med å kjøpe Atmel som jeg koblet for mindre enn $ 40 fra Mouser.

Kommentarer

  • Merkelig, jeg ‘ har ikke hatt noe annet enn gode erfaringer med Atmel IDE og usbtiny, Buspirate vil også fungere som en isp for mange forskjellige plattformer, flott lite verktøy
  • Det ‘ er ikke behov for en ICSP-adapter, bootloaderen fungerer fint med alle former for programforfatterskap

Svar

Aruduino kan absolutt programmeres i montering. Og du trenger ikke engang en ICSP-kabel for å gjøre det!

Ok, rettferdig, dette er ikke det samme som å programmere den i ren montering fra grunnen av.

Men du kan integrere montering i C. Hvilket betyr at du kan laste kode på Arduino som har innebygd montering, som deretter vil kjøres. Tenk på TVOut-biblioteket , som lar Arduino sende ut NTSC / PAL til en TV.

Dette biblioteket er veldig tidssensitivt (siden det sendes ut til en TV, må hver skannelinje skrives til høyre tid.) Så den bruker innebygd montering for å øke hastigheten på prosessen. Ser vi på linje 89 i denne filen fra biblioteket, bruker forfatteren noe av monteringsmakroer som han skrev.

Nå. Jeg mistenker at han ikke skrev dem ved hjelp av standard Arduino IDE. Men dette biblioteket påkaller hans innebygde asm-kode, som alle kan importere, kompilere og utføre via grensesnittet.

Lykke til!

Comm ents

  • Egentlig kan du også lage kildefiler for montering, du må bare hoppe over Arduino IDE og samhandle med bakenden verktøy som avr-gcc (eller hva du enn bruk som en assembler) og avrdude direkte.

Svar

Jeg bruker Linux som vertsplattform, men jeg tror disse verktøyene også er tilgjengelige for Windows-varianter.

Jeg bruker » avra » for montering til heksekode converter (kompilator)

Så programmerer jeg brikken ved hjelp av en USBTiny programmerer og programmeringsverktøyet » avrdude «.

Jeg tror begge disse verktøyene er åpen kildekode.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *