欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      uc-OS實時操作系統(tǒng)的應(yīng)用和學習心得

      時間:2019-05-12 14:43:27下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《uc-OS實時操作系統(tǒng)的應(yīng)用和學習心得》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《uc-OS實時操作系統(tǒng)的應(yīng)用和學習心得》。

      第一篇:uc-OS實時操作系統(tǒng)的應(yīng)用和學習心得

      uc/OS實時操作系統(tǒng)的應(yīng)用和學習心得

      這是小弟我最近的研究成果,跟大家交流一下。目前正在研究嵌入式實時軟件系統(tǒng)設(shè)計方法,有興趣的高手交流一下。這里給大家簡單剖析一下uCOS吧,希望對大家能有所幫助。不足之處多多指教,有問題可以討論。一.uC/OS-II的移植

      移植uC/OS對目標處理器有一定要求,這個可以參照<>一書中第8章的內(nèi)容.整個嵌入式系統(tǒng)分為兩大層:硬件層和軟件層.這里主要研究軟件層的架構(gòu).軟件層主要分為四個部分:實時操作系統(tǒng)內(nèi)核,與處理器相關(guān)部分,與應(yīng)用相關(guān)部分,用戶的應(yīng)用系統(tǒng).l 實時操作系統(tǒng)內(nèi)核

      實時操作系統(tǒng)對系統(tǒng)資源進行管理。主要包括任務(wù)分配和調(diào)度、系統(tǒng)時鐘服務(wù)、內(nèi)存管理、消息機制、異常處理等等。uC/OS所有系統(tǒng)服務(wù)均由內(nèi)核提供。內(nèi)核將應(yīng)用系統(tǒng)和底層硬件結(jié)合成一個完整的實時系統(tǒng)。

      移植的時候內(nèi)核是不變的,開發(fā)者根據(jù)自己應(yīng)用系統(tǒng)的需要來選擇實時操作系統(tǒng)內(nèi)核,開發(fā)者不能對內(nèi)核隨意訪問,只能使用內(nèi)核提供的功能服務(wù)來開發(fā)自己的應(yīng)用系統(tǒng)。內(nèi)核確定,那么所提供的系統(tǒng)管理能力,系統(tǒng)服務(wù)也就得到了限定。開發(fā)者只能在規(guī)定的范圍內(nèi)對系統(tǒng)作些改動.2 與處理器相關(guān)的代碼

      這是移植中最關(guān)鍵的部分.內(nèi)核將應(yīng)用系統(tǒng)和底層硬件有機的結(jié)合成一個實時系統(tǒng),要使同一個內(nèi)核能適用于不同的硬件體系,就需要在內(nèi)核和硬件之間有一個中間層,這就是與處理器相關(guān)的代碼.處理器不同,這部分代碼也不同.我們在移植時需要自己處理這部分代碼,可以自己編寫,也可以直接使用已經(jīng)成功移植的代碼.在uC/OS中這一部分代碼分成三個文件:OS_CPU.H, OS_CPU_A.ASM, OS_CPU_C.C 1)OS_CPU.H 包括了用#define定義的與處理器相關(guān)的常量,宏和類型定義.具體來講有系統(tǒng)數(shù)據(jù)類型定義,棧增長方向定義,關(guān)中斷和開中斷定義,系統(tǒng)軟中斷的定義等等.2)OS_CPU_A.ASM 這部分需要對處理器的寄存器進行操作,所以必須用匯編語言來編寫.包括四個子函數(shù):OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR().OSStartHighRdy()在多任務(wù)系統(tǒng)啟動函數(shù)OSStart()中調(diào)用.完成的功能是:設(shè)置系統(tǒng)運行標志位OSRunning = TRUE;將就緒表中最高優(yōu)先級任務(wù)的棧指針Load到SP中,并強制中斷返回.這樣就緒的最高優(yōu)先級任務(wù)就如同從中斷里返回到運行態(tài)一樣,使得整個系統(tǒng)得以運轉(zhuǎn).OSCtxSw()在任務(wù)級任務(wù)切換函數(shù)中調(diào)用的.任務(wù)級切換是通過SWI或者TRAP人為制造的中斷來實現(xiàn)的.ISR的向量地址必須指向OSCtxSw().這一中斷完成的功能:保存任務(wù)的環(huán)境變量(主要是寄存器的值,通過入棧來實現(xiàn)),將當前SP存入任務(wù)TCB中,載入就緒最高優(yōu)先級任務(wù)的SP,恢復就緒最高優(yōu)先級任務(wù)的環(huán)境變量,中斷返回.這樣就完成了任務(wù)級的切換.OSIntCtxSw()在退出中斷服務(wù)函數(shù)OSIntExit()中調(diào)用,實現(xiàn)中斷級任務(wù)切換.由于是在中斷里調(diào)用,所以處理器的寄存器入棧工作已經(jīng)做完,就不用作這部分工作了.具體完成的任務(wù):調(diào)整棧指針(因為調(diào)用函數(shù)會使任務(wù)棧結(jié)構(gòu)與系統(tǒng)任務(wù)切換時堆棧標準結(jié)構(gòu)不一致),保存當前任務(wù)SP,載入就緒最高優(yōu)先級任務(wù)的SP,恢復就緒最高優(yōu)先級任務(wù)的環(huán)境變量,中斷返回.這樣就完成了中斷級任務(wù)切換.OSTickISR()系統(tǒng)時鐘節(jié)拍中斷服務(wù)函數(shù),這是一個周期性中斷,為內(nèi)核提供時鐘節(jié)拍.頻率越高系統(tǒng)負荷越重.其周期的大小決定了內(nèi)核所能給應(yīng)用系統(tǒng)提供的最小時間間隔服務(wù).一般只限于ms級(跟MCU有關(guān)),對于要求更加苛刻的任務(wù)需要用戶自己建立中斷來解決.該函數(shù)具體內(nèi)容:保存寄存器(如果硬件自動完成就可以省略),調(diào)用OSIntEnter(),調(diào)用OSTimeTick(),調(diào)用OSIntExit(),恢復寄存器,中斷返回.3)OS_CPU_C.C UC/OS中共定義了6個函數(shù)在該文件中.但是最重要的是OSTaskStkInit().其他都是對系統(tǒng)內(nèi)核的擴展時用的.OSTaskStkInit()是在用戶建立任務(wù)時系統(tǒng)內(nèi)部自己調(diào)用的,對用戶任務(wù)的堆棧進行初始化.使建立好的進入就緒態(tài)任務(wù)的堆棧與系統(tǒng)發(fā)生中斷并且將環(huán)境變量保存完畢時的棧結(jié)構(gòu)一致.這樣就可以用中斷返回指令使就緒的任務(wù)運行起來.具體的入棧方式要根據(jù)不同mcu而定.需要參考用戶使用的mcu說明書.同時還要考慮mcu的棧生成方式.這需要根據(jù)具體問題來分析,在此不做過多論述.3 與應(yīng)用相關(guān)的代碼

      這一部分是用戶根據(jù)自己的應(yīng)用系統(tǒng)來定制合適的內(nèi)核服務(wù)功能.包括兩個文件:OS_CFG.H, INCLUDES.H.OS_CFG.H來配置內(nèi)核,用戶根據(jù)需要對內(nèi)核進行定制,留下需要的部分,去掉不需要的部分,設(shè)置系統(tǒng)的基本情況.比如系統(tǒng)可提供的最大任務(wù)數(shù)量,是否定制郵箱服務(wù),是否需要系統(tǒng)提供任務(wù)掛起功能,是否提供任務(wù)優(yōu)先級動態(tài)改變功能等等.INCLUDES.H系統(tǒng)頭文件,整個實時系統(tǒng)程序所需要的文件,包括了內(nèi)核和用戶的頭文件.4 用戶應(yīng)用系統(tǒng)

      這是整個實時系統(tǒng)的最高層,用戶通過利用實時操作系統(tǒng)提供的服務(wù)來開發(fā)自己的具體程序.二.用戶應(yīng)用系統(tǒng)編寫的模式

      kernel提供給用戶一些功能函數(shù),使得用戶的系統(tǒng)建立更加方便,但是kernel內(nèi)部不會處理用戶的工作,對于整個系統(tǒng)的具體應(yīng)用工作還得需要用戶自己去考慮,如何利用好這些功能服務(wù)函數(shù)就成為一個比較重要的問題.1.main函數(shù)的結(jié)構(gòu) void main(void){ 初始化系統(tǒng)的硬件;OSInit();任務(wù)的建立,消息機制的建立;OSStart();} 這里需要的是在OSStart()執(zhí)行之前不得啟動中斷,硬件系統(tǒng)還不能工作.必須先讓軟件系統(tǒng)進入工作狀態(tài)后才行.2.中斷的結(jié)構(gòu) ISR: { 保存處理器寄存器的值;調(diào)用OSIntEnter();執(zhí)行用戶的工作;調(diào)用OSIntExit();恢復處理器寄存器的值;RTI;} 用戶的中斷形式和以前一樣,沒有什么大的變化,僅僅是在原來用戶ISR的基礎(chǔ)上在固定的位置加了兩個函數(shù):OSIntEnter(), OSIntExit().3.各個任務(wù)的結(jié)構(gòu) void YourTask(void){ for(;;){ 用戶代碼 調(diào)用的系統(tǒng)服務(wù) } } 在任務(wù)啟動函數(shù)執(zhí)行完后,系統(tǒng)會切換到最高優(yōu)先級的任務(wù)去執(zhí)行,此時,可以將系統(tǒng)硬件部分的啟動放在該任務(wù)的最前邊,僅僅是啟動時執(zhí)行一次,主要是啟動系統(tǒng)的節(jié)拍中斷,或者一些必須在多任務(wù)系統(tǒng)調(diào)度后才能初始化的部分,使系統(tǒng)的真正開始工作,達到軟件硬件的基本同步.Void HighestPrioTask(void){ OSStartHardware();For(;;){ 用戶代碼 調(diào)用的系統(tǒng)服務(wù) } } 用戶可以按照這些格式去編寫自己的任務(wù),建立自己的應(yīng)用系統(tǒng).

      第二篇:UCOS學習心得

      ucos學習分析總結(jié)

      2009-11-08 19:54:0

      2此資料由自己學習總結(jié)和網(wǎng)上收集整理來的大家相互學習交流

      龍心

      2009.9.10

      1.在uC/OS-II的幫助手冊內(nèi),作者特地強調(diào)絕對不能在OSInit()或者OSStart()內(nèi)

      調(diào)用Timer初始化程序,那會破壞系統(tǒng)的可移植性同時帶來性能上的損失。

      所以,一個折中的辦法就是:

      在優(yōu)先級最高的程序內(nèi)調(diào)用,這樣可以保證當OSStart()調(diào)用系統(tǒng)內(nèi)部函數(shù)

      OSStartHighRdy()開始多任務(wù)后,首先執(zhí)行的就是Timer初始化程序?;蛘?/p>

      專門開一個優(yōu)先級最高的任務(wù),只做一件事情,那就是執(zhí)行 Timer初始化,之后通過調(diào)用OSTaskSuspend()將自己掛起來,永遠不再執(zhí)行。不過這樣會

      浪費一個TCB空間。對于那些RAM吃緊的系統(tǒng)來說,還是不用為好。

      2.(三)一些重要的uC/OS-II API介紹

      任何一個操作系統(tǒng)都會提供大量的API供程序員使用,uC/OS-II也不例外。由于uC/OS-II面向的是嵌入式開發(fā),并不要求大而全,所以內(nèi)核提供的API也就大多和多任務(wù)息息相關(guān)。主要的有以下幾類:

      1)任務(wù)類

      2)消息類

      3)同步類

      4)時間類

      5)臨界區(qū)與事件類

      我個人認為對于初級程序員而言,任務(wù)類和時間類是必須要首先掌握的兩種類型的API。下面我就來介紹比較重要的:

      1)OSTaskCreate函數(shù)

      這個函數(shù)應(yīng)該至少再main函數(shù)內(nèi)調(diào)用一次,在OSInit函數(shù)調(diào)用之后調(diào)用。作用就是創(chuàng)建 一個任務(wù)。目前有四個參數(shù),分別是任務(wù)的入口地址,任務(wù)的參數(shù), 任務(wù)堆棧的首地址和

      任務(wù)的優(yōu)先級。調(diào)用本函數(shù)后,系統(tǒng)會首先從TCB空閑列表內(nèi)申請一個空的TCB指針,然后 將會根據(jù)用戶給出參數(shù)初始化任務(wù)堆棧,并在內(nèi)部的任務(wù)就緒表內(nèi)標記該任務(wù)為就緒狀態(tài)。

      最后返回,這樣一個任務(wù)就創(chuàng)建成功了。

      2)OSTaskSuspend函數(shù)

      這個函數(shù)很簡單,一看名字就該明白它的作用,它可以將指定的任務(wù)掛起。如果掛起的是 當前任務(wù)的話,那么還會引發(fā)系統(tǒng)執(zhí)行任務(wù)切換先導函數(shù)OSShed來進行一次任務(wù)切換。這個函數(shù)只有一個參數(shù),那就是指定任務(wù)的優(yōu)先級。那為什么是優(yōu)先級呢?事實上在系統(tǒng) 內(nèi)部,優(yōu)先級除了表示一個任務(wù)執(zhí)行的先后次序外,還起著分別每一個任務(wù)的作用,換句話 說,優(yōu)先級也就是任務(wù)的ID。所以uC/OS-II不允許出現(xiàn)相同優(yōu)先級的任務(wù)。

      3)OSTaskResume函數(shù)

      這個函數(shù)和上面的函數(shù)正好相反,它用于將指定的已經(jīng)掛起的函數(shù)恢復成就緒狀態(tài)。如果 恢復任務(wù)的優(yōu)先級高于當前任務(wù),那么還為引發(fā)一次任務(wù)切換。其參數(shù)類似

      OSTaskSuspend

      函數(shù),為指定任務(wù)的優(yōu)先級。需要特別說明是,本函數(shù)并不要求和OSTaskSuspend函數(shù)成對使

      用。

      4)OS_ENTER_CRITICAL宏

      很多人都以為它是個函數(shù),其實不然,仔細分析一下OS_CPU.H文件,它和下面馬上要談到的 OS_EXIT_CRITICAL都是宏。他們都是涉及特定 CPU的實現(xiàn)。一般都被替換為一條或者幾條

      嵌入式匯編代碼。由于系統(tǒng)希望向上層程序員隱藏內(nèi)部實現(xiàn),故而一般都宣稱執(zhí)行此條指 令后系統(tǒng)進入臨界區(qū)。其實, 它就是關(guān)個中斷而已。這樣,只要任務(wù)不主動放棄CPU使用權(quán), 別的任務(wù)就沒有占用CPU的機會了,相對這個任務(wù)而言,它就是獨占了。所以說進入臨界區(qū)了。

      這個宏能少用還是少用,因為它會破壞系統(tǒng)的一些服務(wù),尤其是時間服務(wù)。并使系統(tǒng)對外界響 應(yīng)性能降低。

      5)OS_EXIT_CRITICAL宏

      這個是和上面介紹的宏配套使用另一個宏,它在系統(tǒng)手冊里的說明是退出臨界區(qū)。其實它就 是重新開中斷。需要注意的是,它必須和上面的宏成對出現(xiàn),否則會帶來意想不到的后果。最壞的情況下,系統(tǒng)會崩潰。我們推薦程序員們盡量少使用這兩個宏調(diào)用,因為他們的確會

      破壞系統(tǒng)的多任務(wù)性能。

      6)OSTimeDly函數(shù)

      這應(yīng)該程序員們調(diào)用最多的一個函數(shù)了,這個函數(shù)完成功能很簡單,就是先掛起當起當前任務(wù),然后進行任務(wù)切換,在指定的時間到來之后,將當前任務(wù)恢復為就緒狀態(tài),但是并不一定運行, 如果恢復后是優(yōu)先級最高就緒任務(wù)的話,那么運行之。簡單點說,就是可以任務(wù)延時一定時間 后再次執(zhí)行它,或者說,暫時放棄CPU的使用權(quán)。一個任務(wù)可以不顯式的調(diào)用這些可以導致放棄CPU使用權(quán)的API,但那樣多任務(wù)性能會大大降低,因為此時僅僅依靠時鐘機制在進行任務(wù)切換。一個好的任務(wù)應(yīng)該在完成一些操作主動放棄使用權(quán),好東西要大家分享嘛!

      3.我們推薦程序員們盡量少使用OS_ENTER_CRITICAL宏和 OS_EXIT_CRITICAL宏兩個宏調(diào)用,因為他們的確會破壞系統(tǒng)的多任務(wù)性能。why??

      4.在以uC/OS為操作系統(tǒng)的項目中,系統(tǒng)可能要處理各種不同的中斷請求,如果某個中斷處理

      程序需要調(diào)用uC/OS的各種Post函數(shù)向任務(wù)發(fā)出消息,那么uC/OS建議中斷服務(wù)程序的寫法是:

      1、保存全部CPU寄存器

      2、調(diào)用OSIntEnter或OSIntNesting直接加

      13、執(zhí)行用戶代碼做中斷服務(wù)

      4、調(diào)用OSIntExit5、恢復所有CPU寄存器

      6、執(zhí)行中斷返回指令

      暫且稱為“標準中斷”方式,這種方式實際上是將這個中斷處理加入了任務(wù)調(diào)度系統(tǒng),也就是 說這個中斷可以引起任務(wù)的切換。

      第三篇:實時操作系統(tǒng)報告

      實時操作系統(tǒng)課程實驗報告

      專業(yè):通信1001 學號:3100601025 姓名:陳治州

      完成時間:2013年6月11日

      實驗 簡易電飯煲的模擬

      一.實驗?zāi)康模?/p>

      掌握在基于嵌入式實時操作系統(tǒng)μC/OS-II的應(yīng)用中,基于多任務(wù)的模式的編程方法。鍛煉綜合應(yīng)用多任務(wù)機制,任務(wù)間的通信機制,內(nèi)存管理等的能力。

      二.實驗要求:

      1.按“S”開機,系統(tǒng)進入待機狀態(tài),時間區(qū)域顯示當前北京時間,默認模式“煮飯”;2.按“C”選擇模式,即在“煮飯”、“煮粥”和“煮面”模式中循環(huán)選擇;

      3.按“B”開始執(zhí)行模式命令,“開始”狀態(tài)選中,時間區(qū)域開始倒計時,倒計時完成后進入“保溫”狀態(tài),同時該狀態(tài)顯示選中,時間區(qū)域顯示保溫時間;

      4.按“Q”取消當前工作狀態(tài),系統(tǒng)進入待機狀態(tài),時間區(qū)域顯示北京時間,模式為當前模式;

      5.按“X”退出系統(tǒng),時間區(qū)域不顯示。

      6.煮飯時長為30,煮粥時長為50,煮面時長為40.三.實驗設(shè)計:

      1.設(shè)計思路:

      以老師所給的五個程序為基礎(chǔ),看懂每個實驗之后,對borlandc的操作有了大概的認識,重點以第五個實驗Task_EX為框架,利用其中界面顯示與按鍵掃描以及做出相應(yīng)的響應(yīng),對應(yīng)實現(xiàn)此次實驗所需要的功能。

      本次實驗分為界面顯示、按鍵查詢與響應(yīng)、切換功能、時鐘顯示與倒計時模塊,綜合在一起實驗所需功能。2.模塊劃分圖:(1)界面顯示:

      Main()Taskstart()Taskstartdispinit()在TaskStartDispInit()函數(shù)中,使用PC_DispStr()函數(shù)畫出界面。(2)按鍵查詢與響應(yīng):

      Main()Taskstart()在TaskStart()函數(shù)中,用if(PC_GetKey(&key)== TRUE)判斷是否有按鍵輸入。然后根據(jù)key的值,判斷輸入的按鍵是哪一個;在響應(yīng)中用switch語句來執(zhí)行對應(yīng)按鍵的響應(yīng)。(3)切換功能:

      l計數(shù)“C”按鍵的次數(shù)M=l%3Switch(m)M=0,1,2對應(yīng)于煮飯,煮粥,煮面,然后使用PC_DispStr()函數(shù)在選擇的選項前畫上“@”指示,同時,在其余兩項錢畫上“ ”以“擦出”之前畫下的“@”,注意l自增。

      四.主要代碼:

      #include “stdio.h” #include “includes.h” #include “time.h” #include “dos.h” #include “sys/types.h” #include “stdlib.h” #define TASK_STK_SIZE

      512

      #define N_TASKS

      OS_STK

      TaskStk[N_TASKS][TASK_STK_SIZE];

      OS_STK

      TaskStartStk[TASK_STK_SIZE];

      INT8U

      TaskData[N_TASKS];

      void Task0(void *pdata);

      void TaskStart(void *pdata);

      static void TaskStartDispInit(void);

      void main(void){

      PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);

      OSInit();

      PC_DOSSaveReturn();

      PC_VectSet(uCOS, OSCtxSw);

      OSTaskCreate(TaskStart,(void *)0, &TaskStartStk[TASK_STK_SIZE-1], 4);

      OSStart();

      } void TaskStart(void *pdata){ #if OS_CRITICAL_METHOD == 3

      OS_CPU_SR cpu_sr;#endif

      INT8U l,m;

      INT16S key;

      l=0;

      pdata = pdata;

      TaskStartDispInit();

      OS_ENTER_CRITICAL();

      PC_VectSet(0x08, OSTickISR);

      PC_SetTickRate(OS_TICKS_PER_SEC);

      OS_EXIT_CRITICAL();

      OSStatInit();

      for(;;){

      if(PC_GetKey(&key)== TRUE)

      {

      switch(key)

      {

      case 0x1B:

      PC_DOSReturn();

      break;

      case 0x43:

      { m=(l%3);

      switch(m)

      { case 0: {

      PC_DispStr(26,6, “@”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);

      PC_DispStr(40,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(55,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);} break;

      case 1: { PC_DispStr(26,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);

      PC_DispStr(40,6, “@”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);

      PC_DispStr(55,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);} break;case 2: { PC_DispStr(26,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);

      PC_DispStr(40,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(55,6, “@”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);}

      break;}

      l++;} break;

      } } OSCtxSwCtr = 0;

      OSTimeDlyHMSM(0, 0, 1, 0);

      } } static void TaskStartDispInit(void){ PC_DispStr(0, 0, “

      uC/OS-II, The Real-Time Kernel

      ”, DISP_FGND_WHITE + DISP_BGND_RED + DISP_BLINK);PC_DispStr(0, 1, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 2, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 3, “

      dianfanbao shiyan

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 4, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 5, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 6, “

      kai shi.zhu fan.zhu zhou.zhu mian.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 7, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 8, “

      bao wen.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 9, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 10, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 11, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 12, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 13, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 14, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 15, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 16, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 17, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 18, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 19, “ 'S':kai ji.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);PC_DispStr(0, 20, “ 'C':mo shi qie huan.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);PC_DispStr(0, 21, “ 'B':kai shi zhi xin.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);PC_DispStr(0, 22, “ 'Q':qu xiao dang qian gong zuo zhuang tai.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);PC_DispStr(0, 23, “ 'X':tui chu xi tong.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);

      PC_DispStr(0, 24, “

      <-PRESS 'ESC' TO QUIT->

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);}

      五.運行界面:

      (1)主界面:

      (2)顯示北京時間:

      (3)模式切換:

      (4)倒計時:

      (5)保溫執(zhí)行時間:

      六.總結(jié):

      本次實驗主要以老師所給的實驗事例為基礎(chǔ),并結(jié)合老師課堂講的內(nèi)容,理解編寫程序。做實驗本實驗前,先執(zhí)行了一下事例程序,以此了解borlandc的一些基本操作;然后就是看懂每個實驗的框架和主要部分;接著,將事例程序中的部分思想運用到本次實驗中,其中以顯示界面的思想運用的最多;除此以外,在模式切換上花了最大的精力,最終的解決方法是以變量l作為一個計數(shù)值,并運用switch語句在選擇的模式上畫上“@”,同時還得注意在未選擇的模式上畫上空格來“擦除”之前畫上的@;在查詢按鍵上,同樣運用switch語句......這次實驗收獲不少,不僅對之前學的C語言有了更進一步的鞏固,而且還強化了ucos里面的多任務(wù)的一些認識;同時,以前對DOS界面很陌生,但本次實驗使用的正是DOS界面,通過幾天的經(jīng)歷,對DOS中的編譯、“help”等各個方面有了更深入的認識,不再害怕使用DOS了。

      對本課程有很大的興趣,在以后的課余時間里我會不斷學習這些知識。

      第四篇:基于UCOS嵌入式實時操作系統(tǒng)的單任務(wù)和多任務(wù)LED顯示總結(jié)----婁...

      基于uCOSII的單任務(wù)和多任務(wù)LED顯示

      一、uCOSII簡介

      uCOS II是一個微型的實時操作系統(tǒng),包括了一個操作系統(tǒng)最基本的一些特性,如任務(wù)調(diào)度、任務(wù)通信、內(nèi)存管理、中斷管理、定時管理等。而且這是一個代碼完全開放的實時操作系統(tǒng),簡單明了的結(jié)構(gòu)和嚴謹?shù)拇a風格,非常適合初涉嵌入式操作系統(tǒng)的人士學習。

      二、設(shè)計目的

      通過實驗,學習在uC/OSII操作系統(tǒng)中單任務(wù)控制LED閃爍和多個任務(wù)控制LED之間的切換和同步,以及多任務(wù)控制程序的編寫方法。

      三、裸機程序和uCOSII 的運行流程對比

      3.1 裸機程序的運行流程

      裸機主函數(shù)的運行流程:

      這個是我們寫一般的單片機程序的流程,就是在主函數(shù)中用死循環(huán)執(zhí)行功能函數(shù),然后加上中斷。3.2 uCOSII 的運行流程

      uCOSII是一個操作系統(tǒng),但是說到底也是一個支持任務(wù)切換的裸機程序。在初始化變量OSInit函數(shù)中,初始化所有全局變量,數(shù)據(jù)結(jié)構(gòu),創(chuàng)建最低優(yōu)先級空閑任務(wù)OSTaskIde,并創(chuàng)建6個空數(shù)據(jù)鏈表:空任務(wù)控制塊鏈表,空事件控制塊鏈表,空列隊控制塊鏈表,空標志組鏈表,空內(nèi)存控制塊鏈表,空閑定時器控制塊鏈表

      創(chuàng)建任務(wù) OSTaskCreate函數(shù),一般創(chuàng)建一個最高優(yōu)先級任務(wù)TaskStart任務(wù),任務(wù)調(diào)度后,在這個任務(wù)中再創(chuàng)建其他的任務(wù),初始化硬件,并打開中斷。

      進入多任務(wù)管理階段OSStart函數(shù),將就緒表中最高優(yōu)先級任務(wù)的棧指針加載到SP中,并強制中斷返回。

      任務(wù)調(diào)度工作就是查找就緒表中優(yōu)先級最高的任務(wù),實現(xiàn)任務(wù)的切換。簡單來說,裸機程序在主函數(shù)中通過死循環(huán)執(zhí)行各種函數(shù),最終達到實現(xiàn)各種功能函數(shù)的目的。而uCOSII系統(tǒng),通過不斷的產(chǎn)生定時中斷,或則任務(wù)主動放棄CPU,然后進行任務(wù)之間的調(diào)度,相當于不斷循環(huán)執(zhí)行不同的任務(wù),最終實現(xiàn)各種任務(wù)。

      四、工作原理

      4.1uCOSII 的內(nèi)核管理

      4.1.1 ucos的文件結(jié)構(gòu):

      應(yīng)用軟件Ucos(與處理器無關(guān)的代碼)OS_CORE.COS_FLAG.COS_MBOX.COS_MEM.COS_MUTEX.COS_Q.COS_SEM.COS_TASK.COS_TIME.CUCOS_11.CUCOS_11.HUCOS-11配置(與應(yīng)用相關(guān))OS_CFG.HINCLUDE.HUCOS移植(與處理器相關(guān)代碼)OS_CPU.H,OS_CPU_A.ASM,OS_CPU_C.C硬件4.1.2 臨界段:

      OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()。它們可以用不同的方法去實現(xiàn),用定義(#define)常數(shù)OS_CRITICAL_METHOD(1,2,3)來選擇用哪種方法來實現(xiàn)。

      當OS_CRITICAL_METHOD=1時,表示用處理器指令關(guān)中斷,完成OS_ENTER_CRITIACL,用開中斷完成OS_EXIT_CRITICAL.利用這種方法有點小問題,即是調(diào)用UCOS功能函數(shù)之前,中斷是關(guān)掉的,從UCOS返回后,中斷就打開了。

      當OS_CRITICAL_METHOD=2時,這種方法是在堆棧中保存中斷的開關(guān)狀態(tài),然后再關(guān)中斷。在實現(xiàn)OS_EXIT_CRITICAL時,只需簡單的從堆棧中彈出原來中斷的開關(guān)狀態(tài)。利用這種方法,不論用戶在調(diào)用函數(shù)之前中斷是開著的還是關(guān)著的,函數(shù)的進入和返回狀態(tài)都得到了保護。

      當OS_CRITICAL_METHOD=3時,一些編譯器提供了擴展功能,用戶可以得到當前處理器的狀態(tài)字,并保存在C函數(shù)的局部變量中,這個變量可以用于恢復PSW。在STM32中,我們一般都是用第三種模式。4.1.3 任務(wù)的狀態(tài):

      任務(wù)狀態(tài)之間的轉(zhuǎn)換如下圖:

      特別值得注意的是,在任務(wù)執(zhí)行的過程中可以被中斷打斷。4.1.4任務(wù)控制快:

      系統(tǒng)必須為每個任務(wù)創(chuàng)建一個保存與該任務(wù)有關(guān)的相關(guān)信息的數(shù)據(jù)結(jié)構(gòu),這個數(shù)據(jù)結(jié)構(gòu)就叫做該任務(wù)的任務(wù)控制塊(TCB)。當任務(wù)的CPU使用權(quán)被剝奪時UCOS利用它來保存任務(wù)的狀態(tài)。4.1.5就緒表:

      每個就緒的任務(wù)都放在就緒表中,就緒表中有兩個變量,OSRdyGRP和OSRdyTbl。OSRdyGrp中每一位表示8組任務(wù)中每一組是否有進入就緒態(tài)的任務(wù)。當有任務(wù)進入就緒態(tài)時,就緒表OSRdyTbl[]中相應(yīng)元素的相應(yīng)位也置為1。4.1.6任務(wù)調(diào)度OS_SCHED():

      Ucos總是進行進入就緒態(tài)任務(wù)中優(yōu)先級最高的任務(wù),確定哪個任務(wù)優(yōu)先級最高,這一工作就是有調(diào)度器完成的。4.1.7任務(wù)切換OS_TASK_SW():

      需恢復該任務(wù)在CPU使用權(quán)被剝奪時保存下來的全部寄存器的值,之后,運行被切換的任務(wù)。

      4.1.8給調(diào)度器上鎖和開鎖:

      給調(diào)度器上鎖函數(shù)OSSchedlock()用于禁止任務(wù)調(diào)度,直到任務(wù)完成后,調(diào)用調(diào)度器開鎖函數(shù)OSSchedUnlock()為止。這兩函數(shù)必須成對使用。4.1.9空閑任務(wù)OS_TaskIdle():

      每個程序必須在初始化時建立一個空閑任務(wù),這個任務(wù)沒有其他任務(wù)進入就緒態(tài)時,投入運行,空閑任務(wù)永遠處于就緒態(tài)??臻e任務(wù)始終設(shè)為最低優(yōu)先級。OSTaskIdle()可以調(diào)用OSTaskIdleHook()讓CPU進入STOP指令,從而進入低功耗模式。當應(yīng)用系統(tǒng)有電池供電時,這種方式特別有用。

      4.2uCOSII 的任務(wù)管理

      4.2.1建立任務(wù)OSTaskCreat(): 如果想讓UCOS管理用戶的任務(wù),必須先建立任務(wù)??梢酝ㄟ^將任務(wù)的地址和其他參數(shù)傳遞到以下兩個函數(shù)之一來建立任務(wù)。當調(diào)用OSTaskCreat()時,需要四個OSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK*ptos,INTU prio)Task:是指向任務(wù)代碼的指針,pdata:是任務(wù)開始執(zhí)行是,傳遞給任務(wù)的參數(shù)的指針,ptos:是分配給任務(wù)的堆棧的棧頂指針,prio是分配給任務(wù)的優(yōu)先級。

      4.2.2任務(wù)堆棧OS_STK(): 每個任務(wù)都有自己的堆棧,堆棧必須申明為OS_STK類型,并且由連續(xù)的內(nèi)存空間組成??梢造o態(tài)分配堆棧空間,也可以動態(tài)分配堆棧空間。但是一般我們都是分配靜態(tài)堆??臻g。4.2.3刪除任務(wù)OSTaskDel():

      有時需要刪除任務(wù),刪除任務(wù),是說任務(wù)返回并處于休眠態(tài),并不是說任務(wù)的代碼被刪除了。4.3時間管理

      4.3.1任務(wù)延遲函數(shù)OSTimeDly():

      Ucos提供一個可以被任務(wù)調(diào)用而將任務(wù)延時一段特定時間的功能函數(shù),即OSTimeDly().任務(wù)調(diào)用OSTimeDly()后,一旦規(guī)定的時間期滿或者有其他的任務(wù)通過調(diào)用OSTimeDlyResume()取消了延時,他就會進入就緒狀態(tài)。只有當該任務(wù)在所有就緒態(tài)任務(wù)中具有最高的優(yōu)先級,它才會立即運行。4.3.2按時,分,秒延時函數(shù)OSRimeDLyHMSM():

      OSTimeDly()一樣,調(diào)用OSRimeDlyHMSM()函數(shù)也會是UCOS進行一次任務(wù)調(diào)度,并且執(zhí)行下一個優(yōu)先級最高的就緒任務(wù)。當OSTimeDlyHMSM()后,一旦規(guī)定的時間期滿,或者有OSTimeDlyResume(),它就會馬上處于就緒態(tài)。同樣,只有當該任務(wù)在所有就緒態(tài)任務(wù)中具有最高的優(yōu)先級,他才開始運行。

      五、設(shè)計方案:

      5.1單任務(wù)

      在stm32的平臺上移植ucosII,并且建立一個單任務(wù),任務(wù)控制LED1以10HZ的頻率閃爍。5.2多任務(wù)

      在stm32的平臺上移植ucosII,并且建立三個任務(wù),三個任務(wù)分別控制LED1,LED2,LED3以10HZ,20HZ,50HZ的的頻率閃爍。

      六、程序流程圖

      多任務(wù)控制LED閃爍:

      七、遇到的問題

      7.1編譯器報錯,顯示PUBLIC未定義

      由于我們移植的核心代碼用IAR編譯的,由于編譯器的不同,所以要把PUBLIC改成EXPORT。

      7.2編譯報錯,顯示,棧未定義

      由于每個任務(wù)都要有獨立的棧來保存局部變量,從本質(zhì)上講也就是將CPU寄存器的值保存到RAM中。在uCOS中,每一個任務(wù)都有一個獨立的任務(wù)堆棧。

      八、主要代碼 8.1主函數(shù)

      #include “includes.h” //包含所有頭文件

      OS_STK startup_task_stk[STARTUP_TASK_STK_SIZE];//定義起始任務(wù)堆棧

      int main(void){

      BSP_Init();//板級初始化

      OSInit();//系統(tǒng)初始化,創(chuàng)建空閑任務(wù)

      OSTaskCreate(Task_Start,(void *)0,&startup_task_stk[STARTUP_TASK_STK_SIZE-1], STARTUP_TASK_PRIO);

      OS_ENTER_CRITICAL();OSStart();

      //把控制權(quán)交給操作系統(tǒng),進行任務(wù)調(diào)度

      return 0;} 8.2用戶應(yīng)用函數(shù)

      #include “includes.h”

      OS_STK task_led2_stk[TASK_LED2_STK_SIZE];

      //任務(wù)2堆棧 OS_STK task_led3_stk[TASK_LED3_STK_SIZE];

      //任務(wù)3堆棧 OS_STK task_led4_stk[TASK_LED4_STK_SIZE];

      //任務(wù)4堆棧

      void Task_Start(void *p_arg)

      //task1 {

      (void)p_arg;

      //未用到傳遞參數(shù),防止編譯器報錯

      SysTick_init();

      OSTaskCreate(Task_LED2,(void *)0,//

      &task_led2_stk[TASK_LED2_STK_SIZE-1], TASK_LED2_PRIO);OSTaskCreate(Task_LED3,(void *)0,//

      &task_led3_stk[TASK_LED3_STK_SIZE-1], TASK_LED3_PRIO);

      OSTaskCreate(Task_LED4,(void *)0,//

      &task_led4_stk[TASK_LED4_STK_SIZE-1], TASK_LED4_PRIO);

      while(1)

      {

      LED1(ON);

      OSTimeDlyHMSM(0, 0,0,100);

      LED1(OFF);

      OSTimeDlyHMSM(0, 0,0,100);

      } } //任務(wù)2 void Task_LED2(void *p_arg){

      (void)p_arg;

      SysTick_init();

      while(1)

      {

      LED2(ON);

      OSTimeDlyHMSM(0, 0,0,200);

      LED2(OFF);

      OSTimeDlyHMSM(0, 0,0,200);

      } }

      //任務(wù)3 void Task_LED3(void *p_arg){

      (void)p_arg;

      SysTick_init();

      while(1)

      {

      //LED3(ON);

      OSTimeDlyHMSM(0, 0,0,300);

      //LED3(OFF);

      OSTimeDlyHMSM(0, 0,0,300);

      } }

      //任務(wù)4 void Task_LED4(void *p_arg){

      (void)p_arg;

      SysTick_init();

      while(1)

      {

      LED3(ON);

      OSTimeDlyHMSM(0, 0,0,40);

      LED3(OFF);

      OSTimeDlyHMSM(0, 0,0,40);

      } }

      婁宇庭

      2014年5月5 日

      第五篇:操作系統(tǒng)學習心得

      操作系統(tǒng)學習心得

      會計092班 姓名:潘東輝 學號:0904042062 1.下面就操作系統(tǒng)從2000年以來的發(fā)展做一個較簡單的介紹。從一些文獻中,我可以了解到:至2005年為止,用于通用計算機上的分布的操作系統(tǒng)主要兩個家族:類Unix家族和微軟Windows家族。而主機系統(tǒng)和嵌入式操作系統(tǒng)使用多樣的系統(tǒng),并且很多和Windows、Unix都沒有直接的聯(lián)系。類Unix家族包括多個組織的操作系統(tǒng),其中有幾個主要的子類包括System V、BSD和Linux。這里'Unix'是一個商標,開發(fā)組織允許使用操作系統(tǒng)在一個定義前提下自由地開發(fā)。這名字是通用大型設(shè)置操作系統(tǒng)類似組織 Unix。Unix系統(tǒng)運行在從巨型機到嵌入式系統(tǒng)的多種機器架構(gòu)上。Unix主要使用于重要的商務(wù)服務(wù)器系統(tǒng)以及學院和工程環(huán)境中的工作站之上。和 AT&T Unix不同,自由軟件比如Linux和BSD逐步開始流行,并且開始進入桌面操作系統(tǒng)領(lǐng)域。和一些Unix操作系統(tǒng)不同,像惠普公司的HPUX和IBM 公司的AIX是設(shè)計僅運行在客戶購買的設(shè)備上,其中有一些特殊的(比如SUN公司的Solaris)可以運行在客戶購買設(shè)備和基于工業(yè)標準的PC上。APPLE公司的Mac OS X是一個BSD特例,以取代早期小型市場上的蘋果公司Mac OS,眾多流行的Unix操作系統(tǒng)正在走向一體。微軟公司的Windows操作系統(tǒng)家族起源于早期的IBM PC環(huán)境中的MS-DOS,現(xiàn)在版本是基于新的Windows NT內(nèi)核,第一次是在OS/2中制定。和Unix不同,Windows只能運行在32位和64位的x86 CPU(如Intel或者AMD的芯片)上,盡管早期有版本運行于DEC Alpha,MIPS 和 PowerPC體系結(jié)構(gòu)。今天Windows是一個流行的操作系統(tǒng),在全球桌面市場中占有90%左右的份額,同時在中低端服務(wù)器市場也有廣泛的應(yīng)用,如 Web服務(wù)器和數(shù)據(jù)庫服務(wù)器。

      大型機系統(tǒng),比如IBM公司的Z/OS,和嵌入式操作系統(tǒng)比如QNX、eCOs和PalmOS都是和Unix和Windows無關(guān)的操作系統(tǒng),而 Windows CE、Windows NT Embedded 4.0和Windows XP Embedded都是和Windows相關(guān)的。

      老的操作系統(tǒng)停留在市場包括類似IBM Windows的OS/

      2、來自惠普的VMS(以前的DEC);蘋果公司的Mac OS操作系統(tǒng)、非Unix先驅(qū)蘋果公司Mac OS X,以及AmigaOS,第一個圖形用戶界面的操作系統(tǒng),包括對于普通用戶的高級的多媒體能力。

      2.下面我簡單的總結(jié)了一下操作系統(tǒng)的作用:操作系統(tǒng)在計算機系統(tǒng)中占據(jù)著一個非常重要的地位,它不僅是硬件與所有其他軟件之間的接口,而且任何數(shù)字電子計算機都必須在其硬件平臺上加載相應(yīng)的操作系統(tǒng)之后,才能構(gòu)成一個可以協(xié)調(diào)運轉(zhuǎn)的計算機系統(tǒng)。只有在操作系統(tǒng)的指揮控制下,各種計算機資源才能被分配給用戶使用。也只有在操作系統(tǒng)的支撐下,其他系統(tǒng)軟件如各類編譯系統(tǒng)、程序庫和運行支持環(huán)境才得以取得運行條件。沒有操作系統(tǒng),任何應(yīng)用軟件都無法運行。有了操作系統(tǒng)就像是我們?nèi)ワ埖挈c菜一樣方便,為我們提供了一個良好的平臺,更好更直觀的管理自己的計算機。操作系統(tǒng)主要有兩方面重要的作用。

      1)操作系統(tǒng)要管理系統(tǒng)中的各種資源,包括硬件及軟件資源。操作系統(tǒng)對每一種資源的管理都必須進行以下幾項工作:監(jiān)視這種資源。該資源有多少,資源的狀態(tài)如何,它們都在哪里,誰在使用,可供分配的又有多少,資源的使用歷史等內(nèi)容都是監(jiān)視的含義。實施某種資源分配策略,以決定誰有權(quán)限可獲得這種資源,何時可獲得,可獲得多少,如何退回資源等。分配這種資源。按照已決定的資源分配策略,對符合條件的申請者分配這種資源,并進行相應(yīng)的管理事務(wù)處理?;厥者@種資源。在使用者放棄這種資源之后,對該種資源進行處理,如果是可重復使用的資源,則進行回收、整理,以備再次使用。2)操作系統(tǒng)要為用戶提供的良好的界面。操作系統(tǒng),必須為最終用戶和系統(tǒng)用戶這兩類用戶的各種工作提供良好的界面,以方便用戶的工作。典型的操作系統(tǒng)界面有兩類:一類是命令行界面,如Unix和MS-DOS;另一類則是圖形化的操作系統(tǒng)界面,典型的圖形化的操作系統(tǒng)界面是MS Windows。

      3.下面我就談?wù)勎以趯W習操作系統(tǒng)這門公選課時所得到的感悟。老師的教學風格既保守又開放,完全不限制學生太多的想象空間,讓我們能夠盡情發(fā)揮自己的創(chuàng)造力。本來我感覺操作系統(tǒng)一定是一門枯燥乏味的學科,但是卻被我們的老師講述的生動具體。從學習操作系統(tǒng)的過程中,我感受到就算是一個操作系統(tǒng)學科也蘊含了很多知識,要想學得透徹,完全搞明白也不是那么容易的。隨著科學技術(shù)的日益發(fā)展,計算機技術(shù)的提高速度是相當驚人的,過一段時間就會有所更新。我們在買來電腦時,就已經(jīng)注定著它的技術(shù)在淘汰了,只要幾個月的時間,也許它就會被超越,計算機在我們國家的發(fā)展還是在起步階段。有很多地方時需要我們向別人學習的我們應(yīng)該思考為什么我們必須要用微軟的windous,而我們就沒有更好的操作系統(tǒng)來取代它嗎?我們作為一個大學生,雖然我不是計算機專業(yè)的,但是我們一定要想著多學一些知識來武裝自己,不使自己過早的被時代所淘汰。更何況是現(xiàn)在這樣一個競爭如此激烈的年代,我們更應(yīng)該為自己的將來做長期的打算。

      下載uc-OS實時操作系統(tǒng)的應(yīng)用和學習心得word格式文檔
      下載uc-OS實時操作系統(tǒng)的應(yīng)用和學習心得.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        計算機實時操作系統(tǒng)的改善措施

        《計算機實時操作系統(tǒng)的改善措施》 摘要: 實時系統(tǒng)在工業(yè)、商業(yè)和軍事等領(lǐng)域都有非常廣泛的用途,并且已經(jīng)有很多實際的應(yīng)用。一般來說,實時系統(tǒng)通常是比較復雜的,因為它必須處......

        嵌入式Linux實時操作系統(tǒng)習題總結(jié)

        第1章 1.嵌入式系統(tǒng)是指操作系統(tǒng)和功能軟件集成于計算機硬件系統(tǒng)之中。嵌入式系統(tǒng)一般有3個主要的組成部分:硬件、實時操作系統(tǒng)以及應(yīng)用軟件。 2.嵌入式系統(tǒng)的三要素是嵌入、專......

        嵌入式實時操作系統(tǒng) 項目開發(fā)總結(jié)報告

        項目開發(fā)總結(jié)報告 分 類:軟件項目計劃 使用者:E-fanciers Version: 1.0 項 目 承 擔 隊伍:煙臺大學 計算機學院 E-fanciers小組撰 寫 人(簽名): 許超 于歌 完 成 日 期: 2009-7-1......

        Linux操作系統(tǒng)學習心得

        Linux操作系統(tǒng)學習心得 這學期有幸學習了《嵌入式系統(tǒng)設(shè)計》這門課,在胡佳文老師的教導下深入了解了有關(guān)于嵌入式系統(tǒng),ARM9,Linux系統(tǒng)等很多方面的知識,獲益良多,在學習過程中......

        Linux操作系統(tǒng)學習心得

        Linux操作系統(tǒng)學習心得 Linux操作系統(tǒng)這個名詞記得在很早以前就聽過,但具體是什么樣的系統(tǒng)卻真的不知道,甚至都不知道它是手機系統(tǒng)還是電腦系統(tǒng),知道的只是它好像比較不易......

        LINUX操作系統(tǒng)學習心得

        LINUX操作系統(tǒng)學習心得第一次看見LINUX這個詞是在選擇選修課的時候,根本不知道LINUX是什么東西,帶著對計算機的喜愛,選了LINUX操作系統(tǒng)這門選修課。 經(jīng)過這一個學期的學習,對LIN......

        嵌入式實時操作系統(tǒng)(dynaLinux),及其開發(fā)平臺(精)

        嵌入式實時操作系統(tǒng)(dynaLinux),及其開發(fā)平臺 公司簡介: 注冊時間:2003年3月24日 經(jīng)濟性質(zhì):合資 從事領(lǐng)域:電子信息 資產(chǎn)狀況:注冊資金100萬人民幣 人員狀況:12人 股本結(jié)構(gòu): 中方:方......

        操作系統(tǒng)及Internet基本應(yīng)用

        信 息 工 程 學 院 大學計算機基礎(chǔ) 實習報告 學院:理學院 班級:應(yīng)化113 姓名:尤牛奔 學號:2011014944成績:A 一、實習題目 : 操作系統(tǒng)及Internet基本應(yīng)用 二、實習過程 在上......