uCos学习心得体会.pdfVIP

  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 学习心得体会 从开始学习uCos-II 到现在已经有2 个多月的时间了,但到现在也不能说已经 掌握好了uCos-II,只能说现在还在学习uCos 的初级阶段。要真正把uCos 学好还 要靠以后在ARM 移植中的实际应用。我学习uCos 的方式无非就是看函数的使用方 法,看源代码,然后用Keil 编程验证。所写过的程序都是一些很初级的验证性 的,比如建立一个简单的任务,两个任务各自简单地申请一下信号量再释放掉什么 的。感觉离实际应用还很远。要实际能在一款CPU 上跑起来还需要学习更多的关于 处理器的具体知识吧。 在学习uCos-II 的过程中,基本也没遇到过什么了不起的困难,大概是因为对 自己要求太低了,学的不够深入吧。要说有什么收获,那就是通过阅读uCos-II 的 源代码得到了一些感悟。首先uCos-II 的源代码写的非常清晰明了,连我都能很容 易地看懂,在编程中遇到的一些问题通过阅读源代码都能很好的得到解答。其次, 一些设计非常巧妙。比如OSUnMapTbl[]的设计,通过事先计算,使得查找最高优 先级任务的时间是确定的。还用任务切换的处理,用引发中断的方式使得PC 的值 改变。在学习uCos-II 的过程中我的代码阅读能力也得到了提高。 下面谈一下我学习uCos-II 的过程,也是对学习uCos-II 的一个总结。 学习一门知识首先要对它的历史、背景、发展前景、应用领域等有一定的理 解。所以在学习uCos-II 的初期,我先去网上搜集了一些uCos-II 的资料,了解了 一下uCos-II 的基本情况。uCos-II 是一个可以基于ROM 运行的、可裁减的、抢占 式、实时多任务内核。 可以方便的移植到各种CPU 上,是一个应用广泛的嵌入式 实时操作系统。uCos-II 的前身是uCos,最早出自于1992 年美国嵌入式系统专家 Jean J.Labrosse 在《嵌入式系统编程》杂志的5 月和6 月刊上刊登的文章连 载。它被广泛应用于微处理器、微控制器和数字信号处理器。 了解完uCos-II 的基本情况,那就开始正式学习它了。工欲善其事,必先利其 器,要学好uCos-II 首先要有合适的书籍作为学习资料。经过老师的推荐我选择了 两本书,一本是任哲老师写的《嵌入式实时操作系统uCos-II 原理与应用》,另一 本是Jean J.Labrosse 的《嵌入式实时操作系统uCos-II (第二版)》(邵贝贝 译)。这两本书各有各的用处。任哲老师的书用来学基础,这本书写的非常通俗易 懂,并且有很多基础的例子可以用来练习,可以很快的入门。Jean J.Labrosse 的 书有全部的源代码并且几乎每一行代码都有注释,一些难懂的地方注释还很长,非 常有助于对代码的理解。 对uCos-II 嵌入式开发与应用这门课来说光听老师讲和看书是不够的,还要真 正的动手编程。于是在开始学习uCos 时我就在自己的电脑上搭建起了MDK 交叉编 译环境。用老师给的移植好uCos-II 的工程,开始写自己任务。由于一开始对 uCos-II 和Arm 了解太少不可能自己移植(会移植的话就不用学了),只能用老师 给的工程,把里面的包含main ()函数的C 文件改一下,写入自己的代码,就可 以开始基本的练习了。从最基本的建立任务开始,先定义堆栈,宏定义优先级,声 明任务,在main()里用OSTaskCreate()建立第一个任务。建立的任务有什么任务 呢,总得有点现象吧,老师早就给准备好了一个串口发送函数,可以把文字发送到 串口。当然我们没有硬件只是在仿真串口中观察输出。 就是通过这种串口输出的 方式,我写了很多非常简单的小工程,但也是涵盖uCos-II 的各个部分的内容,有 1 简单的任务的创建、删除、挂起、进入延时等待相关的小任务,也有信号量、邮 箱、互斥信号量、标志组这些uCos-II 通信方式的相关内容。这个过程大概花了2 到3 个星期的时间。 通过前几个阶段的学习,我已经最低要求地学习了uCos-II 的主要部分。但是 最难的(个人感觉)移植uCos-II 还一点不会。要想成功移植不仅要对uCos-II 非 常熟悉,还要对要移植的处理器非常了解。我学过的掌握比较熟练的也就是51 了,查了一下资料发现51 移植uCos-II 基本都需要扩展存储器。操作起来比较费 事,也不擅长硬件就放弃了。另外就是往arm 板上移植了,这个倒是有很多的资 料,也有

文档评论(0)

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

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

1亿VIP精品文档

相关文档