SEED-DAVINCI_EVM DM6446數字視頻開發板 阿軍教程php
第1、開發板概況html
2006年TI公司推出了第一款基於DSP和ARM雙核結構的DaVinci芯片。達芬奇技術的定義不只僅侷限爲高度集成的片上系統(SoC),而是被賦予了更爲廣闊的含義,包括優化的應用軟件、開發工具、達芬奇處理器和達芬奇技術支持系統。此後,TI又陸續推出了多款達芬奇芯片,目標集中於數字視頻相關設備,好比便攜式視頻播放器、IP機頂盒、數碼相機、視頻監控等產品。【引自:基於達芬奇平臺的H.264視頻編碼器設計(中國科學院光電技術研究院)韓文俊等】linux
實驗室的板子是合衆達的DM6446數字視頻評估板:算法
SEED-DAVINCI_EVM V1.3 (TMS320DM6446)windows
SEED-DAVINCI_EVM V1.3 (TMS320DM6446ZWT)服務器
該數字視頻評估板的硬件組成以下所示:網絡
DM6446硬件結構圖架構
1、性能指標ide
TMS320DM6446ZWT雙核(ARM9 + C64X+) :函數
ARM926EJ-S ARM9內核-300MHZ
TMS320C64X+ DSP內核-600MHZ
存儲資源:
SRAM(8M)、FLASH(256M)、ATA硬盤(40G)、DDR2內存(2G)
視頻I/O接口:
1路VIDEO IN視頻輸入(RCA複合視頻輸入)
1路VIDEO OUT視頻輸出(RCA複合視頻輸出)
S-VIDEO IN輸入端子
S-VIDEO OUT輸出端子
RGB份量輸出接口
NTSC/PAL攝像頭接口
音頻I/O接口:
CD質量音頻輸入輸出(立體聲輸入輸出、MICPHONE輸入、耳機輸出)
擴展接口:
SD/MMC/MS卡接口
10M/100M以太網接口
USB2.0(支持主從)接口
UART串口
LCD顯示屏接口
14針JTAG接口
軟件及程序:
H.263/H.264/MPEG-2/MPEG-4/WMV9/JPEG視頻編解碼
MP3/G.711音頻編解碼
各類API接口函數
DDK驅動程序(USB接口驅動、ATA IDE硬盤驅動、音頻/視頻驅動)
測試程序、各類CODEC DEMO演示程序
基於LINUX/WINCE操做系統
2、應用領域
數碼相機/攝像機
視頻監控系統
安防監控系統
高級醫療影像
便攜式視頻播放器
IP機頂盒/IP可視電話
其餘多數視頻應用場合
(1) 德州儀器公司推出達芬奇數字視頻處理平臺
(2) 2008 TI DSP大賽 復旦大學:圖像跟蹤算法在DAVINCI SoC上的實現與優化
(3)2008 TI DSP大賽 上海交通大學:基於DAVINCI平臺的智能視頻檢測跟蹤與編碼實現
(4)嵌入式開發平臺應用於安防(視頻監控)系統
第2、 開發流程
達芬奇芯片的雙核結構使得其開發和單獨的DSP和單獨的ARM都有很大的不一樣。首先ARM端要在MontaVista Linux操做系統下完成系統初始化,配置外設接口,以及其餘一些計算量相對較少的任務。其次在CCS下或者LINUX系統下完成DSP端程序的開發,主要是計算量較大的算法。最後,完成兩者的集成。
一般達芬奇平臺程序的執行都是由ARM端開始,而後由ARM端經過某種方式觸發DSP端的程序執行。實現這個過程要經過編解碼引擎(Codec Engine)和編解碼服務器(Codec Server)結構來完成。
從應用的角度來講,編解碼引擎是介於應用程序和具體算法之間的軟件模塊,是用來調用XDAIS算法的一組API集合。XDAIS是TI的一種算法標準,而XDM是在XDAIS基礎上又增長了雙核通訊後的算法封裝標準。
Codec Engine:VISA API經過stub和skeleton訪問Codec Engine API,最終調用具體的算法。VISA API分爲四大部分: VISA create/control/process/delete 分別用來控制接口的建立、控制、處理和刪除。
Codec Server: 編解碼服務器一般運行在DSP上,使用DSP/BIOS做爲其內核,能夠控制實際的DSP硬件,編譯後生成DSP端可執行的鏡像程序。
ARM端的應用程序經過VISA接口或者自定義接口向DSP端發出請求,並傳遞相關的參數,而後發送到DSP端的skeleton部分,由skeleton送出相應的算法,反過來skeleton會將DSP處理後的結果交由stubs送到ARM進行處理。
DM6446軟件模塊
用戶在ARM端進行LINUX應用程序的開發,包括I/O操做,調用LINUX API函數等。用戶程序使用由Codec Engine提供的VISA(Video/Image/Speech/Audio) API接口,實現對視頻、圖像、語言、音頻信號的處理。Codec Engine進一步使用DSP/BIOS LINK及XDM接口協議,與DSP端的Remote Server之間進行通訊。DSP端運行在DSP/BIOS之上,負責完成信號處理的算法,並將結果置於共享存儲空間中供ARM使用。
通常的開發步驟爲:
第一步:DSP算法開發(生成算法包)(*.a64p)
第二步:Codec Server集成(生成DSP端可執行程序)(*.x64p)
第三步:Codec Engine集成(建立Codec Engine配置文件)(*.cfg)
第四步:ARM端程序的生成(使用上面生成的算法包*.a64p、DSP可執行文件*.x64p和*.cfg配置文件來編寫相關的ARM端應用程序)
達芬奇板子開發須要如下幾類工程師:DSP算法工程師、DSP系統工程師、ARM應用程序工程師。
DSP算法工程師:一般DSP算法工程師會把本身的符合XDM標準的算法編成一個LIB文件(或者*.a64p文件)提供給DSP系統工程師調用這個算法。
DSP系統工程師:根據算法文件最終build出一個DSP Server(也就是DSP的可執行程序)*.x64p文件。(相似於CCS下編譯生成的*.out文件)
ARM應用程序工程師:調用Codec Engine的VISA API,最終編譯出ARM側的可執行應用程序。
第3、開發環境的搭建狀況
安裝所需的軟件:
Windows XP 操做系統
VMware7.0 虛擬機
CCS3.3 DSP IDE集成開發環境
Emulator硬件仿真器JTAG驅動軟件
Windows XP下安裝CCH軟件(至關於FTP軟件,實現windows xp和linux之間傳遞文件)
Windows XP下安裝HyperTerminal超級終端(用來經過串口COM1發送命令給板子的UBOOT)
1安裝好WINDOWS XP操做系統,而且安裝好HYPERTERMINAL超級終端。
2在WINDOWS XP下安裝CCS3.3軟件,這個是TI推出的IDE開發環境。
3在WINDOWS XP下安裝SEED-XDS560PLUS-JTAG驅動程序(for CCS3.3)用來下載(*.OUT)可執行文件的
4在WINDOWS XP下安裝虛擬機VMWARE7.0
5在虛擬機上安裝紅帽REDHAT9.0 LINUX操做系統
6 虛擬機網絡鏈接問題:橋接方式,而且虛擬機的IP地址和XP的IP地址在同一個局域網地址內,而且虛擬機的路由IP地址寫XP機子的IP地址。
好比:本機XP的IP地址爲:192.168.0.136
那麼能夠設置虛擬機的IP地址爲:192.168.0.112
注意虛擬機的路由器地址必定要爲XP的IP地址:192.168.0.136
在這種狀況下,虛擬機能夠ping通WINDOWS XP主機。
注意:板子不支持ping協議,因此不要試圖去ping板子的網絡狀態
板子的IP地址爲:192.168.0.145
板子的啓動步驟:
1打開CCS3.3,而且鏈接好JTAG硬件仿真器,若是鏈接成功,能夠識別出ARM9和DSP-C644X+
2打開CD1裏面的UBoot程序,將uboot.out文件經過CCS和JTAD燒到板子上
3若是燒UBOOT成功,則打開串口,啓動板子電源就能夠顯示UBOOT啓動信息。
注意:S3的撥碼開關第0位必須是OFF狀態才能使用JTAD下載程序。
第0位是ON狀態就是LINUX下開發模式。
4若是UBOOT成功啓動,下面就安裝LINUX環境下的軟件了。
須要安裝的軟件不少,按照使用手冊一步一步執行就能夠了。
5環境搭建的難點是:NFS和TFTP的安裝和使用。
NFS是用來共享板子和虛擬機上的文件系統
TFTP是用來將內核文件傳輸到板子內存中的
6若是NFS和TFTP順利經過,則能夠經過串口發命令將LINUX內核文件uImage傳輸到板子的內存中。
7板子的內存中如今有了LINUX的內核文件uImage,要將內核文件燒到FLASH中才能正常使用
8在超級終端中發送命令:protect off , erase, cp.b, protect on 等
9內核燒好之後,在超級終端中輸入:boot就啓動板子內核了。
10裝置DEMO程序,經過JTAD下載*.OUT文件到板子上就能夠了
第4、參考資料
DVEVM Getting Started Guide.pdf
DVSDK Getting Started Guide.pdf
SEED-DM6446開發手冊.pdf
基於達芬奇平臺的H.264視頻編碼器設計
基於DM6446平臺的智能視頻監控關鍵算法研究與實現(交大)
視頻跟蹤算法在DAVINCI SOC上的實現與優化(復旦)
相關網絡資源及論文
http://v.ku6.com/show/mCOa04GEo0zFXDyg.html
Davinci prototype on Xbox Kinect
http://www.tudou.com/programs/view/X_4i5dSNUhk/
TI技術支持–崔晶 DM6446
http://focus.ti.com.cn/cn/general/docs/gencontent.tsp?contentId=50657
達芬奇數字媒體片上系統的架構和Linux啓動過程
德州儀器半導體技術(上海)有限公司 技術支持 崔晶
http://processors.wiki.ti.com/index.php?title=Quickly_Getting_Started_on_TI_Codec_Engine
TI Codec Engine快速入門
http://www.ti.com/ww/cn/uprogram/dsps/20090531_01aa.html
TI DSP大賽介紹
http://wenku.baidu.com/view/176b16f8aef8941ea76e056a.html
快速入門TI CODEC ENGINE
No related posts.