ARM SWD / IDE

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

It's the holiday and I'm looking for something to do, so I've decided to try some ARM stuff.

I'm ordering some ATSAMD09C13A chips to play with (this chip only uses the SWD programming protocol)..

I have some general questions for any ARM gurus on the site...

-What is your preferred IDE tools for ARM?

-Any opensource hobby programmers for SWD protocol? (Serial Wire Debug)

-Any recommended guides for someone diving into atmel ARM stuff? (I found this one online, but it's not an ATMEL arm... http://hackaday.com/2015/08/11/g... )

 

I see the SWD interface uses....  /RESET, SWDCLK, SWDIO, GND

I found a silicon labs document which seems to explain the protocol: https://www.silabs.com/Support%2...

I'm not sure if SWD for atmel is a proprietary implementation or if everyone is using a standardized SWD implementation?

I'd eventually like to build my own standalone programmer for SWD, I've done that in the past for TPI and SPI protocols.

I found some info on how to connect an Atmel-ICE http://www.atmel.com/webdoc/atme...

But not much on the actual protocol from atmel.

 

Any ARM gurus out there I would appreciate any input.

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

If you want to learn ARM, buy a Freescale FRDM or a ST NUCLEO evaluation board. They come with a SWD debugger and accept Arduino shields.

If you want to use Atmel chips, there is the SAMD10-XMINI. Or the SAM XPRO boards.

I am fairly certain that you can use most of the onboard debugger chips to SWD other chips.
An ATMEL-ICE can do AVR chips as well as ARM.
Commercial ARM debuggers only do ARM as far as I know.

It really is not worth the effort to build your own SWD or JTAG.

David.

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

I second David's suggestion. Each manufacturer usually has its own tools - usually based on the gcc compiler. With Atmel, you have Atmel Studio. Freescale - kinetis design studio and icant remember the name for the stm tools. There's also MBED (mbed.org) which are a web based ide that supports a number of boards - downside is no debug at the moment. In short, you're spoiled for choice and a lot of the stuff is cheap as well as having on board debug.
If you REALLY want to roll your own, Seeed studio has an open source swd cmdis-dap interface mainly for their bluetooth micro board. You can grab that code and adapt.

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

Thanks for the great info,

I ordered an Atmel ICE and a FreedomBoard KINETIS to play around with in addition to the ATSAMD09C13A chips.

Kartman, do you have a link to the open-source swd cmdis-dap you were talking about?

Is this the device? http://www.seeedstudio.com/depot/IBDAP-CMSISDAP-JTAGSWD-Debug-Adapter-p-2568.html

I could not find anything with "cmdis-dap" on their site, maybe it was is really "cmsisdap" ?

 

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

That wasn't quite the device i was thinking of, but it seems they have a couple of boards all based on the same micro and code. I think there's also some open source code for the FRDM board floating around. I was able to program a nrf52822 chip with the FRDM -KL25 board i have.

The samd09 devices are next to useless for hobbyists - 16k flash does not go far nor does 4k of ram. You can't compare it with the AVR. Anything less than 128k flash is getting tight. Try building a sample project in Atmel Studio and you'll understand.

Why did you buy an Atmel ICE? You can get a samd20 xplained board with debugger for much less (around $30usd) and a few more dev boards!

Last Edited: Tue. Dec 22, 2015 - 06:01 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The ATMEL-ICE is a good investment for AVR chips. And you can use it on ARM too.

I would stick to one target and one set of tools when you are learning. e.g. a FRDM-KL25Z board.
If you want to use Atmel chips, choose a SAM4-XPRO kit. i.e. a reasonable size memory, peripherals, ...

David.

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

I only paid around 50usd for the Atmel-ICE basic version, seemed like a reasonably good investment since it also did AVR.

I'll probably port some code from an attiny project over to samd09 to get my feet wet too, so it should have plenty of space for that job.

I noticed the ATSAMD09C13A was cheaper than most attiny micro's on digikey, at least right now it is.

So it seems like a good lower cost ARM solution for some simple projects.

Thanks everyone for the great input so far, I'm looking forward to playing with the ARM chips ;-)

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

It is wise to learn / develop on a large chip. You can always recompile for the small cheap chip.

You will come unstuck with starting on a tiny ARM. Much like people who think that a ATtiny5 is a good place to learn about AVR.

Now that you have bought your ATMEL-ICE you could buy a Due clone. Use it as a general purpose Arduino or as a debug-target for the ATMEL-ICE.

You will find it a lot more difficult than choosing a common evaluation / development board like the FRDM or Atmel XPRO.

Hey-ho, you take your own route in life.

David.

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

Thanks everyone for all the great info so far...

I'm porting over a project from an ATTINY to ATSAMD09C13A, so far everything is working without any issues....

but I have a question....

Is their atomic safety requirements for native size (32bit) volatile variables shared between interrupts and main?

Should I call "NVIC_DisableIRQ" before modifying volatile variables shared between main and an interrupt?

Then call "NVIC_EnableIRQ" after volatile variable modification?

Is there a ARM / SAM section on these forums or an ATMEL ARM specific forum to find good info on these kinds of questions?

 

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

You mean something like https://community.atmel.com/forum... ??

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

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

LOL, thanks. laugh