版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
操作系統(tǒng)RTX51實時操作系統(tǒng)應(yīng)用示例μC-OS/II其它Rtx51-tiny環(huán)境下的編程RTX51是支持MCS-51系列處理器的多任務(wù)實時操作系統(tǒng)。RTX51簡化了復(fù)雜、對執(zhí)行時點敏感的任務(wù)的編程。RTX51與中斷并行工作。任務(wù)之間通過郵箱傳遞信號或消息。標準的C51只作極少的擴展,以指定任務(wù)ID和優(yōu)先級。#include<rtx51tny.h>#include<W77C32.h>voidMainJob(void)_task_0{ os_create_task(1); //task1: os_create_task(2); //task2: os_create_task(3); //task3: os_delete_task(0);}程序示例voidm_Trax(void)_task_2{ EA=0; Ini_COM1(); //3RS-485 EA=1; while(1) { //Yourcode }}一個任務(wù)的示例#include<rtx51tny.h>intcounter0;intcounter1;voidjob0(void)_task_0{
os_create(1); //marktask1asready while(1) { //loopforever counter0++;//updatethecounter }}voidjob1(void)_task_1{ while(1) { //loopforever counter1++;//updatethecounter }}框架程序#include<rtx51tny.h>intcounter0;intcounter1;voidjob0(void)_task_0{ os_create(1); //marktask1asready while(1) { //loopforever counter0++; //updatethecounter
os_wait(K_TMO,3); //pausefor3clockticks } }voidjob1(void)_task_1{ while(1) { //loopforever counter1++; //updatethecounter
os_wait(K_TMO,5); //pausefor5clockticks } }#include<rtx51tny.h>intcounter0;intcounter1;voidjob0(void)_task_0{ os_create(1); //marktask1asready while(1) { if(++counter0==0) //updatethecounter os_send_signal(1); //signaltask1 }}voidjob1(void)_task_1{ while(1) {
os_wait(K_SIG,0,0); //waitforasignal counter1++; //updatethecounter }}voidjob1(void)_task_1_priority_1{ while(1) { os_wait(K_SIG,0,0); //waitforasignal counter1++; //updatethecounter }}Theprioritylevelcanbe0through3.0isthelowest(bydefault)3isthehighestPriority優(yōu)先級(rtx51-full)RTX51的WAIT函數(shù)支持以下事件:·Timeout:越時,正在運行的任務(wù)被掛起一定的時間片。·Interval:正在運行的任務(wù)被掛起一個時間片。
·Signal:任務(wù)間傳遞的信號。EventsofRtx51-tiny函數(shù)功能周期數(shù)os_create_task將一個任務(wù)加入執(zhí)行隊列302os_delete_task將一個任務(wù)移出執(zhí)行隊列172os_send_signal從任務(wù)中發(fā)送信號408withtaskswitch.316withfasttaskswitch71withouttaskswitchos_clear_signal刪除已發(fā)送信號57isr_send_signal從中斷發(fā)送向任務(wù)發(fā)送信號46os_wait等待一個時間68forpendingsignal160forpendingmessageos_create_taskos_delete_taskcharos_create_task
(unsignedchartask_id);ReturnValue:0 ifthetaskwassuccessfullystarted.-1 ifthetaskcouldnotbestarted#include<rtx51tny.h>charos_delete_task
(unsignedchartask_id);ReturnValue:
0ifthetaskwassuccessfullystoppedanddeleted.-1indicatesthespecifiedtaskdoesnotexistorhadnotbeenstarted.os_send_signalos_clear_signalcharos_send_signal
(unsignedchartask_id);如果指定任務(wù)已在等待一個信號,該函數(shù)調(diào)用使任務(wù)進入執(zhí)行隊列。否則,信號被存儲為該任務(wù)的標志。ReturnValue:
0ifsuccessfuland-1ifthespecifiedtaskdoesnotexist.charos_clear_signal
(unsignedchartask_id);清除任務(wù)task_id的信號標志.ReturnValue:
0ifthesignalflagwassuccessfullycleared.-1isreturnedifthespecifiedtaskdoesnotexist.#include<rtx51tny.h>charisr_send_signal
(unsignedchartask_id);從中斷向任務(wù)task_id發(fā)信號,若指定任務(wù)已經(jīng)在等改信號,該系統(tǒng)調(diào)用將使對應(yīng)任務(wù)進入就緒狀態(tài).否則,信號被存儲到對應(yīng)任務(wù)的標志中.ReturnValue:
0ifsuccessful-1ifthespecifiedtaskdoesnotexist.isr_send_signal#include<rtx51tny.h>os_wait#include<rtx51tny.h>charos_wait
(unsignedcharevent_sel,/*eventstowaitfor*/unsignedcharticks,/*timertickstowait*/unsignedintdummy);/*unusedargument*/MaybeORedos_wait1charos_wait1
(unsignedcharevent_sel);Theos_wait1functionisasubsetoftheos_waitfunction.Theevent_selargumentcanhaveonlythevalueK_SIGwhichwillwaitforasignal.#include<rtx51tny.h>os_wait2Summary:#include<rtx51tny.h>charos_wait2
(unsignedcharevent_sel,//eventstowaitforunsignedcharticks);//timertickstowaitCompareos_wait2withos_wait,onlythatthirdarguement“unsignedintdummy”
ofthelaterfunctionisommitted!嵌入式操作系統(tǒng)體系結(jié)構(gòu)嵌入式實時操作系統(tǒng)內(nèi)存管理外圍設(shè)備管理多任務(wù)管理微內(nèi)核、三項功能進程的概念進程具有獨立功能的程序關(guān)于某個數(shù)據(jù)集合的一次運行活動。第一,進程是一個實體,有自己的地址空間,可以申請和擁有系統(tǒng)資源;第二,進程是一個“執(zhí)行中的程序”,是一個動態(tài)的概念,是一個活動的實體。當前活動通過程序計數(shù)器的值和一組寄存器的當前內(nèi)容來表示。程序是包含代碼和初始化數(shù)據(jù),是一個沒有生命的實體,只有處理器賦予程序生命時,它才能成為一個活動的實體。進程的特征動態(tài)性:進程的實質(zhì)是程序的一次執(zhí)行過程,進程是動態(tài)產(chǎn)生,動態(tài)消亡的。并發(fā)性:任何進程都可以同其他進程一起并發(fā)執(zhí)行獨立性:進程是一個能獨立運行的基本單位,同時也是系統(tǒng)分配資源和調(diào)度的獨立單位;異步性:由于進程間的相互制約,使進程具有執(zhí)行的間斷性,即進程按各自獨立的、不可預(yù)知的速度向前推進結(jié)構(gòu)特征:進程由程序、數(shù)據(jù)和進程控制塊三部分組成。進程與線程的關(guān)系在一個進程中可以包含若干個線程,它們可以利用進程所擁有的資源。在引入線程的操作系統(tǒng)中,通常都是把進程作為分配資源的基本單位,而把線程作為獨立運行和獨立調(diào)度的基本單位。由于線程比進程更小,基本上不擁有系統(tǒng)資源,故對它的調(diào)度所付出的開銷就會小得多,能更高效的提高系統(tǒng)內(nèi)多個程序間并發(fā)執(zhí)行的程度。因而近年來推出的通用操作系統(tǒng)都引入了線程,以便進一步提高系統(tǒng)的并發(fā)性,并把它視為現(xiàn)代操作系統(tǒng)的一個重要指標。μC/OS-II操作系統(tǒng)1、C/OS—MicroControllerOS,微控制器操作系統(tǒng)2、C/OS簡介美國人JeanLabrosse1992年完成應(yīng)用面覆蓋了諸多領(lǐng)域,如照相機、醫(yī)療器械、音響設(shè)備、發(fā)動機控制、高速公路電話系統(tǒng)、自動提款機等1998年C/OS-II2000年,得到美國航空管理局(FAA)的認證,可以用于飛行器中目前的版本C/OS-IIV2.82C/OS–III(帶MPU)網(wǎng)站www.ucos-II.com()6公開源代碼可移植性(Portable)
源碼可移植性很強。微處理器硬件相關(guān)的匯編語言部分已經(jīng)壓到最低限度。可以在絕大多數(shù)8/16/32/64位微處理器、微控制器、數(shù)字信號處理器(DSP)上運行??晒袒≧OMable)
C/OS-II是為嵌入式應(yīng)用而設(shè)計的,可固化(C編譯、連接、下載和固化),C/OS-II可以嵌入到產(chǎn)品中成為產(chǎn)品的一部分。可裁剪(Scalable)
可以只使用很少的系統(tǒng)服務(wù),也可以使用幾乎所有的功能;
這種可剪裁性是靠條件編譯實現(xiàn)的。減少產(chǎn)品中的
C/OS-II所需的存儲器空間(RAM和ROM)。C/OS的性能特點(一)占先式(Preemptive)多任務(wù)64/256任務(wù),保留8個給系統(tǒng)。應(yīng)用程序最多56個可確定性函數(shù)調(diào)用與服務(wù)的執(zhí)行時間具有可確定性任務(wù)棧每個任務(wù)有單獨的棧,可大可小,壓低對RAM的需求。系統(tǒng)服務(wù)
C/OS-II提供很多系統(tǒng)服務(wù),例如郵箱、消息隊列、信號量、塊大小固定的內(nèi)存的申請與釋放、時間相關(guān)函數(shù)等。中斷管理
中斷可以使正在執(zhí)行的任務(wù)暫時掛起,如果優(yōu)先級更高的任務(wù)被該中斷喚醒,則高優(yōu)先級的任務(wù)在中斷嵌套全部退出后立即執(zhí)行,中斷嵌套層數(shù)可達255層。穩(wěn)定性與可靠性C/OS的性能特點(二)μC/OS-II操作系統(tǒng)任務(wù)和任務(wù)狀態(tài)任務(wù)控制塊任務(wù)就緒表任務(wù)的同步與通信事件事件控制塊任務(wù)切換任務(wù)解決復(fù)雜問題的“分而治之”的方法大的復(fù)雜任務(wù)劃分為一個個簡單的任務(wù)解決上述一個個簡單問題的程序?qū)嶓w,稱為任務(wù)對小的任務(wù)的運行進行管理,就是操作系統(tǒng)的工作。uC/OS-II的任務(wù)相當于Windows中的線程任務(wù)狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務(wù)狀態(tài)就緒狀態(tài)運行狀態(tài)
多任務(wù)共享同一個CPU。所以在具體的時段,根據(jù)任務(wù)是否占有CPU,以及是否處于等待、被中斷等情況,任務(wù)處于下列5種狀態(tài)之一。任務(wù)狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務(wù)狀態(tài)就緒狀態(tài)運行狀態(tài)任務(wù)只是以代碼的形式駐留在程序空間(ROM中RAM),任務(wù)沒有被任務(wù)控制塊,或被剝奪了任務(wù)控制塊任務(wù)狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務(wù)狀態(tài)就緒狀態(tài)運行狀態(tài)系統(tǒng)為任務(wù)配備了任務(wù)控制塊,且在任務(wù)就緒表進行了就緒登記,任務(wù)具備運行的充分條件。任務(wù)的CPU使用權(quán)被剝奪任務(wù)被創(chuàng)建獲得任務(wù)控制塊等待的條件滿足任務(wù)狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務(wù)狀態(tài)就緒狀態(tài)運行狀態(tài)處于就緒狀態(tài)的任務(wù),經(jīng)調(diào)度器判斷獲得了CPU的使用權(quán)。任何時候只能有一個任務(wù)處于運行狀態(tài)。任務(wù)狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務(wù)狀態(tài)就緒狀態(tài)運行狀態(tài)正在運行的任務(wù)需要等待一段時間,或等待一個事件發(fā)生(條件),該任務(wù)會把CPU的使用權(quán)讓出;調(diào)度器再從就緒隊列中選優(yōu)先級最高的任務(wù),并使其進入運行狀態(tài)。如果找不到一個就緒的任務(wù),就運行空閑任務(wù)。任務(wù)狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務(wù)狀態(tài)就緒狀態(tài)運行狀態(tài)睡眠狀態(tài):任務(wù)只是以代碼的形式駐留在程序空間(ROM中RAM)任務(wù)沒有被任務(wù)控制塊,或被剝奪了任務(wù)控制塊任務(wù)狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務(wù)狀態(tài)就緒狀態(tài)運行狀態(tài)任務(wù)的組成任務(wù)控制塊任務(wù)的代碼任務(wù)堆棧任務(wù)控制塊的其它信息是一個數(shù)據(jù)結(jié)構(gòu),包含值OS_STAT_RDY 就緒狀態(tài)OS_STAT_SEM 等待信號量狀態(tài)OS_STAT_MBOX 消息郵箱狀態(tài)OS_STAT_Q 等待消息隊列狀態(tài)OS_STAT_SUSPEND 被掛起的狀態(tài)OS_STAT_MUTEX 等待互斥型信號量狀態(tài)全部任務(wù)控制塊構(gòu)成任務(wù)控制鏈表,可以增刪任務(wù)鏈表鏈表結(jié)構(gòu)維護,即創(chuàng)建或刪除一個任務(wù)。任務(wù)的切換被中止任務(wù)的斷點指針保存到任務(wù)堆棧①CPU寄存器內(nèi)容保存到任務(wù)堆棧①被中止的任務(wù)的堆棧指針的當前值保存到對應(yīng)的控制塊中②獲得待運行任務(wù)的控制塊獲得待運行任務(wù)的堆棧指針③獲得待運行任務(wù)通用寄存器的值④CPU獲得待運行任務(wù)的斷點指針④任務(wù)就緒表OSRdyTbl[],最多8個字節(jié)任務(wù)優(yōu)先級(任務(wù)標識)任務(wù)的同步與通信必要性進程的各個任務(wù)必須有效合作;必須無沖突地訪問共享資源;相互依賴、或制約內(nèi)容事件控制塊信號量及其使用消息隊列及其使用事件信號量消息郵箱消息隊列事件控制塊任務(wù)1任務(wù)2共享資源01請求和發(fā)送信號量事件信號量消息郵箱消息隊列事件控制塊任務(wù)1任務(wù)2消息緩沖區(qū)消息郵箱傳遞數(shù)據(jù)指針傳遞一個數(shù)據(jù)的方法。事件信號量消息郵箱消息隊列事件控制塊任務(wù)1任務(wù)2消息緩沖區(qū)1消息隊列利用消息隊列通信指針。。。消息緩沖區(qū)2消息緩沖區(qū)n事件的等待任務(wù)表對于每個事件,都建立了一個表。從表中可以獲悉所有等待該事件的任務(wù)。事件控制塊ECB結(jié)構(gòu)μC/OS-II將描述事件的結(jié)構(gòu)統(tǒng)一起來:typedefstruct{ INT8U OSEventType; //事件類型 INT16UOSEventCnt; //信號量計數(shù) void*OSEvetPrt; //消息或消息隊列指針 INT8UOSEventGrp; //等待事件的任務(wù)組 INT8UOSEventTbl[8]; //任務(wù)等待表}OS_EVENT;任務(wù)等待表可以小于8字節(jié),具體可根據(jù)任務(wù)數(shù)確定事件控制塊ECB結(jié)構(gòu)事件類型的值及其含義OS_EVENT_TYPE_SEM 表明事件是信號量OS_EVENT_TYPE_MUTEX表明事件是互斥信號量OS_EVENT_TYPE_MBOX 表明事件是消息郵箱OS_EVENT_TYPE_Q 表明事件是消息隊列OS_EVENT_TYPE_UNUSED 空事件控制塊C/OS-II的文件結(jié)構(gòu)定義任務(wù)堆棧#defineTASK_STK_SIZE 64
OS_STKTaskTimStk[TASK_STK_SIZE];OS_STKTaskLcdStk[TASK_STK_SIZE];OS_STKTaskKeyStk[TASK_STK_SIZE];OS_STKTaskUARTStk[TASK_STK_SIZE];定義任務(wù)函數(shù)voidTask_Tim(void*pdata);voidTask_uart(void*pdata);externvoidTask_KeyIn(void*pdata);externvoidTask_LCD(void*pdata);程序任務(wù)的創(chuàng)建intmain(void){OSInit();
SecTick=OSSemCreate(0);SendMessLCD=OSSemCreate(0);
OSTaskCreate(Task_Tim,(void*)0,&TaskTimStk[TASK_STK_SIZE-1],0);OSTaskCreate(Task_LCD,(void*)0,&TaskLcdStk[TASK_STK_SIZE-1],10);OSTaskCreate(Task_KeyIn,(void*)0,&TaskKeyStk[TASK_STK_SIZE-1],2);OSTaskCreate(Task_uart,(void*)0,&TaskUARTStk[TASK_STK_SIZE-1],4);OSStart();
return0;}關(guān)于消息OS_EVENT*SecTick;OS_EVENT*SendMessLCD;SecTick=OSSemCreate(0);SendMessLCD=OSSemCreate(0);OSSemPost(SecTick);//PostaMessageOSSemPost(SendMessLCD);//PostaMessageOSSemPend(SecTick,500,&err);OSSemPend(SendMessLCD,400,&err);RTOS追求的是調(diào)度的實時性、響應(yīng)時間的可確定性、系統(tǒng)的高度可靠性。評價一個實時操作系統(tǒng)一般可從任務(wù)調(diào)度、內(nèi)存管理、任務(wù)通訊、內(nèi)存開銷、任務(wù)切換時間、最大中斷禁止時間等幾個方面來衡量。實時操作系統(tǒng)中的幾個重要的評價指標1)任務(wù)調(diào)度機制:RTOS的實時性和多任務(wù)能力在很大程度上取決于它的任務(wù)調(diào)度機制。從調(diào)度策略上來講,分優(yōu)先級調(diào)度策略和時間片輪轉(zhuǎn)調(diào)度策略;從調(diào)度方式上來講,分可搶占、不可搶占、選擇可搶占調(diào)度方式;從時間片來看,分固定與可變時間片輪轉(zhuǎn)。在大多數(shù)商用的實時系統(tǒng)中,為了讓操作系統(tǒng)能夠在有突發(fā)事件時,迅速取得系統(tǒng)控制權(quán)以便對事件作出反應(yīng),所以大都提供了“搶占式任務(wù)調(diào)度”的功能,也就是操作系統(tǒng)有權(quán)主動終止應(yīng)用程序的執(zhí)行,并且將執(zhí)行權(quán)交給擁有最高優(yōu)先級的任務(wù)。以下是兩種可以作出精確描述實時應(yīng)用的時間測定正確性的著名算法:速度單調(diào):在工作量有一組定期任務(wù)組成的應(yīng)用中,每個任務(wù)的執(zhí)行時間定長,這種速度單調(diào)調(diào)度算法能夠保證其可調(diào)度性。在系統(tǒng)中,最高頻的任務(wù)具有最高的優(yōu)先級。時限驅(qū)動:對于一個由定期和不定期任務(wù)混合或者任務(wù)的執(zhí)行時長隨著時間變化的應(yīng)用,可以使用時限驅(qū)動算法。這個算法的準則是下一個要安排執(zhí)行的任務(wù)是一個時限最早的任務(wù),該任務(wù)完成之后,下一個時限最早的任務(wù)被選擇調(diào)度和執(zhí)行。2)內(nèi)存管理:實時操作系統(tǒng)內(nèi)存管理模式可以分為實模式與保護模式。目前主流的實時操作系統(tǒng)一般都可以提供兩種模式,讓用戶根據(jù)應(yīng)用自舉選擇。3)最小內(nèi)存開銷:由于在多數(shù)嵌入式系統(tǒng)中內(nèi)存配置一般都不大,在這有限的內(nèi)存空間里不僅要裝載實時操作系統(tǒng),還要裝載用戶程序。因此,在RTOS的設(shè)計中,其占用內(nèi)存大小是一個很重要的指標,這是RTOS設(shè)計與其它操作系統(tǒng)設(shè)計的明顯區(qū)別之一。4)中斷禁止時間與中斷延遲事件:當RTOS運行在核心態(tài)或執(zhí)行某些系統(tǒng)調(diào)用的時候,是不會因為外部中斷的到來而中斷執(zhí)行的。只有當RTOS重新回到用戶態(tài)時才響應(yīng)外部中斷請求,這一過程所需的最大時間就是中斷禁止時間。中斷延時時間是指系統(tǒng)確認中斷開始直到執(zhí)行中斷服務(wù)程序的第一條指令為止整個處理過程所需要的時間。實時操作系統(tǒng)的中斷延時時間由下列三個因素決定:----處理器硬件電路的延遲時間,通常這個時間可以忽略。----實時操作系統(tǒng)處理中斷并將控制權(quán)轉(zhuǎn)移給相關(guān)處理程序所需要的時間。----實時操作系統(tǒng)的中斷禁止時間。為了縮短系統(tǒng)對于中斷請求的響應(yīng)時間----中斷延遲時間,大多數(shù)商用實時操作系統(tǒng)都采用了“可中斷式”的核心程序,當然也有相當多的實時操作系統(tǒng),例如實時Linux,采用非搶占式的核心程序。5)任務(wù)切換時間:當由于某種原因使一個任務(wù)退出運行時,RTOS保存它的運行現(xiàn)場信息、插入相應(yīng)隊列、并依據(jù)一定的調(diào)度算法重新選擇一個新任務(wù)使之投入運行,這一過程所需時間稱為任務(wù)切換時間。任務(wù)切換時間是實時操作系統(tǒng)將控制權(quán)從一個任務(wù)的執(zhí)行中取回,然后交給另外一個任務(wù)所需要的時間。它包括保存目前正在執(zhí)行任務(wù)的現(xiàn)場信息所需要的時間、RTOS決定下一個調(diào)度任務(wù)所需的調(diào)度時間以及RTOS把另外一個任務(wù)調(diào)入系統(tǒng)執(zhí)行所需要的時間。最大中斷禁止時間和任務(wù)切換時間是評價一個RTOS實時性最重要的兩個技術(shù)指標。RTOS市場和技術(shù)發(fā)展的變化易于移植的RTOS結(jié)構(gòu)支持更多種的處理器支持Unix/POSIX兼容的趨勢明顯內(nèi)核可以裁剪以支持RTOS適應(yīng)小系統(tǒng)和大系統(tǒng)的各種應(yīng)用RTOS與工具的IDE緊密結(jié)合出現(xiàn)越來越多的銷售源代碼和一次性版稅的RTOS廠家RTOS廠家除提供的文件,圖形和TCP/IP外,與特定應(yīng)用的結(jié)合更多,如互連網(wǎng)絡(luò),通信一、WindRiver-ISI的結(jié)合形成RTOS市場的‘航母’,但他的競爭對手紛紛聲稱他們有了更多的機會(因為WindRiver放棄PSOS)50%(北美)的用戶依然在使用自己編寫的RTOS,他們將走到那里?后PC時代更多的數(shù)字化產(chǎn)品將使用RTOS或嵌人OS,這里就產(chǎn)生了WinCE,PalmOS,JavaOS,Epoc等‘軟’實時的嵌人OS二、電訊和控制系統(tǒng)核心設(shè)備要求RTOS的高可靠性半導(dǎo)體廠商對RTOS和工具的需求強烈,商業(yè)性的合作方式以由外包,到今天收購工具公司和軟件協(xié)議公司如Motorola收購Metrowerks并投資Lineo,ARC收購Metaware,ARM收購Allant,Intel投資Montvista嵌人式Linux已經(jīng)在消費電子等非強實時領(lǐng)域進入RTOS的市場并得到了相當廣泛的半導(dǎo)體廠商如Intel三、RTOS市場將可能劃分為三段系統(tǒng)級,板極,SOC級嵌人式Linux依靠POSIX兼容,高可靠源碼開放資源豐富的優(yōu)勢將進入傳統(tǒng)Unix和NT占據(jù)的系統(tǒng)級市場(如CPCI,HA/HotSwap)板級依然是傳統(tǒng)RTOS的天下主要將集中在航空航天,軍事應(yīng)用和傳統(tǒng)電訊市場SOC級是新生代較逐的領(lǐng)域,嵌人處理器,消費電子產(chǎn)品,互連網(wǎng)絡(luò)通信設(shè)備都將是市場變化最快之處§4.12RTOS---未來?一、是否會出現(xiàn)標準RTOS?是否會出現(xiàn)某種行業(yè)標準RTOS?在某段時間內(nèi)可能,如目前VxWork在數(shù)據(jù)通信和WinCE在掌上電腦和高檔PDA(亞洲),手機RTOS的EPOC是否所有的RTOS將都可以出售源碼?是否RTOS將向Linux一樣‘免費’但服務(wù)收費?OS市場的總體趨勢是這樣的,但依然需要一個過程二、目前絕大多數(shù)是國外產(chǎn)品如VxWork,PSOS,VRTX,Nucleus,WinCE,QNX,CMX..其中前5位占據(jù)國內(nèi)絕大多數(shù)的市場以業(yè)界傳統(tǒng)的推測(中國占全球1-2%分額)中國RTOS市場規(guī)模還很小很少有人愿意冒風險嘗試一種新的RTOS國內(nèi)目前RTOS的版稅意識較低限制了RTOS的發(fā)展(國外某RTOS廠家收入的30%來自版稅)§4.14中國的RTOS市場選擇協(xié)議堆棧協(xié)議堆棧的內(nèi)存要求。所需硬件資源。協(xié)議堆棧施加在CPU上的開銷。RTOS集成的協(xié)議堆棧嵌入式系統(tǒng)Internet接入選擇網(wǎng)絡(luò)技術(shù)ClientServerPort使用標準的應(yīng)用協(xié)議網(wǎng)絡(luò)應(yīng)用層的標準協(xié)議可以使你借助一些現(xiàn)成的且容易獲得的標準工具軟件。例如,通過使用HTML和HTTP這類標準的應(yīng)用數(shù)據(jù)格式和協(xié)議,就沒有必要在每個系統(tǒng)上安裝一個專門用于訪問嵌入系統(tǒng)的瀏覽器。網(wǎng)絡(luò)體系結(jié)構(gòu)網(wǎng)絡(luò)體系結(jié)構(gòu)是指一個計算機網(wǎng)絡(luò)的模塊格式和設(shè)計結(jié)構(gòu)。最重要的部分就是設(shè)計不同網(wǎng)絡(luò)層使用的協(xié)議,因此網(wǎng)絡(luò)體系結(jié)構(gòu)常常被稱為協(xié)議堆棧或協(xié)議集。NetBIOS,IPX/SPX,AppleTalk,TCP/IP,OSITCP/IP協(xié)議的優(yōu)點:免費標準堅實穩(wěn)定異構(gòu)兼容基礎(chǔ)設(shè)施堆棧小巧DS80C400是51系列,集成了TCP/IP,有一個類似于uC/OS-II的操作系統(tǒng)(Rtx51-tiny?)帶Demo板,并且可以下載它的開發(fā)環(huán)境PIC系列也有各種類似的芯片,可用于開發(fā)具有聯(lián)接Internet功能的嵌入式系統(tǒng)bind()Well-knownportlisten()accept()read()write()close()eof()?write()read()connect()socket()socket()close()ClientServer基于socket的編程:與Web連接Web的基本思想是將計算機網(wǎng)絡(luò)與超文本媒體聯(lián)合起來創(chuàng)造一個強有力的且容易使用的全球信息系統(tǒng)。HTTP:超文本傳輸協(xié)議,作為Web瀏覽器和服務(wù)器請求和傳送資源或網(wǎng)頁的協(xié)議。HTML:超文本鏈接標示語言,是Web的交流語言。URL:統(tǒng)一的資源定位表示法,將節(jié)點名、單個資源名以及用于提取此資源的協(xié)議名合成一個唯一的名字。嵌入應(yīng)用的HTTPHTTP提供了一個雙向傳輸文件的簡單、標準的方法。你可以下載文件和程序到嵌入設(shè)備中,也可以從嵌入系統(tǒng)中上傳數(shù)據(jù),在這兩個方向上傳送的文件都可以包括任何種類的數(shù)據(jù)。能安排和傳送嵌入網(wǎng)絡(luò)服務(wù)器中的HTML文檔的功能會給嵌入應(yīng)用極大的好處。如Web瀏覽器和標準的HTML格式界面就為嵌入式設(shè)備方便地實現(xiàn)網(wǎng)絡(luò)用戶界面提供了很好的手段。用Web瀏覽器可以從嵌入系統(tǒng)收集數(shù)據(jù);下載新數(shù)據(jù)或新軟件給嵌入系統(tǒng);重新配置嵌入系統(tǒng)等。嵌入程序中的HTMLHTML是一個實現(xiàn)交互式網(wǎng)絡(luò)應(yīng)用程序的全球化規(guī)范語言,使其成為迅速、簡單并可靠地為嵌入系統(tǒng)配備按form方式驅(qū)動的設(shè)備接口的一個自然選擇。在嵌入系統(tǒng)界面設(shè)計中使用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保企業(yè)設(shè)備采購借款合同3篇
- 第3課《做個“開心果”》(說課稿)-2023-2024學(xué)年道德與法治二年級下冊統(tǒng)編版(五四制)
- 2025年房產(chǎn)居間協(xié)助合同3篇
- 人教版八年級歷史與社會上冊1.2.3 百家爭鳴 說課稿
- 第一單元第一課版面設(shè)計-說課稿 2023-2024學(xué)年粵教版(2019)初中信息技術(shù)七年級下冊
- 第二章第二節(jié)世界的海陸分布 說課稿 2023-2024學(xué)年湘教版地理七年級上冊
- 人教版初中歷史與社會八年級上冊 1.2.3 探尋 傳遞-探尋2500年前的孔子及其身后的百家爭鳴 說課稿
- 第三單元《數(shù)一數(shù)(一)》(說課稿)-2023-2024學(xué)年二年級下冊數(shù)學(xué)北師大版
- 第二單元《連加、連減》(說課稿)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版
- 2025年抖音短視頻推廣合作協(xié)議
- 翼狀胬肉病人的護理
- GB/T 12914-2008紙和紙板抗張強度的測定
- GB/T 1185-2006光學(xué)零件表面疵病
- ps6000自動化系統(tǒng)用戶操作及問題處理培訓(xùn)
- 家庭教養(yǎng)方式問卷(含評分標準)
- 城市軌道交通安全管理課件(完整版)
- 線纜包覆擠塑模設(shè)計和原理
- TSG ZF001-2006 安全閥安全技術(shù)監(jiān)察規(guī)程
- 部編版二年級語文下冊《蜘蛛開店》
- 鍋爐升降平臺管理
- 200m3╱h凈化水處理站設(shè)計方案
評論
0/150
提交評論