咱们就直接上代码吧
mymalloc.c文件源码:
[C] 纯文本查看 复制代码 static void AppTaskMsgPro(ULONG thread_input)
{
(void)thread_input;
void *pvTest1 =NULL;
void *pvTest2 =NULL;
unsigned int count = 0;
while(1)
{
count = HAL_GetTick()%1024;
pvTest1 = my_malloc(count);
printf("pvTest1:%p count:%d\r\n",pvTest1,count);
count = HAL_GetTick()%1024;
pvTest2 = my_malloc(count);
printf("pvTest2:%p count:%d\r\n",pvTest2,count);
my_free(pvTest1);
my_free(pvTest2);
bsp_LedToggle(2);
tx_thread_sleep(1000);
}
}
跑一个线程测试一下:
[C] 纯文本查看 复制代码 static void AppTaskMsgPro(ULONG thread_input)
{
(void)thread_input;
void *pvTest1 =NULL;
void *pvTest2 =NULL;
unsigned int count = 0;
while(1)
{
count = HAL_GetTick()%1024;
pvTest1 = my_malloc(count);
printf("pvTest1:%p count:%d\r\n",pvTest1,count);
count = HAL_GetTick()%1024;
pvTest2 = my_malloc(count);
printf("pvTest2:%p count:%d\r\n",pvTest2,count);
my_free(pvTest1);
my_free(pvTest2);
bsp_LedToggle(2);
tx_thread_sleep(1000);
}
}
效果:
|