电子说
学习一下双内存的使用,
首先MDK工程添加IRAM2,具体地址与大小参考数据手册
勾选使用MDK链接脚本,不用自定义的
修改drv_common.c
增加rt_heap数组用作堆
#define RT_HEAP_SIZE 8192
ALIGN(RT_ALIGN_SIZE)
static uint32_t rt_heap[RT_HEAP_SIZE]; /* 32K V5/V6编译器*/
//static uint32_t rt_heap[RT_HEAP_SIZE] RT_SECTION(".ARM.__at_0x20008000"); /* 32K V6编译器*/
//static uint32_t rt_heap[RT_HEAP_SIZE] attribute ((at(0x20008000))); /* 32K V5编译器*/
修改rt_hw_board_init下的rt_system_heap_init
/*rt_system_heap_init((void *)HEAP_BEGIN, (void )HEAP_END); /
rt_system_heap_init((void *)rt_heap, (void *)(rt_heap+RT_HEAP_SIZE));
最终结果
全部0条评论
快来发表一下你的评论吧 !