Re: wdebug instruction causes XLB slave error acknowledge interrupt on MCF547X.

nop head <[email protected]> Wed, 8 Apr 2009 12:19:52 +0100
Newsgroups gmane.comp.hardware.motorola.microcontrollers.coldfire
Message-ID <[email protected]>
--000e0cd2981a788bd10467094f9d
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Hi David,
  It appears to be something to do with the cache or ACRs. If I enable the
cache after, rather than before, I use the wdebug instruction then I don't
get the XLB interrupt. So I have two workarounds that don't cause me any
problems, but it is still a mystery to me why it happens.

I am moving on to a more serious problem I seem to have with the V4
speculatively dereferencing pointers that are not valid. I.e. the pointer is
not valid so the code branches round its use, but the core fetches what it
points to anyway and causes a bus error.

Chris



2009/4/7 Seymour David-RA2693 <[email protected]>

>  Hi Chris,
> Yes MBAR is 0x1000_0000.
> The nop are my way of viewing the code more easily and should I need to
> patch another instruction in I have room to do so.
> But nop insturction does sync the pipeline and ensure writes have completed
> before moving onto the next instruction so maybe that is helping????
> WDEBUG should be a supervisor instruction access.
> Regards,
> David
>
> David E Seymour
>
> *http://www.freescale.com/coldfire*
>
>
>  ------------------------------
> *From:* [email protected] [mailto:[email protected]]
> *On Behalf Of *nop head
> *Sent:* Tuesday, April 07, 2009 5:23 PM
>
> *To:* Seymour David-RA2693
> *Subject:* Re: [ColdFire] wdebug instruction causes XLB slave error
> acknowledge interrupt on MCF547X.
>
> David,
>
> I assume your MBAR was at 0x10000000? Why do you have NOPs around the
> wdebug?
>
> I am at home at the moment. I will double check my findings tomorrow at
> work.
>
> I had to disable the XLB interrupt to get past the wdebug and then reset
> the bit in the status register before enabling the interrupt again.  I can't
> think what would cause it. My code and data are in flash, mapped with CS0,
> read only. MBAR is at 80000000.
>
> Am I right to assume the WDEBUG read of the data will be in supervisor data
> or instruction space? Odd that the address captured by the XLB was half way
> through the data.
>
> Chris
>
> 2009/4/7 Seymour David-RA2693 <[email protected]>
>
>>  Ouch...just got everything put away!  That serves me right for once
>> trying to keep a clean office.  Lesson learned.  Thx!!
>>
>> Ok...re-ran with following code:
>>  dBUG> di 20000
>> 00020000: 2C80                 MOVE.L    D0,(A6)
>> 00020002: 0002                 DC.W      0x0002
>> 00020004: 0000                 DC.W      0x0000
>> 00020006: 0000                 DC.W      0x0000
>> 00020008: 207C 0002 0000       MOVEA.L   #0x00020000,A0
>> 0002000E: 4E71                 NOP
>> 00020010: 4E71                 NOP
>> 00020012: FBD0 0003            WDEBUG    (A0)
>> 00020016: 4E71                 NOP
>> 00020018: 4E71                 NOP
>> 0002001A: 227C 1000 0248       MOVEA.L   #0x10000248,A1
>> 00020020: 2211                 MOVE.L    (A1),D1
>> 00020022: 4E71                 NOP
>> 00020024: 4E71                 NOP
>> 00020026: 4E4F                 TRAP      #0x0F
>> 00020028: 37FE                 DC.W      0x37FE
>> dBUG> rm pc 20008
>> dBUG> go
>> dBUG> rd
>> PC: 00020028 SR: 2004 [t.Sm.000...xnZvc]
>> An: 00020000 10000248 00000000 00000000 00000000 00000000 00000000
>> 03FFFFF8
>> Dn: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>> 00000000
>> dBUG>
>>
>> Register D1 is zero so bit 8 is not setting.
>> Anything else for me to try?
>>  Regards,
>> David
>>
>> David E Seymour
>>
>> *http://www.freescale.com/coldfire*
>>
>>
>>  ------------------------------
>>  *From:* [email protected] [mailto:
>> [email protected]] *On Behalf Of *nop head
>> *Sent:* Tuesday, April 07, 2009 4:11 PM
>> *To:* Seymour David-RA2693
>> *Subject:* Re: [ColdFire] wdebug instruction causes XLB slave error
>> acknowledge interrupt on MCF547X.
>>
>>   Hi David,
>>   Yes I think it kills my PSTCLK, but why does it generate an XLB
>> interrupt? Can you look at the XLB registers as see if the status register
>> has bit 8 set.
>>
>> Chris
>>
>> 2009/4/7 Seymour David-RA2693 <[email protected]>
>>
>>>  Hi Chris,
>>> I did a simple test using the M5474EVB Lite board running dBUG ROM
>>> monitor:
>>> dBUG> di 20000
>>> 00020000: 2C80                 MOVE.L    D0,(A6)
>>> 00020002: 0002                 DC.W      0x0002
>>> 00020004: 0000                 DC.W      0x0000
>>> 00020006: 0000                 DC.W      0x0000
>>> 00020008: 267C 0002 0000       MOVEA.L   #0x00020000,A3
>>> 0002000E: 4E71                 NOP
>>> 00020010: FBD3 4E71            WDEBUG    (A3)
>>> 00020014: 4E71                 NOP
>>> 00020016: 4E71                 NOP
>>> 00020018: 4E71                 NOP
>>> 0002001A: 4E71                 NOP
>>> 0002001C: 4E71                 NOP
>>> 0002001E: 4E4F                 TRAP      #0x0F
>>> 00020020: 4E71                 NOP
>>> 00020022: 4E71                 NOP
>>> 00020024: 4E71                 NOP
>>>
>>> I set the PC to 0x20008 and issued "go" command.
>>> Watching PSTCLK with oscope, it is running be default.  After executing
>>> the above code, it is low.
>>> So I'm seeing it work OK.
>>> Regards,
>>> David
>>>
>>> David E Seymour
>>>
>>> *http://www.freescale.com/coldfire*
>>>
>>>
>>>  ------------------------------
>>> *From:* [email protected] [mailto:
>>> [email protected]] *On Behalf Of *nop head
>>> *Sent:* Tuesday, April 07, 2009 9:27 AM
>>> *To:* Seymour David-RA2693
>>> *Subject:* [ColdFire] wdebug instruction causes XLB slave error
>>> acknowledge interrupt on MCF547X.
>>>
>>>   I want to disable the PST signals, when not debugging, to reduce RF
>>> emissions. I used the following code successfully in an MCF537X project, but
>>> when I use it on a V4 processor I get an interrupt from the XLB arbiter.
>>>
>>> csr_data       dc.w    0010110010000000b       ;CSR
>>>                    dc.w    2,0,0                   ;PCD
>>> ...
>>>                 lea     csr_data,a0
>>>                 dc.w    1111101111010000b     ;wdebug.l a0
>>>                 dc.w    0000000000000011b
>>>
>>> My assembler doesn't support wdebug, hence the hand coded dc.w stuff. All
>>> the code does is set the PCD bit in the BDM CSR register.
>>>
>>> The fault address is csr_data + 4, i..e. half way through the data. The
>>> fault is a slave error acknowledge. The data is correctly aligned on a four
>>> byte boundary and is certainly accessible by normal instructions.
>>>
>>> Anybody know what is going on here?
>>>
>>> TIA, Chris
>>>
>>> [email protected] Send a post to the list.
>>> [email protected] Join the list. [email protected] the list in digest mode.
>>> [email protected] Leave the list.
>>> [email protected] Send a post to the list.
>>> [email protected] Join the list. [email protected] the list in digest mode.
>>> [email protected] Leave the list.
>>
>>
>> [email protected] Send a post to the list. [email protected] the list.
>> [email protected] Join the list in digest mode.
>> [email protected] Leave the list.
>>  [email protected] Send a post to the list.
>> [email protected] Join the list. [email protected] the list in digest mode.
>> [email protected] Leave the list.
>>
>
> [email protected] Send a post to the list. [email protected] the list.
> [email protected] Join the list in digest mode.
> [email protected] Leave the list.
> [email protected] Send a post to the list. [email protected] the list.
> [email protected] Join the list in digest mode.
> [email protected] Leave the list.
>

