Using openocd JTAG on the AT91SAM9G20

I've been working to bring up prototype of a SPOT board based on the Atmel AT91SAM9G20 processor.  This is an ARM9 (ARM 926) that is several generations past the SPOT's AT91RM9200. I've used openocd JTAG to bring up the board and wanted to post the script. My previous post, "Unbricking a SPOT" covers the particulars and pointers about openocd. 

It was the intention that SPOTs live in the community, so we post not only design data about the manufactured SPOT but also prototypes we are working on. The SPOT design for manufactured SPOTs are posted on the  https://spots-hardware.dev.java.net/ subversion trunk and prototype designs are posted in the branch. The eSPOT is becoming a mature product and we are faced with part obsolescence and higher cost for older parts. We have made prototypes that never made it to manufacture and designs on the branch have not yet been qualified to be manufactured. As you can imagine, things are very uncertain, but as long as we can, we are moving forward on bringing up new updated SPOTs. 

For this prototype, I modified the power controller to sequence power to the processor. Once the switchers checked out (no smoke), we use openocd JTAG to talk with the ARM. This series of ARM9 does not come up without a lot of initialization. The CPU phaselock loops, clock paths, Flash/SRAM memory timing and CACHE control all have to be setup by both startup code and the JTAG initialization script. Once we write to flash with JTAG, we download short C programs using the gnu tool chain to test UARTS, SPI, I2C and so on. The openocd board initialization script is here.

There were issues with one of the Absolute Maximum ratings "Voltage on Input Pins with Respect to Ground" .... -0.3V to VDDIO+0.3V. If we drop power from the ARM during deep sleep. VDDIO is 0V and we cannot have any parts with a voltage higher than 0.3V on the ARM. Turns out, TI makes some great LVC parts which "disappear" when power is turn off and solved one of our problems. TI has an application note which goes into detail about Ioff called "Logic in Live-Insertion Applications With a Focus on GTLP"

Short blog today - our rock band neighbors are too noisy to concentrate.

Bob
Comments:

Hi Bob,
I ve actually design a board based on the eSPOT v6.0 design. I was wondering if there is any initialisation script available for this one(AT91rm9200)
Regards

Posted by Wassim on March 14, 2010 at 08:49 PM PDT #

Yes, go to my "unbricking your spot" blog and find the espot.cfg link.
http://blogs.sun.com/ralkire/entry/unbricking_your_spot

Posted by Bob on September 10, 2010 at 09:56 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

user12611170

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today