《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于OMAP3530硬件平臺的ARM和DSP協同開發方法
基于OMAP3530硬件平臺的ARM和DSP協同開發方法
來源:電子技術應用2013年第2期
林上升,韓潤萍
北京服裝學院 信息工程學院,北京100029
摘要: 以OMAP3530為硬件平臺,以DVSDK為軟件工具,介紹了協同開發環境的搭建方法。說明了OMAP3530中ARM和DSP協同開發的兩種方法,并對兩種方法的優缺點進行了比較。
中圖分類號: TP319
文獻標志碼: A
文章編號: 0258-7998(2013)02-0006-03
Development methods of establishing cooperation between ARM and DSP based on OMAP3530 hardware platform
Lin Shangsheng,Han Runping
School of Information Engineering, Beijing Institute of Fashion Technology, Beijing 100029,China
Abstract: Taking OMAP3530 as the hardware platform and DVSDK as software tools, this paper introduces how to establish the development environment in order to make ARM and DSP work cooperatively, especially expounds two development methods for establishing cooperation between ARM and DSP. The advantages and disadvantages of two development methods are pointed out in this paper.
Key words : OMAP3530;ARM;DSP;DVSDK;Codec Engine

    目前市場上有良好控制功能的處理器很多,但是這些處理器大多在數據處理能力方面略顯不足。因此,美國德州儀器(TI)公司于2009推出了一款多核處理器OMAP3530,它采用了600 MHz ARM Cortex-A8內核與420 MHz TMS320C64+TM DSP雙核結構[1-2]。由于ARM在工業控制方面具有很大的優勢以及DSP具有良好的數據處理能力,所以OMAP3530在嵌入式系統的應用開發方面有著廣泛的應用前景和技術潛力。

    要使OMAP3530發揮ARM+DSP雙核架構的優勢,必須要使ARM和DSP協同工作。目前關于如何使ARM和DSP協同工作的參考資料不多,因此本文在研究實踐的基礎上,就如何搭建協同開發環境以及ARM和DSP協同開發方法進行了說明。
1 開發環境的搭建
1.1 PC端系統的搭建

    OMAP3530幾乎支持所有嵌入式操作系統(例如WinCE、Symbian OS、EPOC、Linux等),由于大部分嵌入式操作系統都要收費,所以這里采用Linux系統,它不僅應用廣泛,而且免費和開源。
    為了能夠開發OMAP3530,首先要搭建開發環境,在PC端,需要安裝虛擬機VMware Workstation,配置超級終端;然后在虛擬機上安裝Linux操作系統。除此之外,還需要在Linux系統上安裝交叉編譯器、NFS服務器、FTP服務器等一些必要的開發工具。
1.2 OMAP3530系統啟動方式及分析
    OMAP3530上運行的Linux系統的組成結構如圖1所示。其中,x-loader是一級引導程序,主要作用是初始化CPU和拷貝u-boot到內存中運行[3],然后把控制權交給u-boot。u-boot為二級引導程序,主要用于與用戶進行交互,以及提供鏡像更新、引導內核等功能。kernel為Linux內核,是操作系統的核心,負責管理系統的進程、內存、設備驅動程序、文件和網絡系統,決定著系統的性能和穩定性。rootfs為根文件系統,在嵌入式Linux操作系統中,文件系統作為操作系統的重要組成部分,用于控制對數據文件及設備的存取,并提供對文件和目錄的分層組織形式、數據緩沖以及對文件存取權限的控制。根文件系統是Linux系統不可或缺的組件,在嵌入式Linux中,內核在啟動期間,必須調用根文件系統才能啟動。Linux系統將自身劃分為兩部分,一部分為核心軟件,即kernel(也稱作內核空間);另一部分為普通應用程序,這部分稱為用戶空間(user area)。

    可以通過配置及編譯x-loader、u-boot、kernel、busybox源碼文件來獲得OMAP3530所需的鏡像文件,然后把鏡像文件拷貝進SD卡,這樣就可通過SD卡啟動Linux系統。
    為了便于開發,通常使用交叉網線連接PC和OMAP3530開發板,然后通過由NFS掛載根文件系統的方法來啟動Linux系統。該方法的好處是能直接在虛擬機中修改OMAP3530端Linux的文件系統,就可以直接在PC上開發OMAP3530端的程序。
