I have some code that compiles and when i run it in debug mode, it works fine.
However, when I choose the run option, it doesn't work
Any ideas?
Could you please provide information about the CodeWarrior version you are using and also the board/cpu?
Adrian
CodeWarrior for MCU
Version: 10.5
Build Id:130916
Custom Board with K20DX32, 64 TQFP, 50 MHz
Here is the output of the JLINK console when entering debug mode:
Executing Initialization File: D:\CSSD Documents\Apparata\500RackFirmware\Arm\V0-2 Code Warrier\V0-2/Project_Settings/Debugger/init_kinetis.tcl
radix x
thread break: Stopped, 0x0, 0x0, cpuARMLittle, V0-2.elf (state, tid, pid, cpu, target)
cmdwin::eclipse::config hexprefix 0x
cmdwin::eclipse::config MemIdentifier p
cmdwin::eclipse::config MemWidth 32
cmdwin::eclipse::config MemAccess 32
cmdwin::eclipse::config MemSwap off
cmdwin::reg User\/System Mode Registers/LR = 0xFFFFFFFF
cmdwin::reg Core Debug Registers/DEMCR = 0x1000001
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_FUNCTION0 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_FUNCTION1 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_FUNCTION2 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_FUNCTION3 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP0 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP1 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP2 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP3 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP4 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP5 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_CTRL = 0x40000000
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_CYCCNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_CPICNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_EXCCNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_SLEEPCNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_LSUCNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_FOLDCNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_COMP0 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_COMP1 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_COMP2 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_COMP3 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_MASK0 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_MASK1 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_MASK2 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_MASK3 = 0x0
cmdwin::reg Instrumentation Trace Macrocell Registers/ITM_LAR = 0xc5acce55
cmdwin::reg Instrumentation Trace Macrocell Registers/ITM_TER = 0x0
cmdwin::reg Instrumentation Trace Macrocell Registers/ITM_TPR = 0x0
cmdwin::reg Instrumentation Trace Macrocell Registers/ITM_TCR = 0x0
cmdwin::reg Instrumentation Trace Macrocell Registers/ITM_LAR = 0x1
cmdwin::reg Embedded Trace Funnel Registers/ETF_FCR = 0x300
cmdwin::reg System Control Registers/SCB_VTOR = 0x20000000
Starting 3rd party flash programming...
INF:
Jlink: J-Link: Flash download: Flash programming performed for 1 range (9216 bytes)INF:
Jlink: J-Link: Flash download: Total time needed: 0.514s (Prepare: 0.269s, Compare: 0.004s, Erase: 0.072s, Program: 0.160s, Verify: 0.001s, Restore: 0.006s)
The code now running in debug mode, so I am assuming that at this point the flash is programmed with the code as well.
I can terminate the debug session and the code keeps running.
However as soon as I power cycle, the code does not run.
If I do a run command, I get the follow console output
Executing Initialization File: D:\CSSD Documents\Apparata\500RackFirmware\Arm\V0-2 Code Warrier\V0-2/Project_Settings/Debugger/init_kinetis.tcl
radix x
thread break: Stopped, 0x0, 0x0, cpuARMLittle, V0-2.elf (state, tid, pid, cpu, target)
cmdwin::eclipse::config hexprefix 0x
cmdwin::eclipse::config MemIdentifier p
cmdwin::eclipse::config MemWidth 32
cmdwin::eclipse::config MemAccess 32
cmdwin::eclipse::config MemSwap off
cmdwin::reg User\/System Mode Registers/LR = 0xFFFFFFFF
cmdwin::reg Core Debug Registers/DEMCR = 0x1000001
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_FUNCTION0 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_FUNCTION1 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_FUNCTION2 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_FUNCTION3 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP0 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP1 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP2 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP3 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP4 = 0x0
cmdwin::reg Flash Patch and Breakpoint Unit Registers/FP_COMP5 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_CTRL = 0x40000000
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_CYCCNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_CPICNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_EXCCNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_SLEEPCNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_LSUCNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_FOLDCNT = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_COMP0 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_COMP1 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_COMP2 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_COMP3 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_MASK0 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_MASK1 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_MASK2 = 0x0
cmdwin::reg Data Watchpoint and Trace Unit Registers/DWT_MASK3 = 0x0
cmdwin::reg Instrumentation Trace Macrocell Registers/ITM_LAR = 0xc5acce55
cmdwin::reg Instrumentation Trace Macrocell Registers/ITM_TER = 0x0
cmdwin::reg Instrumentation Trace Macrocell Registers/ITM_TPR = 0x0
cmdwin::reg Instrumentation Trace Macrocell Registers/ITM_TCR = 0x0
cmdwin::reg Instrumentation Trace Macrocell Registers/ITM_LAR = 0x1
cmdwin::reg Embedded Trace Funnel Registers/ETF_FCR = 0x300
cmdwin::reg System Control Registers/SCB_VTOR = 0x20000000
Starting 3rd party flash programming...
INF:
Jlink: J-Link: Flash download: Flash programming was not necessaryINF:
Jlink: J-Link: Flash download: Total time needed: 0.286s (Prepare: 0.270s, Compare: 0.009s, Erase: 0.000s, Program: 0.000s, Verify: 0.000s, Restore: 0.006s)
So this seems to be telling me that the flash is programmed.
So why does it not run?
OK I have built the same code in Processor Expert Driver Suite and IAR Embedded Workbench and everything works fine, runs in both normal and debug mode.
So it seems like a Code Warrior issue......
There is a similar problem with what you have encountered:
https://community.freescale.com/thread/319623
Fiona Kuang
Technical Information & Commercial Support
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------