学习记录之ucos2入门(任哲版)

操作系统中经常用到的数据结构:
队列: 先进先出(可以用数组,也可以用链表)主要用于对象的排列
堆栈:先进后出(主要用数组实现)用于程序模块的嵌套运行


多任务系统:能用1个CPU并发(非同时)地运行多个程序的计算机管理系统
占有了PC的程序就是占有了CPU
所谓的切换就是PC(程序计数器) <-----目标地址
数据传送指令:
子程序返回指令
中断服务程序返回指令   都由堆栈弹出
任务的切换就是运行环境的切换
任务的三要素:程序代码、私有堆栈、任务控制块。
任务控制块TCB(任务在系统中的身份证): 主要作用是保存该任务的虚拟处理器的堆栈指针寄存器SP
同时还需要保存该任务的优先级别,任务的状态。
uc/os 2是用任务的优先级来作为任务的标识的。
多个任务靠任务控制块组成了一个任务链表。
uc/os2的任务代码结构是一个可以带有临界段的无限循环。
系统提供的空闲任务OSTaskIdle() : 只做计数工作。没有调用任务延时函数。
系统提供的统计任务OSTaskStat(): 每秒计算一次cpu在单位时间内被使用的时间,以方便应用程序了解CPU的使用率。
uc/os2把任务的优先级分为64个优先级别,数字越大表示优先级越低。
设置最低优先级别常数OS_LOWEST_PRIO意味着系统有OS_LOWEST_PRIO个优先级别。

最低和倒数第二低级别的分别赋给了空闲任务和统计任务。


任务堆栈 TASK_STK_SIZE OS_STK TaskStk【TASK_STK_SIZE】
目的: 保存CPU寄存器的内容和存储任务私有数据。
创建任务的时候需要传递任务的堆栈指针和任务的优先级别
注意:使用OSTaskCreat()创建任务的时候,要确认CPU对于堆栈增长的方向是支持向上还是支持向下。
创建新任务的时候,必须把诸如任务指针、任务堆栈指针、程序状态字等CPU需要的数据放在任务堆栈里。
主要是通过调用OSTaskStkInit()
任务堆栈的初始化也就是对任务的虚拟处理器的初始化(复位)。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《UCOSII入门经典教程》是一本经典的教程,主要介绍了嵌入式操作系统UCOSII的基本知识和入门技巧。UCOSII是一款小型的实时操作系统,广泛应用于嵌入式系统开发领域。 该教程从最基础的概念和原理开始,介绍了UCOSII的结构和组成部分。它详细讲解了任务管理、时间管理、内存管理、任务间通信等重要内容,帮助读者全面了解UCOSII的各项功能和特点。 除了理论知识,教程还提供了丰富的实例演示,通过实际案例的分析和实践,帮助读者更好地理解和掌握UCOSII的应用方法。这些实例包括任务的创建与删除、任务间的消息传递、信号量的使用等,能够帮助读者熟悉UCOSII的编程风格和操作方式。 同时,教程还介绍了一些常见的问题和解决方法,帮助读者在实际开发中遇到问题时能够快速解决。它还提供了一些调试技巧和性能优化的建议,让读者能够更高效地开发和调试嵌入式系统。 总之,《UCOSII入门经典教程》是一本系统而全面的教材,适合初学者入门学习。通过学习教程,读者能够了解UCOSII的基本原理和应用,掌握嵌入式系统开发的基本技能。无论是从事嵌入式系统开发工作的工程师,还是对嵌入式系统感兴趣的学生,都能从中获得实实在在的帮助。 ### 回答2: ucosii(MicroC/OS-II)是一款实时嵌入式操作系统,被广泛应用于各种嵌入式系统中。以下是ucosii入门经典教程的简要介绍。 首先,ucosii的学习前提是对C语言和嵌入式系统有基本的了解和掌握。如果没有这方面的基础,需要首先学习C语言和嵌入式系统的相关知识。 对于ucosii的学习,可以从以下几个方面入手。 1. 了解ucosii的基本概念和结构。ucosii是一个实时操作系统,提供了任务管理、事件管理、内存管理、时间管理等功能。它的核心是任务和中断,在学习时要重点了解任务和中断的概念、特点和使用方法。 2. 学习如何创建和管理任务。ucosii以任务为单位进行调度,通过创建不同的任务来完成不同的功能。了解如何创建任务、设置任务的优先级、任务的调度等基本操作。 3. 学习任务间的通信与同步。在实际的嵌入式系统中,任务之间往往需要进行通信和同步。ucosii提供了消息队列、信号量、事件标志组等机制来实现任务间的通信和同步,学习如何使用这些机制。 4. 学习中断处理。中断是嵌入式系统中的重要功能,ucosii提供了中断处理的接口和机制。学习如何注册中断处理函数、中断的响应和处理等内容。 5. 进一步学习和实践。通过阅读相关文档和参考资料,深入了解ucosii的高级功能和应用领域。可以选择一些实际案例进行实践,加深对ucosii的理解和掌握。 ucosii是一款经典的实时嵌入式操作系统,在工业控制、汽车电子、通信设备等领域被广泛应用。通过学习ucosii,可以提高嵌入式软件开发的效率和质量。希望上述介绍对ucosii入门经典教程有所帮助。 ### 回答3: ucosii是一个嵌入式操作系统,也是微型操作系统ucos的第二代产品。ucosii在性能上相对优秀,适用于各种硬件平台。接下来,我将简单介绍ucosii的入门经典教程。 首先,了解ucosii的基本原理非常重要。ucosii采用了优先级抢占式调度策略,任务优先级较高的任务会在任务优先级较低的任务之前得到执行。它还支持多任务、任务间通信和同步、时钟管理等功能。 其次,了解ucosii的基本API非常关键。ucosii提供了一系列的函数用于任务创建、任务删除、任务挂起和恢复、信号量的创建和使用等。熟悉这些API函数,可以帮助我们正确地使用ucosii进行任务的管理和资源的管理。 接着,学习ucosii的任务编写方法。ucosii使用C语言进行任务编写,因此我们需要学会如何编写任务函数,并将其注册为ucosii的任务。任务函数是用于处理任务逻辑的函数,我们可以在任务函数中调用ucosii提供的函数来完成任务的各种操作。 此外,了解ucosii的中断处理机制也十分重要。ucosii支持中断嵌套和中断优先级设置,这些功能在嵌入式系统中非常常见。学习如何正确地配置和处理中断,可以提高系统的实时性和稳定性。 最后,进行ucosii的实际应用和调试。在掌握了基本的ucosii知识后,我们可以根据具体的应用需求进行系统的设计和开发。在开发过程中,扎实的调试技巧和方法,可以帮助我们快速定位和解决问题。 通过以上的学习和实践,我们可以初步掌握ucosii的开发和应用。不过,要想深入理解和熟练使用ucosii,还需在实践中不断积累经验,不断学习和探索。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值