I've been a long-time user of various V2 and V3 coldfires, now I am just starting the move to the V1 coldfires.
I have acquired a Windows 7 sensor development kit "badge" board which has an MCF51JM128 on it. So, I stuffed a 6-pin BDM connector onto the board, popped the battery off, and am now powering the board from a BDM interface of my own design (I have my reasons) which has a solid 3.3V supply. It seems to be happy enough being run this way.
My plan is to erase the code on the processor and use the board to experiment a bit. From what I read in the Freescale documents, it appears the correct way to initiate BDM communications with this device is to:
1) Assert RESET and BKGD lines (i.e. bring them low).
2) Wait 5ms
3) Negate RESET
4) Wait another 5ms
5) Negate BKGD
At this point, the processor should be reset and halted. This makes sense to me since the V2 BDM interface uses RESET and BKPT in a nearly identical fashion.
BUT, what I observe is the processor on the badge starts executing immediately when the RESET line in negated, regardless of the state of the BKGD line. To investigate further, I removed my BDM interface from the picture and supply power directly to the badge. If the BKGD line is asserted (wired directly to ground) when the badge it powered on, it enters what a appears to be a halted state. However, once powered on, if I manually assert-the-negate the reset, I get the same result (the processor starts running as soon as the reset is negated, even if BKGD is hard-wired to ground).
Anyone have an idea of what I am doing wrong?