📄 uc-os-ii的特点--电子门.htm
字号:
]</SPAN></DIV></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%"
border=0>
<TBODY>
<TR>
<TD height=3> </TD></TR></TBODY></TABLE>
<TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0
cellPadding=0 width="100%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=oblog_text><SPAN
id=ob_logd10723></SPAN>
<UL>
<LI>
<DIV align=left><SPAN class=p4>公开源代码
</SPAN></DIV>
<DIV align=left><SPAN
class=p4><BR>前面已经提到,本书包含μC/OS-Ⅱ的全部源代码。我尽了极大努力以提供给读者高质量的软件。读者可能不喜欢我在源程序中使用的某些格式,但你得承认,这份源码清晰易读且结构协调。许多商业实时内核的软件是以源代码形式提供的。读者可以找一个来比比看。看他有没有像μC/OS-Ⅱ那样干净漂亮和谐一致,有没有注解的那么详尽,组织得那么有序。我认为仅仅给出一个源码是远远不够的,读者还想知道这些代码的工作原理是什么以及这一段一段的代码是怎么拼到一起的。这些信息都在这本书里。有那么多文件,好几千行的程序,如果单从读源码入手,实时内核的整体架构并不是那么容易弄清楚。<BR><BR></SPAN></DIV>
<LI>
<DIV align=left><SPAN
class=p4>可移植性(Portable)</SPAN> </DIV>
<DIV align=left><SPAN
class=p4><BR>绝大部分μC/OS-Ⅱ的源码是用移植性很强的ANSI
C写的。和微处理器硬件相关的那部分是用汇编语言写的。汇编语言写的部分已经压到最低限度,使得μC/OS-Ⅱ便于移植到其他微处理器上。如同μC/OS一样,μC/OS-Ⅱ可以移植到许许多多微处理器上。条件是,只要该微处理器有堆栈指针,由CPU内部寄存器入栈、出栈指令。另外,使用的C编译器必须支持内嵌汇编(inline
assembly)或者该C语言可扩展、可连接汇编模块,使得关中断、开中断能在C语言程序中实现。μC/OS-Ⅱ可以在绝大多数8位、16位、32位以至64位微处理器、微控制器、数字信号处理器(DSP)上运行。</SPAN>
<SPAN
class=p4>从移植了的μC/OS升级到μC/OS-Ⅱ,全部工作一个小时左右就可完成。因为μC/OS-Ⅱ和μC/OS是向下兼容的,应用程序从μC/OS升级到μC/OS-Ⅱ几乎不需要改动或根本不需要改动。移植的范例可以从互联网上找到,网址是www.uCOS-Ⅱ.com。<BR><BR></SPAN></DIV>
<LI>
<DIV align=left><SPAN class=p4>可固化(ROMable)
</SPAN><SPAN
class=p4><BR><BR>μC/OS-Ⅱ是为嵌入式应用而设计的,这就意味着,只要读者有固化手段(C编译、连接、下载和固化),μC/OS-Ⅱ可以嵌入到读者的产品中成为产品的一部分。<BR><BR></SPAN></DIV>
<LI>
<DIV align=left><SPAN class=p4>可裁剪(Scalable)
</SPAN></DIV>
<DIV align=left><SPAN
class=p4><BR>可以只使用μC/OS-Ⅱ中应用程序需要的那些]系统服务。也就是说某产品可以只使用很少几个μC/OS-Ⅱ调用,而另一个产品则使用了几乎所有μC/OS-Ⅱ的功能。这样可以减少产品中的]
μC/OS-Ⅱ所需的存储空间(RAM和ROM),这种可裁剪性是靠条件编译实现的。只要在用户的应用程序中(用#define
constants
语句)定义哪些μC/OS-Ⅱ中的功能是应用程序需要的就可以了。程序和数据两部分的存储用量已被最大努力的压低了。<BR><BR></SPAN></DIV>
<LI>
<DIV align=left><SPAN
class=p4>占先式(Preemptive)</SPAN></DIV>
<DIV align=left><SPAN
class=p4><BR>μC/OS-Ⅱ完全是占先式的实时内核。这意味着μC/OS-Ⅱ总是运行就绪条件下优先级最高的任务。大多数商业内核也是占先式的,μC/OS-Ⅱ在性能上和它们类似。<BR><BR></SPAN></DIV>
<LI>
<DIV align=left><SPAN class=p4>多任务</SPAN></DIV>
<DIV align=left><SPAN
class=p4><BR>μC/OS-Ⅱ可以管理64个任务,然而,目前这一版本保留8个给系统。应用程序最多可以有56个任务。赋予每个任务的优先级必须是不同的,这意味着μC/OS-Ⅱ不支持时间片轮转调度法(Round-robin
Scheduling)。该调度法适用于调度优先级平等的任务。<BR><BR></SPAN></DIV>
<LI>
<DIV align=left><SPAN class=p4>可确定性
</SPAN></DIV>
<DIV align=left><SPAN
class=p4><BR>全部μC/OS-Ⅱ的函数调用与服务的执行时间具有其可确定性。也就是说,全部μC/OS-Ⅱ的函数调用与服务的执行时间是可知的。进而言之,μC/OS系统服务的执行时间不依赖于应用程序任务的多少。<BR><BR></SPAN></DIV>
<LI>
<DIV align=left><SPAN class=p4>任务栈 </SPAN></DIV>
<DIV align=left><SPAN
class=p4><BR>每个任务有自己单独的栈,μC/OS-Ⅱ允许每个任务有不同的栈空间。以便压低应用程序对RAM的需求。使用μC/OS-Ⅱ的栈空间校验函数,可以确定每个任务到底需要多少栈空间。<BR><BR></SPAN></DIV>
<LI>
<DIV align=left><SPAN class=p4>系统服务
</SPAN></DIV>
<DIV align=left><SPAN
class=p4><BR>μC/OS-Ⅱ提供很多系统服务,例如邮箱、消息队列、信号量、块大小固定的内存的申请与释放、时间相关函数等。<BR><BR></SPAN></DIV>
<LI>
<DIV align=left><SPAN class=p4>中断管理</SPAN></DIV>
<DIV align=left><SPAN
class=p4><BR>中断克以使正在执行的任务暂时挂起。如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达255层。<BR><BR></SPAN></DIV>
<LI>
<DIV align=left><SPAN
class=p4>稳定性与可靠性<BR></SPAN><BR><SPAN
class=p4>μC/OS-Ⅱ是基于μC/OS的,μC/OS自1992年以来已经有好几百个商业应用。μC/OS-Ⅱ与μC/OS的内核是一样的,只不过提供了更多的功能。</SPAN></DIV></LI></UL></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%"
border=0>
<TBODY>
<TR>
<TD height=3> </TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%"
border=0>
<TBODY>
<TR>
<TD class=seyle5 height=13>
<DIV align=right><SPAN class=textbox-urls><A
href="http://www.mcublog.com/blog/user1/7610/archives/2006/10723.html#">阅读全文<SPAN
id=ob_logreaded></SPAN></A> | <A
href="http://www.mcublog.com/blog/user1/7610/archives/2006/10723.html#cmt">回复(0)</A>
<SPAN id=ob_logm10723></SPAN>| <A
href="http://www.mcublog.com/blog/showtb.asp?id=10723"
target=_blank>引用通告<SPAN id=ob_tbnum></SPAN></A> |
<A
href="http://www.mcublog.com/blog/user_post.asp?logid=10723"
target=_blank>编辑</A></SPAN></DIV></TD></TR></TBODY></TABLE>
<TABLE height=14 cellSpacing=0 cellPadding=0
width="100%" align=center border=0>
<TBODY>
<TR>
<TD> </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<DIV id=morelog>
<UL>
<LI>上一篇:<A
href="http://www.mcublog.com/blog/user1/7610/archives/2006/10654.html">rtems:时间函数</A>
<LI>下一篇:<A
href="http://www.mcublog.com/blog/user1/7610/archives/2006/10724.html">uC/OS-II任务栈处理的一种改进方法</A>
</LI></UL></DIV>
<DIV id=form_comment>
<DIV id=gg_usercomment></DIV><A name=cmt></A>
<DIV class=title>发表评论:</DIV>
<FORM id=commentform name=commentform
onsubmit="return Verifycomment()"
action=/blog/savecomment.asp?logid=10723 method=post>
<DIV class=d1><LABEL>昵称:<INPUT id=UserName maxLength=20
name=UserName></LABEL></DIV>
<DIV class=d2><LABEL>密码:<INPUT id=Password type=password
maxLength=20 name=Password> (游客无须输入密码)</LABEL></DIV>
<DIV class=d3><LABEL>主页:<INPUT id=homepage maxLength=50
size=42 value=http:// name=homepage></LABEL></DIV>
<DIV class=d4><LABEL>标题:<INPUT id=commenttopic maxLength=50
size=42 value=Re:uC/OS-II的特点 name=commenttopic></LABEL></DIV>
<DIV class=d5><INPUT id=edit type=hidden name=edit>
<DIV id=oblog_edit>MCU博客数据载入中, 请稍候...</DIV></DIV>
<DIV class=d6><SPAN id=ob_code></SPAN><INPUT onclick='oblog_edittext.createTextRange().execCommand("Copy");' type=submit value= 提 交 ></DIV></FORM></DIV></TD></TR></TBODY></TABLE></DIV></TD>
<TD vAlign=top width=243>
<TABLE cellSpacing=0 cellPadding=0 width="99%"
background=uC-OS-II的特点--电子门.files/index_09.gif border=0>
<TBODY>
<TR>
<TD vAlign=top><BR>
<TABLE style="TABLE-LAYOUT: fixed; OVERFLOW: hidden"
cellSpacing=0 cellPadding=0 width="90%" align=center
border=0><TBODY>
<TR>
<TD>
<DIV id=placard>MCU博客数据载入中,
请稍候...</DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE class=table3 cellSpacing=0 cellPadding=0 width="99%"
align=center border=0>
<TBODY>
<TR>
<TD class=b2 align=middle height=43>时 间 记 忆</TD></TR>
<TR>
<TD align=middle>
<DIV class=content4>
<DIV id=calendar>MCU博客数据载入中,
请稍候...</DIV></DIV></TD></TR></TBODY></TABLE><!-- BEGIN: last_followups -->
<TABLE class=table3 cellSpacing=0 cellPadding=0 width="99%"
align=center border=0>
<TBODY>
<TR>
<TD class=b2 align=middle height=43>最 新 评 论</TD></TR><!-- BEGIN: followups_row -->
<TR>
<TD>
<DIV class=content4>
<DIV id=comment>MCU博客数据载入中, 请稍候...</DIV></DIV></TD></TR><!-- END: followups_row --></TBODY></TABLE><!-- END: last_followups -->
<TABLE class=table3 cellSpacing=0 cellPadding=0 width="99%"
align=center border=0>
<TBODY>
<TR>
<TD class=b2 align=middle height=43>专 题 分 类</TD></TR>
<TR>
<TD>
<DIV class=content4>
<DIV id=subject>MCU博客数据载入中,
请稍候...</DIV></DIV></TD></TR></TBODY></TABLE><!-- BEGIN: last_tb -->
<TABLE class=table3 cellSpacing=0 cellPadding=0 width="99%"
align=center border=0>
<TBODY>
<TR>
<TD class=b2 align=middle height=43>最 新 日 志</TD></TR>
<TR>
<TD>
<DIV class=content4><!-- BEGIN: tb -->
<DIV id=newblog>MCU博客数据载入中,
请稍候...</DIV><!-- END: tb --></DIV></TD></TR></TBODY></TABLE><!-- END: last_tb -->
<TABLE class=table3 cellSpacing=0 cellPadding=0 width="99%"
align=center border=0>
<TBODY>
<TR>
<TD class=b2 align=middle height=43>最 新 留 言</TD></TR>
<TR>
<TD>
<DIV class=content4>
<DIV id=newmessage>MCU博客数据载入中,
请稍候...</DIV></DIV></TD></TR></TBODY></TABLE>
<TABLE class=table3 cellSpacing=0 cellPadding=0 width="99%"
align=center border=0>
<TBODY>
<TR>
<TD class=b2 align=middle height=43>搜 索</TD></TR>
<TR>
<TD>
<DIV class=content4>
<DIV id=search>MCU博客数据载入中,
请稍候...</DIV></DIV></TD></TR></TBODY></TABLE>
<TABLE class=table3 cellSpacing=0 cellPadding=0 width="99%"
align=center border=0>
<TBODY>
<TR>
<TD class=b2 align=middle height=43>用 户 登 录</TD></TR>
<TR>
<TD align=middle>
<DIV class=content4>
<DIV id=ob_login>MCU博客数据载入中,
请稍候...</DIV></DIV></TD></TR></TBODY></TABLE><!-- BEGIN: link -->
<TABLE class=table3 cellSpacing=0 cellPadding=0 width="99%"
align=center border=0>
<TBODY>
<TR>
<TD class=b2 align=middle height=43>友 情 连 接</TD></TR>
<TR>
<TD>
<TABLE style="TABLE-LAYOUT: fixed; OVERFLOW: hidden"
cellSpacing=0 cellPadding=0 width="87%" align=center
border=0><TBODY>
<TR>
<TD class=b1>
<DIV id=links></DIV>
<DIV
id=gg_userlinks></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE class=table3 cellSpacing=0 cellPadding=0 width="99%"
align=center border=0>
<TBODY>
<TR>
<TD class=b2 align=middle height=43>博 客 信 息</TD></TR>
<TR>
<TD>
<TABLE class=b1 cellSpacing=5 cellPadding=2 width="100%"
align=right border=0>
<TBODY>
<TR>
<TD class=b1 align=left>
<DIV id=info>MCU博客数据载入中, 请稍候...</DIV>
<DIV id=aobomusic></DIV></TD></TR>
<TR>
<TD class=b1 align=left>
<DIV id=xml><SPAN id=txml></SPAN><BR><BR><A
href="http://www.mcublog.com/blog/user1/7610/rss2.xml"
target=_blank><IMG height=14
src="uC-OS-II的特点--电子门.files/xml.gif" width=36
border=0></A></DIV></TD></TR>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-0269824239044964";
google_ad_width = 160;
google_ad_height = 600;
google_ad_format = "160x600_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFCC66";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//-->
</SCRIPT>
<TR>
<TD <SCRIPT
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"
type="text/javascript"></SCRIPT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!-- END: link --></TD></TR></TBODY></TABLE></TD></TD>
<TD vAlign=top width=126><IMG height=1115 alt=""
src="uC-OS-II的特点--电子门.files/index_03.jpg" width=126></TD></TR></TBODY></TABLE>
<TABLE class=content6 cellSpacing=0 cellPadding=0 width=996 border=0>
<TBODY>
<TR>
<TD vAlign=top align=middle></TD></TR></TBODY>
<TBODY>
<TR>
<TD vAlign=top align=middle>
<TR>
<TD>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-0269824239044964";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
//-->
</SCRIPT>
<SCRIPT src="uC-OS-II的特点--电子门.files/show_ads.js" type=text/javascript>
</SCRIPT>
</TD></TR></TBODY></TABLE><SPAN id=gg_userbot></SPAN>
<DIV id=powered><A href="http://www.oblog.cn/" target=_blank><IMG
alt="Powered by Oblog." src="uC-OS-II的特点--电子门.files/oblog_powered.gif"
border=0></A></DIV>
<SCRIPT src="uC-OS-II的特点--电子门.files/200604.htm"></SCRIPT>
<SCRIPT src="uC-OS-II的特点--电子门.files/count.htm"></SCRIPT>
<SCRIPT src="uC-OS-II的特点--电子门.files/commentedit.htm"></SCRIPT>
<SCRIPT src="F:\ucos\新资料\uC-OS-II的特点--电子门.files\count(1).htm"></SCRIPT>
<SCRIPT src="uC-OS-II的特点--电子门.files/login.htm"></SCRIPT>
<SCRIPT src="uC-OS-II的特点--电子门.files/ShowXml.htm"></SCRIPT>
<SCRIPT src="F:\ucos\新资料\uC-OS-II的特点--电子门.files\count(2).htm"></SCRIPT>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -