亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        S698-T處理器的RTEMS移植和應(yīng)用程序開發(fā)

        2015-07-02 00:17:24熊瑤歐陽高翔
        關(guān)鍵詞:字節(jié)寄存器中斷

        熊瑤,歐陽高翔

        (1.中國科學(xué)院大學(xué),北京 100094;2.中國科學(xué)院 光電研究所)

        ?

        熊瑤1,2,歐陽高翔2

        (1.中國科學(xué)院大學(xué),北京 100094;2.中國科學(xué)院 光電研究所)

        一個簡單的星載計(jì)算機(jī)模型由一個模擬真實(shí)衛(wèi)星的嵌入式系統(tǒng)和系統(tǒng)運(yùn)行所必需的數(shù)據(jù)集合組成,該數(shù)據(jù)集合由PC機(jī)上運(yùn)行的程序生成,模擬真實(shí)衛(wèi)星的運(yùn)行環(huán)境。為了構(gòu)建這個模型,首先要完成以SPARC V8架構(gòu)處理器S698-T為基礎(chǔ)的RTEMS操作系統(tǒng)移植,然后分別在S698-T端和PC端開發(fā)對應(yīng)的應(yīng)用程序,討論構(gòu)建嵌入式系統(tǒng)的主要步驟和需要注意的問題。

        星載計(jì)算機(jī);RTEMS;S698-T;SPARC

        引 言

        建立一個簡單的星載計(jì)算機(jī)模型,可以很方便地對某些技術(shù)和設(shè)備進(jìn)行驗(yàn)證,降低正式項(xiàng)目的研究成本。模型的各類參數(shù)應(yīng)當(dāng)與實(shí)際的星載計(jì)算機(jī)一致,因此對構(gòu)建模型的處理器與相應(yīng)的操作系統(tǒng)都提出了較高的技術(shù)要求。同時,在保證項(xiàng)目質(zhì)量的前提下控制研究成本,最可靠的辦法是采用在航天領(lǐng)域已經(jīng)成功應(yīng)用的開源產(chǎn)品。

        SPARC是一種開源的精簡指令集處理器架構(gòu),其突出特點(diǎn)是具有可擴(kuò)展性。ERC32是歐洲航天局為了打破美國對星載微處理器的壟斷地位而開發(fā)的一款基于SPARC V7架構(gòu)的面向空間應(yīng)用的微處理器,后續(xù)基于SPARC V8的處理器也成功應(yīng)用于航天工程。事實(shí)證明,SPARC架構(gòu)處理器正在航天領(lǐng)域發(fā)揮越來越大的作用。RTEMS是一款開源嵌入式實(shí)時操作系統(tǒng),最初由美國國防部開發(fā)并應(yīng)用于導(dǎo)彈控制系統(tǒng),后來轉(zhuǎn)為開源,由OAR公司進(jìn)行維護(hù)。

        本文搭建的星載計(jì)算機(jī)模型,至少需要一個模擬真實(shí)衛(wèi)星軟硬件環(huán)境的嵌入式系統(tǒng)和一個系統(tǒng)運(yùn)行所必需的數(shù)據(jù)集合。在本文中,嵌入式系統(tǒng)是在SPARC V8架構(gòu)處理器S698-T 基礎(chǔ)上移植RTEMS完成的,而數(shù)據(jù)集合由PC機(jī)上運(yùn)行的程序生成,二者通過串口進(jìn)行數(shù)據(jù)通信。

        1 星載計(jì)算機(jī)模型的實(shí)現(xiàn)

        1.1 主要步驟

        本文的目標(biāo)是建立一個簡單的星載計(jì)算機(jī)模型,使之能夠?qū)ο嚓P(guān)技術(shù)進(jìn)行驗(yàn)證。最理想的情況是,在模型操作系統(tǒng)中運(yùn)行的應(yīng)用程序應(yīng)當(dāng)是實(shí)際星務(wù)軟件在該系統(tǒng)下的移植版本,但為了能夠盡早對星載計(jì)算機(jī)模型進(jìn)行測試,以便及時發(fā)現(xiàn)可能存在的問題,本文將不會涉及星務(wù)軟件的移植工作。操作系統(tǒng)中運(yùn)行的應(yīng)用程序應(yīng)盡可能簡化,但必須能夠在S698-T處理器上完成一定量的數(shù)據(jù)處理工作,并實(shí)現(xiàn)與PC機(jī)間的數(shù)據(jù)通信功能,模擬的是星載計(jì)算機(jī)的數(shù)據(jù)處理流程和與地面控制站的數(shù)據(jù)通信過程。

        首先, RTEMS嵌入式操作系統(tǒng)到S698-T處理器的移植,這部分工作的主要內(nèi)容是RTEMS開發(fā)環(huán)境的建立和BSP的開發(fā)。其次,RTEMS嵌入式操作系統(tǒng)中應(yīng)用程序的建立,實(shí)現(xiàn)串口控制以及與PC機(jī)間的數(shù)據(jù)通信功能。

        1.2 RTEMS操作系統(tǒng)的移植

        1.2.1 建立交叉開發(fā)環(huán)境

        開發(fā)環(huán)境采用宿主機(jī)/目標(biāo)機(jī)模式,宿主機(jī)為x86架構(gòu)PC機(jī),運(yùn)行Fedora 19,目標(biāo)機(jī)為SPARC V8架構(gòu)的S698-T處理器,運(yùn)行RTEMS。宿主機(jī)和目標(biāo)機(jī)通過串口與DSU連接,串口負(fù)責(zé)數(shù)據(jù)通信,DSU負(fù)責(zé)在PC端對S698-T處理器進(jìn)行在線調(diào)試。

        在Fedora系統(tǒng)中建立交叉開發(fā)環(huán)境時,安裝的交叉開發(fā)工具采用添加了RTEMS補(bǔ)丁的GNU工具鏈(GCC、GDB、binary utilties、newlib等),這些工具可通過在RTEMS官網(wǎng)的ftp服務(wù)器上下載對應(yīng)的RPM包直接安裝,比使用源碼包編譯安裝更加方便,且能夠避免后者在安裝過程中可能遇到的大部分問題。

        在安裝完交叉開發(fā)工具后,需要為系統(tǒng)指定開發(fā)工具的安裝路徑,即設(shè)置環(huán)境變量:

        export PATH=/opt/rtems-4.10/bin:$PATH

        其中,/opt/rtems-4.10/bin是使用RPM包安裝交叉編譯工具時默認(rèn)的安裝路徑。同時需要注意,F(xiàn)edora采用bash作為shell,如果只在命令終端執(zhí)行上述命令,則會發(fā)現(xiàn)環(huán)境變量將還原至初始狀態(tài),需要重新設(shè)置。該問題最好的解決辦法是,將編譯工具的路徑寫到~/.bashrc中:

        echo "export PATH="/opt/rtems-4.10/bin:"$PATH">>~/.bashrc

        重新登錄后,環(huán)境變量保持改變后的狀態(tài)。

        1.2.2 BSP的開發(fā)與測試

        第1步,選擇BSP模板,RTEMS源碼提供了市場上流通的大多數(shù)架構(gòu)處理器的BSP模板,從中選擇與S698-T架構(gòu)最相似的leon2 BSP作為開發(fā)基礎(chǔ),做進(jìn)一步修改。

        第2步,修改BSP配置文件leon2.cfg中相關(guān)的結(jié)構(gòu)體系定義。

        第3步,修改BSP目錄下的所有Makefile.am文件,并重新生成Makefile.in文件。

        第4步,修改啟動代碼,包括建立TRAP表、基本的CPU初始化、設(shè)置中斷堆棧等。

        第5步,RTEMS系統(tǒng)配置,如設(shè)置RTEMS配置表、系統(tǒng)初始化任務(wù)表、用戶初始化任務(wù)表等,同時還需要提供板上外設(shè)的驅(qū)動程序。

        第6步,測試和調(diào)試,生成可執(zhí)行映像并下載到S698-T處理器上運(yùn)行,測試BSP的正確性。

        1.3 BSP的開發(fā)

        在上述BSP開發(fā)相關(guān)的步驟中,第3步修改啟動代碼最為重要。RTEMS BSP的啟動代碼主要包含在start.s、bootcard.c和bspstart.c等文件中。其中,start.s是系統(tǒng)上電后執(zhí)行的第一段程序,包含了用于安裝trap表和硬件初始化的代碼,之后跳轉(zhuǎn)到bootcard.c執(zhí)行進(jìn)一步的系統(tǒng)初始化。

        1.3.1 trap表安裝

        leon2 BSP中的trap表結(jié)構(gòu)簡單,主要作用是對各類trap處理函數(shù)入口地址進(jìn)行統(tǒng)一管理,其格式一般為TRAP( trap_type, SYM(trap_handler) ),作用是當(dāng)處理器發(fā)生具體的trap時,系統(tǒng)根據(jù)trap_type調(diào)用對應(yīng)的處理函數(shù)SYM(trap_handler)。

        默認(rèn)的trap表簡要如下:

        PUBLIC(trap_table)

        SYM(trap_table):

        RTRAP( 0, SYM(hard_reset) ); ! 00復(fù)位

        BAD_TRAP; ! 01取指令異常

        BAD_TRAP; ! 02企圖執(zhí)行UNIMP或其他未實(shí)現(xiàn)的指令

        BAD_TRAP; ! 03用戶模式下企圖執(zhí)行特權(quán)指令

        BAD_TRAP; ! 04FPU不存在或關(guān)閉時,企圖執(zhí)行浮點(diǎn)處理指令

        TRAP(5, SYM(window_overflow_trap_handler) );

        ! 05窗口上溢

        TRAP(6,SYM(window_underflow_trap_handler) );

        ! 06窗口下溢

        其中BAD_TRAP在start.s文件開頭定義,與硬件復(fù)位的trap處理函數(shù)一致。第0x00~0x7F為硬件trap,其中,第0x7E號trap定義為系統(tǒng)時鐘頻率,默認(rèn)為10 MHz;第0x80~0xFF定義為軟件trap,可通過ta指令使用。

        當(dāng)掌握trap表中trap及對應(yīng)處理函數(shù)的映射關(guān)系后,可以嘗試在start.s中對某些BAD_TRAP類的trap的處理函數(shù)做出具體的定義:首先在start.s文件開頭聲明一個trap處理函數(shù),然后在trap表中完成指定處理函數(shù)和指定trap的映射關(guān)系,最后在strat.s文件末尾前定義具體的處理函數(shù)代碼,上述代碼全部由匯編語句完成。通過這種方式,就可以清楚直觀地認(rèn)識到strat.s中trap表的工作方式,但并不推薦在實(shí)際工作中使用這種方法定義自己的trap處理函數(shù)。

        一般定義自己的trap處理函數(shù)是在RTEMS應(yīng)用程序中完成的。S698-T處理器包含了32類trap,其中包括S698-T處理器的15個一級中斷(0x11~0x1F號trap)和32個二級中斷。二級中斷的輸出連在了一級中斷的10號中斷(0x1A號trap)上,trap_type即所需中斷向量號,例如,在安裝“系統(tǒng)默認(rèn)uart0中斷”的處理函數(shù)時,主要使用的指令如下所示:

        rtems_interrupt_catch(uart0_interrupt_handler,0x13,&old_isr_entry);//捕捉中斷向量號為0x13的中斷,即uart0中斷,將其與一個具體的中斷處理函數(shù)聯(lián)系起來

        rtems_isr uart0_interrupt_handler(rtems_vector_number vector)//安裝具體的中斷處理函數(shù)

        在進(jìn)入中斷處理函數(shù)時,首先要關(guān)掉中斷,在執(zhí)行完中斷處理代碼后再打開中斷,然后才能退出中斷處理函數(shù),返回程序中斷點(diǎn)繼續(xù)運(yùn)行。

        1.3.2 系統(tǒng)硬件初始化

        在系統(tǒng)上電完成trap表的安裝后,開始執(zhí)行硬件的復(fù)位初始化代碼,主要完成以下功能:

        ① 初始化陷阱基址寄存器tbr,將trap表的安裝地址存入tbr寄存器中,這也是系統(tǒng)的啟動地址,在S698-T處理中是0x 4000 0000;

        ② 初始化窗口無效屏蔽寄存器wim;

        ③ 使能trap;

        ④ 設(shè)置系統(tǒng)堆棧,根據(jù)現(xiàn)有的sp設(shè)置fp;

        ⑤ 復(fù)制.data段和清空.bss段;

        ⑥ 跳轉(zhuǎn)到bootcard.c,完成目標(biāo)板特定的系統(tǒng)配置和RTEMS的系統(tǒng)初始化。

        需要注意的是,默認(rèn)的硬件初始化代碼中沒有對psr寄存器和sp寄存器進(jìn)行初始化,也沒有對內(nèi)存配置寄存器進(jìn)行初始化,更重要的是,沒有對S698-T內(nèi)8個窗口的寄存器進(jìn)行初始化,可能會造成不必要的異常。因此,在S698-T的初始化代碼中,必須要對8個窗口的寄存器清零。

        對窗口寄存器清零略——編者注。

        1.3.3 RTEMS的系統(tǒng)初始化

        在執(zhí)行完start.s中的啟動代碼后,將跳轉(zhuǎn)到bootcard.c,完成RTEMS的基本配置,如設(shè)置RTEMS配置表、CPU依賴信息表的相關(guān)入口等[3]。bootcard.c會根據(jù)目標(biāo)機(jī)環(huán)境重新配置RTEMS,為系統(tǒng)初始化任務(wù)建立標(biāo)準(zhǔn)C支持環(huán)境。最后,開啟多任務(wù)調(diào)度,運(yùn)行應(yīng)用程序中配置的第一個任務(wù)。

        1.4 BSP的測試

        RTEMS內(nèi)核與應(yīng)用程序構(gòu)成了一個基于函數(shù)調(diào)用形式的整體功能單元,其最直接的表現(xiàn)形式是RTEMS內(nèi)核與應(yīng)用程序代碼共同編譯生成一個可執(zhí)行文件,當(dāng)二者能夠正常編譯可執(zhí)行文件,且該文件下載到S698-T處理器上后能夠正常運(yùn)行時,證明了BSP的有效性,進(jìn)而可以進(jìn)行下一步工作。測試使用RTEMS自帶用例hello_world_c,使用默認(rèn)配置時,生成的可執(zhí)行文件為hello.exe。

        值得注意的是,在編譯應(yīng)用程序時使用標(biāo)準(zhǔn)的Makefile文件,最后編譯生成的可執(zhí)行文件目錄下將會有記錄整個鏈接過程的.num文件,該文件記錄了hello.exe中所有符號及其在內(nèi)存中的加載地址。在這里,符號指的是程序中定義過的函數(shù)、全局變量和靜態(tài)變量。

        在應(yīng)用程序的開發(fā)過程中,可直接在測試用例Makefile文件基礎(chǔ)上進(jìn)行改造,以減少工作量。

        2 應(yīng)用程序開發(fā)

        在完成BSP的測試后,就要實(shí)現(xiàn)S698-T處理器與PC機(jī)間的數(shù)據(jù)通信和處理功能,需要在 PC/Windows端和S698-T/RTEMS端均開發(fā)一個串口控制程序。

        2.1 PC/Windows端串口控制程序

        使用VS2008的MSCOMM控件,在MFC程序中可以很方便地對串口進(jìn)行控制[4]。而在開發(fā)MFC程序時,應(yīng)當(dāng)特別注意兩個問題:多字節(jié)數(shù)據(jù)的串口連續(xù)發(fā)送以及不同硬件平臺編址方式的差異。

        2.1.1 多字節(jié)數(shù)據(jù)的串口連續(xù)發(fā)送

        S698-T處理器自帶兩個通用異步串口,其接收和發(fā)送緩存均為一個字節(jié),即串口一次只能處理一個字節(jié)的數(shù)據(jù),而在MFC應(yīng)用程序中通過串口發(fā)送的數(shù)據(jù)包括整型、長整型、浮點(diǎn)型和字符型,在內(nèi)存中分別占4、4、4和1個字節(jié)。因而必須解決串口中多字節(jié)數(shù)據(jù)連續(xù)收發(fā)的問題,為此,需要定義一個共同體:

        {union data

        int idata; //整型

        int ldata; //長整型

        float fdata; //浮點(diǎn)型

        char scdata; //字符型

        char cdata[4]; //字符數(shù)組

        }temp_data;

        共同體所有成員共占一段存儲單元,例如上面的定義是把一個整型成員、一個長整型成員、一個浮點(diǎn)型成員、一個字符型成員和一個字符數(shù)組成員安排在同一個地址開始的內(nèi)存單元中[5],從而可用其中的字符數(shù)組成員來統(tǒng)一表示其他不同類型的成員數(shù)據(jù)。

        在數(shù)據(jù)通信時,MFC應(yīng)用程序給不同類型的數(shù)據(jù)分配對應(yīng)的標(biāo)志位,通過共同體的字符數(shù)組成員將所有帶標(biāo)志位的數(shù)據(jù)組合成一個更大的字符數(shù)組,再通過串口依次發(fā)送給S698-T處理器。S698-T/RTEMS端應(yīng)用程序接收到數(shù)據(jù)后,將根據(jù)事先約定的標(biāo)志位對數(shù)據(jù)進(jìn)行分類處理,再發(fā)送回PC/Windows端。

        值得注意的是,在MFC應(yīng)用程序中,當(dāng)通過串口發(fā)送完數(shù)據(jù)后,應(yīng)該等待一定時間,這是因?yàn)镾698-T/RTEMS端應(yīng)用程序通過串口接收數(shù)據(jù)、經(jīng)過處理再發(fā)送回PC端的整個過程有一定的時間消耗。在沒有精確測量S698-T/RTEMS端應(yīng)用程序收發(fā)處理數(shù)據(jù)的整個流程所消耗時間的情況下,MFC應(yīng)用程序“睡眠”100 ms能夠滿足需求,但應(yīng)該還可以繼續(xù)縮減。當(dāng)“睡眠”時間結(jié)束后,MFC應(yīng)用程序才開始執(zhí)行串口數(shù)據(jù)的接收代碼。

        2.1.2 不同硬件平臺編址方式的差異

        在通過串口進(jìn)行數(shù)據(jù)收發(fā)時,還應(yīng)當(dāng)注意不同硬件平臺上字節(jié)順序方式的差異:SPARC V8為大端字節(jié)順序,而x86為小端字節(jié)順序,同樣一個多字節(jié)數(shù)據(jù),例如浮點(diǎn)數(shù),在兩種平臺的內(nèi)存中其字節(jié)存放順序是相反的。這一差異并不會導(dǎo)致應(yīng)用程序在兩種硬件平臺間進(jìn)行數(shù)據(jù)通信時發(fā)生顯式錯誤,但顯然在進(jìn)行數(shù)據(jù)處理時會生成錯誤的數(shù)據(jù)源。因此,在數(shù)據(jù)處理時,需要根據(jù)自身平臺的字節(jié)順序方式對接收到的多字節(jié)數(shù)據(jù)進(jìn)行不同形式的處理。

        2.2 S698-T/RTEMS端串口控制程序

        在RTEMS應(yīng)用程序中可以直接對串口進(jìn)行控制,方式如下:

        #define UART0_DATA *(volatile unsigned int *)(0x80000070)

        其中,0x 8000 0070為串口0的數(shù)據(jù)接收(只讀)/發(fā)送(只寫)寄存器地址,從而在應(yīng)用程序中可以通過UART0_DATA的不同處理實(shí)現(xiàn)對串口的控制。在RTEMS操作系統(tǒng)中對外設(shè)的控制均采用相同的處理方式。

        RTEMS系統(tǒng)中應(yīng)用程序主要包括3部分:

        ① 用戶初始化任務(wù)Init(),負(fù)責(zé)串口初始化,創(chuàng)建并啟動兩個用戶任務(wù)task1、task2,創(chuàng)建方式略——編者注。

        在最后,用戶初始化任務(wù)Init()負(fù)責(zé)把自身刪除,將CPU控制權(quán)轉(zhuǎn)移給任務(wù)就緒隊(duì)列中的第一個任務(wù)。

        ② task1和task2的實(shí)現(xiàn)代碼,task1通過串口0接收數(shù)據(jù)并按照SPARC硬件平臺上對應(yīng)的字節(jié)順序分類存放,task2通過串口1逆序發(fā)送接收到的數(shù)據(jù),task1和task2通過共同體全局變量進(jìn)行數(shù)據(jù)通信。特別地,在task1中需要知道什么時候串口0有數(shù)據(jù)到達(dá),可以檢查串口狀態(tài)寄存器([31:0],共32位)的第[0]位DR,其默認(rèn)值為0,而當(dāng)串口接收到新數(shù)據(jù)時,該位將被寫入1,而沒有接收到新數(shù)據(jù)時將保持默認(rèn)值不變。具體的實(shí)現(xiàn)語句如下:

        {while(1)

        while(!(UART0_STATUS &0x1));

        …… //具體的串口數(shù)據(jù)接收代碼

        }

        每次循環(huán)開始時都會判斷DR位的狀態(tài),當(dāng)DR位為0,即串口還沒有接收到新的數(shù)據(jù)時,循環(huán)內(nèi)的while()語句構(gòu)成一個無條件循環(huán),外在表現(xiàn)就是系統(tǒng)持續(xù)等待串口輸入的狀態(tài),而當(dāng)串口接收到新數(shù)據(jù)時,DR位置位為1,從而死循環(huán)被打破,開始執(zhí)行接下來具體的串口數(shù)據(jù)接收代碼。接收到的數(shù)據(jù)依次存放在一個實(shí)現(xiàn)定義的字符數(shù)組內(nèi),以方便數(shù)據(jù)接收完成后進(jìn)行處理。

        ③ 系統(tǒng)配置與裁減,RTEMS系統(tǒng)必須針對特定應(yīng)用進(jìn)行配置[6],配置參數(shù)包含在一些系統(tǒng)初始化過程中使用到的數(shù)據(jù)結(jié)構(gòu)中,但RTEMS也提供了一套宏指令,可在應(yīng)用程序中完成系統(tǒng)的快速配置,如設(shè)置RTEMS相關(guān)全局變量和常量、RTEMS配置表、API配置表、系統(tǒng)初始化任務(wù)表等,還可以提供板上外設(shè)的驅(qū)動程序。confdefs.h包含了操作系統(tǒng)的配置模板,是實(shí)現(xiàn)上述系統(tǒng)配置功能的關(guān)鍵。RTEMS系統(tǒng)配置與裁減可通過預(yù)編譯的方式來實(shí)現(xiàn)[7],一般結(jié)構(gòu)略——編者注。

        此時,RTEMS系統(tǒng)配置與裁剪同步完成。而RTEMS系統(tǒng)的初步裁減是在完成BSP開發(fā)后進(jìn)行系統(tǒng)編譯配置configure參數(shù)時實(shí)現(xiàn)的:configure參數(shù)的數(shù)個disable與enable組合可禁用或許可某些系統(tǒng)功能,從而實(shí)現(xiàn)系統(tǒng)的初步裁減。

        結(jié) 語

        本文初步實(shí)現(xiàn)了搭建一個簡單的星載計(jì)算機(jī)模型的目標(biāo),較為詳細(xì)地論述了模型實(shí)現(xiàn)步驟和應(yīng)該注意的問題,對基于SPARC芯片的RTEMS移植和應(yīng)用程序開發(fā)有了較深刻的認(rèn)識,相關(guān)經(jīng)驗(yàn)具有一定的借鑒意義。同時,該模型還可繼續(xù)優(yōu)化:BSP的開發(fā)目前只實(shí)現(xiàn)了最基本的功能,還可繼續(xù)豐富;應(yīng)用程序應(yīng)針對數(shù)據(jù)的循環(huán)收發(fā)進(jìn)行改進(jìn),將模擬星載計(jì)算機(jī)控制律輸出—衛(wèi)星狀態(tài)更新—數(shù)據(jù)采集的過程,形成一個閉環(huán);實(shí)現(xiàn)隨機(jī)中斷、模擬地面數(shù)據(jù)注入等過程;進(jìn)一步優(yōu)化應(yīng)用程序的時間開銷。

        [1] 孫魯毅.四種流行的嵌入式實(shí)時操作系統(tǒng)的比較研究-VxWorks,QNX,μClinux,RTEMS[J].計(jì)算機(jī)應(yīng)用與軟件,2007,24(8):196-197.

        [2] SPARC International.The SPARC Architecture Manual:Version 8,1998.

        [3] 樊超,桂先洲.開發(fā)RTEMS實(shí)時系統(tǒng)的板級支持包[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005(6):35-38.

        [4] 龔建偉,熊光明.Visual C++/Turbo C串口通信編程實(shí)踐[M].北京:電子工業(yè)出版社,2004:46-63.

        [5] 譚浩強(qiáng).C++程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2011.

        [6] OAR.RTEMS C User's Guide:Version 4.10.99.0,2013.

        [7] 楊云,李言俊.RTEMS移植到SAILINGS698處理的BSP開發(fā)[J].微電子學(xué)與計(jì)算機(jī),2009,26(6):109-113.

        熊瑤(碩士研究生),研究方向?yàn)榍度胧较到y(tǒng)與應(yīng)用。

        Xiong Yao1,2,Ouyang Gaoxiang2

        (1.University of Chinese Academy of Sciences,Beijing 100094,China;2.Academy of Opto-Electronics of Chinese Academy of Sciences)

        A simple model of on-board computer consists of an embedded system and a set of data which is necessary for the system’s appropriate running.The set of data is produced by programs running on PC,and the embedded system is a simulation of the real satellite.In order to construct this model,RTEMS operating system based on S698-T using SPARC V8 architecture processor should be ported first, then application programs are developed on both the S698-T and the PC,steps and some problems will be discussed simultaneously.

        on-board computer;RTEMS;S698-T;SPARC

        TP316

        A

        士然

        2014-12-04)

        猜你喜歡
        字節(jié)寄存器中斷
        No.8 字節(jié)跳動將推出獨(dú)立出口電商APP
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        No.10 “字節(jié)跳動手機(jī)”要來了?
        簡談MC7字節(jié)碼
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        AT89C51與中斷有關(guān)的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        国产一区二区三区不卡视频| 欧美整片第一页| av无码一区二区三| 国产一级黄色片一区二区| 制服丝袜一区二区三区| 久久人与动人物a级毛片| 国产成人无码精品久久99| 少妇裸淫交视频免费看| 日韩精品一区二区三区在线视频| 国产网红主播无码精品| 91视频88av| 国产毛片一区二区三区| 精品一区二区av天堂色偷偷| 性大毛片视频| 亚洲天堂中文| 亚洲一区二区三区毛片| 日产乱码一二三区别免费l| 免费精品一区二区三区第35| 伊人婷婷色香五月综合缴激情 | 色婷婷精品国产一区二区三区| 国产嫩草av一区二区三区| 久久99精品九九九久久婷婷| 另类一区二区三区| 白白色青青草视频免费观看| 无码av天天av天天爽| 一本大道久久东京热无码av| 91久久综合精品国产丝袜长腿| 久久久人妻一区二区三区蜜桃d | 一本大道在线一久道一区二区| 亚洲成在人线天堂网站| 看久久久久久a级毛片| 国产精品白浆一区二小说| 亚洲中文字幕黄色小视频| 日本熟女中文字幕在线| 精品国产sm捆绑最大网免费站| 思思久久96热在精品不卡| 日本免费看一区二区三区| 一区二区三区中文字幕| 亚洲中文字幕每日更新| 国产视频在线播放亚洲| 久久久亚洲欧洲日产国码二区|