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

        ?

        基于Ti6678 DSP的最小化OS適配設(shè)計與實現(xiàn)

        2020-07-20 05:55:14董延軍
        無線互聯(lián)科技 2020年9期
        關(guān)鍵詞:寄存器中斷內(nèi)存

        董延軍,曹 原,項 濤

        (航空工業(yè)西安航空計算技術(shù)研究所,陜西 西安 710065)

        1 關(guān)于操作系統(tǒng)的概述

        早期的數(shù)字信號處理(Digital Signal Processing,DSP)資源少、功能單一、運行的應(yīng)用程序規(guī)模小,不足以支撐也不需要運行操作系統(tǒng),簡單的控制程序就可以實現(xiàn)相應(yīng)的功能。隨著DSP硬件的功能越來越多,性能越來越強,應(yīng)用軟件功能變得復(fù)雜、規(guī)模變大、跨DSP移植性需求變強烈,構(gòu)建DSP的操作系統(tǒng)就有了實際價值。Ti6678 DSP是德州儀器公司基于其KeyStone架構(gòu)的8核浮點型處理器,單核運行頻率達1.2 GHz,是當前最為先進的DSP芯片。操作系統(tǒng)是系統(tǒng)資源的管理者,隔離了底層的硬件差異,向應(yīng)用提供了統(tǒng)一的與硬件無關(guān)的功能接口。最基本的操作系統(tǒng)應(yīng)該具有多任務(wù)、任務(wù)間通信、存儲管理、Cache管理等,在這之下需要基本硬件驅(qū)動的支持,下面將從這些方面逐層介紹。

        2 基本硬件驅(qū)動設(shè)計

        操作系統(tǒng)對于底層硬件的依賴,通過稱為板級支持包(Board Support Package,BSP)的軟件進行了屏蔽,BSP對下實現(xiàn)各種不同硬件的具體操作,對上為操作系統(tǒng)提供統(tǒng)一的不變的操作接口,保持了操作系統(tǒng)的獨立性。一般的BSP至少包含了串口、網(wǎng)卡、時鐘、中斷控制器、Flash幾類基本驅(qū)動,串口實現(xiàn)了打印輸出,網(wǎng)卡實現(xiàn)了調(diào)試通信通路,時鐘是基本內(nèi)核定時和切換的時間基準來源,中斷控制器實現(xiàn)多種中斷的管理,F(xiàn)lash實現(xiàn)程序的固化運行。

        Ti6678 DSP上實現(xiàn)最小運行的操作系統(tǒng)(Operating system,OS),可在這個基礎(chǔ)上進一步簡化,調(diào)試環(huán)境借助Ti公司提供的控制及計算系統(tǒng)(Control and Computation System,CCS),該集成開發(fā)環(huán)境可以實現(xiàn)編輯、編譯、調(diào)試、運行等功能,具體嵌入式操作系統(tǒng)配套的開發(fā)環(huán)境和編譯器可以暫不實現(xiàn)集成;調(diào)試輸出顯示借助CCS的虛擬終端、串口驅(qū)動可以暫不實現(xiàn);調(diào)試使用USB接口的仿真器,網(wǎng)絡(luò)驅(qū)動可以暫不實現(xiàn);固化借助CCS自帶的燒寫方式,F(xiàn)lash驅(qū)動可以暫不實現(xiàn)。所以只剩下中斷控制器和時鐘兩種驅(qū)動的實現(xiàn)。以Ti公司提供的庫函數(shù)(Chip Support Library,CSL)庫為基礎(chǔ)進行改造,封裝為符合具體操作系統(tǒng)要求的操作接口,進行中斷控制器的初始化,中斷線使能、時鐘初始化、時鐘中斷處理等,為最小化OS的運行提供基本運行環(huán)境支持,并提供維持運行的基準時鐘來源。

        3 操作系統(tǒng)功能裁剪

        完整的嵌入式操作系統(tǒng)在基本內(nèi)核的基礎(chǔ)上,具有任務(wù)管理、任務(wù)間通信、內(nèi)存管理、中斷/異常管理、定時器管理以及調(diào)試代理、通信管理、加載程序管理等功能,還可能包括多核間通信組件[1],如圖1所示。

        圖1 操作系統(tǒng)基本功能模塊

        在完整的操作系統(tǒng)功能上進行裁剪,定義出最小操作系統(tǒng)的功能,主要實現(xiàn)包括圖1中陰影部分所示的5個基本單元任務(wù)管理、任務(wù)間通信、內(nèi)存管理、時鐘/定時器管理、運行時庫。這些模塊包含了以下主要功能:

        (1)多任務(wù)支持,支持多任務(wù)并發(fā)執(zhí)行,實現(xiàn)對任務(wù)的創(chuàng)建、啟動、掛起、刪除等操作。(2)任務(wù)調(diào)度,通過優(yōu)先級可搶占調(diào)度機制實現(xiàn)系統(tǒng)的強實時性;對同等優(yōu)先級任務(wù)可通過時間片輪轉(zhuǎn)實現(xiàn)均衡調(diào)度。(3)任務(wù)通信,提供機制實現(xiàn)任務(wù)間基本的通信、同步和互斥操作,包括信號量、環(huán)形緩沖。(4)內(nèi)存管理,DSP的內(nèi)存本身較小,整個系統(tǒng)運行在實地址模式,所以內(nèi)存管理主要是管理有限的堆棧資源,使得應(yīng)用可以使用標準C接口申請、釋放內(nèi)存。(5)服務(wù)接口,是應(yīng)用感知操作系統(tǒng)存在媒介,提供覆蓋操作系統(tǒng)各類功能的服務(wù)接口,使得應(yīng)用程序保持獨立性,方便維護及跨平臺移植。

        4 任務(wù)上下文切換設(shè)計

        任務(wù)切換上下文是操作系統(tǒng)適配特定硬件平臺重要的方面,也是最小系統(tǒng)運行最為關(guān)鍵的工作。任務(wù)上下文的結(jié)構(gòu)該如何設(shè)計、切換的時候應(yīng)該切換哪些內(nèi)容,都是跟硬件設(shè)計密切相關(guān)的問題。在Ti6678中,一共包含了A,B兩組各32個32位的通用寄存器,可以作為64個32位寄存器,也可以作為32個64位寄存器,還可以作為16個128位的寄存器,在文章設(shè)計的最小系統(tǒng)中將把寄存器看作是64個獨立的32位寄存器使用。根據(jù)TiC6000的EABI手冊,其中A4,A5作為函數(shù)調(diào)用時的第一個參數(shù)寄存器,同時作為函數(shù)返回值寄存器,B4,B5為第二個參數(shù)寄存器,依次類推,最多可以有傳遞10個參數(shù)。B15作為棧指針SP,據(jù)此設(shè)計出任務(wù)上下文切換結(jié)構(gòu),如下所示:

        將所有的通用寄存器在上下文切換的時候都將進行保存和恢復(fù),保存前驅(qū)任務(wù)上下文到任務(wù)棧中,恢復(fù)后繼任務(wù)的上下文到當前的運行棧。

        5 固化運行設(shè)計

        嵌入式系統(tǒng)最終總是要固化運行的,也是最小化OS適配設(shè)計的最后一步。為了最小化設(shè)計和具體工作,采用CCS環(huán)境中的norwriter6678燒寫工程,將最終的操作系統(tǒng)及應(yīng)用為一體的映像文件燒寫到外部存儲器接口(External Memory Interface,EMIF)的SPI Flash中,然后撥動跳線至SPI啟動,重新上電完成啟動。要特別注意,CCS中編譯生成的.out文件是不能直接燒寫的,必須進行一系列的轉(zhuǎn)化生成符合要求的.dat文件[2],才可以燒寫到SPI Flash中。映像文件轉(zhuǎn)換過程如圖2所示。

        圖2 映像文件的轉(zhuǎn)換過程

        6 最小OS的驗證

        按照上述最小化系統(tǒng)的設(shè)計,以μC/OS-II操作系統(tǒng)[3]為例,進行功能裁剪和上下文切換的實現(xiàn)。在CCS6.1.3的環(huán)境下,將CSL、裁剪后的操作系統(tǒng)源碼編譯成靜態(tài)庫。然后創(chuàng)建main工程,構(gòu)建TASK1,TASK2兩個測試任務(wù),進行編譯、鏈接,形成可下載運行的main.out,使用Ti官方的6678EVM開發(fā)板,Blackhawk XDS560v2-USB仿真器進行加載調(diào)試,在CCS的模擬終端循環(huán)打印信息,運行結(jié)果如圖3所示,在固化方式運行時借助LED點燈的方式表明兩個任務(wù)運行正常。

        圖3 測試運行結(jié)果

        7 結(jié)語

        Ti6678是當前性能最高、使用最為廣泛的DSP,也是能夠較好支撐操作系統(tǒng)運行的主流DSP?,F(xiàn)在已經(jīng)出現(xiàn)多款DSP操作系統(tǒng),包括SYS/BIOS,Oseck等,要么比較龐大,要么價格昂貴,文章所述的最小化OS的設(shè)計與實現(xiàn),可實現(xiàn)調(diào)試和固化運行,是一個完整的過程,適合于小型系統(tǒng)構(gòu)建者和DSP學(xué)習(xí)人員參考和實踐,規(guī)模小,運行穩(wěn)定,出現(xiàn)問題易排查。

        猜你喜歡
        寄存器中斷內(nèi)存
        Lite寄存器模型的設(shè)計與實現(xiàn)
        “春夏秋冬”的內(nèi)存
        當代陜西(2019年13期)2019-08-20 03:54:22
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        基于內(nèi)存的地理信息訪問技術(shù)
        AT89C51與中斷有關(guān)的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
        微處理機(2012年4期)2012-06-13 11:32:24
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        一種可重構(gòu)線性反饋移位寄存器設(shè)計
        一区二区三区精品亚洲视频| 欧美一区二区三区久久综| 人妻av中文字幕无码专区| 国产精品天堂avav在线| 日本a一区二区三区在线| 丰满的少妇av一区二区三区| 伊人久久大香线蕉av不卡| 99这里只有精品| 亚洲av熟女天堂系列| 成人自拍一二在线观看| 久久精品国产免费观看| 精品三级久久久久久久电影| 粉嫩av一区二区在线观看| 国产一区二区黄色网页| 国产边摸边吃奶叫床视频| 99re在线视频播放| 蜜桃视频中文字幕一区二区三区| 国产视频一区二区在线免费观看| 国产裸体舞一区二区三区| 久久国产精品二区99| 亚洲中文字幕日本日韩| 国产小视频在线看不卡| 97精品国产手机| 99综合精品久久| 亚洲精品一区二区三区四区久久 | 亚洲色精品三区二区一区| av天堂久久天堂av色综合| 色婷婷色99国产综合精品| 日本一区二区在线播放视频| 一区二区三区中文字幕| 日韩亚洲中字无码一区二区三区| 国产麻豆放荡av激情演绎| 日本女优在线一区二区三区| 欧美怡红院免费全部视频| 中文字幕永久免费观看| 伊人婷婷综合缴情亚洲五月| 97se狠狠狠狠狼鲁亚洲综合色| 色妺妺视频网| 亚洲视频一区二区蜜桃| 熟女体下毛荫荫黑森林| 无码人妻品一区二区三区精99|