--000e0cd2981a788bd10467094f9d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi David,<br>=A0 It appears to be something to do with the cache or ACRs. I=
f I enable the cache after, rather than before, I use the wdebug instructio=
n then I don&#39;t get the XLB interrupt. So I have two workarounds that do=
n&#39;t cause me any problems, but it is still a mystery to me why it happe=
ns.<br>
<br>I am moving on to a more serious problem I seem to have with the V4 spe=
culatively dereferencing pointers that are not valid. I.e. the pointer is n=
ot valid so the code branches round its use, but the core fetches what it p=
oints to anyway and causes a bus error.<br>
<br>Chris<br><br><br><br><div class=3D"gmail_quote">2009/4/7 Seymour David-=
RA2693 <span dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]"=
>[email protected]</a>&gt;</span><br><blockquote class=3D"gmail_q=
uote" style=3D"border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0=
pt 0.8ex; padding-left: 1ex;">




<div>
<div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">Hi=
 Chris,</font></span></div>
<div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">Ye=
s MBAR is 0x1000_0000.</font></span></div>
<div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">Th=
e nop are my way of viewing the code more easily and should I need to=20
patch another instruction in I have room to do so.</font></span></div>
<div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">Bu=
t nop insturction does sync the pipeline and ensure writes have=20
completed before moving onto the next instruction so maybe that is=20
helping????</font></span></div>
<div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">WD=
EBUG should be a supervisor instruction access.</font></span></div><div cla=
ss=3D"im">
<div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">Re=
gards, </font></span></div>
<div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">Da=
vid </font></span></div>
<div>=A0</div>
<div align=3D"left"><font size=3D"2">David E Seymour</font><font size=3D"2"=
></font></div>
<div align=3D"left">
<p><u><font color=3D"#0000ff" size=3D"2"><a href=3D"http://www.freescale.co=
m/coldfire" target=3D"_blank">http://www.freescale.com/coldfire</a></font><=
/u><font size=3D"2"></font></p></div>
<div>=A0</div><br>
</div><div dir=3D"ltr" align=3D"left" lang=3D"en-us">
<hr>
<font size=3D"2" face=3D"Tahoma"><div class=3D"im"><b>From:</b> <a href=3D"=
mailto:[email protected]" target=3D"_blank">coldfire-bounce@wild=
rice.com</a>=20
[mailto:<a href=3D"mailto:[email protected]" target=3D"_blank">c=
[email protected]</a>] <b>On Behalf Of </b>nop=20
head<br></div><b>Sent:</b> Tuesday, April 07, 2009 5:23 PM<div><div></div><=
div class=3D"h5"><br><b>To:</b> Seymour=20
David-RA2693<br><b>Subject:</b> Re: [ColdFire] wdebug instruction causes XL=
B=20
slave error acknowledge interrupt on MCF547X.<br></div></div></font><br></d=
iv><div><div></div><div class=3D"h5">
<div></div>David,<br><br>I assume your MBAR was at 0x10000000? Why do you h=
ave=20
NOPs around the wdebug?<br><br>I am at home at the moment. I will double ch=
eck=20
my findings tomorrow at work. <br><br>I had to disable the XLB interrupt to=
 get=20
