uCOS-II任务间通信和内存管理实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
uCOS-II任务间通信和内存管理实验

嵌入式ARM+ μC/OS-II 大连理工大学软件学院嵌入式教研室 2010年11月 题目要求 一、Uc/Os任务间通信机制(信号量——生产者消费者) 实验目的: 采用生产者和消费者之间的关系来练习多任务请求之间的消息传递和同步的工作过程。 实验要求: 试利用uc/os提供的通信机制,设计一个简单的应用程序,实现基本的生产者消费者程序。 Uc/Os内存管理——内存块分配 实验目的: 为了了解内存分区变化的情况,编写代码来观察分区头指针和已被使用内存块的个数 实验要求: 试设计一个有3个任务的应用程序,这3个任务分别是MyTask,YouTask和HerTask。在应用程序中创建一个动态内存分区,该分区有8个内存块,每个内存块的长度为6字节。应用程序的任务YouTask和HerTask都在任务运行后请求一个内存块,随后就释放它;任务MyTask也在任务运行后请求一个内存块,但是要在任务MyTask运行6次后,才释放它所申请的内存块。 我们给出了PC环境下的示意代码,要求改造成44B0下,并调试成功。 uCOS-II任务间通信和内存管理实验 任务通信和内存管理工程实践 使用Embest IDE for ARM 开发环境,建立工程名为ucos-ii_test1,并在些工程下建立四个文件夹:ucos_source,ucos_include,ucos_port,44b0_source, 44b0_include,main,misc文件夹。 在ucos_source中添加os_core.c,os_dbg_r.c,os_flag.c,os_mbox.c,os_mem.c, os_mutex.c,os_q.c,os_sem.c,os_task.c,os_time.cucos_ii.c11个内核源文件; 在ucos_include中添加includes.h,os_cfg.h,os_cpu.h,ucos_ii.h4个头文件; 在ucos_port中添加os_cpu_a.s,os_cpu_c.c两个与硬件相关的文件; 在44b0_source中添加44binit.s,44blib.c,uhal.c三个代码文件 在44b0_include中添加44b.h,44blib.h,def.h,memcfg.a,option.a,option.h,uhal.h七个头文件; 在main中添加irq.s,main.c 2个代码文件 在main中添加命令脚本文件ev40boot.cs的链接脚本文件ram_ice.ld文件 图1-1 建立工程文件夹 在主函数中编写: /************************************************************************** * 文件名: main.c 给出的是参考代码,里面需要调试的部分很多,大家需要自己调试纠错出来。 * 功能: 任务通信工程实践主函数 * 说明:Embest S3C2410实验平台,Embest ARM标准/增强型仿真器套件。**************************************************************************/ #include \software\ucos-ii\ex1_x86l\bc45\source\includes.h #define TASK_STK_SIZE 512 /* Size of each tasks stacks (# of WORDs) */ #define N_TASKS 10 /* Number of identical tasks */ OS_EVENT* pCommMbox; INT16U msg; INT8U colorFlag; OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; /* Tasksstacks */ OS_STK TaskStartStk[TASK_STK_SIZE]; void SendTask(); void AcceptTask(); /* ********************************************************************************************************* *

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档