New Revision of tutorial "Using Open Source Tools ...&q

Hello to all fellow ARM embedded programmers!

You may be interested in the latest update to my tutorial “Using Open Source Tools for AT91SAM7 Cross Development - Revision C” that was published on the Atmel AT91 support web site yesterday.

Go to the Atmel web site: http://www.at91.com

The new revision to the tutorial is in the “Documents” section. There’s a zip file named “atmel_tutorial_source.zip” that has the pdf of the tutorial, some OpenOCD configuration files and several sample Eclipse projects.

This revision is a nearly complete rewrite that includes:

  1. Use of the Atmel SAM-ICE and the Segger J-Link GDB Server fully integrated throughout the document.

  2. Screenshots compatible with the latest release of YAGARTO and OpenOCD (as of a few days ago).

  3. More explanatory material on the development system in general and how all the tools work together.

  4. Additional material on use of the Eclipse editor.

  5. Explanation on the proper use of libraries and examples of such usage added to the sample projects.

  6. Improvement and simplifications to using OpenOCD to program the onchip flash.

  7. Improved debugger start-up procedures.

This tutorial is now at 198 pages and continues to be targeted for the novice audience. If you are a experienced embedded software designer and familiar with the GNU tool chain, then the shorter Atmel application note “GNU-Based Software Development on AT91SAM Microcontrollers:” may be more appropriate. Also remember that Michael Fischer has many short tutorials on using YAGARTO and Eclipse on his web site so make sure you check them out also. http://www.yagarto.de/

I welcome feedback on this article and have encorporated many suggestions sent to me by interested readers into this new revision.

This is an open source project and in that spirit I have not accepted any renumeration for my work. I do greatly appreciate Atmel’s willingness to publish it on their web site.

Cheers,

James P. Lynch

:smiley:

Hi James,

first, THANK YOU!!! for putting in the time to continuously update your documents!

I am just starting to look into ARM-development. I have some PIC experience, so am not new to the world of microcontrollers per se, but the Arm is a different puppy to the PIC. So your tutorial helps tremendously.

I spent the weekend setting up the environment, and finally succeeded. However, there were a few things I tripped over. I’ll just list them here - they are clearly my own stupidity, but others might stumble across the same challenges:

:arrow: The AT91SAM7S64-board I got cheaply off ebay didn’t have a JTAG-connector, so I had to add it. I am using the Olimex ARM-USB-OCD. Unfortunately, the pin-description in the Olimex-documentation differs slightly from that of the uP - no big deal, but it took me an afternoon to track down the right connectivity. The fact that the Layout-description of the Olimex-develoment-board http://www.olimex.com/dev/images/sam7-p64-sch.gif shows the JTAG-connector upside-down did not help. A quick introduction on how the JTAG is routed to the SAM7 would have helped. I realize that most people would simply buy a proper development board and be done with it. Stupid, really.

:arrow: This probably sounds silly, but it took me a whole day to figure it out: The difference in setting up the ARM-USB-OCD as debugger vs. programmer was not clear to me. When going into the debugging, the document simply states that the OCD has to run in the background - so I started the OCD the same way I had installed it - as flash-programmer. Of course the debugging does not work, because, as programmer, the OCD terminates. Duh! Several hours later I finally realized my mistake, which now to me is obvious: I jumped the document and installed OCD with the flash-programming script. It is obvious now, but I did not see the significance of it beforehand.

Anyhow, thanks to your help I can now continue stumbling into the programming side of things … :wink:

:idea:

Joerg