For min satsning på mikroprocessering besluttede jeg at gå med Atmel AVR på grund af de store tilgængelige ressourcer. Arduino ser ud til at have meget også, for ikke at nævne deres startpakker virker mere ” på mit niveau. ”
Problemet er, at jeg først vil lære det i samling og derefter gå til C / C ++ eller hvad Arduino bruger, men jeg har hørt Arduino ikke vinde AVR-samling. Er det sandt? Er der nogen vej rundt det?
Rediger: Jeg ville gå med ATMEL STK500, men for en første timer ser det MEGET kompliceret ud. Er der nogen grund til, at jeg ikke bare kan få en 8 bit AVR og lægge den på et brødbræt og eksperimentere på den måde? (Jeg tror jeg bliver nødt til at finde ud af, hvordan jeg kan interface dem som sådan.)
Edit2: Dette tænkte 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 overvejet? Jeg købte Arduino Uo og ledte efter en måde at udvikle mig også i assembler
- Jeg vil foreslå at bruge 89c51 (8051) controller til montagesprog
Svar
Arduino-kortene kan programmeres i samling. Alt hvad du behøver er et ICSP-kabel (In Circuit Serial Programmer) og AVR-værktøjskæden (fri fra ATMEL) til at skrive til tavlen. Derefter får du fordelen ved fejlretning om bord.
Som du foreslog, kan du bare slå en ATMEL-chip på et brødbræt og gå til byen.
Det sæt, du refererede til, ligner et godt udgangspunkt. Du kan tage chippen lige fra bordet og holde den på dit eget brødbræt (så længe den har korrekt reguleret strøm, og du tager højde for uret).
EDIT: Du har tilsyneladende ikke brug for en ICSP til at indlæse samlingsprogrammer. Se kommentaren nedenfor for detaljer.
Kommentarer
- Ya I ‘ Jeg vil gerne holde fast ved at ikke lægge det på mit eget brødbræt lige nu lol Jeg er ikke så god med kredsløb.
- @Sauron – hah – begge veje er gode. Uanset hvad der får dig tilsluttet! Det gode er, at de enkelte chips er ret billige (et par dollars eller deromkring).
- Dette svar er i det væsentlige vildledende: INGEN ISP ER NØDVENDIG . Bootloaderen, der bruges af Arduino, går forud for Arduino-projektet og har ingen overhovedet idé om, om filen, der indlæses, stammer fra en kompilator eller en samler. Don ‘ t fortsætter misforståelsen om, at bootloaderen i en Arduino har noget at gøre med metoden til at skrive programmer til at målrette mod hardware; det er simpelthen en praktisk mekanisme til at få kode af enhver oprindelse ind i chippen.
- @ChrisStratton – tak for din feedback. Jeg ‘ har opdateret mit svar for at inkorporere din feedback.
Svar
Arduino IDE kan “rettes” til at rumme samlingskode. Her er wiki: http://www.cs.nmsu.edu/~jcook/arduino/index.php?n=Notes.AssemblyMods
Kommentarer
- url ser ud til at være brudt
Svar
Så vidt jeg ved, burde der være intet specifikt ved Arduino bootloader, der kunne forhindre dig i at bruge samling i stedet for C. Arduino IDE kan gøre det vanskeligt at uploade dine egne .hex-filer, men det ser ud til at Arduino bootloader er STK500-kompatibel , så du skulle kunne bruge den med avrdude.
Kommentarer
- Ja, faktisk Arduino IDE bruger avrdude til at udføre upload.
Svar
Slet ikke svært.
http://www.dwelch.com/arduino/
Du skal se på jeg tror ser.c på min side for at vælge hvilket kort. nogle bruger forskellige serielle porthastigheder som standard og forskellige reset-ordninger for at komme ind i programmeringstilstanden. Hvis du ser på arduino-firmwaren, finder du ud af, at næsten ingen af AVR-programmeringskommandoer virkelig understøttes. Har ikke brug for dem alligevel.
Svar
arduino kan programmeres med samling ved hjælp af GCC-AVR Inline Assembler tjek dette link for GCC-AVR Inline Assembler-kogebog
http://web.stanford.edu/class/ee281/projects/aut2002/yingzong-mouse/media/GCCAVRInlAsmCB.pdf
Svar
Arduino-kort (i hvert fald Uno og Duemilanove) har et standard AVR-programmeringsstik, der understøttes af Atmel-programmører og debuggere via AVR Studio. Studio understøtter assembler og C. En passende programmør er AVRISP MkII, og AVR Dragon tilbyder både programmering og fejlretning. Jeg får sidstnævnte, det er dyrere til $ 50, men fejlretningsfaciliteten er uvurderlig. Du kan også bruge disse værktøjer med en standard AVR-chip (ikke Arduino) tilsluttet et brødbræt eller et printkort.
Kommentarer
- Mens det ‘ er sandt, at de har en ICSP-header, er der ‘ behøver ikke at bruge det. Bootloaderen fungerer lige så godt med ethvert middel til programforfatterskab, og faktisk er selv Arduino IDE afhængig af det allerede eksisterende kommandolinjeprogram
avrdude
til at betjene bootloaderen.
Svar
Arduino består af to stykker: hardware og IDE. IDE begrænser dig hovedsageligt (hvis ikke helt) til C og C ++ (med noget syntaktisk sukker har udviklerne kastet ind for at gøre det lidt mere som Processing / Java). Der er en chance for, at IDE genkender .s eller .S-filer i samme bibliotek som en standardskitse (.pde), men jeg vil ikke hænge min hat på det.
Der er intet specielt med hardware. Det er en dejlig, venlig tavle med masser af smarte funktioner, som µC neophytes vil sætte pris på, men hvis du bare vil programmere AVR via ISP-headeren, kan du også gøre det. Du har brug for noget i retning af Atmel AVRISP mkII eller en hvilken som helst anden programmør, der arbejder med 2×3 række-stikket på Arduino-kortet. Se efter dem, der er kompatible med det avrdude-program, som du vil bruge til at uploade dine applikationer. Hold dig væk fra Adafruits USBtinyISP; Jeg har haft forfærdelig held med det og endte med at købe Atmel-en, jeg linkede til for mindre end $ 40 fra Mouser.
Kommentarer
- Mærkeligt, jeg ‘ har ikke haft andet end gode erfaringer med Atmel IDE og usbtiny, Buspirate vil også fordoble som en hveps for mange forskellige platforme, fantastisk lille værktøj
- Der er ‘ intet behov for en ICSP-adapter, bootloaderen fungerer fint med ethvert middel til programforfatterskab
Svar
Aruduino kan absolut programmeres i samling. Og du behøver ikke engang et ICSP-kabel for at gøre det!
Okay, retfærdigt er dette ikke det samme som at programmere det i ren samling fra bunden.
Men du kan integrere samling i C. Hvilket betyder, at du kan indlæse kode på din Arduino, der har inline-samling, som derefter udføres. Overvej TVOut-biblioteket , som gør det muligt for Arduino at sende NTSC / PAL til et tv.
Dette bibliotek er meget tidsfølsomt (da det udsendes til et tv, skal hver scanline skrives til højre tid.) Så det bruger integreret samling til at fremskynde processen. Ser man på linje 89 i denne fil fra biblioteket bruger forfatteren noget af forsamlingsmakroer , som han skrev.
Nu. Jeg formoder, at han ikke skrev dem ved hjælp af standard Arduino IDE. Men dette bibliotek opfordrer hans inline asm-kode, som alle kan importere, kompilere og udføre via deres interface.
Held og lykke!
Comm ents
- Faktisk kan du også lave samlingskildefiler, du skal bare springe Arduino IDE over og interagere med backend-værktøjerne såsom avr-gcc (eller hvad du end brug som en assembler) og avrdude direkte.
Svar
Jeg bruger Linux som min værtsplatform, men jeg tror disse værktøjer også er tilgængelige for Windows-sorter.
Jeg bruger ” avra ” til samlingen til hex-kode converter (compiler)
Så programmerer jeg chippen ved hjælp af en USBTiny programmerer og programmeringsværktøjet ” avrdude “.
Jeg tror, at begge disse værktøjer er open source.