Hi-
I am using TWR K60D100M tower system with CW10.2 (Special Edition) and MQX3.8.1. I am using OSBDM for debugging purpose. The driver seems to installed correctly with current update. It get detected as COM3 on serial port. I have settings for Built Configurations as Int Flash Debug. Then I continue with Build Project (I tired Build All also) and which runs smoothly without any error. Under the Debug Configuration I have following settings:
Name: hello_twrk60d100m_Int_Flash_Debug_PEOSJTAG
Build Configuration: Int Flash Debug
Use Work Space settings checked
Application: intflash_d.afx
When I hit Debug, I get following error:
Failed to resume target process., There was an error parsing the memory configuration file:
Can't open "MK60D10.mem" file
("twrk60d100m.mem":20)
I am not sure why this error is coming or am I missing any settings? If this is not right forum then could anyone direct me to right place.
Regards,
已解决! 转到解答。
Hello,
can you check if you have that memory file (explanation of different files in the project is here: Dissection of MCU10 Projects | MCU on Eclipse)? Usually inside Project_Settings\Debugger.
The memory file is referenced from the debug/launch configuration > Main Tab > Connection > Target:
Hi Erich-
Yes, this is check in at following path
${MQX_ROOT_DIR}\lib\twrk60d100m.cw10\bsp\dbg\twrk60d100m.mem
Besides the Initialize target is at
${MQX_ROOT_DIR}\lib\twrk60d100m.cw10\bsp\dbg\init_kinetis.tcl
Does debug shift speed matters?
By default it is set to (0): MULTILINK=1.00MHz, FX=250MHz, OSJTAG=0.25MHz
While looking in the folder dbg for twrk60d100m.mem file I came across two more files namely init_kinetis.tcl and mass_ersase_kinetis.tcl. These both file are typed aas Altium Script File as I have already Altium installed. Does this matters?
Well, surprisingly I did one thing while I was talking to PCB designer. I unchecked the .mem file and could could run debug. But then it does not run through the whole code. It just stays on dispatcher file.
With this I am seem to be lost.
Please find below the content of the file:
// Memory Configuration File
//
// Description:
// A memory configuration file contains commands that define the legally accessible
// areas of memory for your specific board. Useful for example when the debugger
// tries to display the content of a "char *" variable, that has not yet been initialized.
// In this case the debugger may try to read from a bogus address, which could cause a
// bus error.
//
// Board:
// Kinetis K60DN512M10
//
// Reference:
// -
// All reserved ranges read back 0xBABA...
reservedchar 0xBA
usederivative "MK60D10"
// Memory Map:
// ----------------------------------------------------------------------
range 0x00000000 0x0007FFFF 4 ReadWrite // 512KB Code Flash
reserved 0x00080000 0x13FFFFFF
range 0x14000000 0x14000FFF 4 ReadWrite // 4KB Programming accelleration RAM
reserved 0x14001000 0x1FFEFFFF
range 0x1FFF0000 0x1FFFFFFF 4 ReadWrite // 64KB On chip SRAM (TCML)
range 0x20000000 0x2000FFFF 4 ReadWrite // 64KB On chip SRAM (TCMU)
reserved 0x20010000 0x21FFFFFF
range 0x22000000 0x221FFFFF 4 ReadWrite // Aliased to TCMU SRAM bitband
reserved 0x22200000 0x3FFFFFFF
reserved 0x60000000 0xDFFFFFFF // Flexbus for external memory
reserved 0xE0100000 0xFFFFFFFF
I think your problem is following line:
usederivative "MK60D10"
Could you check if you have a file MK60D10.mem in this folder (adopt the path to your installation path)
C:\Freescale\CW MCU v10.2\MCU\bin\plugins\support\Registers\ARM\mem
I think somehow your mk60d10.mem file is missing. In any case, I have attached the file I have in this folder.