Hi,
I have 2 EVB's. FRDM-KL46Z and FRDM-22F. Win10/KDS3.2.0. I'm a novice in MCU's, so Processor Expert
is a great tool for me. I'm using KDS3.2.0
First I want to blink the LED using interrupts. Source code is primitive, so it makes no sense to
show it here in details. Two components are used: BitIO and TimerINT.
After succesfull compilation with no errors/warnings I programm the device Run->Flash from file.
On FRDM-KL46Z everything works as expected. Unfortunately on FRDM-22F not.
During flashing the device RGB LEDs turn ON and remain in this state forever. When I disconnect
the board from USB and plug it in again, the RGB LEDs are OFF. It means the MCU is not
programmed or it's not running.
Any suggestions?
RGDS, Stachu
Solved! Go to Solution.
Hi Stachu,
well, you could check the linker map file and verify that things are allocated in FLASH memory.
By default, it should go into FLASH, so probably you are fine.
Are you using any printf() with semihosting or the like? They will halt the target if no debug session is active (https://mcuoneclipse.com/2014/06/06/semihosting-with-kinetis-design-studio/)
Other than that: try to minimize/reduce the application to find out what is blocking it.
And I would do an attach session to the running target too: https://mcuoneclipse.com/2015/03/20/attaching-to-a-running-target-with-segger-j-link-gdb-and-eclipse...
I hope this helps,
Erich
Hi Erich,
Thanks for your prompt reply. How do I know where the application is running? I just set the properties of CPU like clocks, add 2 components i.e. TimerInt and BitIO. TimerInt period is set to 5Hz and BitIO component is assigned to a LRD pin. The code is generated by Processor Expert. Main.c I leave untouched and in Events.c I add just a one line of code in function OnTimerInt - Bit1_NegVal();. Can you please give me an advice how to controll in KDS where the application runs (RAM or Flash)?
Rgds, Stachu
Hi Stachu,
well, you could check the linker map file and verify that things are allocated in FLASH memory.
By default, it should go into FLASH, so probably you are fine.
Are you using any printf() with semihosting or the like? They will halt the target if no debug session is active (https://mcuoneclipse.com/2014/06/06/semihosting-with-kinetis-design-studio/)
Other than that: try to minimize/reduce the application to find out what is blocking it.
And I would do an attach session to the running target too: https://mcuoneclipse.com/2015/03/20/attaching-to-a-running-target-with-segger-j-link-gdb-and-eclipse...
I hope this helps,
Erich
Hi Erich,
Your suggestions and links were very helpful. Thanks a lot!! LED toggling using interrupts is flashed and works fine as expected. Now, I'm "fighting" with ADC, however, most probably it will be a next thread here from me. Once again, TYVM !!
RGDS, Stachu
could it be that you used an application running in RAM instead of FLASH memory?
Other then that, why not simply debug the application instead using Flash from File? Then you should be able to see what the application does.