Development Environment options other than Atmel Studio

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

Hello,

 

I need to write a small project on an existing PCB using the UC3C2256. I have written code for Atmel AVR8s for years and have never used the clunky, bug-laden Atmel Studio.

 

I compile using either the Arduino compiler and programmer, or I've used the (older) HiTech compiler and an AVR ISP device to program. I prefer the latter: a command-line compiler and then the Atmel ICE or mkII (I have both).

 

I use Debian because I do a lot of CNC-related things and LinuxCNC no longer supports Ubuntu.

 

I also use Windows 7 Pro.

 

Either environment is fine with me.

 

I greatly appreciate any guidance! Thank you.

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

The compiler is GCC so you can use any IDE that can wrap GCC (Eclipse, Netbeans, Codeblocks etc)

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

Just wondering (as the Arduino IDE has been mentioned) - can the Arduino IDE be (easily) persuaded to build for AVR32 ?

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

clawson wrote:
The compiler is GCC so you can use any IDE

Or no IDE - GCC itself runs from the command line

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

Thanks.

 

What is the recommended download site for avr-gcc?

 

A search for "avr-gcc" brings up quite a few websites. Is there an official one?

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

Depends, but the usual standard answer is to get the AVR toolchain from Microchip/Atmel. Here: http://www.atmel.com/tools/ATMEL... .

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

That website is amazingly buggy. Very broken.

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

Possibly, but AFAIK there has been no reports on failing downloads of the toolchain .

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 experience has never been good since the acquisition. I followed your link. I selected the AVR32 toolchain. It asked me to log in (I already was logged in). Then it takes me to a "Welcome Back!" landing page. Dead end. Reloading the prior screen still shows me not logged in.

 

I tried registering as a guest about 6 times. I never received an email confirmation from any of those attempts.

 

After wandering around, I was able to find this page: http://www.microchip.com/avr-sup...(c-compilers)

However, no links for downloading for the AVR32 controllers, 8-bit only.

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

JohanEkdahl wrote:
AFAIK there has been no reports on failing downloads of the toolchain .

Maybe that's because so few use AVR32 ... ?

 

and only a minority of them would download the toolchain on its own ...

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

There's a site Atmel operate as part of their GPL requirement that also has the .tar.gz files too. Might be worth trying that. If I was on a PC not a phone I could probably give you a link.
.
EDIT: under here perhaps..
.
http://distribute.atmel.no/tools/opensource/Atmel-AVR32-GNU-Toolchain/

Last Edited: Sat. Dec 30, 2017 - 05:30 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

garylafl wrote:
... and then the Atmel ICE or mkII (I have both).
UC3C are shipped with a USB DFU bootloader.

dfu-programmer is a DFU loader for AVR and AVR32 UC3.

 

Microchip Technology Inc

Microchip

AVR32806: AVR UC3 USB DFU Boot Loader, Version 1.1.0 and Higher

http://www.microchip.com//wwwAppNotes/AppNotes.aspx?appnote=en591315

via http://www.microchip.com/wwwproducts/en/AT32UC3C2256C

https://dfu-programmer.github.io/

 

An example of dfu-programmer for a UC3A3 product :

https://www.nitrokey.com/en/doc/firmware-update-storage

via https://github.com/Nitrokey/nitrokey-storage-firmware#flashing-the-firmware-to-device

 

"Dare to be naïve." - Buckminster Fuller

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

I'm running Linux / Mint for several years now and I can't really be bothered with the latest version of every program.

