Hi,
On 08/20/2014 07:53 PM, Björn Döbel wrote:
In the second case (PC == 0) that won't work. This looks like someone already performed a jmp/call to address 0. Here you will have to figure out where things go wrong using printf()s. (Or GDB in the qemu scenario...)
Does that help?
Yes, a bit. I decided to debug it with jdb. I've attached the jdb output as well as the main.c with the source code. It's a very small and simple example. The function 'create_edf_thread' matches largely with the main function of your utcb-ipc example, it just sets a different scheduling parameter (deadline based).
Concerning the thread list output, those with id's 25 and 26 are the ones executing the functions thread1() respectively thread2() in main.c. I'm not sure what the state 'exc_progr' means for them in this context. 1b is #threadipc itself, 1e seems to be the main thread of it (but I'm not sure of that).
Does your trained eye see the cause of this error?
Best regards, Valentin