Hi Andreas.

On Mon, 8 Sep 2014 11:11:14 +0200, Andreas Fritiofson wrote:
> On Sun, Sep 7, 2014 at 10:29 PM, Jens Bauer <[email protected]> wrote:
>> 
>> [...] NOP that is HardFaulting. [...] 
>>  
>> What I find peculiar, is that ... reading memory from OpenOCD seems 
>> to be inconsistent.
>
> Just a thought... I have no experience with the LPC controllers but I 
> assume that they, like most, need a configurable number of 
> wait-states on flash access, depending on clock speed, Vdd range and 
> so on. Is it configured correctly?

Yes, correct.

> Maybe try to add an extra wait-state to see if it makes a difference.

This is a really good suggestion - I'll try that!

> Perhaps the oddly behaving addresses belong to flash cells that are on the 
> limit, 
> and temperature increase pushes it over after a while...

It could explain why reading bytes from the addresses may behave differently 
from reading halfwords / words too!
As far as I understand, a halfword / word will be read multiple times when 
reading bytes only.
So that's very likely.

> If the target crashes on it's own, I think we can rule out OpenOCD, for now.

I think that the crash isn't the most interesting thing; it's the strange 
behaviour of reading odd/even addresses gives different results. But as you say 
... it may be because of those flash wait-states that OpenOCD reads the content 
incorrectly. The current wait-state setting might be fine for reading byte 
positions, but may fail on 16 / 32 bit reads (or the other way round).

> I have no idea how the disassemble routine handles odd/even 
> addresses. I guess the correct address to pass is the even one, 
> without the T-bit set.

OK. This too could be due to the wait-states. I believe odd addresses would use 
the byte-reader, rather than a complex 32-bit read with shifting; because it 
logically, shouldn't attempt to touch bytes outside the requested range.

I'll try checking that the wait-states are set up correctly (and inserting more 
wait-states to see how it helps).

Thank you for the suggestion. =)


Love
Jens

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to