freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式操作系統(tǒng)實驗報告(專業(yè)版)

2024-10-28 19:22上一頁面

下一頁面
  

【正文】 3)開啟與該 IO口相對的線上中斷/事件,設(shè)置觸發(fā)條件。五.實驗步驟1編寫串口初始化代碼2編寫中斷服務(wù)程序代碼3編譯代碼,使用JLINK或ISP下載到實驗板 4記錄實驗過程,撰寫實驗報告六.實驗結(jié)果及測試源代碼:把代碼下載到 MiniSTM32 開發(fā)板,可以看到板子上的LED0 開始閃爍,說明程序已經(jīng)在跑了。三.實驗內(nèi)容實現(xiàn)初始化GPIO,并配置中斷,在中斷服務(wù)程序中通過修改全局變量,達(dá)到控制流水燈速度及方向。} } }四、實驗總結(jié)和體會通過做本實驗,讓我對進(jìn)程或作業(yè)先來先服務(wù)、高優(yōu)先權(quán)、按時間片輪轉(zhuǎn)調(diào)度算法以及進(jìn)程調(diào)度的概念和算法,有了更深入的認(rèn)識!理解進(jìn)程的狀態(tài)及變化,動態(tài)顯示每個進(jìn)程的當(dāng)前狀態(tài)及進(jìn)程的調(diào)度情況。printf(“*****************************the result of fcfsn”)。printf(“%”,arrayTask[j].DQRunTime)。for(i=0。i{if(arrayTask[i].Status==0)t=arrayTask[i].ArriveTime。for(i=0。arrayTask[i].RequestTime=a。float StartTime。父進(jìn)程顯示 39。從用戶身份切換到ROOT身份輸入命令 ps 查看進(jìn)程輸入命令 top 跟蹤進(jìn)程利用Linux的文字編輯器編寫一個計算機(jī)100個自然數(shù)和的C語言程序,并用gcc編譯該程序,然后運行該程序。a39。二、實驗內(nèi)容,安裝FTP和Web服務(wù)器,并配置相關(guān)的屬性,利用FTP實現(xiàn)WINDOWS和Linux之間的數(shù)據(jù)交換。、music 和temp,然后在program下建立目錄java和C,列出完成該過程的所有命令。了解Linux常用文件夾的作用。C39。past(t1)。v=free_headnext。q=busy_head。free_headnext=wnext。qaddress=0。//占用區(qū)隊列隊(帶頭結(jié)點)首指針struct busylinkNode *busy_tail=NULL。假定系統(tǒng)的內(nèi)存共640K,初始狀態(tài)為操作系統(tǒng)本身占用64K。}ready_tailnext=q。state和use_cpu++。p=pnext。qnext =NULL。scanf(“%d”,amp。5源代碼:include includestruct PCB_type {int pid。假設(shè)初始狀態(tài)為:有n個進(jìn)程處于就緒狀態(tài),有m個進(jìn)程處于阻塞狀態(tài)。如果延時時間大于 0,系統(tǒng)將立即進(jìn) 行任務(wù)調(diào)度。l OS_ERR_PEND_ISR :從中斷調(diào)用該函數(shù)。 OSSemPend()OSSemPend()函數(shù)用于任務(wù)試圖取得設(shè)備的使用權(quán),任務(wù)需要和其他任務(wù)或中斷同步,任務(wù)需要等待特定事件的發(fā)生的場合。uC/OSII 實驗指導(dǎo)書 for(。l OS_TASK_NOT_SUSPENDED:要喚醒的任務(wù)不在掛起狀態(tài)。參數(shù)說明:prio 為指定要獲取掛起的任務(wù)優(yōu)先級,也可以指定參數(shù) OS_PRIO_SELF,掛起任務(wù)本 身。l OS_PRIO_EXIST:具有該優(yōu)先級的任務(wù)已經(jīng)存在。OSTaskCreate()是為與先前的μC/OS 版本保持兼容,新增的特性在 OSTaskCreateExt()函數(shù)中。// suspend itself } }應(yīng)用任務(wù) Task1 運行后將 Task0 喚醒,使其進(jìn)入到就緒隊列中: void Task1(void *pdata){INT8U i。for(i = 0。實驗二 任務(wù)的基本管理一、實驗?zāi)康?,了解任?wù)的各個基本狀態(tài)及其變遷過程; uC/OSII 中任務(wù)管理的基本方法(創(chuàng)建、啟動、掛起、解掛任務(wù)); uC/OSII 任務(wù)管理的基本系統(tǒng)調(diào)用。以后的構(gòu)建中選擇“重新構(gòu)建”或“構(gòu)建項目”即可。點擊“下一步”選擇“pc386_elf_tra_debug”作為該項目的基本配置。在各個實驗中具體介紹了 uC/OSII 的相關(guān)函數(shù)。 文件是基于ucos2 和本虛擬機(jī)的一個應(yīng)用程序。注意:如果計算機(jī)上有多網(wǎng)卡,請將其他網(wǎng)卡停用(包括 VMware 虛擬機(jī)添加的虛擬 網(wǎng)卡)。在μC/OSⅡ中,當(dāng)一個運行著的任務(wù)使一個比它優(yōu)先級高的任務(wù)進(jìn)入了就緒態(tài),當(dāng)前任務(wù)的 CPU 使用權(quán)就會被搶占,高優(yōu)先級任務(wù)會立刻得到 CPU 的控制權(quán)(在系統(tǒng)允許調(diào)度和任務(wù)切換的前提下)。TaskStk[0][TASK_STK_SIZE1], 6)。printf(“Application tasks switched %d times!nr”,++count)。pdata 指向一個數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)用來在建立任務(wù)時向任務(wù)傳遞參數(shù)。用 戶 程 序 中 不 能 使 用 優(yōu) 先 級 0,1,2,3,以 及 OS_LOWEST_PRIO3, OS_LOWEST_PRIO2, OS_LOWEST_PRIO1, OS_LOWEST_PRIO。此為非法操作。二、實驗原理及程序結(jié)構(gòu)掌握在基于嵌入式實時操作系統(tǒng) uC/OSII 的應(yīng)用中,任務(wù)使用信號量的一般原理。err)。一個被 OSTaskSuspend()函數(shù)掛起的任務(wù)也可以接受信號量,但這個任務(wù)將一直保持掛起狀態(tài)直到通過調(diào)用 OSTaskResume()函數(shù)恢復(fù)任務(wù)的運行。不允許從中斷調(diào)用該函數(shù)。參數(shù)說明:ticks 為要延時的時鐘節(jié)拍數(shù)。//進(jìn)程狀態(tài)2——表示“執(zhí)行”狀態(tài)1——表示“就緒”狀態(tài)0——表示“阻塞”狀態(tài)int cpu_time。struct QueueNode *next。for(i=0。q=0。printf(”輸入t:“)。}else{printf(”進(jìn)程%d完成t“,p)。dispath()。:include include struct freelinkNode{ int len。// 創(chuàng)建自由鏈頭結(jié)點busy_head=busy_tail=(struct busylinkNode*)malloc(sizeof(struct busylinkNode))。busylinkNode *p。v=free_headnext。p=pnext。}unext=w。B39。E39。三、實驗過程及結(jié)果啟動VMware,點擊新建Linux虛擬機(jī),如圖所示:點擊下一步,選擇經(jīng)典型,點擊下一步在選擇客戶機(jī)頁面選擇Linux,版本選擇Red Hat Enterprise Linux 5,如圖所示:點擊下一步創(chuàng)建虛擬機(jī)名稱以及所要安裝的位置,如圖所示:點擊下一步,磁盤容量填一個合適大小,此處選擇默認(rèn)值大小10GB,如圖所示:點擊完成,點擊編輯虛擬機(jī)設(shè)置,選擇硬件選項中的CDROM(IDE...)選項,在右側(cè)連接中選擇“使用ISO鏡像(I)”選項,點擊“瀏覽”,找到Linux的鏡像文件,如圖所示:6點擊確定按鈕后,點擊啟動虛擬機(jī)按鈕,來到Linux的安裝界面,如圖所示:到此頁面之后,等待自動檢測安裝,如圖所示:等到出現(xiàn)如圖所示頁面后點擊“skip”按鈕,跳過檢測,直接進(jìn)入安裝設(shè)置界面,如圖所示:安裝設(shè)計界面如圖所示:點擊Next按鈕進(jìn)入設(shè)置語言界面,設(shè)置語言為“簡體中文”,如圖所示:1點擊Nest按鈕進(jìn)入系統(tǒng)鍵盤設(shè)置按鈕,設(shè)置系統(tǒng)鍵盤為“美國英語式”,如圖所示:1點擊下一步按鈕,彈出“安裝號碼”對話框,選擇跳過輸入安裝號碼,如圖所示:1按照提示,一直點擊下一步按鈕,如圖所示:1到設(shè)置最后一步,點擊下一步按鈕進(jìn)入開始安裝Red Hat Enterprise Linux Sever界面,如圖所示:1安裝完成后,進(jìn)入歡迎界面,按照提示點擊前進(jìn)按鈕知道進(jìn)入Linux桌面,如圖所示:1安裝成功的Linux系統(tǒng)桌面如圖所示,桌面包含五個圖標(biāo),分別為:計算機(jī)、jk’s Home、回收站、RHEL/ i386DVD。在終端中輸入【mkdir myetc】,在主目錄下創(chuàng)建【myrtc】的目錄,【ls】查看是否創(chuàng)建。三、實驗過程及結(jié)果:在().里面進(jìn)行以下操作:在服務(wù)里選擇3按回車完成后,可在本地連接看到VMware已連接上網(wǎng)絡(luò)在虛擬機(jī)設(shè)置中設(shè)置以太網(wǎng)網(wǎng)絡(luò)連接方式為網(wǎng)關(guān)地址填虛擬機(jī)的網(wǎng)管,IP地址設(shè)為虛擬機(jī)的一個子網(wǎng):四、總結(jié):在linux系統(tǒng)下,make是我們經(jīng)常用到的編譯命令,所以關(guān)于make代碼和他的操作指令一定要記清楚。試觀察記錄屏幕上的顯示結(jié)果,并分析原因。子進(jìn)程分別顯示字符39。編寫代碼執(zhí)行的結(jié)果結(jié)果表明 execl 替代了son的內(nèi)容四、實驗總結(jié)和體會這個實驗考察的是進(jìn)程之間存在很多可能性以及對編輯器的使用。}arrayTask[4]。} }int fcfs(){int i,j,w=0。iif(arrayTask[i].ArriveTimet=arrayTask[i].ArriveTime。} } }new(int s)/*定義執(zhí)行進(jìn)程后相關(guān)數(shù)據(jù)的修改*/ { int i,g=0。arrayTask[i].Status==1)d=arrayTask[i].EndTime。printf(“t n”)。new(k)。二.實驗?zāi)康恼莆誗TM32開發(fā)環(huán)境,掌握從無到有的構(gòu)建工程。KEY1 控制LED1,效果同KEY0。這里我們把P4 的RXD 和TXD 用跳線帽與P3 的PA9 和PA10 連接起來。2)GPIO和配置的中斷線路不匹配。四.實驗設(shè)備硬件部分:PC計算機(jī)(宿主機(jī))、亮點STM32實驗板、JLINK、示波器。二.實驗?zāi)康恼莆誗TM32基本串口編程,進(jìn)一步學(xué)習(xí)中斷處理。五.實驗步驟 KEIL開發(fā)環(huán)境 ,復(fù)制庫文件 ,撰寫實驗報告六.實驗結(jié)果及測試源代碼:兩個燈LED0與LED1實現(xiàn)交替閃爍的類跑馬燈效果,每300ms閃爍一次。printf(“******************************the result of sjfn”)。a)。printf(“%”,arrayTask[j].ArriveTime)。arrayTask[s].EndTime=arrayTask[s].RequestTime+arrayTask[s].ArriveTime。iif(b!=0)/*有進(jìn)程到達(dá)則按SJF*/ { for(i=0。i{if(arrayTask[i].ArriveTimet=arrayTask[i].ArriveTime。a)。(編程語言不限),輸出運行結(jié)果。修改上述程序,每一個進(jìn)程循環(huán)顯示一句話。父進(jìn)程顯示 39。二、實驗內(nèi)容、top來監(jiān)視和跟蹤進(jìn)程,體會進(jìn)程和程序的關(guān)系。四、實驗總結(jié)和體會Linux的指令系統(tǒng)是學(xué)習(xí)Linux操作系統(tǒng)很重要的一部分,指令系統(tǒng)相當(dāng)于在Windows操作系統(tǒng)下的doc,可以省去圖形化界面。,如 for Linux等用軟件的安裝方法。)。D39。p=free_headnext。free(p)。wnext=v。busy_tailnext=p。free_headnext=p。int address。多看書,多上機(jī)。amp。ready_headnext=pnext。block_tail=q。p,amp。struct QueueNode *p,*q。讀入假設(shè)的數(shù)據(jù),設(shè)置系統(tǒng)初始狀態(tài),即初始化就緒隊列和阻塞隊列。五個哲學(xué)家圍成一圈,每兩人之間有一支筷子。參數(shù)說明:pevent是指向信號量的指針。如果該值為零表示任務(wù)將持續(xù)地等待信號量,最大的等待時間為 65535 個時鐘節(jié)拍。C/OSⅡ相關(guān)函數(shù) OSSemCreate()OSSemCreate()函數(shù)建立并初始化一個信號量。每個任務(wù)的代碼都一樣,如下所示: void Task(void *pdata){INT8U err。OSTaskResume()也是唯一能“解掛”掛起任務(wù)的函數(shù)。喚醒掛起任務(wù)需要調(diào)用 函數(shù) OSTaskResume()。反 之,如 果OS_STK_GROWTH 設(shè)為 0,堆棧將從內(nèi)存的低地址向高地址增長。/* resume task0 */ } }三、運行及觀察應(yīng)用輸出信息按照本實驗手冊第一部分所描述的方法建立應(yīng)用項目并完成構(gòu)建,當(dāng)我們在 LambdaEDU 調(diào)試器的控制下運行構(gòu)建好的程序后,將看到在μC/OSⅡ內(nèi)核的調(diào)度管理下,兩個應(yīng)用任務(wù)不斷切換執(zhí)行的情形:四、本實驗中用到的181。){printf(“Application tasks switched %d times!nr”,++count)。/* Install uC/OSII39。程序下載完成后,會彈出一個“確認(rèn)透視圖切換”對話框,選擇“是”,切換到調(diào)試透 視圖。之后彈出的對話框顯示了構(gòu)建的進(jìn)度。通過點 擊“文件”、“新建”、“項目”開始根據(jù)向?qū)?chuàng)建一個項目。為了我們的實驗運行起來,需要建立1 個項目基于x86 虛擬機(jī)的標(biāo)準(zhǔn)應(yīng)用項目。即可開始構(gòu)建。虛擬機(jī)啟動后的畫面如下(其中顯示的IP 地址創(chuàng)建虛擬機(jī)啟動盤時填入的IP 地址)中設(shè)置的IP 地址):在成功完成構(gòu)建的項目ucos_x86_demo 中的“pc386_elf_tra_debug”上點擊鼠標(biāo)右鍵,在彈出的菜單中選擇“調(diào)試”,啟動調(diào)試器調(diào)試生成的程序:第一次進(jìn)行調(diào)試/運行,需要選擇目標(biāo)機(jī),如下圖,選擇“Default”,點擊“確定”,開 始向目標(biāo)機(jī)(虛擬機(jī))下載應(yīng)用程序。(1)TaskStart任務(wù)TaskStart 任務(wù)負(fù)責(zé)安裝操作系統(tǒng)的時鐘中斷服務(wù)例程、初始化操作系統(tǒng)時鐘,并創(chuàng)建所 有的應(yīng)用任務(wù):UCOS_CPU_INIT()。for(。err=OSTaskResume(5)。如果初始化常量 OS_STK_GROWTH 設(shè)為 1,堆棧被設(shè)為從內(nèi)存高地址 向
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1