2008-10-05 02:11 AM
Problems with IRQ in debug
2011-05-17 03:46 AM
Hi, All!
I work with STM32F101RBT6 and Rowley Crossworks for ARM. I use FTDI2232C based JTAG hardware. Crossworks sees it as xVerve Signalizer. I'm developing my first program for STM32 and have just met a problem. The program uses timer TIM4 to generate update IRQ and switch LED on and off. Everything is OK after power up. Crossworks downloads and verifies the programs successfully and runs to main. Then I continue the program and it works as I wanted to. But if I stop debug and start it again the problem appears. First time Crosssworks fails to start debug with message ''loader is not a LIBMEM RPC loader''. Next time program downloading and verification succeeds and even execution starts. BUT from this point MCU never executes any IRQ handler. Corresponding bit in Irq_0_to_31_Set_Pending is set and I can clear it neither by software nor manually in Register view window of debugger (via register Irq_0_to_31_Clear_Pending). ISRPENDING bit in Interrupt Control State register is set as well. Register Bus Fault Status has bit STKERR set and Hard Fault Status - bit FORCEDObviously the problem arises when debugger halts core during IRQ handler execution. To test it I extended the timer period to almost 2 minutes. Debug started without any problem again. Can anybody give me some idea how to fix this problem?2011-05-17 03:46 AM
Hi mamikhajjlov,
I believe it is an issue with the debugger, to be checked if is the same for all others IRQs. The best way to solve it quickly is to contact Rowley Crossworks, they will promptly reply you. Cheers, STOne-32.