Hi everybody, I am developing my own k20 board specifically with mk20dx256vlh7, my problem is that I have already mass erased 2 chips ( first to do before debug and program), but I must have erase (and program) 4 more, I am doing same process as 2 I have already erased but without good results with 4 chips.
By reading posts and documentation I know that maybe it's a registers issue, but cartainly this is a new issue for me.
I am using PE micro multilink universal, SWD/JTAG configurations, IDE Code Warrior.
I have:
Reset_b: 10K pull up
Ez_port: 10K pull up
DIO: 10K pull up
CLK: 10K pull down + capacitor 1000pF pull down
I followed above circuit recommendations from other posts and datasheets from freescale.
I attach some print screens of my process:
I am really concerned about this, cause I can't explain how it's possible that I have succes with 2 chips (both configurations SWD and JTAG) but no with other.
I hope you can help me with this.
Thanks so much.
Hi Mario,
May be it's another problem.
I think you're using CW for MCU v10.6.
We released several patches (updates) for this version which are:
- Update 1.0
- Update 2.0
- Update 3.0
We've a problem with the Update 3.0 and Muliltink interface.
In May the MCU V10.6.4 was released.
This is not a patch but a new release and must be installed in new folder.
Please can you have a look to the link:
Problem with Multilink Rev C - not running after MCU V10.6 Update3 installed & CW for MCF V7.2
Have a great day,
Pascal
Freescale Technical Support
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Pascal, Thanks for your response.
I am using CW for MCU v10.6.4, Multilink universal Rev C, and it works perfect to mass erase and program 2 of my k20 chips. The problem is when I try to do the same with other 4, It appears that "The Debugger can not connect to the P&E Device"
I already have installed the P&E micro update and stills working with my 2 erased chips, but no with other.
Thanks for the supporting!
Mario,
Using the same tools and hardware configuration you can flash the project on 2 devices without problem but not on other devices.
It seems you tried the Flash File to Target and launching a debug session.
In both case you can not load the application on board.
As it's working with other device the Multilink Universal interface is working fine (driver installed correctly).
Is there a difference between the working and not working device ?
Do you use the same board and just change the chip ?
Or is it 2 boards (I mean 1 for each chip) ?
- same devices are used for boards ?
- same mk20dx256vlh7 chip ? Check the mask
Can you try with a generic example created with the wizard (File + NEW) ?
Can you load the sample code on board ?
Can you try to keep the Multilink plugged on your PC but not connected on the board ?
is it same error message ?
Have a great day,
Pascal
Freescale Technical Support
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Pascal,
I have differents boards for each chip(6 in total), first one is a pcb hand made by myself, all others were donde by machine (exactly the same), but unfortunately just 1 works, so I can deduce circuit is ok.
I have tried creating a New+File+ new bareboard project (no code just in blank), but stills failing.
executing flash file to target I obtain the following
Error executing task K20DX256M7.
Error: Connect Failed.
Can't connect. The Debugger can not connect to the P&E device(ARM GDI Protocol Adapter)
Error: Connect Failed.
Trying to load program to the board I obtain:
Error launching prueba_2_FLASH_PnE U-MultiLink
ARM GDI Protocol Adapter : Can't connect. The Debugger can not connect to the P&E device
Keeping Multilink plugged to PC and disconnecting board I get same errors showed above.
What else can I do?
Thank you very much for your supporting.
BR
Hi Mario,
Difficult to say what is the problem.
The first, and most easy answer will be there is a problem with boards.
If same PC, application, interface is working on some board and not on other boards, it will have sens to say the problem is on boards side.
The Flash Programmer and the Debugger are not using the same "flash application".
I don't think there is a problem linked to the Flash features else I would expect 1 working solution.
As the problem appears on both features I think you should search the cause of the problem in another direction.
In both case the same interface configuration is used.
Please can you enable to log generation for P&E interface ?
Now can you try to launch debug session when the working board is plugged and when not working board is plugged.
On my side with the TWR-K20D72M board I see:
+++++++++++++++++++++++++++++++++
GDI: DiExecStop()
GDI: => DI_OK
GDI: DiMeeDisconnect(exec_env_id = 1)
GDI: => DI_OK
GDI: DiGdiClose()
GDI: => DI_OK
=== CodeWarrior GDI protocol log ===
GDI DLL: E:\Freescale\CW MCU v10.6.4\MCU\bin\Plugins\Debugger\protocols\..\..\support\arm\gdi\arm_pne_gdi.dll
CPU: K20DX256M7
GDI: DiGdiOpen()
GDI: => DI_OK
GDI: DiGdiGetFeatures()
GDI: => DI_OK
GDI: Identification: ARM Cortex M4 P&E to GDI wrapper, Version: 1.0.1, MeeAvailable: true, NrCpusAvailable: 1
GDI: DiGdiAddCallBack(cb_type = 0x4000)
GDI: => DI_OK
....
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : CPUTARGETTYPENAME, Value : , R) => DI_ERR_NONFATAL
INF: P&E Interface detected - Flash Version 6.15
INF: Device is K20DX256M7.
INF: Mode is In-Circuit Debug.
GDI: => DI_OK
GDI: DiMeeConnect(exec_env_id = 1)
GDI: => DI_OK
GDI: DiExecResetChild()
INF: CPU reset by debugger.
GDI: => DI_OK
....
+++++++++++++++++++++++++++++++++
Have a great day,
Pascal
Freescale Technical Support
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Pascal,
Yes, I know this is difficult and really weird, I can't find explanation about this.
I have tried what you comment, enabling logging, but I get same error, The debugger cannto connect to the P&E device, The problem doesn't allow even to connect with target. As you, I'm beginning to think that there is a problem with the board.
Do you have any recommendation to add, replace or remove to my circuit?
I have:
All VDD-3.3 V
All GND-GND
Reset_b: 10K pull up
Ez_port: 10K pull up
DIO: 10K pull up
CLK: 10K pull down + capacitor 1000pF pull down
I'm not using crystal.
Thanks for your support.
BR
Mario
Hi Mario,
I'm not Hardware expert so I can not give you recommendation for your board.
Now this morning I've just performed another test with my demo board.
As explained in my previous post I can flash the code on board without problem.
Now I tried to flash (launch debug) it when the board power is down.
I got similar dialog saying:
Extract of Multilink Console Dialog:
+++++++++++++++++++++++++
=== CodeWarrior GDI protocol log ===
GDI DLL: E:\Freescale\CW MCU v10.6.4\MCU\bin\Plugins\Debugger\protocols\..\..\support\arm\gdi\arm_pne_gdi.dll
CPU: K20DX256M7
GDI: DiGdiOpen()
GDI: => DI_OK
GDI: DiGdiGetFeatures()
GDI: => DI_OK
GDI: Identification: ARM Cortex M4 P&E to GDI wrapper, Version: 1.0.1, MeeAvailable: true, NrCpusAvailable: 1
GDI: DiGdiAddCallBack(cb_type = 0x4000)
GDI: => DI_OK
GDI: DiGdiInitIO()
GDI: Mtwks Callback(MTWKS_CB_SETMEEID, 1) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : DO_DEBUG_OUTPUT, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : DEPENDENCY_CHECK, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : UUID, Value : DefaultProject, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : CWDBG, Entry : Processor, Value : K20DX256M7, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : ERASE_PROGRAM_WITHOUT_ASKING, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : AUTO_SYNC, Value : 1, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : DOTRIM, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : CURRENT_ALGORITHM_INDEX, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE1_START, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE1_END, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE1_ACTIVE, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE2_START, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE2_END, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE2_ACTIVE, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE3_START, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE3_END, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE3_ACTIVE, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : K20DX256M7, Entry : PRESERVE_EEPROM_START, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : K20DX256M7, Entry : PRESERVE_EEPROM_END, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : K20DX256M7, Entry : PRESERVE_EEPROM, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : ALTERNATIVE_ALGORITHM_PATH, Value : , R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : ALTERNATIVE_ALGORITHM_CHECKBOX, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PARTITION_PARAM, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : DO_PARTITIONING, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : CUSTOM_TRIM, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : K20DX256M7, Entry : TRIM_VALUE, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : NGS_TRIM_OVERRIDE_REFERENCE_FREQUENCY, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : ENABLE_FLASH_PROGRAMMING_DIALOG, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : SCRIPTFILE, Entry : RUN_RESET_SCRIPT_FILE, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : SCRIPTFILE, Entry : RESET_SCRIPT_FILE, Value : E:\Freescale\CW MCU v10.6.4\MCU\bin\Plugins\support\arm\gdi\P&E\resetscript.mac, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : SCRIPTFILE, Entry : RESET_SCRIPT_FILE_RUN_MODE, Value : 1, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : SPECIFY_NETWORKCARD_ENABLED, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : jtag_numbits_pre_ir, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : jtag_tap_num, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : jtag_use_daisy_chain, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : user_specified_daisy_chain, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : IO_DELAY_CNT, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP12, Entry : show_hstep_assembly_details, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : CWDBG, Entry : Connect, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : eclipse_show_connection_assistant, Value : 1, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : FREQ_FX, Value : 4, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : FREQ_NORMAL, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : FREQ_OSJTAG, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : FREQ_CYCLONE, Value : 3, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : FREQ_TRACELINK, Value : 3, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : FREQ_LIGHTNING, Value : 1, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : FREQ_OPENSDA, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : RESET_DELAY, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : PORT, Value : 21, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : PORT_NAME_STRING, Value : PE5656229, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : interface_selection, Value : 1, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : USE_CYCLONEPRO_RELAYS, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : CyclonePro_poweroffonexit, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : CyclonePro_currentvoltage, Value : 128, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : CyclonePro_PowerDownDelay, Value : 250, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : CyclonePro_PowerUpDelay, Value : 250, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : Multilink_PowerUpDelay, Value : 1000, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : Multilink_PowerDownDelay, Value : 250, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE1_START, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE1_END, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE1_ACTIVE, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE2_START, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE2_END, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE2_ACTIVE, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE3_START, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE3_END, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PRESERVE3_ACTIVE, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : PARTITION_PARAM, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : DO_PARTITIONING, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : DOTRIM, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : CUSTOM_TRIM, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : PEDEBUG, Entry : NGS_TRIM_OVERRIDE_REFERENCE_FREQUENCY, Value : 0, R) => DI_ERR_NONFATAL
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : FORCE_MASS_ERASE, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : USE_SWD, Value : 0, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : TraceLink_MaxBufferSize, Value : 1, R) => DI_OK
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : CPUTARGETTYPENAME, Value : , R) => DI_ERR_NONFATAL
INF: P&E Interface detected - Flash Version 6.15
ERR: Can not enter background mode .
INF: Unable to initialize PEDebug.
GDI: => DI_ERR_NONFATAL
GDI: The Debugger can not connect to the P&E device
GDI: DiGdiClose()
GDI: => DI_OK
+++++++++++++++++++++++++
Is there a problem with power supply ?
Have a great day,
Pascal
Freescale Technical Support
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Pascal,
I have tried to launch a test program to one of my working boards (firts attempt with the board plugged and second one unplugged), and I get same as you on multilink console dialog, obvoiusly when I disconnected the board, I couldn't launch it any program.
Now, trying with one of the non-working boards,
When I try to mass erase, I get following in the multilink console dialog:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
=== CodeWarrior GDI protocol log ===
GDI DLL: C:\Freescale\CW MCU v10.6.4\MCU\bin\Plugins\Debugger\protocols\..\..\support\arm\gdi\arm_pne_gdi.dll
CPU: K20DX256M7
GDI: DiGdiOpen()
GDI: => DI_OK
GDI: DiGdiGetFeatures()
GDI: => DI_OK
GDI: Identification: ARM Cortex M4 P&E to GDI wrapper, Version: 1.0.1, MeeAvailable: true, NrCpusAvailable: 1
GDI: DiGdiAddCallBack(cb_type = 0x4000)
GDI: => DI_OK
GDI: DiGdiInitIO()
GDI: Mtwks Callback(MTWKS_CB_SETMEEID, 1) => DI_OK
.........................
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : CPUTARGETTYPENAME, Value : , R) => DI_ERR_NONFATAL
INF: P&E Interface detected - Flash Version 9.33
INF: Forcing mass erase...
ERR: Can not enter background mode .
INF: Device is secured. Erasing ...
INF: Unable to initialize PEDebug.
GDI: => DI_ERR_NONFATAL
GDI: The Debugger can not connect to the P&E device
GDI: DiGdiClose()
GDI: => DI_OK
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
When I try to launch debug session, I get a message that device is secured:
In the console:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
=== CodeWarrior GDI protocol log ===
GDI DLL: C:\Freescale\CW MCU v10.6.4\MCU\bin\Plugins\Debugger\protocols\..\..\support\arm\gdi\arm_pne_gdi.dll
CPU: K20DX256M7
GDI: DiGdiOpen()
GDI: => DI_OK
GDI: DiGdiGetFeatures()
GDI: => DI_OK
GDI: Identification: ARM Cortex M4 P&E to GDI wrapper, Version: 1.0.1, MeeAvailable: true, NrCpusAvailable: 1
GDI: DiGdiAddCallBack(cb_type = 0x4000)
GDI: => DI_OK
GDI: DiGdiInitIO()
GDI: Mtwks Callback(MTWKS_CB_SETMEEID, 1) => DI_OK
........
GDI: Mtwks Callback(MTWKS_CB_PROJECTACCESS, Section : STARTUP, Entry : CPUTARGETTYPENAME, Value : , R) => DI_ERR_NONFATAL
INF: P&E Interface detected - Flash Version 9.33
INF: Device is Secure.
INF: Device is secured. Erasing ...
ERR: Can not enter background mode .
INF: Device is Secure.
INF: Device is secured. Erasing ...
INF: Device is Secure.
INF: Device is secured. Erasing ...
INF: Unable to initialize PEDebug.
GDI: => DI_ERR_NONFATAL
GDI: The Debugger can not connect to the P&E device
GDI: DiGdiClose()
GDI: => DI_OK
If you notice, it appears that Device is secured, both, when I tried to mass erase and launching a debug session.
I have checked power supply in my non-working boards, everything is correct, I have 3.3 V, and the yellow led on the multilink tool lights.
Thank you Pascal.
BR
Mario
Hi Mario,
Device is secure ...
+++++++++++++++++++++++++
INF: P&E Interface detected - Flash Version 9.33
INF: Device is Secure.
INF: Device is secured. Erasing ...
ERR: Can not enter background mode .
INF: Device is Secure.
INF: Device is secured. Erasing ...
INF: Device is Secure.
INF: Device is secured. Erasing ...
INF: Unable to initialize PEDebug.
GDI: => DI_ERR_NONFATAL
GDI: The Debugger can not connect to the P&E device
GDI: DiGdiClose()
GDI: => DI_OK
+++++++++++++++++++++++++
If I'm right the problem is reproduced with sample example too.
You're using CW for MCU V10.6.4 which is the last version.
There is a dedicated tool for Kinetis devices: KDS V3.0.0
Can I ask you to install this tool (Free of charge) and create an example ?
The Mulitlink interfaces are supported too.
It could be interesting to know if you reproduce the problem with this tool too.
I've found another post which "could be" similar to your problem.
Re: Failed to resume target process. Downloading binary to target...
Have a great day,
Pascal
Freescale Technical Support
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Pascal,
I have installed KDS 3.0.0
I created a new kinetis project.
I tried to flash one of my non working boards, I get the following:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
850,007 2-gdb-version
850,012 ~"GNU gdb (GNU Tools for ARM Embedded Processors) 7.6.0.20140731-cvs\n"
850,012 ~"Copyright (C) 2013 Free Software Foundation, Inc.\n"
850,013 ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is fre\
e software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitt\
ed by law. Type \"show copying\"\nand \"show warranty\" for details.\n"
850,013 ~"This GDB was configured as \"--host=i686-w64-mingw32 --target=arm-none-eabi\".\nFor bug re\
porting instructions, please see:\n"
850,013 ~"<http://www.gnu.org/software/gdb/bugs/>.\n"
850,013 2^done
850,013 (gdb)
850,014 3-environment-cd C:/Users/Mario/workspace.kds/prueba
850,022 3^done
850,022 (gdb)
850,023 4-gdb-set breakpoint pending on
850,032 4^done
850,032 (gdb)
850,032 5-enable-pretty-printing
850,042 5^done
850,042 (gdb)
850,043 6-gdb-set python print-stack none
850,052 6^done
850,052 (gdb)
850,053 7-gdb-set print object on
850,062 7^done
850,062 (gdb)
850,063 8-gdb-set print sevenbit-strings on
850,072 8^done
850,072 (gdb)
850,073 9-gdb-set charset ISO-8859-1
850,082 9^done
850,082 (gdb)
850,083 10set mem inaccessible-by-default off
set tcp auto-retry on
set tcp connect-timeout 30
850,083 11source .gdbinit
850,093 &"set mem inaccessible-by-default off\n"
850,093 =cmd-param-changed,param="mem inaccessible-by-default",value="off"
850,093 10^done
850,093 (gdb)
850,093 &"set tcp auto-retry on\n"
850,094 ^done
850,094 (gdb)
850,094 &"set tcp connect-timeout 30\n"
850,094 ^done
850,094 (gdb)
850,094 &"source .gdbinit\n"
850,095 &".gdbinit: No such file or directory.\n"
850,095 12-gdb-set auto-solib-add on
850,095 11^error,msg=".gdbinit: No such file or directory."
850,095 (gdb)
850,095 12^done
850,096 (gdb)
850,098 13-target-select remote localhost:7224
850,121 13^error,msg="Remote connection closed"
850,122 (gdb)
850,122 &"\n"
850,122 ^done
850,122 (gdb)
850,122 14-gdb-exit
850,132 14^exit
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++
Connection from "127.0.0.1" via 127.0.0.1
PE-ERROR: Target is not connected
Disconnected from "127.0.0.1" via 127.0.0.1
Target Disconnected.
++++++++++++++++++++++++++++++++++++++++++++++
Triyng to launch debug session:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
474,011 2-gdb-version
474,017 ~"GNU gdb (GNU Tools for ARM Embedded Processors) 7.6.0.20140731-cvs\n"
474,017 ~"Copyright (C) 2013 Free Software Foundation, Inc.\n"
474,017 ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is fre\
e software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitt\
ed by law. Type \"show copying\"\nand \"show warranty\" for details.\n"
474,017 ~"This GDB was configured as \"--host=i686-w64-mingw32 --target=arm-none-eabi\".\nFor bug re\
porting instructions, please see:\n"
474,017 ~"<http://www.gnu.org/software/gdb/bugs/>.\n"
474,018 2^done
474,018 (gdb)
474,019 3-environment-cd C:/Users/Mario/workspace.kds/prueba
474,027 3^done
474,027 (gdb)
474,027 4-gdb-set breakpoint pending on
474,037 4^done
474,037 (gdb)
474,037 5-enable-pretty-printing
474,047 5^done
474,047 (gdb)
474,047 6-gdb-set python print-stack none
474,057 6^done
474,057 (gdb)
474,057 7-gdb-set print object on
474,067 7^done
474,067 (gdb)
474,068 8-gdb-set print sevenbit-strings on
474,077 8^done
474,077 (gdb)
474,077 9-gdb-set charset ISO-8859-1
474,087 9^done
474,087 (gdb)
474,090 10set mem inaccessible-by-default off
set tcp auto-retry on
set tcp connect-timeout 30
474,090 11source .gdbinit
474,098 &"set mem inaccessible-by-default off\n"
474,098 =cmd-param-changed,param="mem inaccessible-by-default",value="off"
474,098 10^done
474,098 (gdb)
474,098 &"set tcp auto-retry on\n"
474,098 ^done
474,098 (gdb)
474,098 &"set tcp connect-timeout 30\n"
474,098 ^done
474,098 (gdb)
474,098 &"source .gdbinit\n"
474,098 &".gdbinit: No such file or directory.\n"
474,098 11^error,msg=".gdbinit: No such file or directory."
474,099 (gdb)
474,099 12-gdb-set auto-solib-add on
474,108 12^done
474,108 (gdb)
474,112 13-target-select remote localhost:7224
474,124 13^error,msg="Remote connection closed"
474,124 (gdb)
474,124 &"\n"
474,124 ^done
474,124 (gdb)
474,125 14-gdb-exit
474,134 14^exit
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I can't connect to target.
However, I could mass erase one of my working boards succesfully:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
034,005 2-gdb-version
034,011 ~"GNU gdb (GNU Tools for ARM Embedded Processors) 7.6.0.20140731-cvs\n"
034,012 ~"Copyright (C) 2013 Free Software Foundation, Inc.\n"
034,012 ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is fre\
e software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitt\
ed by law. Type \"show copying\"\nand \"show warranty\" for details.\n"
034,012 ~"This GDB was configured as \"--host=i686-w64-mingw32 --target=arm-none-eabi\".\nFor bug re\
porting instructions, please see:\n"
034,013 ~"<http://www.gnu.org/software/gdb/bugs/>.\n"
............
mo\
nitor trim 0
monitor partition 0
monitor preservepartition 0
034,219 &"monitor semihosting 0,51794\n"
034,221 @"Command Executed successfully: semihosting 0,51794\r\n"
034,221 16^done
034,221 (gdb)
034,221 &"monitor preserve0 0\n"
034,222 17symbol-file C:\\Users\\Mario\\workspace.kds\\prueba\\Debug\\prueba.elf
034,222 18load C:\\Users\\Mario\\workspace.kds\\prueba\\Debug\\prueba.elf
034,223 @"Command Executed successfully: preserve0 0\r\n"
034,223 ^done
034,223 (gdb)
034,223 &"monitor preserve1 0\n"
034,225 @"Command Executed successfully: preserve1 0\r\n"
034,225 ^done
034,225 (gdb)
034,225 &"monitor preserve2 0\n"
034,227 @"Command Executed successfully: preserve2 0\r\n"
034,227 ^done
034,227 (gdb)
034,227 &"monitor trim 0\n"
034,229 @"Command Executed successfully: trim 0\r\n"
034,229 ^done
034,229 (gdb)
034,229 &"monitor partition 0\n"
034,231 @"Command Executed successfully: partition 0\r\n"
034,231 ^done
034,231 (gdb)
034,231 &"monitor preservepartition 0\n"
034,234 @"Command Executed successfully: preservepartition 0\r\n"
034,234 ^done
034,234 (gdb)
034,234 &"symbol-file C:\\\\Users\\\\Mario\\\\workspace.kds\\\\prueba\\\\Debug\\\\prueba.elf\n"
034,235 ~"Reading symbols from C:\\Users\\Mario\\workspace.kds\\prueba\\Debug\\prueba.elf..."
034,236 ~"done.\n"
034,237 17^done
034,237 (gdb)
034,245 &"load C:\\\\Users\\\\Mario\\\\workspace.kds\\\\prueba\\\\Debug\\\\prueba.elf\n"
034,245 ~"Loading section .interrupts, size 0x1bc lma 0x0\n"
034,245 18+download,{section=".interrupts",section-size="444",total-size="477920"}
034,245 ~"Loading section .cfmprotect, size 0x10 lma 0x400\n"
034,245 18+download,{section=".cfmprotect",section-size="16",total-size="477920"}
034,245 ~"Loading section .text, size 0x564 lma 0x410\n"
034,245 18+download,{section=".text",section-size="1380",total-size="477920"}
034,245 ~"Loading section .ARM, size 0x8 lma 0x974\n"
034,245 18+download,{section=".ARM",section-size="8",total-size="477920"}
034,245 ~"Loading section .init_array, size 0x4 lma 0x97c\n"
034,245 18+download,{section=".init_array",section-size="4",total-size="477920"}
034,245 ~"Loading section .fini_array, size 0x4 lma 0x980\n"
034,246 19-gdb-show --thread-group i1 language
034,246 18+download,{section=".fini_array",section-size="4",total-size="477920"}
034,246 ~"Loading section .data, size 0x60 lma 0x984\n"
034,247 18+download,{section=".data",section-size="96",total-size="477920"}
034,247 ~"Loading section .romp, size 0x24 lma 0x9e4\n"
034,247 18+download,{section=".romp",section-size="36",total-size="477920"}
036,355 ~"Start address 0x688, load size 1988\n"
036,358 ~"Transfer rate: 939 bytes/sec, 220 bytes/write.\n"
036,386 18^done
036,387 (gdb)
036,387 19^done,value="auto"
036,388 (gdb)
036,389 20-gdb-set --thread-group i1 language c
036,398 20^done
036,398 (gdb)
036,399 21-interpreter-exec --thread-group i1 console "p/x (char)-1"
036,408 ~"$1 = 0xff\n"
036,408 21^done
036,408 (gdb)
036,409 22-data-evaluate-expression --thread-group i1 "sizeof (void*)"
036,418 22^done,value="4"
036,419 (gdb)
036,419 23-gdb-set --thread-group i1 language auto
036,428 23^done
036,428 (gdb)
036,429 24-interpreter-exec --thread-group i1 console "show endian"
036,438 ~"The target endianness is set automatically (currently little endian)\n"
036,438 24^done
036,439 (gdb)
036,452 25-break-insert --thread-group i1 -t -f C:\\Users\\Mario\\workspace.kds\\prueba\\Sources\\ma\
in.c:main
036,496 25^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x000004e8",func="ma\
in",file="../Sources/main.c",fullname="C:\\Users\\Mario\\workspace.kds\\prueba\\Sources\\main.c",lin\
e="47",thread-groups=["i1"],times="0",original-location="C:\\\\Users\\\\Mario\\\\workspace.kds\\\\pr\
ueba\\\\Sources\\\\main.c:main"}
036,497 (gdb)
036,504 26tbreak main
036,507 &"tbreak main\n"
036,512 ~"Note: breakpoint 1 also set at pc 0x4e8.\n"
036,515 ~"Temporary breakpoint 2 at 0x4e8: file ../Sources/main.c, line 47.\n"
036,515 =breakpoint-created,bkpt={number="2",type="breakpoint",disp="del",enabled="y",addr="0x000004\
e8",func="main",file="../Sources/main.c",fullname="C:\\\\Users\\\\Mario\\\\workspace.kds\\\\prueba\\\
\\Sources\\\\main.c",line="47",thread-groups=["i1"],times="0",original-location="main"}
036,516 26^done
036,516 (gdb)
036,517 27flushreg
continue
036,520 28-list-thread-groups
036,526 &"flushreg\n"
036,526 ~"Register cache flushed.\n"
036,536 27^done
036,536 (gdb)
036,537 &"continue\n"
036,537 ~"Continuing.\n"
036,539 ~"Note: automatically using hardware breakpoints for read-only addresses.\n"
036,540 ^running
036,540 *running,thread-id="all"
036,540 (gdb)
036,575 =breakpoint-modified,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x00000\
4e8",func="main",file="../Sources/main.c",fullname="C:\\\\Users\\\\Mario\\\\workspace.kds\\\\prueba\\
\\\Sources\\\\main.c",line="47",thread-groups=["i1"],times="1",original-location="C:\\\\\\\\Users\\\\
\\\\\Mario\\\\\\\\workspace.kds\\\\\\\\prueba\\\\\\\\Sources\\\\\\\\main.c:main"}
036,575 =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="del",enabled="y",addr="0x00000\
4e8",func="main",file="../Sources/main.c",fullname="C:\\\\Users\\\\Mario\\\\workspace.kds\\\\prueba\\
\\\Sources\\\\main.c",line="47",thread-groups=["i1"],times="1",original-location="main"}
036,576 ~"\nTemporary breakpoint "
036,581 ~"1, main () at ../Sources/main.c:47\n"
036,581 ~"47\t PE_low_level_init();\n"
036,582 *stopped,reason="breakpoint-hit",disp="del",bkptno="1",frame={addr="0x000004e8",func="main",\
args=[],file="../Sources/main.c",fullname="C:\\Users\\Mario\\workspace.kds\\prueba\\Sources\\main.c"\
,line="47"},thread-id="1",stopped-threads="all"
036,582 =breakpoint-deleted,id="1"
036,582 =breakpoint-deleted,id="2"
036,582 (gdb)
036,583 28^done,groups=[{id="i1",type="process",pid="42000"}]
036,585 (gdb)
037,539 29-gdb-exit
037,543 29^exit
037,543 =thread-group-exited,id="i1"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Connection from "127.0.0.1" via 127.0.0.1
Copyright 2012 P&E Microcomputer Systems,Inc.
Command Line :C:\Freescale\KDS_3.0.0\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_2.0.8.201504092111\win32\pegdbserver_console -device=Freescale_K2x_K20DX256M7 -startserver -singlesession -serverport=7224 -interface=USBMULTILINK -speed=5000 -port=USB1 -
CMD>RE
Initializing.
Target has been RESET and is active.
CMD>CM C:\Freescale\KDS_3.0.0\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_2.0.8.201504092111\win32\gdi\P&E\supportFiles_ARM\Freescale\K2x\freescale_k20dx256m7_pflash_dflash_eeprom.arp
Initializing.
Initialized.
;version 1.05, 06/02/2014, Copyright 2014 P&E Microcomputer Systems, Inc. All rights reserved. www.pemicro.com [mk_256k_dx_pflash_dflash_eeprom_p1]
;device freescale, k20dx256m7, pflash_dflash_eeprom
;begin_cs device=$00000000, length=$14000800, ram=$20000000
Loading programming algorithm ...
Done.
CMD>EM
Erasing.
Module has been erased.
Initializing.
Initialized.
;version 1.05, 06/02/2014, Copyright 2014 P&E Microcomputer Systems, Inc. All rights reserved. www.pemicro.com [mk_256k_dx_pflash_dflash_eeprom_p1]
;device freescale, k20dx256m7, pflash_dflash_eeprom
;begin_cs device=$00000000, length=$14000800, ram=$20000000
Loading programming algorithm ...
Done.
CMD>PM
Programming.
Processing Object File Data ...
Programmed.
CMD>VC
Verifying object file CRC-16 to device ranges ...
block 00000000-000001BB ...
Ok.
block 00000400-00000A07 ...
Ok.
Checksum Verification Successful. (Cumulative CRC-16=$0778)
CMD>RE
Initializing.
Target has been RESET and is active.
Preset breakpoint encountered.
Disconnected from "127.0.0.1" via 127.0.0.1
Target Disconnected.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Also, I can launch example program I have created.
I have a question, If devices are secured? All of them are secured at the beginning?
If no, I think I have good luck with 2 of my chips but no the same with others 4.
I re-checked (again) my connections, and everything is ok, the circuit is in the same conditions that my working boards.
Sorry for too long text,
Thank you Pascal.
Mario
Mario,
I contacted P&E regarding the difference with the flash version we used.
Don't think if this will help but:
+++++++++++++++++++++++++
Have them update to the latest firmware via our firmware update tool and let me know how it goes.
They may also want to try reducing the BDM shift frequency as this might be an communication issue since the older Multilinks are a lot slower.
+++++++++++++++++++++++++
Have a great day,
Pascal
Freescale Technical Support
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Pascal, Vicente:
Aftrer update the firmware I tried flash file to target , problem stills appear with non-working boards, even I try with a new board, new chip (same circuit), but no good results. Also I change the BDM shift frequency, I use (9) and (26).
Working boards go ahead without problems after updating and even change BDM shift frequency.
I think after doing all these tests, as Vicente comments, I will swap a functional chip to one non-working board and try to flash and launch program.
I was reading that first you have to do before launch a program is to mass erase the MCU.
mass erase means to unsecure the MCU?
It's possible that 2 of my chips came already unsecured from factory?
I will do the swap and let you know what happens.
Thank you for your support.
Mario.
Hi Pascal,
Ok, I will update the firmaware and check it.
Btw I have same details as you
C:\Freescale\CW MCU v10.6.4\MCU\bin\plugins\support\ARM\gdi
I'll inform you in a while how it goes with the updated firmware.
Thank you.
BR
Mario
Hi Mario
I believe that the problem is hardware, if you have two board working, would be possible that you perform a swap with one of the failed board?
with this we can focus if this is a hardware problem on your board or if there is something with the Multilink connection.
Maybe you have some open pin on the board...
Regards
Vicente Gomez
Hi Vicente,
I have changed a chip from one of my nonworking boards to one of my working board, I couldn't mass erase or debug it,
This week, I am doing a new board, I will put a new k20 chip, and I will try to debug it.
Do you think there is a problem with the MCU?
Thanks.
Mario
Hi Mario
You put the failed MCU on a "golden board", this is correct?
Please check that you have all pins properly solder, and check that all the voltages are correct, check if you have any signal on the reset pin?
if the device has not any program on it you should be that the reset pin is oscillating.
Also check if you do not have any low impedance on the device, this in order to check if really the MCU is damage.
Please let me know the results
Regards
Vicente Gomez
Hi Vicente,
Yes you are right, I am using a board that works prevoiusly with a chip removed from other board that didn't work.
I have re-checked and cleaning my board, MCU is ok, VDD's GND's, JTAG/SWD Pins.
I cannot connect to the device.
On the reset pin I have 0V all the time, even when I try to mass erase or debug the MCU.
I have:
Reset_b: 10K pull up
Ez_port: 10K pull up
DIO: 10K pull up
CLK: 10K pull down
What else can I try?
Thank you.
Mario
Hi Mario
Can you please test with out the pull up on Ez_port: 10K pull up and without the pulldown on CLK: 10K pull down
Please let me know the result
Regards
Vicente Gomez
Hi Vicente, I'm sorry for the late response, I was not in the office to do more testing.
I removed the pull up on Ez_port and pulldown on CLK, I still can't connect to the target.
I swapped the microcontroller (to check if my boards were the problem) from a non-working board to a working board, but without success.
Finally I made two new boards, one of them works perfectly but the other didn't, I am using same circuit for both.
I think there is a random problem with the chips, some of them are secured and I can't mass erase them or debug them.
Since we're in a hurry and need to finish the project as soon as possible we changed the microcontrollers but if you can find something about this problem I would like you to let me know, because in the near future I'd like to use this microcontroller for other projects.
Regards.
Mario
Mario,
To resume the situation ...
With KDS v3.0.0 and With MCU V10.6.4, you've the same problem.
The same 2 boards are working on both dev tools but 4 same boards are not working on both dev tools.
Is there a problem with the chip on 4 boards not working ?
Back on MCU v10.6.4.
Extract of the info you sent:
INF: P&E Interface detected - Flash Version 9.33
On my side I see:
INF: P&E Interface detected - Flash Version 6.15
INF: Device is K20DX256M7.
The \CW MCU v10.6.4\MCU\bin\plugins\support\ARM\gdi\arm_pne_gdi.dll is used.
I will contact P&E to have more info but I don't think the problem is linked to that.
I will contact Hardware colleagues too to get their comments about it.
Keep you informed.
Have a great day,
Pascal
Freescale Technical Support
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------