下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、uCos-II学习心得体会从开始学习 uCos-II 到现在已经有 2 个多月的时间了,但到现在也不能说已经掌握好了 uCos-II ,只能说现在还在学习uCos 的初级阶段。要真正把uCos 学好还要靠以后在 ARM 移植中的实际应用。我学习uCos 的方式无非就是看函数的使用方法,看源代码,然后用 Keil 编程验证。所写过的程序都是一些很初级的验证性的,比如建立一个简单的任务,两个任务各自简单地申请一下信号量再释放掉什么的。感觉离实际应用还很远。要实际能在一款CPU 上跑起来还需要学习更多的关于处理器的具体知识吧。在学习 uCos-II的过程中,基本也没遇到过什么了不起的困难,大概是因为
2、对自己要求太低了,学的不够深入吧。要说有什么收获,那就是通过阅读uCos-II 的源代码得到了一些感悟。首先uCos-II 的源代码写的非常清晰明了,连我都能很容易地看懂,在编程中遇到的一些问题通过阅读源代码都能很好的得到解答。其次,一些设计非常巧妙。比如OSUnMapTbl 的设计,通过事先计算,使得查找最高优先级任务的时间是确定的。还用任务切换的处理,用引发中断的方式使得PC 的值改变。在学习 uCos-II 的过程中我的代码阅读能力也得到了提高。下面谈一下我学习 uCos-II 的过程,也是对学习 uCos-II 的一个总结。学习一门知识首先要对它的历史、背景、发展前景、应用领域等有一定
3、的理解。所以在学习 uCos-II 的初期,我先去网上搜集了一些 uCos-II 的资料,了解了一下 uCos-II 的基本情况。 uCos-II 是一个可以基于 ROM 运行的、可裁减的、抢占式、实时多任务内核。 可以方便的移植到各种 CPU 上,是一个应用广泛的嵌入式实时操作系统。 uCos-II 的前身是 uCos ,最早出自于 1992 年美国嵌入式系统专家 JeanJ.Labrosse 在嵌入式系统编程杂志的 5 月和 6 月刊上刊登的文章连载。它被广泛应用于微处理器、微控制器和数字信号处理器。了解完 uCos-II 的基本情况,那就开始正式学习它了。工欲善其事,必先利其器,要学好
4、uCos-II 首先要有合适的书籍作为学习资料。经过老师的推荐我选择了两本书,一本是任哲老师写的嵌入式实时操作系统 uCos-II 原理与应用,另一本是 Jean J.Labrosse 的嵌入式实时操作系统 uCos-II (第二版)(邵贝贝译)。这两本书各有各的用处。任哲老师的书用来学基础,这本书写的非常通俗易懂,并且有很多基础的例子可以用来练习,可以很快的入门。 Jean J.Labrosse 的书有全部的源代码并且几乎每一行代码都有注释,一些难懂的地方注释还很长,非常有助于对代码的理解。对 uCos-II 嵌入式开发与应用这门课来说光听老师讲和看书是不够的,还要真正的动手编程。于是在开始
5、学习 uCos 时我就在自己的电脑上搭建起了 MDK 交叉编译环境。用老师给的移植好uCos-II 的工程,开始写自己任务。由于一开始对uCos-II 和 Arm 了解太少不可能自己移植(会移植的话就不用学了),只能用老师给的工程,把里面的包含 main ()函数的 C 文件改一下,写入自己的代码,就可以开始基本的练习了。从最基本的建立任务开始,先定义堆栈,宏定义优先级,声明任务,在 main() 里用 OSTaskCreate() 建立第一个任务。建立的任务有什么任务呢,总得有点现象吧,老师早就给准备好了一个串口发送函数,可以把文字发送到串口。当然我们没有硬件只是在仿真串口中观察输出。 就是
6、通过这种串口输出的方式,我写了很多非常简单的小工程,但也是涵盖 uCos-II 的各个部分的内容,有1简单的任务的创建、删除、挂起、进入延时等待相关的小任务,也有信号量、邮箱、互斥信号量、标志组这些uCos-II通信方式的相关内容。这个过程大概花了2到 3 个星期的时间。通过前几个阶段的学习,我已经最低要求地学习了uCos-II的主要部分。但是最难的(个人感觉)移植 uCos-II 还一点不会。要想成功移植不仅要对uCos-II非常熟悉,还要对要移植的处理器非常了解。我学过的掌握比较熟练的也就是51了,查了一下资料发现51 移植 uCos-II基本都需要扩展存储器。操作起来比较费事,也不擅长硬
7、件就放弃了。另外就是往arm 板上移植了,这个倒是有很多的资料,也有别人移植好的范例。于是我就打算往这个方向学吧。现在正在学习stm32 ,希望有一天能在 stm32上用上 uCos-II 操作系统,瞬间高大上有没有。GPIO 的高低电平代表灯最后再说一下智能交通灯实验吧。这个实验我是用的亮灭,仿真起来效果很直观。在做的过程中为了简单起见信号灯的规则都是尽可能的简化的。比如不考虑右转(任何时候都可以右转),两个相对的路口灯的亮灭情况一致,所以一共就用亮组信号灯,横向一组,纵向一组;每一组有6个灯,分别是指示直行的红黄绿灯和指示左转的红黄绿灯。每时每刻都只有一个绿灯亮,其余方向为红灯。绿灯要先变黄灯再变红灯。实现方法是,把所有时刻每个灯的状态都计算出来,发现一共有8 个状态(每种状态持续一段时间);把相关的两个状态合为一个,最后一共用 4个任务把八个状态表现出来。四个任务申请信号量,谁申请到了就把灯的状态设置为自己所表现的状态,注意要控制好申请和释放信号量的时机。最后发现了一个问题,就是这个实验不用操作系统也能做啊!直接写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 研发部内部管理制度
- 遵义职业技术学院《培训与开发》2024-2025学年第二学期期末试卷
- 郑州电子信息职业技术学院《材料工程基础A1》2024-2025学年第二学期期末试卷
- 西安工商学院《民法学及案例研习》2024-2025学年第二学期期末试卷
- 西安财经大学《技术分析基础》2024-2025学年第二学期期末试卷
- 机关单位内部制度
- 机械行业内部管理制度
- 林业局内部考核制度范本
- 某部门内部管理制度
- 检察院内部请示报告制度
- 营养与膳食(第3版)课件 第一章.绪论
- 完整版教育部发布《3-6岁儿童学习与发展指南》(全文)
- (2025)中国石油化工集团中石化招聘笔试试题及答案
- 2025廉政知识测试题及答案
- 儿童科普宇宙黑洞课件
- 优化人员岗位管理制度
- 《民族团结一家亲同心共筑中国梦》主题班会
- 音乐鉴赏与实践 课件《万物欢腾》
- CJ/T 476-2015建筑机电设备抗震支吊架通用技术条件
- 高考语文专题复习:辨析并修改病句
- 钱大妈加盟合同协议
评论
0/150
提交评论