首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式实时操作系统mC/OS-II的应用与新发展 01

嵌入式实时操作系统mC/OS-II的应用与新发展 01

 回顾嵌入式RTOS在我国应用与推广的历程,几年前,RTOS的概念还很少为嵌入式系统工程师接受。这是由于8位单片机时代,应用程序相对简单,设计者使用RTOS的意识不强;另一方面,商业RTOS软件过于昂贵。两年前的这个时候,笔者应《电子产品世界》之邀,在“嵌入式2000”学术研讨会上提出,以免费的RTOS—mC/OS的学习与应用为突破口,提倡“学习RTOS,使用RTOS”,不久以后,《mC/0S-II the Real Time Kernel》一书的中译本出版了。一些著名的大学开始用mC/0S-II作教材给研究生讲述RTOS.两年来,笔者看到很多国内关于嵌入式系统应用的杂志,都刊登了关于mC/OS,mC/0S-II移植与应用的文章。这些刊物对RTOS嵌入式应用的推广功不可没。

  mC/OS以及mC/0S-II在国内普及与推广的意义首先是提高了嵌入式工作者对RTOS的认知度,强化了学习使用RTOS的观念与意识,其后才是mC/OS、mC/0S-II本身的实用价值。mC/OS、mC/0S-II是一个小的实时内核,源码公开,有详尽的解释。正是因为其小,才便于研究、理解和掌握。

  两年来,笔者除给在校生上课外,也应邀为社会上的用户、公司举办过培训与讲座,从用户反映的问题来看,主要涉及“移植”与“应用”这两个方面。以下,笔者就如何开发基于mC/0S-II的应用软件和移植过程中使用的C编译器问题提出一些建议,并简要介绍μC/0S-II的最新版本V.2.52和mC/0S-II一书的第二版,供读者参考。

  基于mC/0S-II的应用软件由于mC/0S-II的商业价值得到了认可,一些基于mC/0S-II的商业软件也可以买到,如TCP/IP协议栈、蓝牙通信软件、红外通信软件等(见UCOS-III.com网站)。我们这里说的是如何自己开发这类应用软件。以TCP/IP协议栈为例,如果需要全套的TCP/IP功能,可以直接使用嵌入式Linux ,如mCLinux、 RTEMS等。以mCLinux为例,内核本身要占用512KB内存,TCP/IP部分也有70B至80KB.mC/05II特定的是一个小内核,本身占用内存在10KB量级上。对于特定的应用,嵌入mC/0S-II的产品往往只需要TCP/IP中某一小部分。参照TCP/IP协议标准和一些公开出版的图书,以及网上的源码资源,自己写这一部分并非十分困难。举例说来,如果用户已经完成了一套基于mC/0S-II的单片机控制系统,而单片机仍有一定的剩余负荷可支持网络通信,用户希望能通过Internet网远程控制该系统。在硬件上,可以通过RS-232和Modem拨号上网,也可以加一片网络接口芯片如RTL8019直接上网。软件开发方面,TCP/IP的标准可以从www.rfc-editor.org中找到,一本不错的参考书,是英国人Jeremy Bentham所著《TCP/IP Lean Web Servers for Embedded Systems》。这本约400页的书后所附光盘中有实现一个瘦服务器的全部源代码。书中以Microchip的8位单片机PIC16CF6为例,实现了单片机通过Modem拨号上网的功能。参照上述资料,我们在8位、16位、32位 Motorola单片机上也实现了通过RTL8019 Internet网接口芯片直接上网的功能。在写这些软件时,我们发现,在mC/0S-II下写TCP/IP通信软件,比传统的前后台系统要方便很多。单片机要在完成原来控制系统功能的前提下,同时实现网络通信,又是发送又是接收,没有RTOS支持简直不可想象。从代码长度看,实现基本功能的TCP/IP协议栈只需要大约7KB目标代码,比使用mCLinux显然有优势。上面提到的瘦服务器(Lean Server)一书是一本畅销书,其第二版已经出版了,据悉机械工业出版社已购买了中译本版权,希望不久的将来能见到该书的中译本。

  mC/0S-II的移植mC/0S-II是专门为单片机嵌入式应用设计的实时操作系统内核,主体用标准的ANSI C语言写成,可移植性极好。目前已被成功地移植到四十多种CPU上,包括8位、16位、32位及64位单片机,包括若干种dsp,因为移植的范例大多可以从网上下载,故移植起来并不困难。综合来自各方面的反映,移植难度并不在于mC/0S-II源代码本身,而在于不同用户使用了不同的C编译器,由于编译器的差异而引发的移植方面的问题有时很难得到友人的帮助。而对于嵌入式应用潜在市场群体—正在高校就读的研究生们说来,困难还在于:几乎所有用于单片机的C编译器都是商业软件,其中有些还相当贵。
返回列表