完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#define TASK_STK_SIZE 512 OS_STK STARTTASK[TASK_STK_SIZE]; OS_STK MYTASK[TASK_STK_SIZE]; OS_STK YOUTASK[TASK_STK_SIZE]; OS_STK HERTASK[TASK_STK_SIZE]; OS_MEM *PMEM; INT8U MEM[8][6]; INT8U err; INT8U *BLKP; //内存块指针 OS_MEM_DATA MEMDATA; char *s; char *s1="mytask is running!"; char *s2="youtask is running!"; char *s3="hertask is running!"; void starttask(void *p); void mytask(void *p); void youtask(void *p); void hertask(void *p); void main(int args, char *argss[]) { OSInit(); MEM=OSMemCreate(MEM,8,6,&err); OSTaskCreate(starttask,NULL,(OS_STK *)&STARTTASK[TASK_STK_SIZE-1],(INT8U)0); OSStart(); } void starttask(void *p) { p=p; OSTaskCreate(mytask,NULL,(OS_STK *)&MYTASK[TASK_STK_SIZE-1],(INT8U)3); OSTaskCreate(youtask,NULL,(OS_STK *)&YOUTASK[TASK_STK_SIZE-1],(INT8U)4); OSTaskCreate(hertask,NULL,(OS_STK *)&HERTASK[TASK_STK_SIZE-1],(INT8U)5); while(TRUE) { OStimeDlyHMSM(0,0,3,0); } } void mytask(void *p) { INT8U TIME; p=p; TIME=0; while(TRUE) { OS_Printf("%st",s1); BLKP=(INT8U *)OSMemGet(PMEM,&err); OSMemQuery(PMEM,&MEMDATA); s=(char *)MEMDATA.OSFreeList; OS_Printf("%0xt",s); OS_Printf("%dn",MEMDATA.OSNUsed); if(TIME>4) { OSMemPut(PMEM,BLKP); TIME=0; } TIME++; OSTimeDlyHMSM(0,0,1,0); } } void youtask(void *p) { p=p; while(TRUE) { OS_Printf("%st",s2); BLKP=(INT8U *)OSMemGet(PMEM,&err); OSMemQuery(PMEM,&MEMDATA); s=(char *)MEMDATA.OSFreeList; OS_Printf("%0xt",s); OS_Printf("%dn",MEMDATA.OSNUsed); OSMemPut(PMEM,BLKP); OSTimeDlyHMSM(0,0,2,0); } } void hertask(void *p) { p=p; while(TRUE) { OS_Printf("%st",s3); BLKP=(INT8U *)OSMemGet(PMEM,&err); OSMemQuery(PMEM,&MEMDATA); s=(char *)MEMDATA.OSFreeList; OS_Printf("%0xt",s); OS_Printf("%dn",MEMDATA.OSNUsed); OSMemPut(PMEM,BLKP); OSTimeDlyHMSM(0,0,2,0); } } 这3个任务分别是Mytask Youtask Hertask。在应用程序中创建一个动态内存分区 该分区有8个内存块,每个内存块的长度是6字节。应用程序的任务Youtask Hertask都在任务运行后请求一个内存块. 随后就释放它;任务MYTASK也在任务运行后请求一个内存块,但是要在任务MYTASK运行6次后,才释放它所申请的内存块。 为了了解内存分区变化的情况,编写代码来观察分区头指针和已被使用内存块的个数。 但是我明明释放了内存,为什么他显示内存使用一直是递增的,而且但最后会卡住? |
|
相关推荐
2个回答
|
|
问题已解决!
|
|
|
|
帮顶。。。。
|
|
|
|
只有小组成员才能发言,加入小组>>
702 浏览 0 评论
1111 浏览 1 评论
2476 浏览 5 评论
2810 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2654 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
656浏览 9评论
651浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
786浏览 6评论
632浏览 5评论
675浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 21:29 , Processed in 0.935519 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号