2 搭建ARM與DSP之間的橋梁
2.1 DVSDK簡介

    為了使ARM與DSP建立連接,TI公司推出了DVSDK(Digital Video Software Development Kit)軟件開發包,它集成了多種軟件工具,包括支持獨立DSP處理器和ARM處理器組件以及雙核系統交互組件,各個組件之間緊密聯系,形成了完整的開發套件[4-5]。DVSDK部分軟件模塊介紹如下。
    (1)DSP/BIOS for Linux:是一個可擴縮的實時DSP核,可以理解為在DSP端獨立運行的實時系統。
    (2)TI Codegen Tools for Linux:是Linux環境下DSP程序的編譯器、連接器及相關工具,類似于Windows環境下的CCS軟件(在Windows環境下的CCS軟件用來編譯和調試DSP程序)。
    (3)Framework Component:負責DSP端的Memory和DMA資源管理。
    (4)xDAIS:定義了DSP算法接口的標準。
    (5)DSP/BIOS Link:是實現ARM和DSP之間通信的底層軟件。
    (6)Codec Engine:是DVSDK的核心,所有其他軟件模塊基本上都是圍繞Codec Engine來設計的。
2.2 DVSDK的安裝與編譯
    首先要在虛擬機上的Linux系統中安裝DVSDK軟件包。DVSDK軟件包可以從TI公司的官方網站上獲取,軟件包獲取后執行如下命令即可實現其安裝:
    ./ dvsdk_setuplinux_3_01_00_10.bin
    完成安裝后會生成一個文件夾,里面包含了所有DVSDK軟件模塊。然后還需要對DVSDK內部的一些文件進行配置,主要的配置是指定各個模塊編譯所需要的編譯工具以及相應目錄的相對位置,配置好以后就可以對各個模塊進行編譯。
    編譯成功后,在DVSDK相應的目錄下會生成cmem.ko(內存管理模塊)、dsplink.ko(ARM與DSP連接模塊)、lpm_omap3530.ko(電源管理模塊)等內核模塊。為了使ARM與DSP建立連接,必須要有DSPLINK模塊的支持,系統需要通過DSPLINK來完成ARM與DSP端之間底層的數據通信。DSPLINK提供了一套通用的API,從應用層抽象出ARM與DSP的物理連接特性,從而降低用戶開發程序的難度。
2.3 內存的分配
    由于ARM端運行的是Linux操作系統,DSP端運行的是DSP/BIOS操作系統,為了使兩個系統協同工作,兩者之間需要開辟一塊ARM端和DSP端共享的內存空間。這部分的工作由CMEM來完成,所以在加載cmem.ko時,需要對其進行內存分配設置。CMEM還能夠將內存的物理地址轉化為操作系統能夠識別的虛擬地址,避免了操作系統對物理地址的直接訪問。這樣無論是Linux操作系統還是DSP/BIOS操作系統都是通過CMEM對內存進行管理。
    加載完上述各個功能模塊后就可以開發可供ARM端調用的DSP程序。
