9s12xDT512 will not program; P&E mulitlink USB V2.0

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

9s12xDT512 will not program; P&E mulitlink USB V2.0

11,531 Views
blewis
Contributor I
We are using version V5.7 of CW which is supposted to support the 9s12x parts. We have a board that uses the 9s12DG128B with a Pierce oscillator which works perfectly.

We mounted a 9s12xDT512 on the board and it talks to the BDM but will not program the 9s12xDT512 part. Support suggested the part was bad so we changed it but the new part behaves exactly the same. We can write memory using NoICE, but CW will not write the memory. CW thinks the part is secured, but running the UnSecure program from P&E indicates the part is not secured.

I am beginning to think that this may be a P&E mulilink pod problem. I noted that some one else thought the pod might be a problem. NoICE does not support the programing algorithms yet for the 9s12x part but will in the future so we can't even check if the problem is CW. We only have the P&E prob.

Has anyone experience this sort of problem, and are there any work arounds?

Thanks in advance.

Bob Lewis
Labels (1)
Tags (1)
0 Kudos
24 Replies

2,097 Views
gravity
Contributor I
I am having the same problem with a 9S12XDP512 mask set OL15Y (144 pin) that is
 
not programming.
"Flash bad or secured" message.
I have tried 3 boards and no luck.
 
 
I created a project from scratch so all the files should be correct.
 
I have another board with the 112 pin version and it runs O.K
 
 
0 Kudos

2,097 Views
blewis
Contributor I
I solved the issue with the dp512 so I thought I would update the thread incase others have the same problem.

The problem was not hardware at all, it was how the CW project had been built. The project originally was built for a 9s12dg128B part. I added the 9s12xdp512 part using a process expert bean (PE) for the cpu regenerated, compiled, linked and try to load. This gave the part unsecured message. I had checked the prm files and they seemed ok. After endless hours of searching through the hardware cct for the oscillator, building boards with just the dg128b part, I found that the problem was how the project had been built using CW and PE.

I found this out by building an empty project that had just the ANSI startup code for the dp512 and it loaded and flashed ok. The correct way is to clone the project and add a target, then add the new cpu BEAN with PE.

A lot of time wasted; I think the problem is somewhere in the linker setup files but I can't say for sure. If you don't use CW or PE you may never see this issue...

The unsecured message didn't help the trouble shooting; that was a debugger red herring.
0 Kudos

2,097 Views
imajeff
Contributor III
That's why I don't like CW. Even with the adjacent CodeWarrior discussion board, this board is filled with both questions why one cannot get CW to work, or problems that were caused only by CW. It's all because CW is so complicated in attempt to make development simple. I never did believe in that concept, because it is a known rule that the probability of breakdown is directly proportional to complexity of system. Perhaps exponentially.

Message Edited by imajeff on 2006-06-23 07:43 AM

0 Kudos

2,097 Views
laser
Contributor I
changed xtal to 4mhz and everything is fine!!!!! tool or mask problem with 512 devices running with 16mhz pierce
0 Kudos

2,097 Views
blewis
Contributor I
I don't think my post went through so here it is again.

I think you are right about this being related to the tools. I can try tying xclks high again but I don't think it will all the Pierce oscillator to run; I think I tried that and the BDM would not connect.

I don't have a 4mhz crystal or all the components for the oscillator cct at 4mhz. I am not even sure of the values; did you just solder a 4mhz crystal inplace of the 16?

We are sending the dt512 board to someone in Freescale support at the end of the week with another project. Suppoert is supposed to look at this and get back to us. I will let you know what happens but I think it will take a couple of weeks.

Best Regards

Bob
0 Kudos

2,097 Views
laser
Contributor I
Hi,
I just replaced the 16Mhz device with the 4Mhz device i desolderd fro my demo board. I did not change any other components and every thing nows works as it should, but IT will not work at 16Mhz

Cheers

Adam
0 Kudos

2,097 Views
mke_et
Contributor IV
Have you tried telling it to do it's resync and recalculate the io_delay_cnt? I seem to recall you set a check to recalculte connection speed, but I'm not infront of the system right now.
0 Kudos

2,097 Views
rhinoceroshead
Contributor I

Is the BDM not connecting at all with 16 MHz or is it connecting, but not writing to Flash?

I believe they usually recommend 10-30pF capacitors on each end of the crystal to ground.  You probably can use the same ones that are already there and just replace the crystal.

Message Edited by rhinoceroshead on 06-01-2006 02:22 PM

0 Kudos

2,097 Views
blewis
Contributor I
The BDM will connect fine, and I can write and read RAM if I use NoICE. I can not read or write RAM with CW, but if I write the RAM with NoICE then start CW, I can see that the RAM is written correctly. CW will have nothing to do with the device because it thinks the part is secured and as I said previously I think, we have run all the unsecure programs and it is not secured.

No we can not flash the device. That is where the BDM fails. I don't have a 4mhz crystal, I might have an 8mhz I could try. I will look and see.

The oscillator caps are 22pf and 1nf to ground across the xtal. That configuration works on three other boards that we have so I think the values are ok. We have a 1M resistor as per the doc set.

Regards

Bob
0 Kudos

2,097 Views
bigmac
Specialist III

Hello Bob,


blewis wrote:

The oscillator caps are 22pf and 1nf to ground across the xtal. That configuration works on three other boards that we have so I think the values are ok. We have a 1M resistor as per the doc set.


Are you actually saying that there is a 1nF capacitor between one end of the crystal and ground?  I would suggest 22pF for both capacitors, assuming a Pierce oscillator configuration.

Regards,
Mac


 

0 Kudos

2,097 Views
blewis
Contributor I
"I would suggest 22pF for both capacitors, assuming a Pierce oscillator configuration."

