[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openocd-development
Subject:    Re: [OpenOCD-devel] MIPS ejtag DMA support
From:       Jeroen Peelaerts <jeroen_peelaerts () hotmail ! com>
Date:       2012-03-28 15:58:29
Message-ID: COL107-W54F98034CA2217BC8F84BCE44B0 () phx ! gbl
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


> > 
> > Thanks for your reply. I'm sure that the flash is not empty, it contains
> > the original firmware of the device which boots up correctly.  
> 
> OK. Then the next step should be to get a dump of the correct memory area to
> display the flash contents.
> 

Ok, I tried to reset halt the board, but the problem is that it does not have a \
hardware srst signal pin. According to the documentation this should be required to \
have it halted at the reset vector. It does however have a trst pin, but I'm not sure \
if I configured it correctly (using reset_config trst_only and enabling the trst \
cable option in the interface/buspirate.cfg as well) and according to the \
documentation this can be simulated by using TMS signalling (so maybe it doesn't \
really matter).

I tried several reads from the flash memory after halting the board, and most of the \
time got 0xffff's as result (same result when querying using cfi) Sometimes I saw \
other (repetitive) data coming out, like 0xbbbb, but mostly everything was filled \
with 0xf's. The modem does work correctly, tho. This is probably because I can't halt \
it directly so it starts executing the boot loader.

I think there must be some kind of chip enable that has to be triggered on the flash \
in order to access it even after booting. I found another reference specific to this  \
issue (not being able to detect flash memory on this board) on another website.

http://www.usbjtag.com/jtagdevices/sb5100.php

They advise to use a bunch of 'poke' commands with their closed source utility

poke fffe230c 3
poke fffe2304 0
poke fffe2300 a
poke fffe2300 9
poke fffe2300 9
poke fffe2300 9
poke fffe2300 9
poke fffe2300 9
poke fffe2300 9
poke fffe2300 9
poke fffe2300 9
poke fffe2300 1c

I saw that openOCD contains the poke command, too, when compiled with the \
--enable-ioutil option. What is exactly the difference between poke (writing a word) \
and mww here? I expect mww to be used for memory operations only and poke for \
accessing registers, as the addresses used here are not in the declared ram or flash \
range (0x8000000 - 0x9fc00000)

Thanks,


 		 	   		  


[Attachment #5 (text/html)]

<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
<pre>&gt;&gt; <br>&gt;&gt; Thanks for your reply. I'm sure that the flash is not \
empty, it contains<br>&gt;&gt; the original firmware of the device which boots up \
correctly.  <br>&gt;<br>&gt;OK. Then the next step should be to get a dump of the \
correct memory area to<br>&gt;display the flash contents.<br>&gt;<br><br>Ok, I tried \
to reset halt the board, but the problem is that it does not have a hardware srst \
signal pin. According to<br>the documentation this should be required to have it \
halted at the reset vector. It does however have<br>a trst pin, but I'm not sure if I \
configured it correctly (using reset_config trst_only and enabling the trst cable \
option in the interface/buspirate.cfg as well) and according<br>to the documentation \
this can be simulated by using TMS signalling (so maybe it doesn't really \
matter).<br><br>I tried several reads from the flash memory after halting the board, \
and most of the time got 0xffff's as result (same result when querying using \
cfi)<br>Sometimes I saw other (repetitive) data coming out, like 0xbbbb, but mostly \
everything was filled with 0xf's. The modem does work correctly, tho.<br>This is \
probably because I can't halt it directly so it starts executing the boot \
loader.<br><br>I think there must be some kind of chip enable that has to be \
triggered on the flash in order to access it even after booting. I found another \
reference specific to this <br>issue (not being able to detect flash memory on this \
board) on another website.<br><br>http://www.usbjtag.com/jtagdevices/sb5100.php<br><br>They \
advise to use a bunch of 'poke' commands with their closed source \
utility<br><br><font style="font-size: 10pt;" size="2" face="Verdana,Arial">poke \
fffe230c 3<br>poke fffe2304 0<br>poke fffe2300 a<br>poke fffe2300 9<br>poke fffe2300 \
9 poke fffe2300 9
poke fffe2300 9
poke fffe2300 9
poke fffe2300 9
poke fffe2300 9
poke fffe2300 9
poke fffe2300 1c</font><br><br>I saw that openOCD contains the poke command, too, \
when compiled with the <span class="option">--enable-ioutil</span> option. What is \
exactly the difference between poke (writing a word) and mww here?<br>I expect mww to \
be used for memory operations only and poke for accessing registers, as the addresses \
used here are not in the declared ram or flash range (0x8000000 - \
0x9fc00000)<br><br>Thanks,<br><br><br></pre> 		 	   		  </div></body> </html>



------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure

_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic