2014-01-02 18:30:13 +08:00
|
|
|
/*
|
2018-10-22 11:02:14 +08:00
|
|
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*
|
2014-01-02 18:30:13 +08:00
|
|
|
* Change Logs:
|
|
|
|
* Date Author Notes
|
|
|
|
* 2013-05-19 Bernard The first version for LPC40xx
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "sram.h"
|
|
|
|
#include "board.h"
|
|
|
|
|
|
|
|
#include <rtthread.h>
|
|
|
|
|
|
|
|
#ifdef LPC_EXT_SDRAM
|
|
|
|
struct rt_memheap system_heap;
|
|
|
|
|
|
|
|
void sram_init(void)
|
|
|
|
{
|
|
|
|
/* initialize the built-in SRAM as a memory heap */
|
|
|
|
rt_memheap_init(&system_heap,
|
|
|
|
"system",
|
|
|
|
(void *)HEAP_BEGIN,
|
|
|
|
(rt_uint32_t)HEAP_END - (rt_uint32_t)HEAP_BEGIN);
|
|
|
|
}
|
|
|
|
|
|
|
|
void *sram_malloc(unsigned long size)
|
|
|
|
{
|
|
|
|
return rt_memheap_alloc(&system_heap, size);
|
|
|
|
}
|
|
|
|
|
|
|
|
void sram_free(void *ptr)
|
|
|
|
{
|
|
|
|
rt_memheap_free(ptr);
|
|
|
|
}
|
|
|
|
|
|
|
|
void *sram_realloc(void *ptr, unsigned long size)
|
|
|
|
{
|
|
|
|
return rt_memheap_realloc(&system_heap, ptr, size);
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|