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