当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 在嵌入式应用系统的设计中,实时操作系统的应用越来越受到重视。目前市场上可以选择的实时操作系统很多,一些商用系统为用户提供了非常丰富的功能,不仅包括实时内核,同时

 在嵌入式应用系统的设计中,实时操作系统的应用越来越受到重视。目前市场上可以选择的实时操作系统很多,一些商用系统为用户提供了非常丰富的功能,不仅包括实时内核,同时还包括输入输出管理、文件系统、网络、调试软件等。但是对于中小型的嵌入式应用系统来说,商用实时操作系统的成本太高,所以采用免费软件是最好的选择。uC/OS-Ⅱ是一个免费的源代码公开的实时嵌入式内核,它提供了实时系统所需的基本功能。其包含全部功能的核心部分代码只占用8.3K字节,而且由于uC/OS-Ⅱ是可裁剪的,所以用户系统中实际的代码最少可达2.7K字节,可谓短小精悍。uC/OS-Ⅱ不仅使用户得到廉价的解决方案,而且由于uC/OS-Ⅱ的开源特性,用户还可以针对自己的硬件优化代码,以获得更好的性能。,bRM6z

uC/OS-Ⅱ实际上是一个实时操作系统内核,只包含了任务调度、任务管理、时间管理、内存管理和任务间的通信与同步等基本功能。没有提供输入输出管理、文件系统、网络之类的额外服务。但是由于uC/OS-Ⅱ的可移植性和开源性,用户可以自己添加所需的各种服务。目前,已经出现了第三方为uC/OS-Ⅱ开发的文件系统、TCP/IP协议栈、用户显示接口等。;C`wO

uC/OS-Ⅱ的任务调度是按抢占式多任务系统设计的,即它总是执行处于就绪条件下优先级最高的任务。为了简化系统的设计,uC/OS-Ⅱ规定所有任务的优先级必须不同,任务的优先级同时也唯一地标识了该任务。即使两个任务的重要性是相同的,它们也必须有优先级上的差异,这也就意味着高优先级的任务在处理完成后必须进入等待或挂起状态,否则低优先级的任务永远也不可能执行。系统通过两种方法进行任务调度:一是时钟节拍或其它硬件中断到来后,系统会调用函数OSIntCtxSw()执行切换功能;二是任务主动进入挂起或等待状态,这时系统通过发软中断命令或依靠处理器执行陷阱指令来完成任务切换,中断服务例程或陷阱处理程序的向量地址必须指向函数OSCtxSw()。;3yL

uC/OS-Ⅱ最多可以管理64个任务,这些任务通常都是一个无限循环的函数。在目前的版本中,作者保留了优先级为0、1、2、3、OS_LOWEST_PRIO-3、OS_LOWEST_PRIO-2、OS_LOWEST_PRIO-1、OS_LOWEST_PRIO的任务,所以用户可以同时拥有56个任务。uC/OS-Ⅱ提供了任务管理的各种函数调用,包括创建任务、删除任务、改变任务的优先级、挂起和恢复任务等。系统初始化时会自动产生两个任务:一是空闲任务OSTaskIdle(),它的优先级最低为OS_LOWEST_PRIO,该任务只是不停地给一个32位的整型变量加一;另一个是统计任务OSTaskStat(),它的优先级为OS_LOWEST_PRIO-1,该任务每秒运行一次,负责计算当前CPU的利用率。XfIj

uC/OS-Ⅱ要求用户提供一个称为时钟节拍的定时中断,该中断每秒发生10至100次,时钟节拍的实际频率是由用户控制的。任务申请延时或超时控制的计时基准就是该时钟节拍。该时钟节拍同时还是任务调度的时间基准。uC/OS-Ⅱ提供了与时钟节拍相关的系统服务,允许任务延时一定数量的时钟节拍或按时、分、秒、毫秒进行延时。")fT

对于一个多任务操作系统来说,任务间的通信与同步是必不可少的。uC/OS-Ⅱ提供了四种同步对象,分别是信号量、邮箱、消息队列和事件。通过邮箱和消息队列还可以进行任务间的通信。所有的同步对象都有相应的创建、等待、发送的函数。但这些对象一旦创建就不能删除,所以要避免创建过多的同步对象以节约系统资源。QLc6,]

为了消除多次动态分配与释放内存所引起的内存碎片,uC/OS-Ⅱ把连续的大块内存按分区来管理。每个分区中都包含整数个大小相同的内存块,但不同分区之间内存块的大小可以不同。用户需要动态分配内存时,选择一个适当的分区,按块来分配内存。释放内存时将该块放回它以前所属的分区。这样,就能有效解决内存碎片的问题。Qq.

uC/OS-Ⅱ的大部分代码是用ANSI C写成的,只有与处理器硬件相关的一部分代码用汇编语言编写。所以uC/OS-Ⅱ的移植性很强,可以在绝大多数8位、16位、32位微处理器、数字信号处理器上运行。uC/OS-Ⅱ的移植并不复杂,只要编写4个汇编语言的函数、6个C函数再定义3个宏和1个常量,这些宏和函数都非常简单,其中的5个C函数甚至只需声明不必包含代码。用户可以根据需要自己编写移植代码。uC/OS-Ⅱ的网站上(www.uCOS-II.com)有针对不同微处理器的移植代码可供下载。目前网站上提供的移植实例包括Intel公司的80x86、8051、80196等,Motorola公司的PowerPC、68K、CPU32等,TI公司的TMS320系列,Zilog公司的z-80、z-180,还包括Analog Device公司、ARM公司、日立公司、三菱公司、飞利浦公司和西门子公司的各种微处理器。a"WFu

© uC/OS-Ⅱ是在PC机上开发的,C编译器使用的是Borland C/C++ 3.1版,而且PC机是大家最熟悉的开发环境,所以在PC机上学习和使用uC/OS-Ⅱ是非常方便的。uC/OS-Ⅱ的网站上也提供了在PC机上运行uC/OS-Ⅱ的源代码。但是由于C/C++运行库和DOS本身的限制,在PC上运行uC/OS-Ⅱ时需要注意两个问题。3y=k1@

第一,由于DOS下的C编译器提供的运行库没有考虑多线程应用的问题,运行库中的全局变量和部分函数只适用于单线程。这些变量和函数包括:errno、_doserrno、strtok、strerror、tmpnam、tmpfile、asctime、gmtime、ecvt、fcvt等。在uC/OS-Ⅱ中使用这些函数时要小心,要避免两个任务同时调用这些函数,或者用信号量同步对这些函数的调用。+&i

© 第二,DOS是不能重入的,就是说正在调用DOS服务期间,是不能再次调用DOS的,如果又进行了DOS调用,那么肯定会引起系统崩溃。uC/OS-Ⅱ启动多任务后,如果两个以上的任务进行了DOS调用或者调用了需要DOS的C/C++运行库(如:printf、scanf等等),就有可能引起DOS重入。所以在uC/OS-Ⅱ中,可以调用BIOS或直接操纵硬件,但要尽量减少DOS调用。如果必须要用DOS,最好只有一个调用DOS的任务,或者用信号量进行同步。.

© uC/OS-Ⅱ作为一个源代码公开的实时嵌入式内核,对我们学习和使用实时操作系统提供了极大的帮助。而uC/OS-Ⅱ自身也因此获得了快速的发展,许多开发者已经成功地把uC/OS-Ⅱ应用于自己的系统之中。随着uC/OS-Ⅱ的不断完善,它必将会有更加广阔的应用空间。[!--empirenews.page--]

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