999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于嵌入式微處理器的VxWorks系統(tǒng)移植

2007-01-01 00:00:00屈文新樊曉椏

摘 要:VxWorks是專門為實(shí)時(shí)嵌入式系統(tǒng)設(shè)計(jì)開發(fā)的操作系統(tǒng),為編程人員提供了高效的實(shí)時(shí)多任務(wù)調(diào)度、中斷管理、實(shí)時(shí)的系統(tǒng)資源以及實(shí)時(shí)的任務(wù)間通信。提出了一種以嵌入式微處理器為核心,移植VxWorks操作系統(tǒng)的方法。通過對VxWorks輸入/輸出系統(tǒng)的分析以及中斷處理和異常處理過程的研究,設(shè)計(jì)了相應(yīng)的外圍器件,成功實(shí)現(xiàn)了VxWorks操作系統(tǒng)的移植。

關(guān)鍵詞:VxWorks;嵌入式微處理器;實(shí)時(shí)

中圖分類號:TP303文獻(xiàn)標(biāo)志碼:A

文章編號:1001-3695(2007)06-0262-03

VxWorks是美國Wind River System公司(即WRS)開發(fā)的一個(gè)嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)。WRS 公司組建于1981年,是一個(gè)專門從事實(shí)時(shí)操作系統(tǒng)開發(fā)與生產(chǎn)的軟件公司,該公司在實(shí)時(shí)操作系統(tǒng)領(lǐng)域被世界公認(rèn)為是最具有領(lǐng)導(dǎo)地位的公司。VxWorks是一個(gè)運(yùn)行在目標(biāo)機(jī)上的高性能、可裁減的嵌入式實(shí)時(shí)操作系統(tǒng),以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中。主要商業(yè)用戶包括Cisco System、Bay Networks、3Com、Fore System、HP、Lucent、Qualcomm等著名公司,應(yīng)用實(shí)例包括著名的火星探測車、愛國者導(dǎo)彈等[1]。

西北工業(yè)大學(xué)航空微電子中心基于自主研發(fā)的32位RISC結(jié)構(gòu)高性能嵌入式微處理器,通過對VxWorks輸入輸出系統(tǒng)的分析以及中斷處理和異常處理過程的研究,設(shè)計(jì)了必要的外圍器件,實(shí)現(xiàn)了VxWorks操作系統(tǒng)的移植。

本文對VxWorks操作系統(tǒng)進(jìn)行了分析,對嵌入式微處理器及其外圍器件進(jìn)行了介紹,并分析了移植后的VxWorks操作系統(tǒng)的輸入輸出函數(shù),討論了移植后的VxWorks操作系統(tǒng)的中斷處理過程和異常處理過程。

1 嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks

VxWorks操作系統(tǒng)是一個(gè)具有可伸縮、可裁減、高可靠性,同時(shí)適用于所有流行CPU平臺的實(shí)時(shí)操作系統(tǒng)[2]。

根據(jù)面向嵌入式系統(tǒng)的需求,對VxWorks操作系統(tǒng)進(jìn)行了裁減,裁減后的主要組件包括BSP(Board Support Package)、微內(nèi)核Wind及輸入/輸出系統(tǒng)。

BSP:VxWorks采用模塊化設(shè)計(jì)方法,把依賴于硬件環(huán)境的函數(shù)和信息分離出來,放入稱為BSP的組件中,保證BSP可以向上層軟件提供一致的接口。BSP中包括硬件環(huán)境中CPU的初始化及系統(tǒng)各項(xiàng)硬件資源的安裝和配置,包括RAM、Clock、中斷控制器等。

Wind:微內(nèi)核Wind是WindRiver公司自行開發(fā)的一種嵌入式操作系統(tǒng)內(nèi)核,該內(nèi)核具有標(biāo)準(zhǔn)的嵌入式實(shí)時(shí)操作系統(tǒng)的基本特征,如可裁減性、搶占式任務(wù)調(diào)度、異步事件響應(yīng)等。