past the wdebug and then reset the bit in the status register before enabli=
ng=20
the interrupt again.=A0 I can&#39;t think what would cause it. My code and =
data=20
are in flash, mapped with CS0, read only. MBAR is at 80000000. <br><br>Am I=
=20
right to assume the WDEBUG read of the data will be in supervisor data or=
=20
instruction space? Odd that the address captured by the XLB was half way th=
rough=20
the data.<br><br>Chris<br><br>
<div class=3D"gmail_quote">2009/4/7 Seymour David-RA2693 <span dir=3D"ltr">=
&lt;<a href=3D"mailto:[email protected]" target=3D"_blank">David.=
[email protected]</a>&gt;</span><br>
<blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
  <div>
  <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">=
Ouch...just got=20
  everything put away!=A0 That serves me right for once trying to keep a=20
  clean office.=A0 Lesson learned.=A0 Thx!!</font></span></div>
  <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">=
</font></span>=A0</div>
  <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">=
Ok...re-ran with=20
  following code:</font></span></div>
  <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">
  <div>dBUG&gt; di 20000<br>00020000:=20
  2C80=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  MOVE.L=A0=A0=A0 D0,(A6)<br>00020002:=20
  0002=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  DC.W=A0=A0=A0=A0=A0 0x0002<br>00020004:=20
  0000=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  DC.W=A0=A0=A0=A0=A0 0x0000<br>00020006:=20
  0000=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  DC.W=A0=A0=A0=A0=A0 0x0000<br></div>00020008: 207C 0002=20
  0000=A0=A0=A0=A0=A0=A0 MOVEA.L=A0=A0=20
  #0x00020000,A0<br>0002000E:=20
  4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  NOP<br>00020010:=20
  4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  NOP<br>00020012: FBD0=20
  0003=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  WDEBUG=A0=A0=A0 (A0)
  <div><br>00020016:=20
  4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  NOP<br>00020018:=20
  4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  NOP<br></div>0002001A: 227C 1000 0248=A0=A0=A0=A0=A0=A0=20
  MOVEA.L=A0=A0 #0x10000248,A1<br>00020020:=20
  2211=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  MOVE.L=A0=A0=A0 (A1),D1
  <div><br>00020022:=20
  4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  NOP<br>00020024:=20
  4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  NOP<br></div>00020026:=20
  4E4F=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  TRAP=A0=A0=A0=A0=A0 #0x0F<br>00020028:=20
  37FE=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
  DC.W=A0=A0=A0=A0=A0 0x37FE<br>dBUG&gt; rm pc 20008<br>dBUG&gt;=20
  go<br>dBUG&gt; rd<br>PC: 00020028 SR: 2004 [t.Sm.000...xnZvc]<br>An: 0002=