3 供ARM端調用的DSP程序的開發
    為了開發可供ARM端調用的DSP程序,必須了解Codec Engine。Codec Engine是連接ARM和DSP協處理器的橋梁,是介于應用層(ARM端的應用程序)和信號處理層(DSP端的算法程序)之間的軟件模塊。在編譯DSP端和ARM端程序時,都需要Codec Engine的支持。當ARM端應用程序調用Codec Engine的VISA(Video,Image,Speech,Audio)API,例如圖2中VIDENC_process(a,b,c)時,Codec Engine的stub(ARM端)會把參數a、b、c以及要調用DSP端的process信息打包,通過消息隊列(message queue)傳遞到DSP。Codec Engine的skeleton(DSP端)會解開這個參數包,把參數a、b、c轉換成DSP端對應的參數x、y、z;DSP端的server會根據process這一信息創建一個DSP端的process(x,y,z)任務,最終實現VIDENC_process(a,b,c)的操作。

    DSP端的算法程序開發一般有兩種:
    (1)在Windows的CCS下直接開發DSP端運行的程序,然后打包成固定的格式,使其能夠被Codec Engine調用。這種方法的優點是能夠通過優化程序最大限度地提高DSP的運行效率。目前大多數DSP雖然都支持C語言編程,但是在實際工程應用中,具體的算法模塊以及比較耗時的功能模塊還是采用匯編語言來編寫。這是因為C語言雖然具有易讀性、可移植性等優點,但是它不便于對系統硬件資源的直接控制,無法發揮DSP自身的特點,無法充分利用DSP系統結構中有限的資源。特別是在硬實時性系統中,用匯編語言進行編程可利用DSP自身硬件結構的特點對匯編程序進行優化和精簡,往往能夠使一些復雜的算法及功能模塊在實時性方面取得非常好的效果。但是這種方法也有其缺點,那就是算法程序的可移植性非常差,基本上針對每一個應用都要開發不同的DSP程序,這是比較致命的問題。
    (2)通過DVSDK開發套件在宿主機上直接開發算法程序,其開發方法遵照TI公司制訂的基于eXpressDSP算法互用性標準。這種方法雖然會使DSP的運行效率受到一定影響,但為系統的整體性能和二次開發提供了可靠的保證。下面以示例程序來說明其開發方法。
    ①進入DVSDK安裝后生成目錄/dvsdk_3_01_00_10/codec_engine_2_25_02_11/examples/ti/sdo/ce/examples/codecs/imgdec_copy,如圖3所示。該目錄下的程序是DVSDK提供的示例程序,其中imgdec_copy.c是DSP端的程序,該程序實現了將ARM端讀進的in.bmp圖像拷貝成當前目錄下的out.bmp圖像的功能。
 

    ③編譯ARM端的程序。進入ARM端應用程序目錄/dvsdk_3_01_00_10/codec_engine_2_25_02_11/examples/ti/sdo/ce/examples/apps/image_copy,如圖7所示。該目錄下app.c是在ARM端運行的應用程序,該程序的主要功能就是從當前目錄讀取in.bmp文件,然后調用DSP端的程序,讓DSP去實現圖像拷貝。對該程序進行編譯(執行make命令),編譯完成后會在該目錄的bin子目錄下生成ARM端的應用程序app_remote.xv5T,如圖8所示。

 

 

    本文闡述了OMAP3530中兩種ARM和DSP協同開發方法,并對其進行了比較。一種方法是在CCS下直接開發DSP端的算法程序,其優點是能夠通過優化算法程序最大限度地提高DSP端數字信號處理的效率,缺點是算法程序的可移植性差。另一種方法是利用DVSDK開發套件開發算法程序,其優點是算法的可移植性好,能夠有效縮短開發周期,但是無法對DSP端運行的算法程序進行實時在線調試,而且DSP多流水線處理方式的優勢難以得到充分發揮,所以算法程序也并不是最優化的。在實際開發中,可以根據具體的情況選擇一種開發方法。
