?? 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 + -