0000=20
  10000248 00000000 00000000 00000000 00000000 00000000 03FFFFF8<br>Dn: 000=
00000=20
  00000000 00000000 00000000 00000000 00000000 00000000=20
  00000000<br>dBUG&gt;</font></span></div>
  <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">=
</font></span>=A0</div>
  <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">=
Register D1 is zero=20
  so bit 8 is not setting.</font></span></div>
  <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">=
Anything else for me=20
  to try?</font></span></div>
  <div>
  <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">=
Regards,=20
  </font></span></div>
  <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2">=
David=20
  </font></span></div>
  <div><font color=3D"#0000ff" size=3D"2"></font>=A0</div>
  <div align=3D"left"><font size=3D"2">David E Seymour</font><font size=3D"=
2"></font></div>
  <div align=3D"left">
  <p><u><font color=3D"#0000ff" size=3D"2"><a href=3D"http://www.freescale.=
com/coldfire" target=3D"_blank">http://www.freescale.com/coldfire</a></font=
></u><font size=3D"2"></font></p></div>
  <div><font color=3D"#0000ff" size=3D"2"></font>=A0</div><br></div>
  <div dir=3D"ltr" align=3D"left" lang=3D"en-us">
  <hr>
  <font size=3D"2" face=3D"Tahoma">
  <div><b>From:</b> <a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a> [mailto:<a href=3D"mailto:cold=
[email protected]" target=3D"_blank">[email protected]</a=
>] <b>On Behalf Of </b>nop=20
  head<br></div><b>Sent:</b> Tuesday, April 07, 2009 4:11 PM<br><b>To:</b>=
=20
  Seymour David-RA2693<br><b>Subject:</b> Re: [ColdFire] wdebug instruction=
=20
  causes XLB slave error acknowledge interrupt on MCF547X.<br></font><br></=
div>
  <div>
  <div></div>
  <div>
  <div></div>Hi David,<br>=A0 Yes I think it kills my PSTCLK, but why does =
it=20
  generate an XLB interrupt? Can you look at the XLB registers as see if th=
e=20
  status register has bit 8 set.<br><br>Chris<br><br>
  <div class=3D"gmail_quote">2009/4/7 Seymour David-RA2693 <span dir=3D"ltr=
