ucosii操作系统1ucosii基础知识简介:
目前主流的操作系统有UCOSII、FREERTOS、LINUX等,UCOSII的资料比其余两个操作系统的资料相对非常全面。
这次专栏涉及的API的使用非常小,只作为本人学习的记录。 后期也可以说与UCOSII相比实现更多功能的代码。
参考书籍: 《嵌入式实时操作系统COS-II原理及应用》,《嵌入式实时操作系统uCOS-II 邵贝贝(第二版)》
学习代码来源: http://BBS.elecfans.com/jishu _ 345856 _1_1. html
1、操作系统的作用
因为操作系统是计算机硬件系统和APP应用程序之间的接口,而APP应用程序设计者只是在操作系统层的基础上使用计算机系统,所以程序设计者
和只使用计算机操作系统提供的函数API,而不需要作为APP应用程序开发者来管理操作系统的这些基础函数是如何实现的。
2、嵌入式系统特点:
)1)由于嵌入式系统通常面向特定的APP应用,因此嵌入式系统的硬件是为特定用户组设计的。
)2)可以裁剪的) Linux系统有很多网络协议栈等。 有些人在制作数码相框。 如果没有必要,可以直接删除它的源代码。
)3)实时性和可靠性)实时性是指你写的代码可以在适当的时间运行,而不是你必须马上运行。 由于操作系统有许多机制,如资源强占,因此低优先级任务不是申请资源就能立即完成的。
3、裸机与操作系统的最大区别:
裸机在一个main函数中不断运行,只有有中断才能跳转到另一个合适的代码运行。 否则,执行的指针将通过将地址加4来执行。 的运行结构是可以从代码中找到合适的运行进程。 在操作系统之后,main函数跳到第一个由函数堆栈切换的任务,通过优先级确定来优先运行优先级高的任务,就好像多个main函数正在一起运行一样
4、任务的c语言表示:
任务是不需要返回的无类型函数。
Void任务1 (Void * Param ) for ); (//用户编写的代码) }当然有些人会觉得不可思议,为什么你要在一个函数中添加死循环? 那么,函数不是在这个任务中不断执行吗?
当然,jzdym需要添加中断代码,以便可以跳转到其他任务执行。 切换任务时,要判断优先顺序并进行任务间的切换工作。
5、嵌入式实时操作系统基本功能:
)1)内存管理:
内存管理主要是动态内存管理,如果APP应用程序需要使用内存,可以利用操作系统提供的内存分配函数获得足够的内存空间。
动态内存是指分配malloc、free函数,从堆中获取内存。 我们本来嵌入式系统的内存分配就很少,所以这里很重要。
)2)多任务管理:
裸机是单任务的前后台程序,是对任务进行中断的机器实现方法。
程序员可以根据多线程设计自己的程序,便于程序的结合性和单元测试。
重要的是提高程序的可复用性。
)3)周边资源管理:
您需要管理内存、CPU以及许多输入和输出设备,而不仅仅是您需要的。
由于资源有限,操作系统必须适当地调度和管理这些资源,以确保使用资源的每个任务在运行时都有足够的资源。
6、UCOS的代码结构:
这是UCOS的代码结构。 首先,我们知道某些东西。 有必要从其中的整体进行分析。 要说为什么,那是因为有几样东西
我们不需要通过UCOS深入理解。