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

正文內(nèi)容

嵌入式系統(tǒng)開發(fā)畢業(yè)論文(專業(yè)版)

  

【正文】 IP地址屬于軟件協(xié)議層的地址。ucos_timeout = (timeout )*( OS_TICKS_PER_SEC/1000)。}}prev_tnext = tnext。elsetimeoutnext = tnext。s16_t err,offset。 //定時(shí)時(shí)間到后執(zhí)行的函數(shù)u8_t i。void sys_timeout(u32_t msecs, sys_timeout_handler h, void *arg)//設(shè)置一個(gè)超時(shí)事件Lwip為了適應(yīng)不同的操作系統(tǒng),(定時(shí),進(jìn)程同步,消息傳遞)”mbox”(其實(shí)在ucos的實(shí)現(xiàn)中我們使用的是Message Queue來實(shí)現(xiàn)lwip中的”mbox”,下面大家可以看到這一點(diǎn)) Operating system emulation layer的原代碼在…/lwip/src/core/../lwip/src/arch/.操作系統(tǒng)封裝層的主要函數(shù)如下:void sys_init(void) //系統(tǒng)初始化sys_thread_t sys_thread_new(void (* function)(void *arg), void *arg,int prio)//創(chuàng)建一個(gè)新進(jìn)程(3)lwip的process model:所有tcp/ip協(xié)議棧都在一個(gè)進(jìn)程當(dāng)中。對(duì)于接收一個(gè)TCP segment要引起3次context switch(從網(wǎng)卡驅(qū)動(dòng)程序到鏈路層進(jìn)程,從鏈路層進(jìn)程到ip層進(jìn)程,從ip層進(jìn)程到TCP進(jìn)程).通常對(duì)于操作系統(tǒng)來說, swich是不可取的.LwIP TCP/IP實(shí)現(xiàn)的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM的占用,一般它只需要幾十K的RAM和40K左右的ROM就可以運(yùn)行,這使LwIP協(xié)議棧適合在低端嵌入式系統(tǒng)中使用。在分析許多μC/OSII的應(yīng)用實(shí)例中發(fā)現(xiàn),任務(wù)??臻g和內(nèi)存分區(qū)的創(chuàng)建采用了定義全局?jǐn)?shù)組的方法,這樣實(shí)現(xiàn)起來固然簡(jiǎn)單,但不夠靈活有效。 使用μC/OSII系統(tǒng)應(yīng)注意的問題,不支持時(shí)間片輪轉(zhuǎn)法。 /*r11*/*stk=0。*************************************************與編譯器相關(guān)的數(shù)據(jù)類型*************************************************typedef unsigned char BOOLEAN。目前,國(guó)內(nèi)應(yīng)用較為廣泛。C/OSⅡ的移植相對(duì)來說是比較容易的。程序計(jì)數(shù)器構(gòu)造如下圖22: 2731N Z C V Q2867I F T mode1623 815 54024fsxc U n d e f i n e dJ 圖22 程序計(jì)數(shù)器構(gòu)造n 條件位:n N = 1結(jié)果為負(fù),0結(jié)果為正或0n Z = 1結(jié)果為0,0結(jié)果不為0n C =1進(jìn)位,0借位n V =1結(jié)果溢出,0結(jié)果沒溢出n Q 位:n 僅ARM 5TE/J架構(gòu)支持n 指示增強(qiáng)型DSP指令是否溢出n J 位n 僅ARM 5TE/J架構(gòu)支持n J = 1: 處理器處于Jazelle狀態(tài)n 中斷禁止位:n I = 1: 禁止 IRQ.n F = 1: 禁止 FIQ.n T Bitn 僅ARM xT架構(gòu)支持n T = 0: 處理器處于 ARM 狀態(tài)n T = 1: 處理器處于 Thumb 狀態(tài)n Mode位(處理器模式位):n 0b10000 Usern 0b10001 FIQn 0b10010 IRQn 0b10011 Supervisorn 0b10111 Abortn 0b11011 Undefinedn 0b11111 Systemn 當(dāng)處理器執(zhí)行在ARM狀態(tài):n 所有指令 32 bits 寬n 所有指令必須 word 對(duì)齊n 所以 pc值由bits [31:2]決定, bits [1:0] 未定義 (所以指令不能halfword / byte對(duì)齊).n 當(dāng)處理器執(zhí)行在Thumb狀態(tài):n 所有指令 16 bits 寬n 所有指令必須 halfword 對(duì)齊n 所以 pc值由bits [31:1]決定, bits [0] 未定義 (所以指令不能 byte對(duì)齊).n 當(dāng)處理器執(zhí)行在Jazelle狀態(tài):n 所有指令 8 bits 寬n 處理器執(zhí)行 word 存取一次取4條指令 ARM指令集 ARM存貯訪問指令A(yù)RM存貯訪問指令如下表21:        表21 ARM存貯訪問指令助記符說明操作條件碼位置MUL Rd,Rm,Rs32位乘法指令Rd←Rm*Rs (Rd≠Rm)MUL{cond}{S}MLA Rd,Rm,Rs,Rn32位乘法指令Rd←Rm*Rs+Rn (Rd≠Rm)MLA{cond}{S}UMULL RdLo,RdHi,Rm,Rs64位無符號(hào)乘法指令(RdLo,RdHi)←Rm*RsUMULL{cond}{S}UMLAL RdLo,RdHi,Rm,Rs64位無符號(hào)乘法指令(RdLo,RdHi)←Rm*Rs+(RdLo,RdHi)UMLAL{cond}{S}SMULL RdLo,RdHi,Rm,Rs64位無符號(hào)乘法指令(RdLo,RdHi)←Rm*RsSMULL{cond}{S}SMLAL RdLo,RdHi,Rm,Rs64位無符號(hào)乘法指令(RdLo,RdHi)←Rm*Rs+(RdLo,RdHi)SMLAL{cond}{S} 數(shù)據(jù)處理指令數(shù)據(jù)處理指令如下表22            表22 數(shù)據(jù)處理指令助記符號(hào)說明操作條件碼位置MOV Rd,operand2數(shù)據(jù)轉(zhuǎn)送Rdoperand2MOV {cond}{S}MVN Rd,operand2數(shù)據(jù)非轉(zhuǎn)送Rd(NOT)operand2MVN {cond}{S}ADD Rd,Rn,operand2加法運(yùn)算指令RdRn+operand2ADD {cond}{S}SUB Rd,Rn,operand2減法運(yùn)算指令RdRnoperand2SUB {cond}{S}RSB Rd,Rn,operand2逆向減法指令Rdoperand2RnRSB {cond}{S}ADC Rd,Rn,operand2帶進(jìn)位加法RdRn+operand2+carryADC {cond}{S}RSC Rd,Rn,operand2帶進(jìn)位減法RdRnperand2(NOT)CarryRSC {cond}{S}AND Rd,Rn,operand2帶進(jìn)位逆向減法RdRnamp。一旦已經(jīng)保存了連接地址,這個(gè)寄存器就可以用做通用寄存器了。限制你的內(nèi)存訪問并且你不能直接讀取硬件設(shè)備正常程序執(zhí)行的模式FIQ:當(dāng)一個(gè)高優(yōu)先級(jí)(fast)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式高速數(shù)據(jù)傳輸和通道處理IRQ:當(dāng)一個(gè)低優(yōu)先級(jí)(normal)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式通常的中斷處理Supervisor:當(dāng)復(fù)位或軟中斷指令執(zhí)行時(shí)將會(huì)進(jìn)入這種模式供操作系統(tǒng)使用的一種保護(hù)模式Abort: 當(dāng)存取異常時(shí)將會(huì)進(jìn)入這種模式虛擬存儲(chǔ)及存儲(chǔ)保護(hù)Undef: 當(dāng)執(zhí)行未定義指令時(shí)會(huì)進(jìn)入這種模式軟件仿真硬件協(xié)處理器System: 使用和User模式相同寄存器集的特權(quán)模式特權(quán)級(jí)的操作系統(tǒng)任務(wù)(2)寄存器組在26位體系下,ARM 處理器有二十七個(gè)寄存器,其中一些是在一定條件下使用的,所以一次只能使用十六個(gè)。C++是由Bjarne Stroustrup 于1995年在Bell實(shí)驗(yàn)室研制成功并投入使用的。 嵌入式系統(tǒng)軟件需要RTOS開發(fā)平臺(tái) 通用計(jì)算機(jī)具有完善的操作系統(tǒng)和應(yīng)用程序接口(API),是計(jì)算機(jī)基本組成不可分離的一部分,應(yīng)用程序的開發(fā)以及完成后的軟件都在OS平臺(tái)上面運(yùn)行,但一般不是實(shí)時(shí)的。目前在全世界裝有VxWorks 系統(tǒng)的智能設(shè)備數(shù)以百萬(wàn)計(jì),其應(yīng)用范圍遍及互聯(lián)網(wǎng)、電信和數(shù)據(jù)通信等眾多領(lǐng)域。開發(fā)者可以利用它來實(shí)現(xiàn)從簡(jiǎn)單的單個(gè)獨(dú)立設(shè)備到復(fù)雜的、網(wǎng)絡(luò)化的多處理器系統(tǒng)。國(guó)內(nèi)的嵌入式操作系統(tǒng)研究開發(fā)有2種類型,一類是基于國(guó)外操作系統(tǒng)2次開發(fā)完成的,如海信的基于Windows CE的機(jī)頂盒系統(tǒng);另一類是中國(guó)自主開發(fā)的嵌入式操作系統(tǒng),如凱思集團(tuán)公司自主研制開發(fā)的嵌入式操作系統(tǒng)Hopen OS(“女媧計(jì)劃”)等。 TOS是針對(duì)不同處理器優(yōu)化設(shè)計(jì)的高效率實(shí)時(shí)多任務(wù)內(nèi)核,優(yōu)秀商品化的RTOS可以面對(duì)幾十個(gè)系列的嵌入式處理器MPU、MCU、DSP、SOC等提供類同的API接口,這是RTOS基于設(shè)備獨(dú)立的應(yīng)用程序開發(fā)基礎(chǔ)?!      ?  西南交通大學(xué)本科畢業(yè)設(shè)計(jì)        第54頁(yè)嵌入式系統(tǒng)開發(fā)畢業(yè)論文     第1章  緒論 嵌入式系統(tǒng) 嵌入式系統(tǒng)簡(jiǎn)介  隨著計(jì)算機(jī)技術(shù)和微電子技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)應(yīng)用領(lǐng)域越來越廣泛。因此基于RTOS上的C語(yǔ)言程序具有極大的可移植性。 Windows CE內(nèi)核較小,能作為一種嵌入式操作系統(tǒng)應(yīng)用到工業(yè)控制等領(lǐng)域。QNX是由加拿大QSSL公司開發(fā)的分布式、實(shí)時(shí)的、可擴(kuò)充的操作系統(tǒng),它部分遵循POSIX相關(guān)標(biāo)準(zhǔn),如:。開放源代碼的嵌入式Linux操作系統(tǒng)無疑有著很大的優(yōu)勢(shì)。嵌入式系統(tǒng)則不同,應(yīng)用程序可以沒有操作系統(tǒng)直接在芯片上運(yùn)行;但是為了合理地調(diào)度多任務(wù)、利用系統(tǒng)資源、系統(tǒng)函數(shù)以及和專家?guī)旌瘮?shù)接口,用戶必須自行選配RTOS開發(fā)平臺(tái),這樣才能保證程序執(zhí)行的實(shí)時(shí)性、可靠性,并減少開發(fā)時(shí)間,保障軟件質(zhì)量。C++在支持現(xiàn)代軟件工程、OOP、結(jié)構(gòu)化等方面對(duì)C進(jìn)行了卓有成效的改進(jìn),但在程序代碼容量、執(zhí)行速度、程序復(fù)雜程度等方面比C語(yǔ)言程序性能差一些。 operand2AND {cond}{S}ORR Rd,Rn,operand2邏輯或操作指令RdRn|operand2ORR {cond}{S}EOR Rd,Rn,operand2邏輯異或操作指令RdRn^operand2EOR {cond}{S}BIC Rd,Rn,operand2位清除指令RdRn(~operand2)BIC {cond}CMP Rd,Rn,operand2比較指令標(biāo)志N、Z、C、VRnoperand2CMP {cond}CMN Rd,Rn,operand2負(fù)數(shù)比較指令標(biāo)志N、Z、C、VRn+operand2CMN {cond}TST Rd,Rn,operand2位測(cè)試指令標(biāo)志N、Z、C、VRnamp。μC/OSII功能強(qiáng)大,支持56個(gè)用戶任務(wù),其內(nèi)核為占先式,支持信號(hào)量、郵箱、消息隊(duì)列等多種常用的進(jìn)程間通信機(jī)制,現(xiàn)已成功應(yīng)用到眾多商業(yè)嵌入式系統(tǒng)中,是一個(gè)成熟穩(wěn)定的實(shí)時(shí)內(nèi)核。181。typedef unsigned char INT8U。 /*r10*/*stk=0。它是一個(gè)基于優(yōu)先級(jí)的實(shí)時(shí)操作系統(tǒng)。編譯器會(huì)將全局?jǐn)?shù)組作為未初始化的全局變量,放到應(yīng)用程序映像的數(shù)據(jù)段。LwIP的特性如下: ■ 支持多網(wǎng)絡(luò)接口下的IP轉(zhuǎn)發(fā) ■ 支持ICMP協(xié)議 ■ 包括實(shí)驗(yàn)性擴(kuò)展的的UDP(用戶數(shù)據(jù)報(bào)協(xié)議) ■ 包括阻塞控制,RTT估算和快速恢復(fù)和快速轉(zhuǎn)發(fā)的TCP(傳輸控制協(xié)議) ■ 提供專門的內(nèi)部回調(diào)接口(Raw API)用于提高應(yīng)用程序性能 ■ 可選擇的Berkeley接口API(多線程情況下) 基于uC/0S II的網(wǎng)絡(luò)平臺(tái)概述 嵌入式操作系統(tǒng)uC/0S II是一個(gè)公開源代碼的占先式多任務(wù)的微內(nèi)核RTOS,其性能和安全性可以與商業(yè)產(chǎn)品競(jìng)爭(zhēng)?!∵@樣tcp/,消息隊(duì)列等和tcp/ip進(jìn)程進(jìn)行通訊.void*OSTaskCreate(function,(void*)0x1111, amp。OS_TCB curr_task_pcb。}timeouth = h。timeoutsnext = timeout。}timeouts = sys_arch_timeouts()。void *arg。/*在后面分析中可以看到sys_arch_mbox_fetch調(diào)用了ucos中的OSQPend系統(tǒng)調(diào)用從消息隊(duì)列中讀取消息.*///如果”mbox”消息隊(duì)列不為空,任務(wù)立刻返回,否則任務(wù)進(jìn)入阻塞態(tài)./*需要重點(diǎn)說明的是sys_arch_mbox_fetch的返回值time:如果sys_arch_mbox_fetch*///因?yàn)槌瑫r(shí)返回,time=SYS_ARCH_TIMEOUT,//如果sys_arch_mbox_fetch因?yàn)槭盏较⒍祷?//time = 收到消息時(shí)刻的時(shí)間執(zhí)行sys_arch_mbox_fetch時(shí)刻的時(shí)間,單位是毫秒//由于在ucos中任務(wù)調(diào)用OSQPend系統(tǒng)調(diào)用進(jìn)入阻塞態(tài),到收到消息重新開始執(zhí)行//這段時(shí)間沒有記錄下來,所以我們要簡(jiǎn)單修改ucos的源代碼.(后面我們會(huì)
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1