Error Message 355

Go To Last Post
20 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am having some issues with the arguments line for my Arduino Uno. The UNO works perfectly for one computer but doesn't for my other computer. I receive this syntax error in the output window: 

syntax error at C:\avrdude\avrdude.conf:355 

Here is the line for the argument: 

-C "C:\avrdude\avrdude.conf" -p atmega328p -c arduino -P COM4 -b 115200 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

Before you say anything about "arduino" actually being "wiring", I have already tried changing that and have had no luck.

Thanks in advance!

Cody W Phipps

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Did you ask in teh Arduino forum:

 

https://forum.arduino.cc

 

Jim

If you want a career with a known path - become an undertaker. Dead people don't sue! - Kartman

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No I didn't think to do that. Thanks

Cody W Phipps

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

syntax error at C:\avrdude\avrdude.conf:355 

So what's on line 355 of avrdude.conf?

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"Read a lot.  Write a lot."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't think the 355 pertains to a line number but a error code number. I just can't find the codes anywhere.

Cody W Phipps

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No, it's most likely a line number.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My code doesn't go 100 lines. Not a line number. 

 

Cody W Phipps

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Error not in your code.
.
It's a line number.
.
The error message refers to the file C:\avrdude\avrdude.conf, not one of your files. The 355 is the line number in that file.
.
If you want help - be less stubborn and accept that your assumptions might be wrong.
.
But I'm out.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

joeymorin wrote:

syntax error at C:\avrdude\avrdude.conf:355 

So what's on line 355 of avrdude.conf?

 

Cody, compare the avrdude.conf file in the folder at C:\avrdude\ on both computers and look at line 355, as everyone here has said, as that is what the error is telling you.

 

If you really think we do not know the correct answer for this then go somewhere else, otherwise post the differences that you find at that line and someone may continue helping you.

 

EDIT: Punctuation

"I may make you feel but I can't make you think" - Jethro Tull - Thick As A Brick

"void transmigratus(void) {transmigratus();} // recursio infinitus" - larryvc

"It's much more practical to rely on the processing powers of the real debugger, i.e. the one between the keyboard and chair." - JW wek3

"When you arise in the morning think of what a privilege it is to be alive: to breathe, to think, to enjoy, to love." -  Marcus Aurelius

Last Edited: Wed. Nov 29, 2017 - 07:36 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you what to be rude and call me stubborn, how about you go somewhere else. Problem has been fixed. No "line" in code involved.

Cody W Phipps

Last Edited: Wed. Nov 29, 2017 - 05:19 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

It's a shame that the OP got so upset and forgot to mention how he solved the problem so that others might benefit from his experience...

David (aka frog_jr)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

I don't think the 355 pertains to a line number but a error code number.

I'm not certain how you came to that conclusion.

 

Command-line software like avrdude (and gcc, and gas, and most every other command-line tool that exists) often uses this convention when reporting errors:

error/warning type at path/file:linenumber

... or

path/file:linenumber error/warning: details

For example, if I deliberately create an error in my C code like this:

$ cat foo.c
int main(void) {

  foo = bar;

}

$ gcc foo.c
foo.c: In function ‘main’:
foo.c:3: error: ‘foo’ undeclared (first use in this function)
foo.c:3: error: (Each undeclared identifier is reported only once
foo.c:3: error: for each function it appears in.)
foo.c:3: error: ‘bar’ undeclared (first use in this function)

You see the pattern.

 

The avrdude.conf file on this machine is rather old, but here's what's on line 355:

# This is supposed to be the "default" STK500 entry.
# Attempts to select the correct firmware version
# by probing for it.  Better use one of the entries
# below instead.
programmer
  id    = "stk500";
  desc  = "Atmel STK500";
  type  = stk500generic;
;

That is a comment, so it is ignored by avrdude.

 

If I deliberately introduce an error in that line:

# This is supposed to be the "default" STK500 entry.
# Attempts to select the correct firmware version
foo
# below instead.
programmer
  id    = "stk500";
  desc  = "Atmel STK500";
  type  = stk500generic;
;

... and then try to run avrdude:

$ avrdude -c arduino -P /dev/ttyACM0 -b 115200 -p atmega328p -t
error at /etc/avrdude.conf:355 unrecognized character: "f"

See the pattern?

 

If you what to be rude and call me stubborn, how about you go somewhere else. Problem has been fixed. No "line" in code involved. Suck on that