">&lt;<a href=3D"mailto:[email protected]" target=3D"_blank">Davi=
[email protected]</a>&gt;</span><br>
  <blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204=
, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div>
    <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2=
">Hi=20
    Chris,</font></span></div>
    <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2=
">I did a simple test=20
    using the M5474EVB Lite board running dBUG ROM monitor:</font></span></=
div>
    <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2=
">dBUG&gt; di=20
    20000<br>00020000:=20
    2C80=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    MOVE.L=A0=A0=A0 D0,(A6)<br>00020002:=20
    0002=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    DC.W=A0=A0=A0=A0=A0 0x0002<br>00020004:=20
    0000=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    DC.W=A0=A0=A0=A0=A0 0x0000<br>00020006:=20
    0000=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    DC.W=A0=A0=A0=A0=A0 0x0000<br>00020008: 267C 0002=20
    0000=A0=A0=A0=A0=A0=A0 MOVEA.L=A0=A0=20
    #0x00020000,A3<br>0002000E:=20
    4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    NOP<br>00020010: FBD3=20
    4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    WDEBUG=A0=A0=A0 (A3)<br>00020014:=20
    4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    NOP<br>00020016:=20
    4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    NOP<br>00020018:=20
    4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    NOP<br>0002001A:=20
    4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    NOP<br>0002001C:=20
    4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    NOP<br>0002001E:=20
    4E4F=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    TRAP=A0=A0=A0=A0=A0 #0x0F<br>00020020:=20
    4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    NOP<br>00020022:=20
    4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    NOP<br>00020024:=20
    4E71=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    NOP</font></span></div>
    <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2=
"></font></span>=A0</div>
    <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2=
">I set the PC to=20
    0x20008 and issued &quot;go&quot; command.</font></span></div>
    <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2=
">Watching PSTCLK=20
    with oscope, it is running be default.=A0 After executing the above cod=
e,=20
    it is low.</font></span></div>
    <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2=
">So I&#39;m seeing it=20
    work OK.</font></span></div>
    <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2=
">Regards,=20
    </font></span></div>
    <div dir=3D"ltr" align=3D"left"><span><font color=3D"#0000ff" size=3D"2=
">David=20
    </font></span></div>
    <div>=A0</div>
    <div align=3D"left"><font size=3D"2">David E Seymour</font><font size=
=3D"2"></font></div>
    <div align=3D"left">
    <p><u><font color=3D"#0000ff" size=3D"2"><a href=3D"http://www.freescal=
e.com/coldfire" target=3D"_blank">http://www.freescale.com/coldfire</a></fo=
nt></u><font size=3D"2"></font></p></div>
    <div>=A0</div><br>
    <div dir=3D"ltr" align=3D"left" lang=3D"en-us">
    <hr>
    <font size=3D"2" face=3D"Tahoma"><b>From:</b> <a href=3D"mailto:coldfir=
[email protected]" target=3D"_blank">[email protected]</a> [=
mailto:<a href=3D"mailto:[email protected]" target=3D"_blank">co=
[email protected]</a>] <b>On Behalf Of </b>nop=20
    head<br><b>Sent:</b> Tuesday, April 07, 2009 9:27 AM<br><b>To:</b> Seym=
our=20
    David-RA2693<br><b>Subject:</b> [ColdFire] wdebug instruction causes XL=
B=20
    slave error acknowledge interrupt on MCF547X.<br></font><br></div>
    <div>
    <div></div>
    <div>
    <div></div>I want to disable the PST signals, when not debugging, to re=
duce=20
    RF emissions. I used the following code successfully in an MCF537X proj=
ect,=20
    but when I use it on a V4 processor I get an interrupt from the XLB=20
    arbiter.<br><br>csr_data=A0=A0=A0=A0=A0=A0=20
    dc.w=A0=A0=A0 0010110010000000b=A0=A0=A0=A0=A0=A0=20
    ;CSR<br>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    dc.w=A0=A0=A0=20
    2,0,0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    ;PCD<br>...<br>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    lea=A0=A0=A0=A0=20
    csr_data,a0<br>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    dc.w=A0=A0=A0 1111101111010000b=A0=A0=A0=A0 ;wdebug.l=20
    a0<br>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20
    dc.w=A0=A0=A0 0000000000000011b<br><br>My assembler doesn&#39;t support=
