Matt Osborne

How do I disable the "Always Erase and Program flash without asking" option in the Hardware Connection Advanced Programming Options?

Discussion created by Matt Osborne on Dec 16, 2014
Latest reply on Apr 10, 2015 by Matt Osborne

Hi there,


we just updated from 10.2 to 10.6 for a MCF5271 project and have noticed the following: when we download to RAM for debugging it always attempts to write to flash.  To update I created a new workspace and imported the 10.2 project into 10.6 without any errors.


I found this setting enabled in the Hardware Connection Advanced Programming Options: "Always Erase and Program flash without asking.", and I can't disable it:


I'm guessing this is the issue; I tried modifying the .launch and ReferencedRSESystems files but the values are overwritten by the IDE.  Any ideas?




OK, I've verified that we are loading our app into RAM, it's just hard to see with the IDE trying to write to Flash every time we want to debug from RAM. 

We can reliably debug from RAM using (a single) hardware breakpoint. 

However, when we try and work around this issue (a single hardware breakpoint) by using software breakpoints we are able to reach the software breakpoint once, but the next time we reach it we end up in the MQX (3.8) _int_unexpected_isr.  When I inspect the RAM memory where the software breakpoint is at program start-up compared to after the first breakpoint I don't see a difference and it matches the compiled code.

The exception is "Illegal instruction". For example, when I put software breakpoints at 145, 146, 147 in the following (from listing):

;  145:

0x00025E72  0x242F0084               move.l   132(a7),d2

0x00025E76  0x2202                   move.l   d2,d1

0x00025E78  0x92AF0020               sub.l    32(a7),d1

;  146:

0x00025E7C  0x2F420020               move.l   d2,32(a7)

;  147:

;  148:

;  149:

0x00025E80  0x0C8400000001           cmpi.l   #1,d4                 ; '....'

0x00025E86  0x6312                   bls.s    *+20                  ; 0x00025e9a

The exception occurs at the second breakpoint with the PC being 0x25E7A, and there is no sign of an illegal instruction (memory matches the listing) but it seems like there's an alignment issue?


So, what's up with CW 10.6 debugging MQX 3.8 & software breakpoints? 

Are the debug settings getting messed up because it's trying to write to Flash and then thinks we're running from Flash?

There were no changes to our projects/source files, we only updated the IDE from 10.2 to 10.6 and everything worked in 10.2...


I just noticed in the release notes that 10.6 doesn't support MQX 3.8!  Does this explain the software breakpoint issue?

Please provide more information regarding this limitation, and what is required to support MQX 3.8. 

Can I work around this issue by pointing the 10.6 IDE at the 10.2 assembler/compiler/linker?