輸入/輸出:VxWorks的輸入/輸出系統(tǒng)提供了操作系統(tǒng)與各硬件設(shè)備的接口,主要包括字符設(shè)備、串行設(shè)備、塊設(shè)備、虛擬設(shè)備(管道、Socket)、監(jiān)控設(shè)備和網(wǎng)絡(luò)設(shè)備等。

在嵌入式系統(tǒng)中運(yùn)行VxWorks操作系統(tǒng)使用的是一種壓縮的ROM駐留型鏡像,編譯后生成的壓縮型的VxWorks鏡像文件被固化在一片F(xiàn)lash中。當(dāng)系統(tǒng)上電后,首先將VxWorks鏡像文件經(jīng)解壓后拷貝到內(nèi)存中,然后再運(yùn)行。這種啟動方式,在上電后的開始階段,程序由于需要解壓縮,系統(tǒng)的啟動時(shí)間較長,但是這種VxWorks的鏡像文件比非壓縮型的VxWorks鏡像文件占用的空間要少得多(接近一半)。

整個(gè)系統(tǒng)的啟動流程如圖1所示。

圖1 VxWorks 操作系統(tǒng)啟動流程

具體的執(zhí)行過程是:

在Usrinit函數(shù)中首先調(diào)用sysStart函數(shù),清除BSS(0填充),設(shè)置向量表基址。然后執(zhí)行cacheLibInit函數(shù),加入對Cache的支持。執(zhí)行excVecInit函數(shù)初始化異常處理向量。執(zhí)行sysHwInit函數(shù),進(jìn)行硬件初始化,調(diào)用sysSerialHwInit函數(shù)(它對串口進(jìn)行了初始化)。調(diào)用usrCacheEnable函數(shù),使用戶指令和數(shù)據(jù)高速緩存可用。調(diào)用usrKernelInit函數(shù),對操作系統(tǒng)的核進(jìn)行初始化,使usrroot函數(shù)為根任務(wù),并使之執(zhí)行。

