_Heap_Allocate_aligned return the same address?
Sergei Organov
osv at javad.com
Wed Sep 12 10:27:55 UTC 2007
"阎淼" <yanmiaobest at gmail.com> writes:
> Hi,
>
> I am using rtems-4.7.1 on i386-qemu, I called
> _Heap_Allocate_aligned twice, but the return address are the same.
> here is my code:
>
> char buf[4096 * 10];
> #define PAGE_SIZE 4096
> void f()
> {
> Heap_Control the_heap;
> _Heap_Initialize( &the_heap, (void *)buf, 4096 * 10, CPU_ALIGNMENT);
>
> void *p = _Heap_Allocate_aligned( &the_heap, 4096, PAGE_SIZE);
> void *g = _Heap_Allocate_aligned( &the_heap, 4096, PAGE_SIZE);
>
> printf("0x%x\n", p );
> printf("0x%x\n", g );
> }
>
> and the output is:
>
> 0x125000
> 0x125000
>
> is somthing wrong here?
Yes, it seems it is. I'm able to reproduce the problem here. I'm now
looking into the heap code to identify and fix the problem.
-- Sergei.
More information about the users
mailing list