Go Down

Topic: Atxmega Series development (Read 2 times) previous topic - next topic

Jack Christensen


You may want to spend some time with Google performing general searches.  For example, this looks helpful...

http://blog.omegacs.net/2010/06/26/getting-started-with-xmega-differences-from-atmega-part-1/


Well written and well worth reading, thanks!

I have taken one or two quick looks at the XMEGA datasheets and they do look like interesting, powerful and useful chips. I have to wonder though, if they will get squeezed out of the market by low-end ARM offerings such as those that NXP has recently fielded. Which is not at all to say that the XMEGAs can't provide solutions that are just as effective or even more so.

I've only recently installed Atmel Studio and have only had time to blink some LEDs on AVRs with it. I wonder what it would take to get up to speed with Atmel Studio and the XMEGAs. (I'm also wondering the same thing relative to Atmel's ARM chips.)

Atmel Studio is fairly intuitive, especially if one has had some experience with Visual Studio. And AFAIK, it's not hobbled in any way. It really frosts me that the other MCU vendors play tricks like that. Just as one example, the free version of the LPCExpresso tool chain is C language only (no C++) and has code size limitations. Having said that, the LPC switch matrix is a very cool feature which addresses several of the issues mentioned in the link above regarding pin arrangement and alternate pin functions.

MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

0

@Coding Badly Thanx for the tips :)

Quote
• pinMode is always first.  digitalWrite is always second.  digitalRead is always third.  millis or delay is always fourth.  With those four functions you have the ability to perform crude debugging.  If possible, Serial is next.


So it should basically be just re assigning of pins right? (I know you might not be able to answer unless you go through the datasheet properly)
My question is where do I edit these parameters from? (Sorry if I am being naive about it) 

Finally I may not actually port it because I think people have already ported it here.
http://www.obdiiworld.com/xaduino/Xaduino-Manual.pdf
(Did anybody on this forum did the above porting?)
I just wanted to know what were the basic things you do for such a porting.

Quote

You may want to spend some time with Google performing general searches.  For example, this looks helpful...

http://blog.omegacs.net/2010/06/26/getting-started-with-xmega-differences-from-atmega-part-1/


Yes. That was the link that first got me interested in the chip. :)
Quote

I believe the Arduino IDE ships with a compiler for the XMega processors.


Shouldnt the compilers be the same?

Coding Badly

#7
Apr 27, 2013, 09:10 am Last Edit: Apr 27, 2013, 09:12 am by Coding Badly Reason: 1
Quote
• pinMode is always first.  digitalWrite is always second.  digitalRead is always third.  millis or delay is always fourth.  With those four functions you have the ability to perform crude debugging.  If possible, Serial is next.

So it should basically be just re assigning of pins right? (I know you might not be able to answer unless you go through the datasheet properly


Maybe.  The pin configuration for XMEGA is more complicated but has lots of interesting features...
http://www.atmel.com/Images/doc8050.pdf

You may be able to reuse the bulk of the Standard Core implementation to get basic I/O working.

Quote
My question is where do I edit these parameters from? (Sorry if I am being naive about it) 


The code is in wiring_digital...
https://github.com/arduino/Arduino/blob/master/hardware/arduino/cores/arduino/wiring_digital.c

There are some type definitions in wiring_private...
https://github.com/arduino/Arduino/blob/master/hardware/arduino/cores/arduino/wiring_private.h

The pin mapping is defined in pins_arduino...
https://github.com/arduino/Arduino/blob/master/hardware/arduino/variants/standard/pins_arduino.h

Quote
Finally I may not actually port it because I think people have already ported it here.


That is definitely worth looking over.  (The download is horrendously slow.  Snore.)

Bear in mind that is a Chinese website.  It even appears to be sponsored by the Chinese government.  Make absolutely certain your anti-virus software is up-to-date and try to avoid actually running anything from the download.

Quote
(Did anybody on this forum did the above porting?)


I haven't noticed anyone bragging about it.

Quote
Quote
I believe the Arduino IDE ships with a compiler for the XMega processors.

Shouldnt the compilers be the same?


It is indeed...
http://arduino.cc/forum/index.php/topic,161542.msg1208283.html#msg1208283

Coding Badly

#8
Apr 28, 2013, 12:21 am Last Edit: Apr 28, 2013, 12:23 am by Coding Badly Reason: 1

Some things about the download from http://www.obdiiworld.com/ ...

• The download took forever

• It's based on Arduino 1.0.1

• They use WinAVR 20100110 instead of 20081205

• [font=Courier New]pde.jar [/font]is different (that could be because Teensyduino is installed on my computer)

• Xaduino includes several libraries

• Xaduino includes a core (attached to this post)

• Webroot identified one threat in the download:[font=Courier New] .\arduino-1.0.1-windows-x\arduino-1.0.1\hardware\tools\avr\utils\bin\info.exe [/font]but Webroot has a tendency to generate false positives

westfw

See also https://github.com/akafugu/Xmegaduino
There are quite a few hits on a web search for "xmega arduino."

Till relatively recently, the more interesting xMega chips have been plagued with availability issues and bugs :-(
Since the Arduino core, by it's nature, is unlikely to be able to take advantage of the fancy peripherals, about the only advantage of xMega is the 32MHz clock rate, which is pretty much "not compelling" for the effort required for a new core and new hardware (especially since ... ARM!)  (ok, "big" xMega chips are now running lower cost than big MEGA chips...)

Go Up