嵌入式系统实验报告四

嵌入式系统实验报告四

ID:41639738

大小:114.03 KB

页数:4页

时间:2019-08-29

嵌入式系统实验报告四_第1页
嵌入式系统实验报告四_第2页
嵌入式系统实验报告四_第3页
嵌入式系统实验报告四_第4页
资源描述:

《嵌入式系统实验报告四》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验报告四课程名称嵌入式系统及接口技术实验名称内存管理API应用口期2011-6-17学号0825112028姓名余昌泼班级计算机科学与技术B班一.实验要求:(1)创建3个任务,堆栈都为1KB,优先级分别为5、8、9.(2)任务运行时在屏幕上打印“task?isrunning!!”表示任务的优先级。(3)系统中有2个内存intMem1,intMem2.(4)任务5每次运行时分别从2个内存区中获取2个内存块,然后往2个内存块中放一定的数据。(5)任务8每次运行在任务放了数据的一个内存块中取数据进行显示,并且释放对应的内存块。(6)任务

2、9每次运行在任务放了数据的另一个内存块中取数据进行显示,并且释放对应的内存块。二.内存块管理API:(1)创建并初始化内存OS_MEM*OSMemCreate(void*addr,INT32Unblks,INT32Ublksize,INT8U*eir)Addr:建立的内存区的起始地址,内存区可以使用静态数组或在初始化吋使用malloc()建立。(2)从内存屮获取一个内存Void*OSMemGet(OS_MEM*pmem,INT8U*err)(3)回收一个内存条INT8UOSMemPut(OS_MEM*pmem,void*pblk)(

3、4)查询分区状态INT8UOSMemQuery(OS_MEM*pmem,OS_MEM_DATA邛data)三:实验源代码:#include"includes.!)”#defineTASK_STK_SIZE1024OS_STKTask_5_stk[TASK_STK_SIZE];OS_STKTask_8_stk[TASK_STK_SIZE];OS_STKTask_9_stk[TASK_STK_SIZE];voidTask5(void*data);voidTask8(void*data);voidTask9(void*data);OS_M

4、EM*intMem1;OS_MEM*intMem2;INT8Uerr;INT8UIntBufferl[20][64];INT8UIntBuffer2[20][32];INT8U*intBufPl;INT8U*intBulP2;INT8Ucount=1;voidmain(void){PC_DispClrScr(DISP_FGND_WHITE+DISP_BGND_BLACK);OSInit();PC_DOSSaveReturn();PC_VectSet(uCOS,OSCtxSw);intMeml=OSMemCreate(IntBuffe

5、r1,20,64,&eir);intMem2=OSMemCreate(IntBuffer2,20,32,&eir);OSTaskCreate(Task5,(void*)0,&Task_5_stk[TASK_STK_SIZE-1J,5);OSTaskCreate(Task8,(void*)0,&Task_8_stk[TASK_STK_SIZE-1],8);OSTaskCreate(Task9,(void*)0,&Task_9_stk[TASK_STK_SIZE-1],9);OSStart();}voidTask5(void*pdata

6、){INT8Ux=0;INT8Uy=0;INT8Ujudge;INT8Uerr;INT16Skey;OS_ENTER_CRITICAL();PC_VectSet(0x08,OSTickISR);PC_SetTickRate(OS_TICKS_PER_SEC);OS_EX1T_CRITICAL();for(;;){//PC_DispClrScr(DISP_FGND_WHITE+DISP_BGND_BLACK);PC_DispStr(x,y,MTask5isrunning!!M,DISP_FGND_WHITE+DISP_BGND_RED

7、+DISP_BLINK);intBufPl=OSMemGet(intMem1,&eir);*intBufPl=count;intBufP2=OSMemGet(intMem2,&eir);*intBufP2二2*count;count++;//x=(x+l)%(80-12);〃y=(y+l)%(25・l);y=y+2;if(PC_GetKey(&key)二二TRUE){if(key==0xlB){PC_DOSReturn();OSCtxSwCtr=0;OSTimeDlyHMSM(0,0,l,0);voidTask8(void*pdat

8、a){INT8Ux=20;INT8Uy=0;INT8Ujudge;INT8Uerr;INT16Skey;INT8Ustr;//charstr;OS_ENTER_CRITICAL();PC_VectSet(0x08,OSTickISR)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。