版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
操作系統(tǒng)RTX51實時操作系統(tǒng)應用示例μC-OS/II其它Rtx51-tiny環(huán)境下的編程RTX51是支持MCS-51系列處理器的多任務實時操作系統(tǒng)。RTX51簡化了復雜、對執(zhí)行時點敏感的任務的編程。RTX51與中斷并行工作。任務之間通過郵箱傳遞信號或消息。標準的C51只作極少的擴展,以指定任務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 }}一個任務的示例#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:越時,正在運行的任務被掛起一定的時間片?!nterval:正在運行的任務被掛起一個時間片。
·Signal:任務間傳遞的信號。EventsofRtx51-tiny函數(shù)功能周期數(shù)os_create_task將一個任務加入執(zhí)行隊列302os_delete_task將一個任務移出執(zhí)行隊列172os_send_signal從任務中發(fā)送信號408withtaskswitch.316withfasttaskswitch71withouttaskswitchos_clear_signal刪除已發(fā)送信號57isr_send_signal從中斷發(fā)送向任務發(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);如果指定任務已在等待一個信號,該函數(shù)調(diào)用使任務進入執(zhí)行隊列。否則,信號被存儲為該任務的標志。ReturnValue:
0ifsuccessfuland-1ifthespecifiedtaskdoesnotexist.charos_clear_signal
(unsignedchartask_id);清除任務task_id的信號標志.ReturnValue:
0ifthesignalflagwassuccessfullycleared.-1isreturnedifthespecifiedtaskdoesnotexist.#include<rtx51tny.h>charisr_send_signal
(unsignedchartask_id);從中斷向任務task_id發(fā)信號,若指定任務已經(jīng)在等改信號,該系統(tǒng)調(diào)用將使對應任務進入就緒狀態(tài).否則,信號被存儲到對應任務的標志中.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)體系結構嵌入式實時操作系統(tǒng)內(nèi)存管理外圍設備管理多任務管理微內(nèi)核、三項功能進程的概念進程具有獨立功能的程序關于某個數(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í)行的間斷性,即進程按各自獨立的、不可預知的速度向前推進結構特征:進程由程序、數(shù)據(jù)和進程控制塊三部分組成。進程與線程的關系在一個進程中可以包含若干個線程,它們可以利用進程所擁有的資源。在引入線程的操作系統(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ī)療器械、音響設備、發(fā)動機控制、高速公路電話系統(tǒng)、自動提款機等1998年C/OS-II2000年,得到美國航空管理局(FAA)的認證,可以用于飛行器中目前的版本C/OS-IIV2.82C/OS–III(帶MPU)網(wǎng)站www.ucos-II.com()6公開源代碼可移植性(Portable)
源碼可移植性很強。微處理器硬件相關的匯編語言部分已經(jīng)壓到最低限度。可以在絕大多數(shù)8/16/32/64位微處理器、微控制器、數(shù)字信號處理器(DSP)上運行??晒袒≧OMable)
C/OS-II是為嵌入式應用而設計的,可固化(C編譯、連接、下載和固化),C/OS-II可以嵌入到產(chǎn)品中成為產(chǎn)品的一部分。可裁剪(Scalable)
可以只使用很少的系統(tǒng)服務,也可以使用幾乎所有的功能;
這種可剪裁性是靠條件編譯實現(xiàn)的。減少產(chǎn)品中的
C/OS-II所需的存儲器空間(RAM和ROM)。C/OS的性能特點(一)占先式(Preemptive)多任務64/256任務,保留8個給系統(tǒng)。應用程序最多56個可確定性函數(shù)調(diào)用與服務的執(zhí)行時間具有可確定性任務棧每個任務有單獨的棧,可大可小,壓低對RAM的需求。系統(tǒng)服務
C/OS-II提供很多系統(tǒng)服務,例如郵箱、消息隊列、信號量、塊大小固定的內(nèi)存的申請與釋放、時間相關函數(shù)等。中斷管理
中斷可以使正在執(zhí)行的任務暫時掛起,如果優(yōu)先級更高的任務被該中斷喚醒,則高優(yōu)先級的任務在中斷嵌套全部退出后立即執(zhí)行,中斷嵌套層數(shù)可達255層。穩(wěn)定性與可靠性C/OS的性能特點(二)μC/OS-II操作系統(tǒng)任務和任務狀態(tài)任務控制塊任務就緒表任務的同步與通信事件事件控制塊任務切換任務解決復雜問題的“分而治之”的方法大的復雜任務劃分為一個個簡單的任務解決上述一個個簡單問題的程序?qū)嶓w,稱為任務對小的任務的運行進行管理,就是操作系統(tǒng)的工作。uC/OS-II的任務相當于Windows中的線程任務狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務狀態(tài)就緒狀態(tài)運行狀態(tài)
多任務共享同一個CPU。所以在具體的時段,根據(jù)任務是否占有CPU,以及是否處于等待、被中斷等情況,任務處于下列5種狀態(tài)之一。任務狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務狀態(tài)就緒狀態(tài)運行狀態(tài)任務只是以代碼的形式駐留在程序空間(ROM中RAM),任務沒有被任務控制塊,或被剝奪了任務控制塊任務狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務狀態(tài)就緒狀態(tài)運行狀態(tài)系統(tǒng)為任務配備了任務控制塊,且在任務就緒表進行了就緒登記,任務具備運行的充分條件。任務的CPU使用權被剝奪任務被創(chuàng)建獲得任務控制塊等待的條件滿足任務狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務狀態(tài)就緒狀態(tài)運行狀態(tài)處于就緒狀態(tài)的任務,經(jīng)調(diào)度器判斷獲得了CPU的使用權。任何時候只能有一個任務處于運行狀態(tài)。任務狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務狀態(tài)就緒狀態(tài)運行狀態(tài)正在運行的任務需要等待一段時間,或等待一個事件發(fā)生(條件),該任務會把CPU的使用權讓出;調(diào)度器再從就緒隊列中選優(yōu)先級最高的任務,并使其進入運行狀態(tài)。如果找不到一個就緒的任務,就運行空閑任務。任務狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務狀態(tài)就緒狀態(tài)運行狀態(tài)睡眠狀態(tài):任務只是以代碼的形式駐留在程序空間(ROM中RAM)任務沒有被任務控制塊,或被剝奪了任務控制塊任務狀態(tài)的轉(zhuǎn)換等待狀態(tài)睡眠狀態(tài)中斷服務狀態(tài)就緒狀態(tài)運行狀態(tài)任務的組成任務控制塊任務的代碼任務堆棧任務控制塊的其它信息是一個數(shù)據(jù)結構,包含值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)全部任務控制塊構成任務控制鏈表,可以增刪任務鏈表鏈表結構維護,即創(chuàng)建或刪除一個任務。任務的切換被中止任務的斷點指針保存到任務堆棧①CPU寄存器內(nèi)容保存到任務堆棧①被中止的任務的堆棧指針的當前值保存到對應的控制塊中②獲得待運行任務的控制塊獲得待運行任務的堆棧指針③獲得待運行任務通用寄存器的值④CPU獲得待運行任務的斷點指針④任務就緒表OSRdyTbl[],最多8個字節(jié)任務優(yōu)先級(任務標識)任務的同步與通信必要性進程的各個任務必須有效合作;必須無沖突地訪問共享資源;相互依賴、或制約內(nèi)容事件控制塊信號量及其使用消息隊列及其使用事件信號量消息郵箱消息隊列事件控制塊任務1任務2共享資源01請求和發(fā)送信號量事件信號量消息郵箱消息隊列事件控制塊任務1任務2消息緩沖區(qū)消息郵箱傳遞數(shù)據(jù)指針傳遞一個數(shù)據(jù)的方法。事件信號量消息郵箱消息隊列事件控制塊任務1任務2消息緩沖區(qū)1消息隊列利用消息隊列通信指針。。。消息緩沖區(qū)2消息緩沖區(qū)n事件的等待任務表對于每個事件,都建立了一個表。從表中可以獲悉所有等待該事件的任務。事件控制塊ECB結構μC/OS-II將描述事件的結構統(tǒng)一起來:typedefstruct{ INT8U OSEventType; //事件類型 INT16UOSEventCnt; //信號量計數(shù) void*OSEvetPrt; //消息或消息隊列指針 INT8UOSEventGrp; //等待事件的任務組 INT8UOSEventTbl[8]; //任務等待表}OS_EVENT;任務等待表可以小于8字節(jié),具體可根據(jù)任務數(shù)確定事件控制塊ECB結構事件類型的值及其含義OS_EVENT_TYPE_SEM 表明事件是信號量OS_EVENT_TYPE_MUTEX表明事件是互斥信號量OS_EVENT_TYPE_MBOX 表明事件是消息郵箱OS_EVENT_TYPE_Q 表明事件是消息隊列OS_EVENT_TYPE_UNUSED 空事件控制塊C/OS-II的文件結構定義任務堆棧#defineTASK_STK_SIZE 64
OS_STKTaskTimStk[TASK_STK_SIZE];OS_STKTaskLcdStk[TASK_STK_SIZE];OS_STKTaskKeyStk[TASK_STK_SIZE];OS_STKTaskUARTStk[TASK_STK_SIZE];定義任務函數(shù)voidTask_Tim(void*pdata);voidTask_uart(void*pdata);externvoidTask_KeyIn(void*pdata);externvoidTask_LCD(void*pdata);程序任務的創(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;}關于消息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)度的實時性、響應時間的可確定性、系統(tǒng)的高度可靠性。評價一個實時操作系統(tǒng)一般可從任務調(diào)度、內(nèi)存管理、任務通訊、內(nèi)存開銷、任務切換時間、最大中斷禁止時間等幾個方面來衡量。實時操作系統(tǒng)中的幾個重要的評價指標1)任務調(diào)度機制:RTOS的實時性和多任務能力在很大程度上取決于它的任務調(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)控制權以便對事件作出反應,所以大都提供了“搶占式任務調(diào)度”的功能,也就是操作系統(tǒng)有權主動終止應用程序的執(zhí)行,并且將執(zhí)行權交給擁有最高優(yōu)先級的任務。以下是兩種可以作出精確描述實時應用的時間測定正確性的著名算法:速度單調(diào):在工作量有一組定期任務組成的應用中,每個任務的執(zhí)行時間定長,這種速度單調(diào)調(diào)度算法能夠保證其可調(diào)度性。在系統(tǒng)中,最高頻的任務具有最高的優(yōu)先級。時限驅(qū)動:對于一個由定期和不定期任務混合或者任務的執(zhí)行時長隨著時間變化的應用,可以使用時限驅(qū)動算法。這個算法的準則是下一個要安排執(zhí)行的任務是一個時限最早的任務,該任務完成之后,下一個時限最早的任務被選擇調(diào)度和執(zhí)行。2)內(nèi)存管理:實時操作系統(tǒng)內(nèi)存管理模式可以分為實模式與保護模式。目前主流的實時操作系統(tǒng)一般都可以提供兩種模式,讓用戶根據(jù)應用自舉選擇。3)最小內(nèi)存開銷:由于在多數(shù)嵌入式系統(tǒng)中內(nèi)存配置一般都不大,在這有限的內(nèi)存空間里不僅要裝載實時操作系統(tǒng),還要裝載用戶程序。因此,在RTOS的設計中,其占用內(nèi)存大小是一個很重要的指標,這是RTOS設計與其它操作系統(tǒng)設計的明顯區(qū)別之一。4)中斷禁止時間與中斷延遲事件:當RTOS運行在核心態(tài)或執(zhí)行某些系統(tǒng)調(diào)用的時候,是不會因為外部中斷的到來而中斷執(zhí)行的。只有當RTOS重新回到用戶態(tài)時才響應外部中斷請求,這一過程所需的最大時間就是中斷禁止時間。中斷延時時間是指系統(tǒng)確認中斷開始直到執(zhí)行中斷服務程序的第一條指令為止整個處理過程所需要的時間。實時操作系統(tǒng)的中斷延時時間由下列三個因素決定:----處理器硬件電路的延遲時間,通常這個時間可以忽略。----實時操作系統(tǒng)處理中斷并將控制權轉(zhuǎn)移給相關處理程序所需要的時間。----實時操作系統(tǒng)的中斷禁止時間。為了縮短系統(tǒng)對于中斷請求的響應時間----中斷延遲時間,大多數(shù)商用實時操作系統(tǒng)都采用了“可中斷式”的核心程序,當然也有相當多的實時操作系統(tǒng),例如實時Linux,采用非搶占式的核心程序。5)任務切換時間:當由于某種原因使一個任務退出運行時,RTOS保存它的運行現(xiàn)場信息、插入相應隊列、并依據(jù)一定的調(diào)度算法重新選擇一個新任務使之投入運行,這一過程所需時間稱為任務切換時間。任務切換時間是實時操作系統(tǒng)將控制權從一個任務的執(zhí)行中取回,然后交給另外一個任務所需要的時間。它包括保存目前正在執(zhí)行任務的現(xiàn)場信息所需要的時間、RTOS決定下一個調(diào)度任務所需的調(diào)度時間以及RTOS把另外一個任務調(diào)入系統(tǒng)執(zhí)行所需要的時間。最大中斷禁止時間和任務切換時間是評價一個RTOS實時性最重要的兩個技術指標。RTOS市場和技術發(fā)展的變化易于移植的RTOS結構支持更多種的處理器支持Unix/POSIX兼容的趨勢明顯內(nèi)核可以裁剪以支持RTOS適應小系統(tǒng)和大系統(tǒng)的各種應用RTOS與工具的IDE緊密結合出現(xiàn)越來越多的銷售源代碼和一次性版稅的RTOS廠家RTOS廠家除提供的文件,圖形和TCP/IP外,與特定應用的結合更多,如互連網(wǎng)絡,通信一、WindRiver-ISI的結合形成RTOS市場的‘航母’,但他的競爭對手紛紛聲稱他們有了更多的機會(因為WindRiver放棄PSOS)50%(北美)的用戶依然在使用自己編寫的RTOS,他們將走到那里?后PC時代更多的數(shù)字化產(chǎn)品將使用RTOS或嵌人OS,這里就產(chǎn)生了WinCE,PalmOS,JavaOS,Epoc等‘軟’實時的嵌人OS二、電訊和控制系統(tǒng)核心設備要求RTOS的高可靠性半導體廠商對RTOS和工具的需求強烈,商業(yè)性的合作方式以由外包,到今天收購工具公司和軟件協(xié)議公司如Motorola收購Metrowerks并投資Lineo,ARC收購Metaware,ARM收購Allant,Intel投資Montvista嵌人式Linux已經(jīng)在消費電子等非強實時領域進入RTOS的市場并得到了相當廣泛的半導體廠商如Intel三、RTOS市場將可能劃分為三段系統(tǒng)級,板極,SOC級嵌人式Linux依靠POSIX兼容,高可靠源碼開放資源豐富的優(yōu)勢將進入傳統(tǒng)Unix和NT占據(jù)的系統(tǒng)級市場(如CPCI,HA/HotSwap)板級依然是傳統(tǒng)RTOS的天下主要將集中在航空航天,軍事應用和傳統(tǒng)電訊市場SOC級是新生代較逐的領域,嵌人處理器,消費電子產(chǎn)品,互連網(wǎng)絡通信設備都將是市場變化最快之處§4.12RTOS---未來?一、是否會出現(xiàn)標準RTOS?是否會出現(xiàn)某種行業(yè)標準RTOS?在某段時間內(nèi)可能,如目前VxWork在數(shù)據(jù)通信和WinCE在掌上電腦和高檔PDA(亞洲),手機RTOS的EPOC是否所有的RTOS將都可以出售源碼?是否RTOS將向Linux一樣‘免費’但服務收費?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)絡技術ClientServerPort使用標準的應用協(xié)議網(wǎng)絡應用層的標準協(xié)議可以使你借助一些現(xiàn)成的且容易獲得的標準工具軟件。例如,通過使用HTML和HTTP這類標準的應用數(shù)據(jù)格式和協(xié)議,就沒有必要在每個系統(tǒng)上安裝一個專門用于訪問嵌入系統(tǒng)的瀏覽器。網(wǎng)絡體系結構網(wǎng)絡體系結構是指一個計算機網(wǎng)絡的模塊格式和設計結構。最重要的部分就是設計不同網(wǎng)絡層使用的協(xié)議,因此網(wǎng)絡體系結構常常被稱為協(xié)議堆?;騾f(xié)議集。NetBIOS,IPX/SPX,AppleTalk,TCP/IP,OSITCP/IP協(xié)議的優(yōu)點:免費標準堅實穩(wěn)定異構兼容基礎設施堆棧小巧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)絡與超文本媒體聯(lián)合起來創(chuàng)造一個強有力的且容易使用的全球信息系統(tǒng)。HTTP:超文本傳輸協(xié)議,作為Web瀏覽器和服務器請求和傳送資源或網(wǎng)頁的協(xié)議。HTML:超文本鏈接標示語言,是Web的交流語言。URL:統(tǒng)一的資源定位表示法,將節(jié)點名、單個資源名以及用于提取此資源的協(xié)議名合成一個唯一的名字。嵌入應用的HTTPHTTP提供了一個雙向傳輸文件的簡單、標準的方法。你可以下載文件和程序到嵌入設備中,也可以從嵌入系統(tǒng)中上傳數(shù)據(jù),在這兩個方向上傳送的文件都可以包括任何種類的數(shù)據(jù)。能安排和傳送嵌入網(wǎng)絡服務器中的HTML文檔的功能會給嵌入應用極大的好處。如Web瀏覽器和標準的HTML格式界面就為嵌入式設備方便地實現(xiàn)網(wǎng)絡用戶界面提供了很好的手段。用Web瀏覽器可以從嵌入系統(tǒng)收集數(shù)據(jù);下載新數(shù)據(jù)或新軟件給嵌入系統(tǒng);重新配置嵌入系統(tǒng)等。嵌入程序中的HTMLHTML是一個實現(xiàn)交互式網(wǎng)絡應用程序的全球化規(guī)范語言,使其成為迅速、簡單并可靠地為嵌入系統(tǒng)配備按form方式驅(qū)動的設備接口的一個自然選擇。在嵌入系統(tǒng)界面設計中使用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合作聯(lián)營合同范文
- 呂金遙借款合同分析
- 房屋交易居間服務協(xié)議書
- 2024版旅游合同書編寫
- 工廠轉(zhuǎn)讓合同關鍵條款
- 浙江省建筑業(yè)農(nóng)民工雇傭合同模板
- 倉庫租賃合同 附加協(xié)議
- 技術股權合作格式模板
- 農(nóng)業(yè)合作社貧困戶精準幫扶協(xié)議
- 醫(yī)生間合作協(xié)議書參考樣本
- 臨時用地復耕方案
- 二年級上數(shù)學老師家長會ppt.ppt
- 辦理營業(yè)執(zhí)照委托書
- 危險貨物道路運輸安全卡4
- 船舶電氣安裝理論圖紙相結合PPT課件
- 道路交通標志與標線PPT課件
- 幕墻打膠工藝
- 新冀教版九年級英語上冊第26課課件
- 編寫標準必備文件 國家標準 地方標準 行業(yè)標準 企業(yè)標準 格式模板大全
- 《鉆木取火》PPT
- 2021-2025鄉(xiāng)村5年規(guī)劃三篇
評論
0/150
提交評論