Hjälp med Atmel Studio 7 för Arduino

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Hjälp med Atmel Studio 7 för Arduino

Inlägg av Magnus_K »

Hej,

Tänkte dra igång med ett av mina större/seriösare projekt och istället för Arduino IDE:t så planerar jag att göra projektet i Atmel Studio 7 istället.

Arduino-kortet jag avser att använda är ett Nano V3.0.
För att verifiera så kortet var ok så använde jag Arduino IDE:t och laddade ner en sketch. Det fungerade utmärkt så bootloader och annat bör vara laddat. Därmed också verfierat att kortet sitter på COM15.

Tidigare när jag använt Atmel Studio 7 för att ladda sketcher så har det fungerat kanon, men då bara testat till mitt Arduino Uno kort.
Problemet jag har nu att det var inte lika lätt att få till nedladdningen till Nano-kortet.

Error-meddelandet lyder:

Kod: Markera allt

avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 1 of 10: not in sync: resp=0x42
Vilket väl är det "gamla vanliga" meddelandet när programmeraren inte får kontakt med enheten.

Första frågan är väl egentligen, vad skiljer en programmering mot ett Uno resp. Nano-kort? Det är ju samma processor (ATmega328p).

Argumentsraden jag använt tidigare är -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -v -v -p atmega328p -c arduino -P\\.\COM15 -b 115200 -D -U flash:w:"$(ProjectDir)Debug\<your hexfile name>.hex":i men i ärlighetens namn så är detta bara klippt från nätet. Har inte en aning om egentligen vad allt betyder.
Det enda jag gör är att byta ut slutet till namnet på min hexfil samt ändrar COM-porten om nödvändigt.

EDIT: Gjorde följande ändring i ämnet då tråden ändrar riktning lite -> Hjälp med inställningar i Atmel Studio 7 för Arduino
Senast redigerad av Magnus_K 31 januari 2016, 22:46:43, redigerad totalt 1 gång.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av lillahuset »

Nu vet jag i stort sett ingenting om Arduino men är det inte bara en vanlig AVR. I så fall är det väl bara att välja rätt processor i Atmel Studio? Som jag inte heller vet något om eftersom det hette AVR Studio när jag höll på med de små liven, har jag för mig. Länge sedan.
Det där "-c arduino", kan det vara problemet?
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av Magnus_K »

Ja all heder för att du gör ett försök i alla fall!

Enligt denna sida så är det som defineras efter -c vilken programmerare man använder.
Det som fungerade på Uno:n var just "arduino" och tyvärr hittar jag inte guiden som beskrev det här tidigare.

Blir lite fundersam kring det där med \\.\COMx. Ändrar jag det till .\COMx eller annat så får jag följande meddelande direkt, och inget annat:

Kod: Markera allt

avrdude.exe: ser_open(): can't open device ".\COM16": The system cannot find the file specified.
OBS. Jag har bytt COM-port nu.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av lillahuset »

Jag är inte helt insatt i det här med Windows men om jag minns rätt brukar det bli viss förvirring med "back slash" vid programmering i C under Windows. "Back slash" (\) är ju "escape" i C, alltså att tecknet efter ska tolkas som det det är, inte något specialtecken definierat i C. "\" är ju tyvärr också i Windows, av historiska skäl, det tecken som i Unix (som C härstammar från) är "/". Därför krävs "\\" i windows för att representera "\".

AVRdude har väl absolut inget att göra med Arduino? När jag använde AVRdude, strax efter mikroprocessorernas tillkomst, fanns inte ens Arduino. Men jag har som sagt inte använt AVR på länge.

Hoppas någon annan kan bidra mer.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av Magnus_K »

Glömde svara på det innan men rätt processor är vald i programmet.

Med risk att ljuga dig rakt upp i tangentbordet så har jag förstått att man låter helt enkelt Atmel Studio använda Arduino IDE:s filer/drivare för att programmera.
Utan att ha Arduino IDE:t installerat så går det inte att göra så här genom Atmel Studio.

Så nej, tror inte AVRdude har något att göra med Arduino mer än att båda "handlar" om AVR:er.

Tack för förklaringen om slash/backslash också. Då kanske det ska vara så här för att jag använder Windows.

EDIT: Stavfel
Senast redigerad av Magnus_K 1 februari 2016, 02:50:00, redigerad totalt 1 gång.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av Magnus_K »

Ja ta mig tusan, använde fel baud-rate!
Ändrade denna till 57600 och sen lirar det som en klocka. Frågan är väl bara varför det skiljer... Kan det vara att Arduino Uno:n använder ett FTDI-chip och denna "klon" ett CH340?

