2
\$\begingroup\$

I'm trying to program a Freescale MC12311 transceiver IC which has a 9S08QE32 MCU embedded in it:

MC12311: Sub-1 GHz RF and 8-bit HCS08 MCU with 32KB Flash, 2KB RAM

I'm using a Background Debug Module (BDM) from P&E Micro (USB Multilink Universal); and also the Codewarrior 10.4 software as IDE.

However, the following error occurs each time I try to program/debug/flash/erase the target IC:

Error message

Power Cycle Dialog: The target MCU is not responding. Please turn MCU power off (Under 0.1v), turn MCU power on, and then click OK. This will attempt to enter debug mode through a power on reset sequence (BKGD is currently driven low).

I tried to power off/on the MCU, but there's no success, and it fails to connect to the target board.

I have checked the pins and connections, and everything seems OK. Also, I have checked the BKGD and RESET pins of the 2x3 BDM header, and some activities (high-to-low and low-to-high) are monitored on oscilloscope.

In other hand, I have tried different versions of Codewarrior (10.5, 10.4, 6.3, etc.) and also on different platforms (Win7-64bit, WinXP-32bit, etc.), but the result is always the same: it fails to connect to the target board.

What should I do now? What's the problem?

EDIT

(The following is a list of additional information regarding the troubleshooting steps I've taken to solve this problem, which were not successful.)

I'm using a P&E USB Multilink Universal, and CodeWarrior 10.4 IDE, on Win7 64-bit platform.

But unfortunately, turning off/on the power doesn't help, and it fails to connect to the target. The following is the schematic of my circuit, in which the red circles depict the BDM header and connections:

schematic

(Click on the schematic image to enlarge.)

The following is a list of the related tries:

  1. I've added 10k pull-up resistors to both BKGD and RESET lines; but no success! The same error occurs and it fails to connect to the target.

  2. I try to turn off/on using either the main power supply, power jumpers, reset switch, etc.; but it doesn't matter; again no success!

  3. I checked the pins on the pcb, and everything seems OK. I mean, it seems that it has been soldered without any significant problems.

  4. I monitored both BKGD and RESET pins: some activities (going from low to high, and high to low) are monitored after I press the "erase" button on CodeWarrior IDE.

  5. I tried to monitor the external 32 kHz and 32 MHz crystal resonators, using a 10x probe, with both an analog oscillator and a digital counter. However, no activity is observed, nothing at all! It seems that either the crystals or the respective internal circuits are dead!

  6. The datasheet mentions that "the MCU has an internal crystal oscillator, which is enabled in every power-on-reset, without need for external components". What I understand from this part, is that the program/debug/erase step should be done without need for external crystals. This could mean that even if both of the external crystals are dead, I should theoretically be able to erase the MCU with the help of the internal oscillator. But I don't understand why it fails!

  7. I tried to program/debug/erase this IC using another version of CodeWarrior, such as 6.3, and also on another operating system, such as Win XP, or Win7 32-bit. But again no success!! The same error occurs, and it fails to connect to the target.

  8. There's another circuit board which uses the same MC12311 IC with almost the same components, configurations, and schematic. I tried all the mentioned steps on that board. But unfortunately, no success again! The same errors and the same failures!

  9. I checked the power: I provide 5-6 volt external power supply; it passes through a 3v3 regulator; then it passes through a schottky diode, and the final regulated 3.1 volt powers the IC. It is mentioned in the datasheet that the accepted input voltage range is approximately 2.5 ~ 3.7. So I don't think this "3.1 volt" would cause any problems.

Could this be related to the "clock" sources of the MCU?

I really don't know what to do next to solve this challenging problem! What should I do? I would be really grateful if you give any helpful comments or replies.

\$\endgroup\$
14
  • 1
    \$\begingroup\$ Did you try adding 10k pull up resistors to BKGD and RESET pins? \$\endgroup\$ Commented Mar 20, 2014 at 9:09
  • 1
    \$\begingroup\$ This was my question on Freescale Community Forum. Maybe clock settings are changed and corrupted so the MCU cannot respond? (The last sentence is probably gibberish, I know nothing about Freescale MCUs). \$\endgroup\$ Commented Mar 20, 2014 at 9:41
  • 1
    \$\begingroup\$ I will definitely post the answer here. I just don't know what is causing the problem!! \$\endgroup\$
    – Omid1989
    Commented Mar 20, 2014 at 19:50
  • 1
    \$\begingroup\$ Almost instant, maybe 500 msec. \$\endgroup\$ Commented Mar 22, 2014 at 17:04
  • 1
    \$\begingroup\$ Yes, it worked all the time. Basically, I cannot make the switch OFF and then ON in a short time, I am a human being, I'm a natural low pass filter.. \$\endgroup\$ Commented Mar 24, 2014 at 7:10

3 Answers 3

1
\$\begingroup\$

Please check the pin package of target which you have configured in 10.5 code warrior IDE. I also had same error and able solved the problem.

\$\endgroup\$
4
  • \$\begingroup\$ Thanks Pradeep for your answer. How should I check the pin package of target in CW 10.5? Would you please tell any directory roots, such as tool/options/... for doing so? \$\endgroup\$
    – Omid1989
    Commented Mar 22, 2014 at 19:44
  • \$\begingroup\$ Does anybody know how to check the pin package of the target board in Codewarrior 10.5 IDE? \$\endgroup\$
    – Omid1989
    Commented Mar 25, 2014 at 18:49
  • \$\begingroup\$ Does anyone else know how to solve this problem!? \$\endgroup\$
    – Omid1989
    Commented Apr 2, 2014 at 5:07
  • \$\begingroup\$ Dear @Pradeep Kumar , would you please provide more information? \$\endgroup\$
    – Omid1989
    Commented Apr 6, 2014 at 17:00
1
\$\begingroup\$

Finally, I found my own answer:

Unfortunately, the IC had not been soldered properly !!!

There was no connection between the programmer and the IC. We soldered it again several times, and finally it worked !!!!

For others: Just make sure the IC has been mounted properly, before you go to other steps ;)

\$\endgroup\$
0
\$\begingroup\$

I too have same problem. a friend of mine just switch off once and on the power supply of 5 volt to the microcontroller and pressed ok and it works properly

\$\endgroup\$
0

Not the answer you're looking for? Browse other questions tagged or ask your own question.