Invalid Function pointer error ( Solved )
kiranc at tataelxsi.co.in
Tue Aug 21 07:03:05 UTC 2001
What does this macro do?
I had two arrays declared with macro.
When I have only one such array declared everything works fine...
I went through my code once again ..I found what causes the problem
..but could not solve it.
I allocate memory for a data structure ,for this I use get buffer from
I have successfully created the partition...and I get RTEMS_SUCCESSFUL
when I get a buffer from that partition.
I later changed this to a simple malloc.
And it works with a malloc.
I also had created parition of various sizes.But when did not create
them..that is I had only one partition for my timer data structure,It
While creating partitions I specify the start address as the address of
a Global Array
rtems_unsigned8 Partition CPU_STRUCTURE_ALIGNMENT;
I have configured my system to these values
#define CONFIGURE_EXECUTIVE_RAM_SIZE (1024*512)
#define CONFIGURE_MAXIMUM_SEMAPHORES 20
#define CONFIGURE_MAXIMUM_TASKS 20
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 10
#define CONFIGURE_MAXIMUM_TIMERS 10
#define CONFIGURE_MICROSECONDS_PER_TICK 10486
#define CONFIGURE_INIT_TASK_STACK_SIZE (1024*1024)
I tried increasing the size of the global Partition array ..but no change.
What is the difference between using malloc and a partition?(one is dynamic
and the other is statically allocated)
----- Original Message -----
From: Kiran C <kiranc at tataelxsi.co.in>
To: RTEMS <rtems-users at OARcorp.com>
Sent: Monday, August 20, 2001 5:00 PM
Subject: Invalid Function pointer error
> I have a strange problem using RTEMS.I have implemented a linked list
> ie.A timer list is maintained.every time I call rtems_clock_get ..
> get the time diffrence ..ie the elapsed time..and I call the callback
> function for the timer(ie the software timer I implemented).
> The above mentioned code works well..but as time passes ..say almost
> after 26 sec
> I get the follwing error in the psim
> cpu 1, cia 0xfff00700: double interrupt - MSR[RI] bit clear when
> to deliver interrupt, cia=0xfff00700, msr=0x1040; srr0=0x0(cia),
> srr1=0x8b042(msr); trap-vector=0x700, trap-msr=0x1040
> ./o-optimize/tca.exe: Caught signal -1 at address 0xfff00700
> I tried debuggung this..what I found was that the callback function
> is now 0x0.
> But earlier it had a valid pointer..and the call back function was
> called.What could be wrong?
> I tried running the same code in pc386 ,then I came across ,Exception
> 13,What does that mean.(I was running it in VMWare)
> But it ran longer than in psim.
> Has it got any thing to do with how much RAM ,STACK SIZE et al is
> for each task?
> Hoe you can help me..
More information about the users