AVRlib and ATmega3250

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

Is there a version of AVRLib that supports the ATmega3250? The latest I have found (version 20061029) does not appear to.

Thanks.

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

The latest version of WinAVR is 20070525, with a new version about to hit.

Look for the latest version here: http://sourceforge.net/project/s...

By the way, if you are using AVRStudio, be sure to pick up version 4.13 from the Atmel site!!

Stu

Engineering seems to boil down to: Cheap. Fast. Good. Choose two. Sometimes choose only one.

Newbie? Be sure to read the thread Newbie? Start here!

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

I am using the latest WinAVR. My problem is with Procyon AVRlib (I know this is a GCC forum but it seems to be the closest match).

Thanks.
/mike

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

Here we go again... I think I'll just scream a little this time:

AVRlib IS NOT THE BINARY C "STANDARD RUN-TIME LIBRARY" THAT COMES WITH WinAVR!

It is a collection of source file (.c and .h) with assorted utility code. It was Written by Pascal Stang, and is also known under the mane "Procyon AVRlib". This library has nothing more to do with avr-libc and/or AVR-GCC than that is being written to be built by that toolchain. It is not a part of the avr-libc. It is not distributed with WinAVR.

With that out of the way, could the OP please tell us something more on how the AVRlib does not support the ATmega3250 besides the completely meaningless and clueless "does not appear so"? This would make the likelihood of you getting help increase big-time. No, most likely nobody is going to download AVRlib, set up a project for a ATmega3250, write a test program that massages the AVRlib functions to try to spot the problem you claim is there. For all we know it might not be a problem with the AVRlib at all. So - you start telling us something substantial about the problems you're experiencing and we'll work on it from there, OK?

And, FWIW, the official AVRlib site ( http://www.mil.ufl.edu/~chrisarn... ) has as it's latest version the one you are using (20061029). At least that is what the online documentation says.

EDIT: The first part of this post was a reaction to StuSan's post. OP's post got in between.

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

JohanEkdahl wrote:
The first part of this post was a reaction to StuSan's post.
Sorry for mistaking the two (and yes, I know they are different). I didn't catch that the OP was talking about the Procyon library. I shall not (okay, I shall try to not) mistake the two again.

Stu

Engineering seems to boil down to: Cheap. Fast. Good. Choose two. Sometimes choose only one.

Newbie? Be sure to read the thread Newbie? Start here!

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

Sorry to not reply earlier. I added a section to uart.h (in AVRlib) to properly massage the register names for the 3250

// MLA Add support for ATmega3250
#if defined(__AVR_ATmega3250__)
	#define UDR	UDR0
	#define UCR	UCSR0B
	#define RXCIE	RXCIE0
	#define TXCIE	TXCIE0
	#define RXC	RXC0
	#define TXC	TXC0
	#define RXEN	RXEN0
	#define TXEN	TXEN0
	#define UBRRL	UBRR0L
	#define UBRRH	UBRR0H
#endif

I had to do something similiar to timer.h:

#ifdef __AVR_ATmega3250__
	// redefinition for the Mega3250
	#define TCCR2	TCCR2A
	#define TIMSK	TIMSK0
	#define TCCR0	TCCR0A
#endif
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

#define TIMSK TIMSK0

This is a bit ingenuous, isn't it? When one is porting a set of code from an AVR series (Mega8, Mega16, Mega64) that has a single TIMSK register for all timers to a series (Mega88, Mega164, Mega640) that has a separate mask for each timer, just calling TIMSK TIMSK0 is cruising for a bruising.

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.