參考文獻
[1] 冼進,畢盛.基于OMAP3530雙核的嵌入式系統實驗平臺設計[J].信息系統工程,2010(7):72-73.
[2] 王偉,劉培德.OMAP3530平臺移動多媒體的視頻解碼方案[J].單片機與嵌入式系統,2010(6):31-34.
[3] 宋寶華.Linux設備驅動開發詳解[M].北京:人民郵電出版社,2010.
[4] 張起貴,張勝,張剛.最新DSP技術[M].北京:國防工業出版社,2009.
[5] 紀震,曾啟明.OMAP3原理及系統設計[M].北京:科學出版社,2011.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          日韩视频精品| 欧美精品自拍偷拍动漫精品| 久久亚洲精选| 亚洲网站啪啪| 一区在线免费观看| 国产精品有限公司| 亚洲性线免费观看视频成熟| 一区二区电影免费在线观看| 国产精品久久久久久久久久久久久| 麻豆国产va免费精品高清在线| 亚洲精品久久嫩草网站秘色| 亚洲激情第一区| 久久久久成人精品免费播放动漫| 欧美日韩喷水| 欧美激情亚洲激情| 国产精品专区一| 久久一区二区三区四区五区| 国内精品久久久久国产盗摄免费观看完整版| 性欧美18~19sex高清播放| 欧美大片专区| 亚洲与欧洲av电影| 亚洲第一级黄色片| 欧美日韩国产综合新一区| 欧美日韩一区精品| 欧美色图麻豆| 欧美日韩国产综合视频在线观看| 一区二区久久久久久| 免费在线成人| 欧美激情精品久久久久久蜜臀| 老**午夜毛片一区二区三区| 麻豆成人小视频| 久久久久99精品国产片| 国产综合色在线视频区| 一区二区三区在线免费观看| 好吊妞**欧美| 午夜精品一区二区三区电影天堂| 欧美成人嫩草网站| 欧美99久久| 午夜在线电影亚洲一区| 国产精品久久77777| 欧美a级片网站| 一区二区三区视频免费在线观看| 免费久久久一本精品久久区| 久久国产毛片| 亚洲一区尤物| 欧美激情va永久在线播放| 黄色亚洲大片免费在线观看| 精品96久久久久久中文字幕无| 亚洲精品乱码久久久久久蜜桃91| 欧美一区二区视频免费观看| 欧美日韩一区二区免费视频| 国产精品日本欧美一区二区三区| 久久久免费av| 巨乳诱惑日韩免费av| 久久久久一本一区二区青青蜜月| 亚洲人成小说网站色在线| 国产精品一区二区久久| 欧美另类一区二区三区| 国际精品欧美精品| 很黄很黄激情成人| 欧美在线播放| 欧美视频在线看| 亚洲日本成人在线观看| 日韩视频一区| 亚洲黄色精品| 国产精品美女久久久久久2018| 一区二区三区四区国产| 欧美777四色影视在线| 欧美在线综合视频| 欧美精品一区在线| 久久精品视频亚洲| 亚洲三级电影全部在线观看高清| 久久久久久久一区| 国产一区二区三区自拍| 国产欧美日韩不卡免费| 久久精选视频| 日韩视频精品在线观看| 亚洲国产精品国自产拍av秋霞| 欧美日韩精品二区第二页| 欧美一级大片在线免费观看| 欧美电影免费观看网站| 久久久久国产精品午夜一区| 欧美一级视频一区二区| 久久久av网站| 久久人人97超碰精品888| 亚洲精品国产精品乱码不99| 久久精品亚洲| 国产欧美日韩亚洲精品| 亚洲黑丝一区二区| 亚洲啪啪91| 国产一区白浆| 亚洲第一网站免费视频| 亚洲一区二区高清| 欧美在线亚洲综合一区| 永久免费毛片在线播放不卡| 欧美激情在线观看| 国产精品欧美一区喷水| 激情婷婷欧美| 欧美刺激性大交免费视频| 一本久久综合| 噜噜爱69成人精品| 99国产精品久久久| 国产亚洲欧美日韩美女| 狠狠久久五月精品中文字幕| 亚洲日本中文字幕| 久久躁日日躁aaaaxxxx| 欧美经典一区二区| 久久久久久9999| 欧美四级电影网站| 国产中文一区| 欧美日韩一区二区三区高清| 欧美成人一区二区在线| 国产亚洲aⅴaaaaaa毛片| 国产精品成人观看视频免费| 欧美在线三区| 亚洲天堂av图片| 久久五月婷婷丁香社区| 国产欧美日韩视频| 欧美一级久久久久久久大片| 欧美丝袜一区二区三区| 美玉足脚交一区二区三区图片| 在线精品亚洲一区二区| 亚洲性视频网址| 欧美日韩亚洲高清| 国产一二三精品| 99天天综合性| 在线观看日韩国产| 一区二区高清| 久久这里有精品视频| 亚洲欧美综合另类中字| 欧美精品一线| 免费在线国产精品| 欧美激情亚洲自拍| 国产精品一二三视频| 久久久欧美一区二区| 亚洲精品综合精品自拍| 欧美在线看片a免费观看| 国产日韩欧美视频| 老司机午夜精品| 欧美日韩精品免费在线观看视频| 国产精品久久久久一区二区| 亚洲国产女人aaa毛片在线| 欧美成人免费在线视频| 欧美精品一二三| 亚洲黄色av| 久久久欧美精品sm网站| 国产精品99一区| 国产精品久久一卡二卡| 亚洲亚洲精品在线观看| 午夜精品久久久久久久男人的天堂| 久久亚洲精品网站| 麻豆av一区二区三区久久| 午夜精品区一区二区三| 亚洲国产日韩欧美| 久久午夜羞羞影院免费观看| 在线观看一区| 亚洲精品在线二区| 午夜在线观看免费一区| 久久综合给合| 亚洲国产日韩在线一区模特| 亚洲免费观看高清在线观看| 亚洲综合色自拍一区| 欧美高清视频在线| 欧美日韩在线观看视频| 亚洲国产精品电影| 一区二区免费在线观看| 国产精品嫩草影院av蜜臀| 欧美日韩国产电影| 欧美久久婷婷综合色| 亚洲在线1234| 亚洲第一精品电影| 欧美日韩精品欧美日韩精品| 欧美在线一级va免费观看| 欧美1区2区3区| 亚洲视屏一区| 亚洲欧美色婷婷| 亚洲盗摄视频| 国产精品麻豆va在线播放| 午夜激情久久久| 久久黄金**| 欧美四级伦理在线| 亚洲系列中文字幕| 午夜精品在线| 韩日成人在线| 国产亚洲欧美日韩在线一区| 久久久精品网| 国产视频亚洲| 久久精品国产欧美亚洲人人爽| 国产精品成人免费精品自在线观看| 亚洲欧美怡红院| 亚洲韩国日本中文字幕| 欧美片第1页综合| 91久久线看在观草草青青| 亚洲午夜精品福利| 亚洲一区二区三区乱码aⅴ蜜桃女| 99精品视频免费观看视频| 国产日韩久久| 亚洲中午字幕| 国产精品国产三级欧美二区| 亚洲欧美文学| 国产一区二区三区在线观看视频| 91久久久久久国产精品| 亚洲乱码国产乱码精品精| 国产婷婷色综合av蜜臀av| 亚洲国产欧美在线| 99视频热这里只有精品免费| 亚洲第一免费播放区| 欧美在线一区二区三区| 欧美日本一区二区高清播放视频| 欧美精品123区| 久久中文欧美| 一区二区三区色| 国产精品久久久久一区二区| 欧美在线观看视频一区二区三区| 国产精品日韩在线播放| 亚洲日本成人| 99精品视频一区二区三区| 久久国产夜色精品鲁鲁99| 久久青青草原一区二区| 欧美暴力喷水在线| 欧美肥婆在线| 欧美成人自拍| 美玉足脚交一区二区三区图片| 亚洲在线一区| 91久久精品日日躁夜夜躁国产| 久久久久欧美精品| 性欧美长视频| 亚洲少妇在线| 国产又爽又黄的激情精品视频| 国产日本欧美在线观看| 国产日韩欧美一区| 亚洲伦理自拍| 国内精品一区二区| 欧美特黄一级| 亚洲欧美日韩国产一区二区三区| 亚洲黄色免费电影| 亚洲少妇最新在线视频| 亚洲精品永久免费| 国产精品白丝av嫩草影院| 久久久不卡网国产精品一区| 国产精品成人观看视频免费| 欧美片在线观看| 国产精品乱码久久久久久| 欧美日韩成人一区二区| 久久激情综合网| 国产精品一二三视频| 欧美综合国产精品久久丁香| 欧美一区二区三区播放老司机| 国产亚洲精品bt天堂精选| 免费观看在线综合| 欧美大片在线看免费观看| 亚洲在线观看视频| 新狼窝色av性久久久久久| 国产精品资源在线观看| 国模大胆一区二区三区| 欧美片网站免费| 亚洲国内精品| 欧美激情中文字幕一区二区| 久久久之久亚州精品露出| 欧美精品成人91久久久久久久| 欧美日韩成人一区二区三区| 久久免费精品日本久久中文字幕| 亚洲第一偷拍| 亚洲精品你懂的| 久久综合色天天久久综合图片| 午夜在线a亚洲v天堂网2018| 在线播放中文一区| 欧美涩涩网站| 欧美精品一区二区三区在线播放| 亚洲区在线播放| 亚洲国产成人久久综合一区| 国产精品日韩欧美一区二区三区| 亚洲经典自拍| 国产一区再线| 欧美精品二区三区四区免费看视频| 日韩亚洲综合在线| 国产午夜亚洲精品理论片色戒| 午夜在线观看免费一区| 欧美视频在线看| 国内精品写真在线观看| av成人福利| 亚洲一区二区精品| 久久激情一区| 欧美另类综合| 国产日韩欧美高清免费| 国产精品久久久久久久久| 蘑菇福利视频一区播放| 久久久久久精| 亚洲精品综合精品自拍| 校园激情久久| 久色成人在线| 在线视频精品一区| 一区二区三区日韩| 欧美在线在线| 欧美激情第五页| 亚洲电影免费在线观看| 一区二区三区日韩精品视频| 欧美在线1区| 久久免费精品日本久久中文字幕| 欧美在线视频一区| 欧美激情一二三区| 欧美激情国产精品| 欧美日韩国产一中文字不卡| 亚洲无毛电影| 国产女主播视频一区二区| 国产欧美综合一区二区三区| 在线免费观看日韩欧美| 欧美色视频一区| 蜜乳av另类精品一区二区| 国产欧美日韩综合一区在线观看| 国产裸体写真av一区二区| 亚洲欧美不卡| 国产视频丨精品|在线观看| 国产精品视频成人| 欧美成人免费大片| 欧美日本簧片| 一区二区三区精密机械公司| 欧美一区二区久久久| 欧美日韩不卡在线| 欧美国产日韩精品免费观看| 国产精品成人久久久久| 欧美国产综合视频| 欧美日韩在线一区二区| 国产精品视频xxx| 99视频精品| 欧美va亚洲va日韩∨a综合色| 午夜一区二区三视频在线观看| 亚洲第一精品夜夜躁人人爽|