USBDM corrupted FXTH87E?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

USBDM corrupted FXTH87E?

Jump to solution
2,080 Views
kumaichi
Contributor III

Hello all, I'm working with the FXTH87E Demo Board I had made via the gerber files.  I also have the PE USB-ML-Universal Rev C.  My goal with my current project was to create my own design based on the FXTH87E Demo Board with USB for power and an onboard programmer/debugger.  I don't like all the wires and programmers strewn about.  I'm also doing the same thing with a CC1101 so I can develop my own TPMS solution. 

Anyway, I had the USBDM_SWD_SER_JS16CWJ V4 made, followed the documentation, getting the bootloader, etc on the board as well as everything setup in CW for MCU v11.1.  I'm currently using the FXTH87_E_FW_Periodic_RF_Tx project to get something coming out of the board.  I had the board working, communicating with the CC1101 when I programmed it with the PE.  However, when I tried to use the USBDM to program the board, I got an error, "Expected BDM command ACK missing".  

I can't get past that error using the USBDM to program/debug the FXTH87E.  The interesting thing is, if I switch back to the PE programmer and try to program/debug the chip, I receive the Device is secure warning.  I didn't secure the chip which makes me think the USBDM has somehow corrupted the FXTH87E now it's unrecoverable :(. 

I've attached several screenshots of what I'm seeing.  Not sure what I'm doing wrong but it appears the FXTH87E is in a weird state, even after reprogramming with the PE programmer.  When trying to debug using the PE programmer, in the main(), it always fails  on, TPMS_LF_ENABLE(CLEAR); sending me into ASM and never sending any packets.

Any thoughts would be greatly appreciated as I'm not sure how to proceed.  If I can supply any further information, please let me know.

Kindest regards.

0 Kudos
Reply
1 Solution
2,004 Views
pgo
Senior Contributor V

Hi,

In hind sight after looking at the details for the chip it is not a good idea to mass erase it before preserving (making a copy of) the pre-programmed area of the chip (0xE000-FFFF).  I think it contains calibration data and utility routines!

This would explain why program would no longer run.

I presume the program you are testing is arranged to work with the existing routine in Flash?

bye

View solution in original post

0 Kudos
Reply
8 Replies
2,005 Views
pgo
Senior Contributor V

Hi,

In hind sight after looking at the details for the chip it is not a good idea to mass erase it before preserving (making a copy of) the pre-programmed area of the chip (0xE000-FFFF).  I think it contains calibration data and utility routines!

This would explain why program would no longer run.

I presume the program you are testing is arranged to work with the existing routine in Flash?

bye

0 Kudos
Reply
1,981 Views
kumaichi
Contributor III

pgo, thank you so much for your patience and guidance, I was able to bring my chips back to life, whew!.  I guess I just didn't know what to search for.  I have since found the section on the FXTH87E on your website and everything is working/debugging using the PE. 

Next up is to try and get the USBDM working within CW so I can debug.  Can't thank you enough!

Kindest regards

How to revive an FXTH87  

Tags (2)
0 Kudos
Reply
1,960 Views
pgo
Senior Contributor V

Hi,

Gee that was so long ago that I had forgotten writing that web page!

I'm glad you found it useful.

bye

0 Kudos
Reply
2,038 Views
pgo
Senior Contributor V

Hi,

It is not possible to permanently secure the FXTH87E.

When secured, it only requires a mass erase operation to unsecure it.  This erases the entire chip but this would not be a problem in your case unless there is calibration data or similar you need to preserve.

I am surprised the PE interface has any problem with a secured device.

Anyway, if you are having problems programming, firstly try mass erase the chip using the stand-alone programmer.

If you already have a working program you can test the programmer by programming the image using the stand-alone programmer.

I can't do any testing with Codewarrior - it is well an truly out of date (it is based on an obsolete version of Eclipse) and I no longer have access to a suitable setup.  I'll see what I can hunt up for testing.

I suggest you try selecting the mass erase operation under erase options when programming with the USBDM interface.

bye

 

 

0 Kudos
Reply
2,024 Views
kumaichi
Contributor III

Thank you pgo for your reply.  I have done as you described:

  1. Used the stand-alone programmer to Mass Erase the chip
  2. Then programmed using a known good program.

I have the same results, the chip does not send any data and if I reconnect the PE and try to debug, it fails on the same line again.

If I use another board, exactly the same as the failing boards and use the PE programmer the same program works correctly.  At this point, I'm just trying to save the two boards that stopped working after trying the USBDM.

Any other suggestions to try?  These are the settings I'm using in the stand-alone programmer.

kumaichi_0-1730381753339.png

Thanks again, kindest regards

0 Kudos
Reply
2,061 Views
kumaichi
Contributor III

Attached a video of what happens when you try to debug the FXTH87E with a PE after board has been flashing with the USBDM.  Kinda stuck at this point would just like to get my FXTH87E demo boards back to at least working with the PE.  Kindest regards.

0 Kudos
Reply
2,069 Views
kumaichi
Contributor III

The USBDM is definitely doing something to the FXTH87E to put it in an unusable state even though the PE can successfully program it, eventually.  When trying to debug using the PE, after programming with the USBDM, the FXTH87E won't go past the call to, TPMS_LF_ENABLE(CLEAR);  in main().  I've now tried it with two of the FXTH87E demo boards and it's made both of them unusable.  Ugh, not sure where to go from here.  Thanks!

0 Kudos
Reply
2,076 Views
kumaichi
Contributor III

Attached photos.

0 Kudos
Reply