Hur fungerar Arduini ISP?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Hur fungerar Arduini ISP?

Inlägg av Al_Bundy »

Arduino ISP(In-system programming).

Hur fungerar det egentligen? Jag har sökt på arduinos hemsida men hittar ingen stor manual för det hela. Som jag tror så kopierar man över exakt hela Arduinon till ett likadant uC eller så programmerar man uC efter det man vill ha det som.

Men jag har inte riktigt förstått vad ISP är för något exakt. Vet du vad det är?
Kan jag ta t.ex AVR atmel 8 bit uC och programmera den via arduinon så jag kan jag använda uC:et som jag har programmerat istället för arduinon?

#nyfiken endast
nifelheim
Den första
Inlägg: 2487
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Hur fungerar Arduini ISP?

Inlägg av nifelheim »

du använder din Arduino som en ISP programmerare för att programmera en annan AVR med godtyckligt program,
vanligast är nog att man vill ha in en Arduino bootloader i en "tom" AVR

om AVR ISP i allmänhet läs:
http://www.atmel.com/Images/doc0943.pdf
Arduinon ersätter alltså programmeraren, (schemat i slutet )
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur fungerar Arduini ISP?

Inlägg av Al_Bundy »

Jaha. Istället för AVR Studio så använder man arduinon istället. Använder man då C språket som används i AVR Studio eller använder man det förenklade C språket som används i arduinon, i arduinon?
nifelheim
Den första
Inlägg: 2487
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Hur fungerar Arduini ISP?

Inlägg av nifelheim »

tänk så här:

du har gjort ett superprogram på din Arduino UNO som blinkar Viktor Rydbergs Tomten i morse med en lysdiod
Alla du känner vill ha en likadan (vem skulle inte vilja det :) )och du bestämmer dig för att göra 10 st.
10st Arduino UNO blir ju en slant, en bit kretskort, en atmega328 och en lysdiod, blir kanske 25:-,
men hur ska du få in ditt program?
Där kommer ISP programmeraren in, med din Arduino som du nu programmerat om till ISP programmerare,
för du över Viktor Rydberg till dina 10 kretskort. :)
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur fungerar Arduini ISP?

Inlägg av Al_Bundy »

Så man kopierar över bara? Den har man en till arduino fast i lösa komponenter?
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur fungerar Arduini ISP?

Inlägg av Icecap »

På ett ungefär.

Det som skiljer Arduino mot "vanliga" ATmega är att det i Arduinon finns en liten programbit som eg. bara ser till att kunde ställa USB i rätt läge och se om det ska petas in data i minnet. Hela denna funktion kan man köra externt, t.ex. i form av en AVRISP mk. 2 eller liknande. Då kan man göra allt en Arduino kan med en vanlig ATmega-krets till en mycket billigare peng än vad en Arduino kostar.

Det man vinner med Arduino är:
* Högre pris.
* Ett icke-standard programmeringsspråk.
* Mindre programminne (bootloadern tar ju sitt lilla).
* Enkel uppstart.
* Många tillbehör (till ibland oblyga priser...)
* Snabb utvärdering av ett koncept.

Men inget av detta är något man INTE kan åstadkomma med en "vanlig" ATmega - eller i grunden vilken rimlig modern µC som helst.
Nerre
Inlägg: 27195
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Hur fungerar Arduini ISP?

Inlägg av Nerre »

Al_Bundy skrev:Så man kopierar över bara? Den har man en till arduino fast i lösa komponenter?
Njäe.

Du "programmerar om" Arduionon så den blir som en "översättare" mellan USB och en ATmega. Istället för att att köpa/bygga en programmeraren.

Du programmerar alltså en ATmega från din dator, med en Arduiono som "interface" mellan.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur fungerar Arduini ISP?

Inlägg av Al_Bundy »

Okej. Man använder alltså AVR Studio ändå?
Nerre
Inlägg: 27195
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Hur fungerar Arduini ISP?

Inlägg av Nerre »

Vilket program man använder på datorn har jag ingen aning om, men i Arduinon så ligger alltså inte det program som ska in i ATmegan utan ett program som programmerar ATmegan med det program som skickas från datorn.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur fungerar Arduini ISP?

Inlägg av Al_Bundy »

Har läst lite om Arduino ISP nu och man skriver "arduino-kod" till uC på "arduino-vis" och inte "AVRstudio-vis" om man nu använder arduino IDE :)


