예제 #1
0
파일: MQX1.c 프로젝트: Vinhuit/Freescale
void mqx_initialize_heap(void)
{
    /** Definiton of heap for RealView compiler
     */
    char *__heap_addr = (char *)__get_heap_base();
    int   __heap_size = __get_heap_limit() - __get_heap_base();
    
    LWMEM_POOL_STRUCT    * pool_ptr;
    void *                 start_addr;

    pool_ptr = (LWMEM_POOL_STRUCT *) __heap_addr;

    /* Set default lwmem pool */
    (void)_lwmem_set_default_pool(pool_ptr);
    
    start_addr = (void *)((char *) __heap_addr + sizeof(LWMEM_POOL_STRUCT));

    _lwmem_create_pool(pool_ptr, start_addr, (_mem_size)__heap_size);
}
예제 #2
0
void mqx_initialize_heap(void)
{
    /** Definiton of heap for GCC ARM compiler
     *  Extern symbols defined in linker command file
     */
    extern char      __heap_addr[];
    extern char      __heap_size[];
    
    LWMEM_POOL_STRUCT    * pool_ptr;
    void *                 start_addr;

    pool_ptr = (LWMEM_POOL_STRUCT *) __heap_addr;

    /* Set default lwmem pool */
    (void)_lwmem_set_default_pool(pool_ptr);
    
    start_addr = (void *)((char *) __heap_addr + sizeof(LWMEM_POOL_STRUCT));

    _lwmem_create_pool(pool_ptr, start_addr, (_mem_size)__heap_size);
}