No-one has been rude to you.  You have been given sound advice, which you have chosen to ignore.  Suggesting that someone should 'suck on that' is, however, quite rude.  Since you are new here, you might be excused this momentary lapse in judgement.  But probably only once.  You'll note that your post has already been flagged as inappropriate.

 

The members of this forum are volunteers who give freely of their time to help others.  Many of them are experts in their fields.  Many are professional engineers.  Many are enthusiastic and knowledgeable hobbyists with years of experience.  It will not serve you well here to ask for help, then refuse it, only to denigrate those who have offered it.

 

I suggest you have a read of this:

https://www.avrfreaks.net/forum/how-ask-questions-smart-way

... and what it links to:

http://www.catb.org/~esr/faqs/smart-questions.html

 

Good luck in your future endeavours.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"Read a lot.  Write a lot."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

Last Edited: Wed. Nov 29, 2017 - 02:46 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What I said was rude. I admit that and I apologize. I did take offense to the stubborn comment but I shouldn't have reacted in that way I did. I did not refuse help though and I was not rude when I said it wasn't a line that number was identifying. I shouldn't have been called "stubborn" for just saying I disagree, even if I am wrong. 

 

As for the solution, I changed out the utilities.dll file in the Extensions\Application folder and that seemed to do the trick.

Cody W Phipps

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

so you do now understand that the message

syntax error at C:\avrdude\avrdude.conf:355 

was directing you to a problem at line 355 in the file "C:\avrdude\avrdude.conf" ?

 

 I changed out the utilities.dll file 

So, presumably, whatever was at  line 355 in the file "C:\avrdude\avrdude.conf" was relying upon something in a different version of "utilities.dll" than was originally in place?

 

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I guess it did. The problem I had though, when I opened the .conf the first time, there were only 60 to 90 lines. Which was why I assumed it wasn't that. I think I restarted my computer some time after that last night and now when I open that file it has thousands of lines (as it should I assume). 

 

So yes, I assume that something in that utilities.dll is linked to line 355, which is:

 type  = "wiring";

Cody W Phipps

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So, let's try to tie this up in a nice and friendly manner then. (-:

 

My choice of the word "stubborn" was obviously bad, but not intended as as an insult or to be derogatory. It was referring to not wanting to see/realize that the number in the error message was with high probability a line number in the file mentioned. My apologies for the bad choice of word.

 

I confess to having the habit of leaving threads when advice that obviously (when not in the box) are a clue to the solution. If you can't "get through" then there's nothing more you can do but leave the thread.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I do appreciate your help. Honestly, the .conf file wasn't showing all of the lines at that time. That's why it seemed like I disregarded your advice.

Cody W Phipps

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Below is not intended as an attack.  Merely a critique which I hope will help you in your future interactions here and in other forums, whether technical or non-technical.

 

when I opened the .conf the first time, there were only 60 to 90 lines.

the .conf file wasn't showing all of the lines at that time.

Those would have been helpful bits of information.  It might have led to other questions, like:

  1. Are you certain that you have looked at the correct .conf file?  Some systems (like mine) have several copies from multiple installs.
  2. What recent changes to your computer have you made?
  3. The 'ol 'IT Crowd' stock question: "Have you tried turning it off and on again?" ;-)
  4. Please post the 60-90 lines you >>do<< see, maybe it will help identify what has gone haywire

 

Instead, your response was:

I don't think the 355 pertains to a line number but a error code number. I just can't find the codes anywhere.

And then again:

My code doesn't go 100 lines. Not a line number. 

So, twice you demonstrated that you 'knew better'.

 

Had you addressed the responses more thoroughly as I suggested above, we might have avoided this unpleasantness.

 

The takeaway:

  1. Assume you are not being attacked, because you almost certainly are not.  This is a global community, and there are as many different styles as there are members.
  2. Even if you are being attacked, take the high ground.  Everybody has a bad day now and again.  Nothing calms down an interaction nearly as much as simply remaining calm.  Nothing makes the wheels fall off nearly as fast as flinging back an insult.
  3. To help you solve your problem, respondents will pose questions of their own in an effort to narrow the problem space.  Answer them.  After all, you've come here for free help, asking questions of your own.  It is only courteous.
  4. Remember that you are here because you have a problem you have been unable to solve on your own.  Don't be proud.  It stands to reason that you may:
    • Not have asked yourself the right questions
    • Have arrived at false conclusions somewhere along the way
    • Not have 'seen the forest for the trees', as it were

 