Är väldigt dålig på det här och har mest tur jag när lyckas tycker jag...

Ps. Tror i alla fall att Uno-kortet har en FTDI-krets. Tyvärr utlånat men kan ha läst det någon gång. Ds
Maalobs
Inlägg: 1304
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av Maalobs »

Magnus_K skrev:Blir lite fundersam kring det där med \\.\COMx. Ändrar jag det till .\COMx eller annat så får jag följande meddelande direkt, och inget annat:

Kod: Markera allt

avrdude.exe: ser_open(): can't open device ".\COM16": The system cannot find the file specified.
".\" betyder current directory, så det är inte rätt. :)
Här förklaras UNC-sökvägen som du måste använda för att adressera COM-portar med högre nummer än 9:
https://msdn.microsoft.com/en-us/librar ... namespaces
Du hade alltså rätt syntax från början på just den parametern, men det verkar du ha upptäckt redan. :tumupp:
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av Magnus_K »

Tack Maalobs! Det var bra för mig att veta. Verkligen bra. Hade inte en aning om att man ändrade prefix >COM9, och inte anledningen heller, men det beskrev dom ju bra på den länkade sidan.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av lillahuset »

Jamen då så, allt väl. :)
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av Magnus_K »

Jo men gud vad hopplöst att hålla på när man inte vet vad man håller på med. Googla lite där, greja lite där, nähäpp, prova något annat...
Hade redan testat med lägre baud-rate men då för lågt..
Japp, nästa övning blir bibliotek men det går nog läsa sig till hur det fungerar!

Tack för ideér :tumupp:
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av lillahuset »

Ska du köra Arduino eller "ren" C? Som jag minns det var biblioteket till "gccavr" eller "avrgcc" eller vad det hette ganska bra. Bättre än STs ARM bibliotek iallafall. Nu blir jag lite sorgsen. :(
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av Magnus_K »

Nej det är väl här jag knappt vet vad jag ska svara. Måste läsa mer om det här.
Då jag är en programmeringsdyslektiker så måste jag använda mig av ett par av Arduino:s bibliotek för ethernet och annat. Resten tänkte jag försöka skriva själv för det är (i min värld) lite enklare saker.

Sen är det denna värld av Wire, C och C++. Ser ingen skillnad men blir ofta varse att jag använt fel syntax när jag kompilerar :wink:

Jo, när jag programmerar så är det lite som att skotta snö när det snöar; hur mycket än håller på så blir det aldrig riktigt bra...
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hjälp med inställningar i Atmel Studio 7 för Arduino

Inlägg av lillahuset »

Det låter snarlikt jag och C++. :(
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hjälp med Atmel Studio 7 för Arduino

Inlägg av Magnus_K »

Jag är så nära att kompilera mitt första program med hjälp av Atmel Studio nu, men! Löser inte en rackare som jag tror är lätt som en plätt för er. Hoppas någon kan hjälpa.

Jag har löst alla problem utan ett kompileringsfel. Det är F_CPU som inte är definerat(?) korrekt. Det orsakar massor av olika felmeddelanden men alla är relaterade till just detta.

Ett av felmeddelanden ser ut som nedan.
F_CPU verkar vara någon slags default definering av processorklockan men jag förstår inte vart det saknas uppgifter.

Kod: Markera allt

Severity	Code	     Description	                                   Project	    File	Line
Warning    #warning    "F_CPU not defined for <util/delay.h>" [-Wcpp]	ArduinoNano	c:\program files\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h	90
I util/delay.h ser det ut så här:

Kod: Markera allt

#ifndef F_CPU
/* prevent compiler error by supplying a default */
# warning "F_CPU not defined for <util/delay.h>"
# define F_CPU 1000000UL
#endif
Nej jag är ledsen, vet inte vad jag kan ge för mer information. Fråga gärna!
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hjälp med Atmel Studio 7 för Arduino

Inlägg av sodjan »

För det första är det bara en varning.

> #ifndef F_CPU

Om inte F_CPU är definierad, så...

> # warning "F_CPU not defined for <util/delay.h>"

Skriv ut varningen som du ju såg. Och...

> # define F_CPU 1000000UL

Definiera F_CPU till något default, 1 MHz i detta fall.

Om 1 MHz inte stämmer för dig, så bör du lägga en "#define F_CPU"
*före* "#ifndef F_CPU". Eller kanske före #include av delay.h. Eller
ännu tidigare, med fördel i någon fil som tillhör ditt projekt och inte
till Arduino miljön som sådan. Är det ett litet projekt med enbart
en källkodsfil, så kan du ju lägga det där...
Skriv svar