在usrroot函數(shù)中首先調(diào)用usrKernelCoreInit函數(shù),進(jìn)行操作系統(tǒng)核的主要部分初始化(信號量、消息隊(duì)列、“看門狗”定時(shí)器、以及調(diào)用taskHookInit函數(shù)等)。然后調(diào)用memInit函數(shù),進(jìn)行內(nèi)存管理器的初始化。調(diào)用usrMmuInit函數(shù),初始化MMU。調(diào)用sysClkInit函數(shù),進(jìn)行系統(tǒng)時(shí)鐘的初始化。調(diào)用selectInit函數(shù)進(jìn)行select library的初始化。調(diào)用usrIosCoreInit函數(shù),對輸入/輸出系統(tǒng)的核心部分進(jìn)行初始化。調(diào)用usrBootLineParse函數(shù),解析Boot Device的配置信息,主要是與網(wǎng)絡(luò)相關(guān)的信息,如IP地址等。調(diào)用iosInit函數(shù),對輸入/輸出系統(tǒng)進(jìn)行初始化。調(diào)用ttyDrv函數(shù),初始化并安裝串行設(shè)備。調(diào)用usrSerialInit函數(shù),創(chuàng)建與串行通道對應(yīng)的tty設(shè)備。調(diào)用usrKernelExtraInit函數(shù),對操作系統(tǒng)的其他部分進(jìn)行初始化(如hash table、symbol table及signal(信號)。調(diào)用usrIosExtraIni函數(shù),對輸入/輸出其他部分進(jìn)行初始化。調(diào)用selTaskDeleteHookAdd函數(shù)支持對任務(wù)的管理。調(diào)用usrToolsInit函數(shù),對software development tools的初始化。調(diào)用cplusCtorsLink函數(shù)、usrCplusLibInit函數(shù)、cplusDemanglerInit函數(shù),它們是和支持C++編譯相關(guān)的函數(shù)。調(diào)用usrAppInit函數(shù),此函數(shù)存放于usrAppInit.c中,當(dāng)需要編寫應(yīng)用程序時(shí),有關(guān)啟動應(yīng)用程序的代碼放在usrAppInit函數(shù)中。

待usrroot函數(shù)中的所有函數(shù)執(zhí)行完后再將被掛起的Shell重新激活,進(jìn)入交互式的Shell中,等待用戶的命令輸入。

2 嵌入式微處理器及外圍器件

如圖2所示,根據(jù)面向嵌入式系統(tǒng)的需求,以嵌入式微處理器為核心,設(shè)計(jì)了包括控制外部SRAM、串行設(shè)備、Flash的存儲控制單元,用于中斷處理的中斷控制器,與微處理器連接的微處理器接口單元,用于總控的中央控制單元,保存配置信息的配置寄存器單元等[3]。

圖2 嵌入式系統(tǒng)總體結(jié)構(gòu)圖

3 VxWorks輸入/輸出系統(tǒng)

在嵌入式系統(tǒng)中主要通過串行口來進(jìn)行人機(jī)交互,所以使用的VxWorks操作系統(tǒng)的輸入/輸出系統(tǒng)就主要是指串行設(shè)備。

在VxWorks中,串行設(shè)備是一種特殊的設(shè)備,它既是VxWorks下的輸入/輸出系統(tǒng),同時(shí)又是目標(biāo)機(jī)的調(diào)試接口;它既可以工作在中斷模式,又可以工作在輪詢模式下。除此之外,串行設(shè)備驅(qū)動程序還要實(shí)現(xiàn)一些與設(shè)備無關(guān)的功能:將回車符輸出映射成回車換行輸出;提供命令行編輯能力;對輸入/輸出的數(shù)據(jù)進(jìn)行緩沖等。

串行設(shè)備的驅(qū)動程序不是安裝在驅(qū)動程序列表中,而是通過回調(diào)方式掛在終端虛擬設(shè)備上。由于驅(qū)動程序的安裝方式不同,系統(tǒng)也就不會將串行設(shè)備驅(qū)動程序掛在設(shè)備列表上,即輸入/輸出系統(tǒng)是看不到串行設(shè)備的。

在輸入/輸出系統(tǒng)方面,終端虛擬設(shè)備作為一個(gè)字符型設(shè)備存在,它將自身的入口點(diǎn)函數(shù)掛在輸入/輸出系統(tǒng)上,創(chuàng)建設(shè)備描述符并將其加入到設(shè)備列表中。當(dāng)用戶有輸入/輸出請求到達(dá)輸入/輸出系統(tǒng)時(shí),該系統(tǒng)會調(diào)用終端虛擬設(shè)備相應(yīng)的函數(shù)響應(yīng)請求。同時(shí),終端虛擬設(shè)備管理了緩沖區(qū)的互斥,提供了任務(wù)的同步操作。對于該系統(tǒng),與之打交道的設(shè)備是終端虛擬設(shè)備。

另一方面,終端虛擬設(shè)備負(fù)責(zé)與實(shí)際的設(shè)備驅(qū)動程序交換信息。通過設(shè)備驅(qū)動程序提供的回調(diào)函數(shù)及必要的數(shù)據(jù)結(jié)構(gòu),終端虛擬設(shè)備將系統(tǒng)的輸入/輸出請求做相應(yīng)的處理后,傳遞給設(shè)備驅(qū)動程序,由設(shè)備驅(qū)動程序來完成實(shí)際的輸入/輸出操作。

對于串行設(shè)備輸入,串行設(shè)備會發(fā)送一個(gè)輸入請求,等待讀中斷響應(yīng)后將數(shù)據(jù)寫入輸入緩沖區(qū),一旦緩沖區(qū)不為空時(shí),則用戶程序或者操作系統(tǒng)的讀函數(shù)(在數(shù)據(jù)準(zhǔn)備好以前已經(jīng)處于等待狀態(tài))會調(diào)用終端虛擬設(shè)備讀函數(shù),將數(shù)據(jù)從輸入緩沖區(qū)拷貝到用戶緩沖區(qū),對于用戶而言這是讀串行設(shè)備的過程。

對于串行設(shè)備輸出,用戶程序或者操作系統(tǒng)往串行設(shè)備寫數(shù)據(jù)時(shí)會調(diào)用寫函數(shù)而發(fā)出輸出請求, 輸入/輸出系統(tǒng)會調(diào)用終端虛擬設(shè)備相應(yīng)的終端虛擬設(shè)備的寫函數(shù)將數(shù)據(jù)寫到輸出環(huán)形緩沖區(qū),同時(shí)會啟動一次終端虛擬設(shè)備發(fā)送請求函數(shù),終端虛擬設(shè)備發(fā)送請求函數(shù)會調(diào)用真實(shí)的串行設(shè)備啟動函數(shù)引發(fā)寫中斷,然后調(diào)用中斷將數(shù)據(jù)送到串行設(shè)備,對于用戶而言這是寫串行設(shè)備的過程。

3.1 輸入系統(tǒng)

VxWorks的輸入/輸出系統(tǒng)輸入函數(shù)主要是通過調(diào)用終端虛擬設(shè)備層終端虛擬設(shè)備庫中的終端虛擬設(shè)備讀函數(shù),終端虛擬設(shè)備讀函數(shù)通過同步信號量與讀中斷通信來解決對讀緩沖區(qū)訪問沖突的問題。終端虛擬設(shè)備讀函數(shù)被輸入/輸出系統(tǒng)層iosLib庫中的iosRead函數(shù)調(diào)用,iosRead函數(shù)被應(yīng)用層ioLib庫中的read函數(shù)調(diào)用。開始read函數(shù)處于阻塞狀態(tài)等待輸入,設(shè)備會發(fā)中斷請求將數(shù)據(jù)寫入到輸入環(huán)形緩沖區(qū),當(dāng)輸入環(huán)形緩沖區(qū)不為空時(shí),終端虛擬設(shè)備讀函數(shù)就可以將輸入環(huán)形緩沖區(qū)的數(shù)據(jù)送入用戶緩沖區(qū)完成輸入。VxWorks系統(tǒng)運(yùn)行的過程中任何進(jìn)程要從外圍設(shè)備讀取數(shù)據(jù)必須調(diào)用read函數(shù)。下面就從iosRead函數(shù)開始分析VxWorks系統(tǒng)如何從讀緩沖區(qū)取出數(shù)據(jù)并傳遞給指定的變量。

iosRead函數(shù)是將read函數(shù)傳遞來的文件描述符參數(shù)fd,轉(zhuǎn)換成FD_ENTRY結(jié)構(gòu)體類型變量pFdEntry,根據(jù)pFdEntry結(jié)構(gòu)體中的值查找drvTable表中外圍設(shè)備驅(qū)動庫中的讀函數(shù)(如終端虛擬設(shè)備讀函數(shù))。調(diào)用終端虛擬設(shè)備讀函數(shù),并將設(shè)備的ID號和要讀的字符個(gè)數(shù)傳遞給終端虛擬設(shè)備讀函數(shù)。

read函數(shù)是接收fioRdString函數(shù)傳遞來的文件描述符fd(指向標(biāo)準(zhǔn)輸入設(shè)備)和讀取字符個(gè)數(shù),調(diào)用輸入/輸出系統(tǒng)庫函數(shù)iosRead。

fioRdString函數(shù)的功能是根據(jù)給定的文件描述符fd(指向標(biāo)準(zhǔn)輸入設(shè)備),調(diào)用read函數(shù)將字符讀到字符串?dāng)?shù)組string[]中,并返回讀取的字符個(gè)數(shù)。 

