Hello,
1st this post is a follow-up on the question I asked here:
http://mbed.org/questions/195/Enabling-serial-RX-interrupt-breaks-Ethe/
So what I've done so far to figure out what is wrong:
Upgraded the firmware to include the debug option and installed keil.
Created a test program to see where the whole process fails.
A test program to see why the RTOS doesn't like to play with the serial interrupt.
Connected the debugger and waited for the freeze of the controller.
So far I found that the controller really crashes since after the interrupt the debugger ends here
HardFault_Handler:
0x000020EA E7FE B HardFault_Handler (0x000020EA)
The other thing I noticed is that everything keeps on running happy as long as there is no serial data incoming.
Just before the controller goes to the HardFault_Handler this is the last code ran:
170: __attribute__((used)) void _mutex_acquire (OS_ID *mutex) {
171: /* Acquire a system mutex, lock stdlib resources. */
0x00001C56 B510 PUSH {r4,lr}
0x00001C58 4604 MOV r4,r0
172: if (runtask_id ()) {
173: /* RTX running, acquire a mutex. */
0x00001C5A F7FEFC60 BL.W rt_tsk_self (0x0000051E)
0x00001C5E 2800 CMP r0,#0x00
0x00001C60 D005 BEQ 0x00001C6E
174: mutex_wait (*mutex);
175: }
0x00001C62 F64F71FF MOVW r1,#0xFFFF
0x00001C66 F8DFC038 LDR.W r12,[pc,#56] ; @0x00001CA2
0x00001C6A 6820 LDR r0,[r4,#0x00]
0x00001C6C DF00 SVC 0x00
This is the "mbed-rtos\rtx\RTX_CM_lib.h" file starting from line 181.
The last line that is executed before the hardfault is 0x00001C6C.
Since all this stuff is WAY over my head I'm hoping you can help me with this and we can kill this bug.
Hello,
1st this post is a follow-up on the question I asked here: http://mbed.org/questions/195/Enabling-serial-RX-interrupt-breaks-Ethe/
So what I've done so far to figure out what is wrong: Upgraded the firmware to include the debug option and installed keil. Created a test program to see where the whole process fails.
Import programRTOSTest
A test program to see why the RTOS doesn't like to play with the serial interrupt.
Last commit 06 Jan 2013 by Tim Bots
Connected the debugger and waited for the freeze of the controller.
So far I found that the controller really crashes since after the interrupt the debugger ends here
The other thing I noticed is that everything keeps on running happy as long as there is no serial data incoming.
Just before the controller goes to the HardFault_Handler this is the last code ran:
This is the "mbed-rtos\rtx\RTX_CM_lib.h" file starting from line 181.
The last line that is executed before the hardfault is 0x00001C6C.
Since all this stuff is WAY over my head I'm hoping you can help me with this and we can kill this bug.