So I use (If I do something at all with avr's whic is not so much the case lately) the version which comes with the package manager

paul@dualcore ~ $ avr-gcc --version
avr-gcc (GCC) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I have no idea what the current version is, but 2013 seems pretty old.

Shame on atmel / Microship.

You should be able to jumpstart from:

apt install gcc-avr avr-libc binutils-avr avrdude

Another route for you might be platfomio. The core of platformio are some python scripts which do some amazing integration.

For example, installing the platformio core only installs the python scripts.

Write some source code in your favorite editor, save it and run platformio.

The first time platformio tries to compile your program it can not find a compiler, so it pulls it from the 'net and installs it on your pc, and then continues compiling.

Multiple ( (mostly?) gcc based) compilers are suported for different targets (AVR, ARM, Espressiv and over 10 other uC architectures).

It also comes with 2000+ installable (and searchable) libraries for all kinds of peripheral chips.

http://platformio.org/

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

Last Edited: Sun. Dec 31, 2017 - 04:43 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Why shame on Atmel? What on earth have they got to do with the maintenance of the repo in your Linux distro?

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

Paulvdh wrote:
2013 seems pretty old.

again, isn't that just the general state of all AVR32 stuff ?

 

EDIT

 

See also: https://www.avrfreaks.net/forum/avr32-support-dropped-linux-kernel

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...
Last Edited: Sun. Dec 31, 2017 - 01:09 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gchapman wrote:

UC3C are shipped with a USB DFU bootloader.

dfu-programmer is a DFU loader for AVR and AVR32 UC3.

 

Thanks, but this PCB isn't using the USB port of the IC.

Last Edited: Sun. Dec 31, 2017 - 12:35 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:

again, isn't that just the general state of all AVR32 stuff ?

 

I'm curious as to why Atmel abandoned the AVR32 series... Seems like a great replacement for the 8-bit eventually. The added peripherals were nice too.

 

Is it because of ARM? And if so, why'd they ever bother with the AVR32?

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

garylafl wrote:
Is it because of ARM?

I think so.

 

And if so, why'd they ever bother with the AVR32?

I guess they thought they could be an ARM alternative, but found they just couldn't match the sheer weight of numbers behind all the ARM adoption ?

 

They probably didn't realise that it's not (just) about the silicon - it's about having the full "ecosystem" around it ?

 

I wonder if PIC32 will go a similar way, now that Microchip have ARM ... ?

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

garylafl wrote:
The added peripherals were nice too

I think you'll find a lot of that IP lives on in the SAMs ... 

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

awneil wrote:

I think you'll find a lot of that IP lives on in the SAMs ... 

If *you* were dumping the AVR32 UC3C 64-pin TQFP which SAM would you find the most "compatible" ?

 

I'm going to suggest to this customer that the board he has get re-spun. I don't think developing on this is probably good idea. However, I do understand the AVR32 board exists... so changing it is a nuisance.

 

But if I could find a SAM replacement that I could shoe-horn onto this PCB without re-laying out the whole board...

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

I think that would be better as a separate thread - perhaps a moderator will move it ...

 

Would probably need more details of what you're actually using & doing with it.

 

I've not used the AVR32 as standalone chips, so I don't know off-hand about specific products.

 

Might be worth you or your customer talking to your Atmel and/or distributor FAE(s)

 

PM me if you wanted to discuss to an investigation ...

 

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

garylafl wrote:
64-pin TQFP which SAM would you find the most "compatible" ?
We can't offer assistance without knowing what peripherals are necessary for the specific project...

No crystal balls here!wink

David (aka frog_jr)

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

garylafl wrote:
I'm curious as to why Atmel abandoned the AVR32 series...
Legacy (not abandoned) means no new UC3 designs.

UC3C is being maintained by the ones at Microchip and UC3C is in the automotive catalog (automotive means longer lifetime)

 

garylafl wrote:
Seems like a great replacement for the 8-bit eventually.
UC3C and UC3L are niche due to unique features like FlashVault and single cycle 32b ports otherwise it's SAM D and such.

garylafl wrote:
And if so, why'd they ever bother with the AVR32?
arm's license fee?

 


https://www.avrfreaks.net/forum/uc3c-revision-g-silicon

http://www.microchip.com/wwwproducts/en/AT32UC3C0512C-AUTOMOTIVE

 

Edit: a feature

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Sun. Dec 31, 2017 - 03:41 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
I wonder if PIC32 will go a similar way, now that Microchip have ARM ... ?
Likely not due to a few unique features of PIC32 versus arm Cortex-M like an MMU in PIC32MZ.

 

"Dare to be naïve." - Buckminster Fuller

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

garylafl wrote:
And if so, why'd they ever bother with the AVR32?

Because "things" were different back then. The year was 2006/2007 according to Wikipedia.

 

This is about the same time that the first Cortex-M (the M3  in year 2004) and Cortex-M1 (2007) where introduced. The M0 came 2009 and the M0+ came 2012. A guess would be that around 2005 Atmel could/did not know if the Cortex-M series would be a success or not. (As I see it, eventually it was.)

 

Time passes. Markets and strategies change.

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

frog_jr wrote:
We can't offer assistance without knowing what peripherals are necessary for the specific project... No crystal balls here!wink

 

Sorry. Of course. The main reason for the AVR32 in this case was to replace an AVR8 to get an FPU and the benefits of 32-bit.

 

The PCB uses 6 inputs, 7 outputs, 2 UARTS as TX/RX pins only, 4 ADCs, and 1 quadrature encoder. It was originally running on an AVR8. They chose the AVR32 two years ago and finally got around to migrating it to the AVR32.

 

Hilarious that it's been obsoleted since then... whoops.... :)

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

The AVR32 came about with the delivery of the AP7000 "system processor" that was clearly an attempt to break into the lucrative mobile phone market just at the time that ARM 7/9 were making the transition to Cortex A. At the same time the UC3 range was launched as a sort of "controller variant" of the new, bad boy. Almost as soon as it was launched (just dev boards I think) the AP7000 was canned. I guess Sony or Apple or Nokia or whoever the "big customer" was pulled out? That just left behind the UC3 as a kind of "me too" Cortex M4 kind of equivalent. Personally I've always seen the UC3 as a sort of pointless off shoot though I believe (presumably because of an AP7000 design goal?) that one of the arguments for it is better MIPS/W performance perhaps? So there clearly are some reasons it might be chosen.
.
EDIT possible over use of "kind of"? ;-)

Last Edited: Sun. Dec 31, 2017 - 04:59 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Almost as soon as it was launched (just dev boards I think) the AP7000 was canned. I guess Sony or Apple or Nokia or whoever the "big customer" was pulled out?

Just a guess, but this could have been around the time when smartphones, the generation after the Blackberry, where beginning to emerge.

 

There was some quite quick shifts and turns in the industry. E.g. a cell phone maker I was close to ;-) did the shift from going with Symbian to Android more or less over a weekend. (Maybe the "weekend" is a bit of an exaggeration but it happened quite quickly. There was loads of consulting/staffing companies sending their developers to Debian education. A few months later it was all Android.) The word "volatile" comes to mind as an apt description of the times.

 

The 2008 financial crisis was also around then, making strong players weak, creating a general sense of nervousness etc. (Heck, the office building I was in back then was still under construction and they just froze it, "sealing" two wings that had reached just above ground level. They stood like that for several years.)

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: 2

From AVR32007 (doc32075.pdf):

 

 

Edit: corrected file name.

Letting the smoke out since 1978

 

 

 

 

Last Edited: Mon. Jan 1, 2018 - 01:18 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Most of that table is pretty obsolete if you change the ARM chip from "arm7" to "ARM Cortex m3" or better.

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

Agreed - ARM7 is pretty much obsolete these days.

 

You need a Cortex-M comparison ...

 

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

No kidding, that document is ten years old!

 

Letting the smoke out since 1978