You are right, this is definitely an error in the oscillator cct. I think a wrong value is on the schematic. The Pierce configuration has to have symetrical caps, it is the Colpits that has the unbalanced leg.

Now to order the parts... I just looked and they they are... gone. I will post when I get these on board to update the thread.

Thank you very much; I would have continued to miss this. I never thought to verify the schematic design.

Best Regards

Bob Lewis
0 Kudos

2,097 Views
imajeff
Contributor III
I noticed an error in a device guide (don't know if it's fixed) which gave on two separate pages a description of Pierce and Colpits. I was confused for a while because they showed the exact same circuit diagram on each.
0 Kudos

2,097 Views
Sten
Contributor IV
I haven't had this problem because I have a 4 MHz oscillator on my target board, but just a perhaps stupid question; have you checked that the CLKDIV is correct in the CW debugger command file (..\cmd\P&E_Multilink_CyclonePro_Erase_unsecure_hcs12.cmd)?
0 Kudos

2,097 Views
burra
Contributor II
Hi,

I have experience the same problems. We have a softec evo card (SK-S12XDP512-A) and we can program that one with no problem with both 4 and 16 Mhz crystal / clock. The softec card has silicon mask 0L15Y cpu. We also have a KOPF s12x card that one have the same cpu but with the silicon mask 0L14V and only a 16 Mhz crystal. We are using the P&E USB-ML-12 V2. to program the KOPF evo card. The project is made with Codewarrior for HC12 v.4.1

The project is working ok on the softec card but when we connenct the KOPF card we can program it but when we try to run the code we get illegal brake point even when we don't have any brake points.

The softec card have the possibility to dissconect the onbord USB->BDM an connect a external. So I have tried to connect the P&E to the softec card. That works without problem in 16 Mhz.

I have also tried to run a singel core project using codewarrior and P&E in 16 MHz on the KOPF card. That works ok. But if I make a dual core project with codewarrior, P&E, 16 Mhz and KOPF card. It don't work.

I have also tried to use the onboard USB->BDM from the softec card to debug and program the KOPF card and that gives the same errors as with the P&E tool.

Can it be that it is some differance between the 0L15Y and 0L14V. That or that Codewarrior writes code that is not compatible with the older chip.

Anybody that can verify my thoughts ?

//Bertil Bäck
0 Kudos

2,097 Views
Steve
NXP Employee
NXP Employee
Burra, there are a few differences between the L15Y and the L40V mask sets so it is likely that is where your problem lies. Most importantly the XGATE configuration and initialisation is different and code for the L15Y probably won't work for L40V. Other differences include: XGATE access to flash is only on L15Y; XGATE instruction set changes; RAM is larger on L15Y; unused pins on EBI can be used as I/O on L15Y; the API uses smaller step sizes; chip selects are different.
If I remember correctly the CW 4.1 release is only for maskset L15Y and later and 4.0 is required for L40V.

Message Edited by Steve on 06-02-2006 09:12 AM

0 Kudos

2,097 Views
burra
Contributor II
Hi,
found the same as you wrote in the Codewarrior help aswell (RTFM). The big problem now is where I can get hold of the Codewarrior HC12 v.4.0 Can't find it anywere.

Would be grateful for help.

//Bertil Bäck
0 Kudos

2,097 Views
CrasyCat
Specialist III

Hello

Can you send me a private message with your email address and I will place a self extractable exe file with V4.0 on FTP for you.

CrasyCat

0 Kudos

2,097 Views
laser
Contributor I

Hi,

I have exactly the same problem using a 9S12DP512 part on three prototype boards, 16Mhz Pierce and mulitilink v2.0. I can program the device, debug the device if XCLCKS is high but i can not attach and debug with XCLKS low i.e. using the 16Mhz clk the P&E cannot detect the speed. The device works fine with XCLKS low and boots and runs code as it should with out the BDM attached i.e. the 16 Mhz clk is ok and the PLL locks as code would halt waiting for lock. Not sure if its a P&E thing or a 512 device thing as i have a 256 demo board which works fine. Will try today to run my board with 4Mhz clk (as per the demo) and se what happens, also i have orderd samples of the 256 devices to put on my boards. Let me know if you find anything out, i will do like wise.

Cheers

Adam

0 Kudos

2,097 Views
rhinoceroshead
Contributor I

I just re-read your original post and I think I misunderstood the problem.  Are you saying that you had a demo board for an S12 chip and you removed that chip and replaced it with an S12X chip?  I'm assuming that you have confirmed already that it is a pin compatible replacement part.  Then you say that it does NOT work if you do use CW and the P&E USB programmer that is built onto the S12 demo board?  However, it works when you use the 6 pin BDM port on the demo board and program it with a separate BDM programmer and non-CW software?  But you say that the built in P&E programmer worked fine with the chip that was there previously?

I would make sure that your application is not taking too much power from the USB host.  Maybe you could try going through a powered USB hub instead of taking power from your PC's motherboard.

I can confirm with 100% certainty that CW5.7 and the P&E USB programmer is capable of programming the S12X chips.

Message Edited by rhinoceroshead on 05-31-2006 11:46 AM

0 Kudos

2,097 Views
blewis
Contributor I
"Then you say that it does NOT work if you do use CW and the P&E USB programmer that is built onto the S12 demo board?"

No, this is a board we have designed and built; it runs from a 9v powersupply and is regulated down to 5.0v with an internal DC-DC convertor.

I guess I could build another board with a dg128 part, test it and then remove the dg128 and put on a DT512. That would verify the board, just incase we had a problem with the board... I'll try that next week and post. I hope it was a single faulty board, because we have to change the board over to 3.3v operation and I can't do that before we get the DT512 part to work at 5v on the same board.

Thanks to everyone for the suggestions.

Bob
0 Kudos