3.2 輸出系統(tǒng)

VxWorks的輸入/輸出系統(tǒng)的輸出函數(shù)主要是通過調(diào)用write函數(shù),write函數(shù)調(diào)用iosWrite函數(shù),iosWrite調(diào)用終端虛擬設(shè)備寫函數(shù),并引發(fā)中斷來實(shí)現(xiàn)輸出。這里主要介紹打印函數(shù)printf。

printf函數(shù)是C語言的庫函數(shù),VxWorks包含它可以打印信息到顯示終端以方便調(diào)試或?qū)嵤┙换ァK且粋€(gè)變參數(shù)的函數(shù),它根據(jù)用戶寫的格式轉(zhuǎn)換字符串,輸出相應(yīng)格式的字符串到顯示終端,也可以直接將用戶寫字符串輸出到顯示終端。

printf的格式為printf(“格式轉(zhuǎn)換字符串”[,變量]),格式轉(zhuǎn)換字符串由普通字符和格式轉(zhuǎn)換符%,以及字符串結(jié)束符組成。變量的類型和格式轉(zhuǎn)換符后所跟的變量類型說明符一致,有幾個(gè)變量類型說明符,就跟幾個(gè)變量。由于printf是函數(shù),格式轉(zhuǎn)換字符串和后面的輸出列表實(shí)際上都是函數(shù)的參數(shù),可以表示為printf(參數(shù)1,參數(shù)2,參數(shù)3,…,參數(shù)n)。printf函數(shù)的功能是將參數(shù)2,…,參數(shù)n按參數(shù)1給定的格式輸出。