=20
    wdebug, hence the hand coded dc.w stuff. All the code does is set the P=
CD=20
    bit in the BDM CSR register.<br><br>The fault address is csr_data + 4, =
i..e.=20
    half way through the data. The fault is a slave error acknowledge. The =
data=20
    is correctly aligned on a four byte boundary and is certainly accessibl=
e by=20
    normal instructions.<br><br>Anybody know what is going on here?<br><br>=
TIA,=20
    Chris<br><br></div></div><a href=3D"mailto:[email protected]" targe=
t=3D"_blank">[email protected]</a> Send a post to the list. <a href=3D"=
mailto:[email protected]" target=3D"_blank">coldfire-join@wildrice=
.com</a> Join the list. <a href=3D"mailto:[email protected]" tar=
get=3D"_blank">[email protected]</a> Join the list in digest mod=
e.=20
    <a href=3D"mailto:[email protected]" target=3D"_blank">coldfi=
[email protected]</a> Leave the list.</div><a href=3D"mailto:coldfire@w=
ildrice.com" target=3D"_blank">[email protected]</a>=20
    Send a post to the list. <a href=3D"mailto:[email protected]" =
target=3D"_blank">[email protected]</a> Join the list. <a href=3D"=
mailto:[email protected]" target=3D"_blank">coldfire-digest@wild=
rice.com</a> Join the list in digest mode.=20
    <a href=3D"mailto:[email protected]" target=3D"_blank">coldfi=
[email protected]</a> Leave the=20
  list.</blockquote></div><br><a href=3D"mailto:[email protected]" targ=
et=3D"_blank">[email protected]</a> Send a post to the list. <a href=3D=
"mailto:[email protected]" target=3D"_blank">coldfire-join@wildric=
e.com</a> Join the list. <a href=3D"mailto:[email protected]" ta=
rget=3D"_blank">[email protected]</a> Join the list in digest mo=
de.=20
  <a href=3D"mailto:[email protected]" target=3D"_blank">coldfire=
[email protected]</a> Leave the=20
list.</div></div></div>
  <div>
  <div></div>
  <div><a href=3D"mailto:[email protected]" target=3D"_blank">coldfire@=
wildrice.com</a> Send a post to the list. <a href=3D"mailto:coldfire-join@w=
ildrice.com" target=3D"_blank">[email protected]</a> Join the list=
. <a href=3D"mailto:[email protected]" target=3D"_blank">coldfir=
[email protected]</a> Join the list in digest mode.=20
  <a href=3D"mailto:[email protected]" target=3D"_blank">coldfire=
[email protected]</a> Leave the=20
list.</div></div></blockquote></div><br><a href=3D"mailto:coldfire@wildrice=
.com" target=3D"_blank">[email protected]</a> Send a post to the=20
list. <a href=3D"mailto:[email protected]" target=3D"_blank">coldf=
[email protected]</a> Join the list. <a href=3D"mailto:coldfire-digest@=
wildrice.com" target=3D"_blank">[email protected]</a>=20
Join the list in digest mode. <a href=3D"mailto:[email protected]=
" target=3D"_blank">[email protected]</a> Leave the=20
list.</div></div></div><div><div></div><div class=3D"h5">

<a href=3D"mailto:[email protected]" target=3D"_blank">coldfire@wildric=
e.com</a>	Send a post to the list.
<a href=3D"mailto:[email protected]" target=3D"_blank">coldfire-jo=
[email protected]</a>	Join the list.
<a href=3D"mailto:[email protected]" target=3D"_blank">coldfire-=
[email protected]</a>	Join the list in digest mode.
<a href=3D"mailto:[email protected]" target=3D"_blank">coldfire-l=
[email protected]</a>	Leave the list.</div></div></blockquote></div><br>

[email protected]=09Send a post to the list.
[email protected]=09Join the list.
[email protected]=09Join the list in digest mode.
[email protected]=09Leave the list.
--000e0cd2981a788bd10467094f9d--