Men rätta mig om jag har fel. Manualerna på nätet borde underkännas med ett stort IG.
Användarvisningsbild
Nisse
Inlägg: 908
Blev medlem: 9 juli 2006, 23:25:46
Ort: Kumla

Re: Hur fungerar Arduini ISP?

Inlägg av Nisse »

Om du använder Arduino-IDE så är det ju självklart att du skriver Arduino-kod på Arduino-vis.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur fungerar Arduini ISP?

Inlägg av Al_Bundy »

Vad är det för fördel då att använda AVRstudio jämfört med Arduino IDE då dem verkar kunna lika mycket?
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur fungerar Arduini ISP?

Inlägg av sodjan »

AVRStudio är väl en komplett miljö för att utveckla vilken slags applikation
som helst för vilken AVR-processor som helst. Lite generellt...

Arduino IDE är (så vitt jag förstår) "begränsad" till att utveckla applikationer
som körs just på en Arduino (eller en lös AVR processor med Arduino
firmware laddat). Och om det är just *det* som man vill göra så är
det ju ingen begränsning i praktiken... :-)

Så det bör alltså vara så att AVRStudio kan mycket mer (än Ardunio IDE),
men det är ju inget som den som utvecklar till Arduino behöver i alla fall.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur fungerar Arduini ISP?

Inlägg av Al_Bundy »

Okej!
Det var ett bra svar.

Om jag får vara lite kräsen så frågar jag hur mycket man kan göra med AVRstudio jämfört med ArduinoIDE.
Skalan är 0 till 5. Om AVRstudion är 4.
5 = Lika långt som forskningen går
4 = Lika långt som Simens och Yahama erbjuder
3 = Man kan göra allt så länge uC:erna stödjer IDE:n
2 = Finns en viss begränsning vid hårdvara så som udda komponenter.
1 = Man kan bara göra hobbysaker som arduino nämner på sin hemsida.
0 = Man kan bara göra små enkla saker så som snurra en motor och blinka med en LED osv.
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Re: Hur fungerar Arduini ISP?

Inlägg av Kaggen »

Svaret är 42, och förstår du inte svaret kanske du inte förstått frågan. :)

ArduinoIDE och Avr studio är inte direkt konkurrenter till varandra. Arduino miljön är ju i grunden ett koncept som gör det enklare att prototypa saker snabbt utan att behöva sätta upp allt från början, både hårdvarumässigt och mjukvarumässigt. Dessutom finns mycket färdiga bibliotek för vanliga funktioner och hårdvara, och en standard att "koppla ihop" komponenter och hårdvara (s.k. shields).

Ett av problemen som Arduino försöker lösa är ju också att slippa ha en programmerare för att flasha microcontrollern. Förut var ju Atmels "dyra" ICSP programmerare enda sättet att flasha deras chip. Alternativt fanns "hemmabyggen" som använde datorns parallellport eller serieport att programmera controllern med. Parallell och serieport finns ju inte på så många datorer idag utan enbart USB, där löser ju också Arduinon ett problem.

Avr Studio är ju Atmels egna utvecklingsmiljö för deras microcontrollers och stödjer (om inte jag missförstått det) andra av Atmels processorer också som inte används i Arduino miljön.

Inget hindrar dig från att programmera direkt på metallen i Arduinos IDE, utan att använda de bibliotek som finns. I grunden är det ju samma kompilator för Atmega i Avr studio och Arduino IDE.

Sedan är det ju en fråga om du vill gå vidare med 16 eller 32 bitars processorer. Då lär du kanske byta miljö. Men det finns en del Arduino kloner för 32-bitar också. Har väl kommit en Arduino klon med ARM 32-bits CPU. Vet dock inte hur kompatibel den är med gammal Arduino kod och shields.

Skulle nog tro att det är enklast att du börjar med en Arduino så får du väl gå vidare därifrån när du vet vad du vill ha. Utvecklingsmiljö och microcontroller är ju bara verktyg för att bygga det du vill. Det är ingen religion. Även om många kan tycka att Arduino är som en cykel med stödhjul. :) Du använder det som passar helt enkelt. Begränsningen är oftast dig själv (och tid). Det beror inte bara på microcontrollern heller, utan din förståelse för elektronik i övrigt.
Skriv svar