printf函數(shù)的參數(shù)是連續(xù)存放在數(shù)據(jù)區(qū)的,首先放入格式轉(zhuǎn)換字符串,接著放第一個(gè)變量的起始地址,然后放第二個(gè)變量的起始地址,依次類推(如果包含通配符*,在相應(yīng)的位置放代替通配符的整數(shù))。

printf執(zhí)行時(shí),首先使一個(gè)指針指向存放第一個(gè)變量的地址,并將格式轉(zhuǎn)換字符串拷貝內(nèi)存中,然后調(diào)用fioformatV函數(shù)。

fioformatV函數(shù)是printf的主體函數(shù),由它完成格式轉(zhuǎn)換的任務(wù),轉(zhuǎn)換完成后調(diào)用printfbuf函數(shù)寫入緩沖區(qū)。它先將fmt的首地址賦給cp(cp是一個(gè)字符串指針),然后從fmt的開頭逐個(gè)掃描字符,沒有遇到格式轉(zhuǎn)換符和字符結(jié)束符就一直向后掃描,一旦遇到了格式轉(zhuǎn)換符%和字符結(jié)束符,就將從cp開始到結(jié)束符或格式轉(zhuǎn)換符的所有字符打印到顯示終端;如果是結(jié)束符則程序執(zhí)行完畢,如果是格式轉(zhuǎn)換符%,則根據(jù)其后所跟的格式說明符進(jìn)行相應(yīng)的格式轉(zhuǎn)換,得到適當(dāng)?shù)妮敵龃{(diào)用printbuf()輸出到顯示終端。

簡而言之,fioformatV函數(shù)就是一個(gè)無限循環(huán),無限循環(huán)每次循環(huán)完成一種格式轉(zhuǎn)換和對應(yīng)格式的輸出,或普通字符輸出,直到格式轉(zhuǎn)換字符串掃描完畢;它有可能會多次調(diào)用printbuf函數(shù)。

printbuf函數(shù)有三個(gè)參數(shù),調(diào)用write函數(shù)將字符指針Buf所指向的Nbytes個(gè)字符寫入緩沖區(qū)。

write函數(shù)調(diào)用輸入/輸出系統(tǒng)寫函數(shù)iosWrite,iosWrite會調(diào)用終端虛擬設(shè)備寫函數(shù),將用戶緩沖區(qū)的數(shù)據(jù)即希望printf輸出的字符串拷貝到輸出環(huán)形緩沖區(qū),此時(shí)終端虛擬設(shè)備寫函數(shù)會發(fā)送一個(gè)寫請求,請求將數(shù)據(jù)寫入串口設(shè)備,通過串口送到顯示終端,它將引發(fā)中斷來完成寫過程。

4 中斷處理過程

中斷處理函數(shù)執(zhí)行的流程是將intEnt函數(shù)、sysIntHandler函數(shù)和intExit函數(shù)連接起來執(zhí)行的過程。

intEnt函數(shù)主要功能是保護(hù)現(xiàn)場并設(shè)置VxWorks系統(tǒng)運(yùn)行狀態(tài)。

sysIntHandler函數(shù)是一個(gè)中斷分離程序,該函數(shù)可以根據(jù)不同的中斷源信號判斷中斷類型,執(zhí)行相對應(yīng)的ISR。

intExit函數(shù)的功能是恢復(fù)現(xiàn)場并且設(shè)置VxWorks系統(tǒng)運(yùn)行狀態(tài),其流程與intEnt相反。

VxWorks讀寫中斷由串口控制器完成,每次中斷處理可以完成10 個(gè)以下(包括10個(gè))字符的接收或發(fā)送,中斷信號由串口控制器發(fā)送,進(jìn)入中斷后先讀取串口控制器的ISR寄存器的值,然后和IMRcopy進(jìn)行與操作,根據(jù)與的結(jié)果順序判斷是A信道讀,A信道寫,還是B信道讀,B信道寫。IMR寄存器是由操作系統(tǒng)寫的,在執(zhí)行讀操作之前會調(diào)用ioctl函數(shù)清空IMR在內(nèi)存中的副本IMRcopy,每次執(zhí)行寫操作前調(diào)用串口控制器啟動函數(shù)寫IMR在內(nèi)存中的副本IMRcopy。串口控制器發(fā)中斷的機(jī)制如下:

執(zhí)行完一次寫中斷后寫IMRcopy清寫中斷,并回寫IMR。發(fā)送完或接收完一個(gè)字符后,中斷服務(wù)程序會再一次查詢ISR和IMR的與判斷是否還有中斷,如果還有中斷信號,順序判斷是A信道讀,A信道寫,還是B信道讀,B信道寫處理下一個(gè)字符。如果已經(jīng)處理了10個(gè)字符,則退出中斷服務(wù)程序等待下一次中斷到來,處理余下的字符。如果一次中斷處理的字符少于10個(gè)(說明本次處理完后緩沖區(qū)就為空了)則中斷結(jié)束。讀寫中斷退出處理過程略有不同,對于寫中斷,處理完最后一個(gè)字符后,會再讀一次寫緩沖區(qū),這次沒讀到數(shù)據(jù),中斷程序會認(rèn)為緩沖區(qū)已空并修改IMR寄存器屏蔽寫中斷,然后退出中斷服務(wù)程序;而對于讀中斷,處理完最后一個(gè)字符后,讀緩沖區(qū)為空,串口控制器會立即修改ISR的值屏蔽讀中斷,然后退出中斷服務(wù)程序。

5 異常處理過程

在任務(wù)運(yùn)行過程中,會出現(xiàn)一些異常的情況,導(dǎo)致任務(wù)不能正常運(yùn)行或者對操作系統(tǒng)造成影響。在VxWorks中,當(dāng)任務(wù)的指令執(zhí)行中出現(xiàn)了非法指令、地址尋址錯(cuò)誤、總線錯(cuò)、除數(shù)為0等情況時(shí),就會出現(xiàn)CPU異常。

為了處理這些異常,VxWorks在usrInit函數(shù)中調(diào)用excVecInit函數(shù)初始化了異常向量表,共初始化了17個(gè)異常向量,每個(gè)異常都有一個(gè)默認(rèn)的處理程序。除了900(定時(shí)器到時(shí)異常)和500(外部中斷)兩個(gè)是異步異常,異常的處理程序是excIntHandle函數(shù)外,其余的15個(gè)異常的默認(rèn)處理程序都是excExcHandle函數(shù)。

用戶可以根據(jù)體系結(jié)構(gòu)和需要連接自己的異常處理程序代替默認(rèn)的異常處理程序。VXWorks在usrExcInit函數(shù)中調(diào)用excConnect函數(shù)連接了自己的異常處理程序usrMachExcHandler函數(shù)、usrDsiExcHandler函數(shù)、usrIsiExcHandler函數(shù)、usrAlignmentExcHandler函數(shù)、usrProgramExcHandler函數(shù);在sysHwInit函數(shù)里調(diào)用excIntConnect函數(shù)連接usrDecHandler函數(shù)到900異常,在sysHwInit函數(shù)里調(diào)用sysIntInit函數(shù),sysIntInit函數(shù)在調(diào)用excIntConnect函數(shù)連接sysIntHandler函數(shù)到500外部中斷。

VxWorks的異常處理機(jī)制是有優(yōu)先級的,其中System Reset異常優(yōu)先級最高,Machine Check次之,這兩個(gè)異常也是非屏蔽異常,500和900異常優(yōu)先級最低,也是可屏蔽的。

任何異常發(fā)生后,CPU要從用戶態(tài)切換到內(nèi)核態(tài),異常處理程序一般的處理過程如下:

首先,保存機(jī)器狀態(tài),包括機(jī)器狀態(tài)字MSR和當(dāng)前指令地址,即MSR→SRR1;PC→SRR0。然后,修改機(jī)器狀態(tài)寄存器,包括屏蔽外部中斷、標(biāo)記當(dāng)前狀態(tài)。最后,跳轉(zhuǎn)到對應(yīng)的異常處理向量表入口,開始執(zhí)行異常處理程序。

6 結(jié)束語

VxWorks是一種功能強(qiáng)大的嵌入式實(shí)時(shí)操作系統(tǒng),為編程人員提供了高效的實(shí)時(shí)多任務(wù)調(diào)度、中斷管理、實(shí)時(shí)的系統(tǒng)資源以及實(shí)時(shí)的任務(wù)間通信。本文通過對VxWorks操作系統(tǒng)啟動流程、輸入輸出系統(tǒng)的分析以及中斷處理和異常處理過程的研究,設(shè)計(jì)了相應(yīng)的外圍器件,成功實(shí)現(xiàn)了VxWorks操作系統(tǒng)的移植。

本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。

主站蜘蛛池模板: 在线精品视频成人网| 国产精品无码久久久久久| 波多野结衣无码AV在线| 国产一在线| 激情无码视频在线看| 制服无码网站| 永久免费av网站可以直接看的| 夜色爽爽影院18禁妓女影院| www.91中文字幕| 精品国产aⅴ一区二区三区| 久久精品国产免费观看频道| 成年女人18毛片毛片免费| 亚洲美女一级毛片| 久草视频精品| 日韩午夜福利在线观看| 日韩无码一二三区| 国产丝袜啪啪| 国产精品毛片在线直播完整版 | 91麻豆国产精品91久久久| 午夜国产不卡在线观看视频| 欧美一区二区三区不卡免费| аⅴ资源中文在线天堂| 国产乱肥老妇精品视频| 久久青青草原亚洲av无码| 久久性妇女精品免费| 欧美有码在线| 久久国产黑丝袜视频| 亚洲欧美日韩中文字幕在线一区| 国产成人精品一区二区免费看京| 伊人久久青草青青综合| 精品福利视频导航| a级高清毛片| 五月天丁香婷婷综合久久| 亚洲综合片| 欧美精品亚洲精品日韩专| 亚洲Va中文字幕久久一区| 91久久偷偷做嫩草影院| 久久精品人人做人人爽| 美臀人妻中出中文字幕在线| 亚洲精品老司机| 五月婷婷中文字幕| 嫩草国产在线| 久久香蕉国产线看观看精品蕉| 成人免费视频一区| 狠狠亚洲五月天| 呦系列视频一区二区三区| 99久久精品无码专区免费| 亚洲小视频网站| 99热这里只有精品免费| 青青久久91| 国产精品手机在线播放| 精品无码视频在线观看| 欧美一区二区福利视频| 免费观看国产小粉嫩喷水| 91精品视频播放| 国产欧美在线| 波多野结衣在线一区二区| 亚洲成人动漫在线观看| 国产黑丝一区| 午夜天堂视频| 成人午夜天| 999国内精品久久免费视频| 国产福利拍拍拍| 亚洲精品国产日韩无码AV永久免费网| 亚洲六月丁香六月婷婷蜜芽| 国产精品视频猛进猛出| 精品国产网| 精品国产网站| 亚洲伊人久久精品影院| 亚洲AⅤ综合在线欧美一区| 人妻中文字幕无码久久一区| 又大又硬又爽免费视频| 亚洲无码电影| 欧美亚洲香蕉| 国产成人精品优优av| 91九色最新地址| 亚洲制服丝袜第一页| h网站在线播放| 99精品伊人久久久大香线蕉| 91在线一9|永久视频在线| 乱人伦视频中文字幕在线| 91精品国产福利|