Hello !
I'm using a FlexRay Evaluation Board from ON-Semiconductor (NCV73810V2GEVB).
I want to program the MC9S12XF512MLM microcontroller which is embedded with CodeWarrior V.5.1 and the USB-ML-UNIVERSAL debugger from PEmicro.
The situation is :
1. Leds on the board are ON, blue and yellow leds on the USB-ML-UNIVERSAL are also ON.
2. I click on debug
3. Connection Manager appear
4. I chose "Autodetect communications speed", click on refresh (USB1 : USB Multilink Rev C (PEMA17837) is now detected), and click on "Connect(Reset)"
5. After maybe 500ms leds on board goes OFF and the yellow one on USB-ML-UNIVERSAL too. The following error message appear :
HI-WAVE
The Debugger can not connect to the P&E BDC interface or targetted hardware board.
5. I click on "OK" and a new Connection Manager window appear (leds are still on the same mode than in the section 5. )
6. I click on "Connect(Reset)" and the following error message appear :
HI-WAVE
Communications with the target failed :
The target MCU has no clock or wrong BDM clock speed is used or derivative is secured.
7. I click on "OK" and the following warning message appear:
Warning
Loading a new application will stop the execution of the current one.
(I don't know if it's useful for you to know everything which happends...)
8. I click on "OK" and a new message appear :
LOADER WARNING
The debugger is going to mass erase the non volatile memory(eeprom and flash) of the current device, then program the application
9. I click on "OK" and a window appear "NVW Erasing and Programmation Arming". At 33% the following error message appear :
Non Volatile Memory Control
Error while loading diagnostics algorithm to target system.
The chip may be secured, or the derivative selected may be wrong.
10. I click on "OK" and a new error message appear :
NVM Programmation
This operation has been canceled.
My program is the following: (just in case it could help you)
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
#include "mc9s12xf512.h"
void main(void) {
/* here I just want to blink a led */
DDRP_DDRP7 = 1;
RDRP_RDRP7 = 0;
PTP_PTP7 = 1;
EnableInterrupts;
for(;;) {
_FEED_COP(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
Thank you very much for your help.
Pierre
Solved! Go to Solution.
Hi RadekS,
I finally found where did the problem come from.
Your idea with the jumper was good and this was the way I choose for my investigation. The person (in my compagny) who gave me the board, just forgot the jumper. And in ON-Semiconductor, the datasheet are not very usefull and pretty paltry. It was only looking on a picture of the board that I found that jumper was missing ! And I'm a beginner too so it doesn't help :smileywink:
So if someone have the same problem than me with the board NCV73810V2GEVB, just connect the J40, J30 and J23 (1-2) jumpers and it'll work...
Thank you again,
Pierre
Hi RadekS,
I finally found where did the problem come from.
Your idea with the jumper was good and this was the way I choose for my investigation. The person (in my compagny) who gave me the board, just forgot the jumper. And in ON-Semiconductor, the datasheet are not very usefull and pretty paltry. It was only looking on a picture of the board that I found that jumper was missing ! And I'm a beginner too so it doesn't help :smileywink:
So if someone have the same problem than me with the board NCV73810V2GEVB, just connect the J40, J30 and J23 (1-2) jumpers and it'll work...
Thank you again,
Pierre
Hi Pierre,
I am glad that it works now and thank you for sharing the root cause.
I wish you good luck during development.
Best Regards
Radek
Hi again RadekS,
I can't find the SBC on my board. Can you help me ? You'll find the schematic here : http://www.onsemi.com/pub_link/Collateral/NCV73810V2GEVB_SCHEMATIC.PDF
Thank you.
Pierre
Hi Pierre,
You are right, it was my fault – I didn’t read your question carefully.
The schematic of NCV73810V2GEVB board looks OK from my side – no obvious issue. In the case of production, please connect TEST pin to GND. There is pull-down, but it will be safer with TEST pin connected to GND.
Another tip related to your issue: CW in version 5.1/5.2 with Classic IDE does not have automatic update of USB Multilink Universal firmware. Please download USB Multilink Universal (and FX) Resource CD from PEmicro page:
http://www.pemicro.com/downloads/download_file.cfm?download_id=346
When you install it, you should start PEFirmwareUpdater.exe
the default path: c:\PEMicro\multilink_universal\PEFirmwareUpdater.exe
and update firmware inside your BDM interface to support RS08/S08/S12(X)(Z)/ColdFire+/ColdFire V1 architectures.
I hope it helps you.
Have a great day,
RadekS
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi RadekS,
I'm not using the EVB9S12XF512E board but its sister from ON-Semiconductor NCV73810V2GEVB.
But your idea seems good, and could explain lots of things. I'm going to investigate this lead.
I'll come back toward you after; Thank you.
Pierre
Hi Pierre,
I suppose that you use EVB9S12XF512E board. Correct?
Please disconnect jumper J27 from your board.
This will disconnect reset signal from SBC to MCU. Since watchdog in SBC(MC33742) is not triggered during MCU programming via SPI, the watchdog in SBC will reset MCU just I middle of programming.
I hope it helps you.
Have a great day,
RadekS
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------