Try not to take anything personal.  Anything.  The different styles you may run across (humours, wry, acerbic, embittered, crusty, open, helpful, generous, etc.) say more about the respondent then they do about you, or about what they think about you.  Focus on the information presented.

 

I suspect what little tinge of frustration some respondents have demonstrated in this thread has more to do with the fact that some elements of your behaviour are a bit endemic around here.  Every day there's a post (or ten) from a demanding and ungrateful new member who just won't listen to the answers they've been given.  Some days, it's enough to make Mother Teresa lose her calm ;-)

 

Again, I urge you:

I suggest you have a read of this:

https://www.avrfreaks.net/forum/how-ask-questions-smart-way

... and what it links to:

http://www.catb.org/~esr/faqs/smart-questions.html

 

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"Read a lot.  Write a lot."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

Last Edited: Wed. Nov 29, 2017 - 05:45 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think everyone has made their point so no need to continue with the "etiquette education".

Jim

If you want a career with a known path - become an undertaker. Dead people don't sue! - Kartman

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So yes, I assume that something in that utilities.dll is linked to line 355, which is:

 type  = "wiring";

I found that to be curious, so I looked a bit further into it.

 

None of the (many) versions of avrdude.conf on my machine have have that line at line number 355.  Many of them have it somewhere, though:

$ locate avrdude.conf | xargs -I "{}" grep -ni wiring "{}" | grep -i type
24:#                  dragon_hvsp | dragon_pdi | arduino | wiring; # programmer type
332:  type  = wiring;
24:#                  dragon_hvsp | dragon_pdi | arduino | wiring; # programmer type
332:  type  = wiring;
24:#                  dragon_hvsp | dragon_pdi | arduino | wiring; # programmer type
332:  type  = wiring;
24:#                  dragon_hvsp | dragon_pdi | arduino | wiring; # programmer type
332:  type  = wiring;
348:  type  = "wiring";
348:  type  = "wiring";
348:  type  = "wiring";
348:  type  = "wiring";
348:  type  = "wiring";
346:  type  = "wiring";
348:  type  = "wiring";
348:  type  = "wiring";
351:  type  = "wiring";
351:  type  = "wiring";
351:  type  = "wiring";

Note that there are three general forms of line which match my search:

  1. Comment lines
  2. 'type' assignments, taking the token wiring
  3. 'type assignments, taking the string "wiring"

 

The comments lines suggest that the 'type' is in reference to a programmer, and a look at the other configuration files at the noted linenumbers (as well as my excerpt in post #12) confirm this.

 

Interestingly, the avrdude.conf file which ships with the version of avrdude (5.1) that came with my version of Ubuntu (and old one, 10.04) does >>not<< have any such line.  That is, wiring is not a valid programmer type for that version of avrdude.

 

If I try to pass a config file which >>does<< contain such a programmer type to the executable for a version of avrdude which doesn't know what that is, I get the same error you were seeing.  Specifically, if I pass a config file with the string version of the type assignment (type = "wiring"), I get:

syntax error at <some-path>/avrdude.conf:351

If I pass a config file with the token version (type = wiring), I get a slightly different error:

error at <some-path>/avrdude.conf:332 unrecognized character: "w"

 

So it seems that the error you were seeing is because you were passing an avrdude.conf file from a newer version to the avrdude executable from an older version which doesn't know about the 'wiring' programmer type.

 

Looking at (the fragment you provided from) your avrdude command line in your OP:

-C "C:\avrdude\avrdude.conf" -p atmega328p -c arduino -P COM4 -b 115200 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

I'd hazard a guess that the avrdude.conf in C:\avrdude belongs to a newer version of avrdude, probably 6.1 (I think that's when they started using strings for the programmer type instead of tokens).  I'd further hazard that the version of avrdude reached (probably via your PATH environment variable) is an older version, possibly 5.1 like on my machine.

 

Changing the utilities.dll file may have circumvented the issue by properly constructing an avrdude command line with fully qualified names for the executable and the configuration file to ensure they match.  As I don't use Windows, I can only speculate.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"Read a lot.  Write a lot."

"We see a lot of arses on handlebars around here." - [J Ekdahl]