freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于c6416dsk的眼動跟蹤系統(tǒng)(編輯修改稿)

2024-12-16 16:04 本頁面
 

【文章內(nèi)容簡介】 單元內(nèi)實施??刂萍拇嫫鹘M控制操作方式。從程序存儲器讀取一個 取指包時起, VLIW 處理流程開始。一個取指包可能分成幾個 執(zhí)行包。 C6000DSP 片內(nèi)的程序總線與數(shù)據(jù)總線分開,程序存儲器與數(shù)據(jù)存儲器分開,但片外 的存儲器及總線都不分,二者是統(tǒng)一的。全部存儲空間(包括程序存儲器和數(shù)據(jù)存儲器,片內(nèi)和片外)以字節(jié)為單位統(tǒng)一編址。 無論是從片外讀取數(shù)據(jù)或與片內(nèi)交換數(shù)據(jù),都要通過 EDMA 和 EMIF。 C6000 的相關(guān)文獻常把在指令執(zhí)行過程中使用的物理資源統(tǒng)稱為數(shù)據(jù)通道,其中包括執(zhí)行指令的 8 個功能單元、通用寄存器組以及 CPU 與片內(nèi) 數(shù)據(jù)存儲器交換信息所使用的數(shù)據(jù)總線等。 C6416DSP 指令集 C6000 匯編語言的每一條指令只 能在一定的功能單元中執(zhí)行,因此就形成了指令和功能單元之間的映射關(guān)系。一般而言,與乘法相關(guān)的指令都是在 .M 單元執(zhí)行;需要產(chǎn)生數(shù)據(jù)存儲器地址的指令,則需要用到 .D 功能單元;算術(shù)邏輯運算大多在 .S與 .L單元執(zhí)行,讀者可查閱“ TMS320C6000 CPU and Instruction Set Reference Guide”( SPRU189)了解詳細情況。 C6000 采用流水線結(jié)構(gòu),從指令進入 CPU的取指單元到指令執(zhí)行完畢,需要多個時鐘周期。 C6000 所宣傳的單指令周期是指它最高的流水處理速度。由于指令復(fù)雜程度 的不同,各種指令的執(zhí)行周期也不一樣,因此程序員就需要了解指令執(zhí)行的相對延遲,以掌握一條指令的執(zhí)行結(jié)果何時可以被后續(xù)指令利用。 CPU 運行時,總是一次取 8 條指令,組成一個取指包。取指包一定在地址的256 為( 8 個字節(jié))邊界定位。 一個取指包中 8 條指令的執(zhí)行順序可能有幾種不同形式:完全串行,即每次執(zhí)行一條指令;完全并行,即 8條指令是一個執(zhí)行包;部分串行,即分成幾個執(zhí)行包。使用符號“ ||”表示一條指令與另一條指令并行執(zhí)行。 如果有轉(zhuǎn)移指令使得程序在執(zhí)行過程中由外跳轉(zhuǎn)至某一執(zhí)行包中間的某一條指令,則程序從該條指令繼續(xù)執(zhí)行 ,該執(zhí)行包中跳轉(zhuǎn),目標之前的指令將被忽略。 C6416 屬于 C64xx 系列 DSP, C62xx 的所有指令對 C64xx 有效,此外 C64xx還有他特有的指令。二者所共有的指令集是個定點運算指令集??梢詫⑺麄兎譃樽x取 /存儲類指令、算術(shù)運算類指令、邏輯與位操作類指令、搬移、跳轉(zhuǎn)(程序轉(zhuǎn)移)及空操作類指令等 6 種。 詳細指令集請參閱 TI 的文檔“ TMS320C6000 CPU and Instruction Set Reference Guide”( SPRU189)。 C6416DSP 片內(nèi)外設(shè) TMS320C6416 的硬件結(jié)構(gòu)如圖 所示。內(nèi)部包括一個 DSP內(nèi)核、一級數(shù)據(jù)Cache、一級程序 Cache、二級存儲器、增強型 DMA 控制器( EDMA)、 Vterbi 譯碼協(xié)處理器( VCP)、 Turbo 譯碼協(xié)處理器( TCP);對外接口包括兩個外部存儲器接口( EMIFA 和 EMIFB)、主機接口( HPI)、 PCI 接口、 UTOPIA 接口、 GPIO 接口,多通道緩沖串口( McBSP) , 3個 Timer, PLL 等 。 圖 TMS320C6416DSP 硬件結(jié)構(gòu) DSP 內(nèi)核采用超長指令字( VLIW)體系結(jié)構(gòu),有 8個功能單元、 64 個 32bit 通用寄存器。一個時鐘周期同時執(zhí)行 8 條指令,運算能力可達到 8000MMACS(每秒百萬 乘加次數(shù) ),支持 8/16/32/64bit 的數(shù)據(jù)類型。兩個乘法累加單元一個時鐘周期可同時執(zhí)行 4 組 1616bit 乘法或 8 組 88bit 乘法,每個功能單元在硬件上都增加了附加功能,增強了指令集的正交性。除此之外還增加了一些指令用以削減代碼長度和增加寄存器的靈活性。 為使數(shù)據(jù)能保持對超快速 DSP 內(nèi)核的供給, TMS320C6416 采用了兩級超高速緩存器,即 16Kbyte 的一級數(shù)據(jù) Cache、 16Kbyte 的一級程 序 Cache 和 1024Kbyte的數(shù)據(jù)和程序統(tǒng)一內(nèi)存。為了達到更大的擴展, 1024Kbyte 內(nèi)存中的 256Kbyte存儲空間可設(shè)置用作二級 Cache。 在內(nèi)存和外設(shè)接口( EMIFA 接口、 EMIFB 接口、 HPI 或 PCI 接口、 McBSP串口、 UTOPIA 接口等)之間所有的數(shù)據(jù)傳輸都由 EDMA 來處理。 TMS320C6416的 EDMA 共有 64 個通道,每個通道的優(yōu)先級都可編程設(shè)置,每個通道都對應(yīng)一個專用同步觸發(fā)事件,使得 EDMA 可以被外設(shè)來的中斷、外部硬件中斷、其它EDMA 傳輸完成的中斷等事件觸發(fā),開始進行數(shù)據(jù)的搬 移。 EDMA 完成一個完整的數(shù)據(jù)搬移后,可從通道傳輸參數(shù)記錄指定的鏈接地址處重新加載該通道傳輸參數(shù)。 EDMA 傳輸完成后, EDMA 控制器可以產(chǎn)生一個到 DSP 內(nèi)核的中斷,出可以產(chǎn)生一個中斷觸發(fā)另一個 EDMA 通道開始傳輸。 TMS320C6416 的存儲器接口提供了到 SDRAM、 SBSRAM、異步器件如 SRAM/ROM 等存儲器的無終接口,也可連接到外部 I/O 器件。 存儲器接口有 EMIFA 和 EMIFB,其中 EMIFA 接口有 64bit 寬的數(shù)據(jù)總線,可連接 64/32/16/8bit 的器件; EMIFB 接口有 16bit 寬的數(shù)據(jù)總 線,可連接 16/8bit的器件。一般情況下, EMIFA 接口連接外部存儲器(如 SDRAM), EMIFB 接口連接外部 I/O 器件(如 FPGA)。 TMS320C6416 有三個多通道緩沖串口( McBSP),工作頻率最高可達100MHz。其中 McBSP1 串口和 UTOPIA 接口復(fù)用, McBSP2 串口和 PCI 的EEPROM 接口復(fù)用,使用時要注意。 另外因篇幅有限,其他有關(guān) HPI, PCI, UTOPIA, VCP, TCP 等的介紹,請參閱 TI 的英文文檔。 集成開發(fā)環(huán)境 CCS 及 DSP 軟件開發(fā) CCS 提供了配置、建立 、調(diào)試、跟蹤和分析程序的工具,它便于實時、 嵌入式信號處理程序的編制和測試,它能夠加速開發(fā)進程,提高工作效率。 CCS 包括如下各部分: CCS 代碼生成工具 ; CCS 集成開發(fā)環(huán)境( IDE) ;DSP/BIOS 插件程序和 API ; RTDX 插件、主機接口和 API。 代碼生成工具 奠定了 CCS 所提供的開發(fā)環(huán)境的基礎(chǔ) 。 描述的工具如下: ● C 編譯器 (C piler) 產(chǎn)生匯編語言源代碼, 其細節(jié)參見 TMS320C6000 最優(yōu)化 C 編譯器用戶指南。 ● 匯編器 (assembler) 把匯編語言源文件翻譯成 機器語言目標文件,機器語言格式為公用目標格式( COFF),其細節(jié)參見 TMS320C6000匯編語言工具用戶指南。 ● 連接器 (linker) 把多個目標文件組合成單個可執(zhí)行目標模塊。它一邊創(chuàng)建可執(zhí)行模塊,一邊完成重定位以及決定外部參考。連接器的輸入是可重定位的目標文件和目標庫文件,有關(guān)連接器的細節(jié)參見 TMS320C6000最優(yōu)化 C 編譯器用戶指南和匯編語言工具用戶指南。 ● 歸檔器( archiver )允許你把一組文件收集到一個歸檔文件中。歸檔器也允許你通過刪除、替換、提取或添加文件來調(diào)整庫,其細節(jié)參見 TMS320C6000匯編語言工具用戶指南。 ● 助記符到代數(shù)匯編語言轉(zhuǎn)換公用程序( mnimonic_to_algebric assembly translator utility )把含有助記符指令的匯編語言源文件轉(zhuǎn)換成含有代數(shù)指令的匯編語言源文件, 其細節(jié)參見 TMS320C6000匯編語言工具用戶指南。 ● 你可以 利用建庫程序( library_build utility )建立滿足你自己要求的“運行支持庫 ”,其細節(jié)參見 TMS320C6000最優(yōu)化 C 編譯器用戶指南。 ● 運行支持庫 (run_time_support libraries) 它包括 C 編譯器所支持的 ANSI 標準運行支持函數(shù)、編譯器公用程序函數(shù)、浮點運算函數(shù)和 C 編譯器支持的 I/O 函數(shù),其細節(jié)參見 TMS320C6000最優(yōu)化 C 編譯器用戶指南。 ● 十六進制轉(zhuǎn)換公用程序 (hex conversion utility) 它把 COFF 目標文件轉(zhuǎn)換成TITagged 、 ASCIIhex 、 Intel 、 MotorolaS 、或 Tektronix 等目標格式,可以把轉(zhuǎn)換好的文件下載到 EPROM 編程器中,其細節(jié)參見 TMS320C6000 匯編語言工具用戶指南。 ● 交叉引用列表器( cross_reference lister )它用目標文件產(chǎn)生參照列表文件,可顯示符號及其定義,以及符號所在的源文件, 其細節(jié)參見 TMS320C6000 匯編語言工具用戶指南。 ● 絕對列表器( absolute lister )它輸入目標文件,輸出 .abs 文件,通過匯編 .abs 文件可產(chǎn)生含有絕對地址的列表文件。如果沒有絕對列表器,這些操作將需要冗長乏味的手工操作才能完成。 使用 CCS 進行軟件開發(fā)的基本過程。 雙擊桌面上 CCS 的圖標,就可以啟動 CCS。這里,我 們使用桌面上的 6416 DSK CCStudio 圖標,這是為 C6416DSK 配置好了。 一,創(chuàng)建新工程 按照以下步驟創(chuàng)建一個新工程: 1. 如果 CCS安裝在 C:\,在 C:\\myprogects文件下新建一個 practice文件夾。 2. 把 C:\\tutorial\target\consultant文件夾下的內(nèi)容復(fù)制到新建的文件夾里。目標與當前 CCS的配置有關(guān)。在使用 CCS前必須進行配置,CCS里沒有默認的配置。關(guān)于 CCS配置的詳細介紹請參照第三章。 3. 選擇 ProjectNew。 4. 在 Project Name框里輸入工程名: (例如 :practice)。 5. 在 Location框里輸入或者瀏覽第一步創(chuàng)建的文件夾。 6. 工程類型默認為可執(zhí)行的 (.out)文件,目標設(shè)置為 CCS當前的配置。 7. 點擊 Finish , CCS創(chuàng)建一個叫做 。文件里存儲了工程配置和工程所需要的各種相關(guān)文件。 8. 選擇 ProjectAdd files to Project,把文件加到工程里。 你也可以在左邊的工程視圖窗口里右擊工程,選擇 Add files to Project。 9. 從你所創(chuàng)建的文件夾里添加 , , 和 (映射內(nèi)存的連接命令文件 )。瀏覽 C:\\c6000\cgtools\lib\目錄,為所配置的目標添加相應(yīng)的 。 10. 你不必手工添加包含文件到工程里,因為編譯程序的時候,程序會自動找到它們。在編譯一個工程后,包含文件會出現(xiàn)在工程視圖里。 二,構(gòu)建程序 創(chuàng)建了一個功能程序后,你就可以構(gòu)建( build)它。構(gòu)建主要完成編譯( pile)與連接( link)。第一次使用全構(gòu)建( Build All)功能便可以構(gòu)建工程,以后可以使用增量構(gòu)建( Build the project incrementaly)。一個輸出窗口將會顯示構(gòu)建過程和狀態(tài)。當構(gòu)建完成后,輸出窗口將會顯示 Build plete 0 errors, 0 warnings。 當工程選項或文所有件發(fā)生改變后,執(zhí)行 Rebuild All命令重建工程。 三,加載程序 程序成功構(gòu)建后,執(zhí)行 FileLoad Program加載程序。加載過程是將 上述構(gòu)建成功,生成的可執(zhí)行文件加載到目標板,目標板可以是軟件仿真環(huán)境,也可以是硬件目標板。默認情況下, CCS集成開發(fā)環(huán)境將會在你的工程路徑下創(chuàng)建一個Debug子目錄,把生成的 .out文件放在里面。點擊 Open加載程序。 四,基本調(diào)試 1 跳轉(zhuǎn)到主函數(shù)( Go to Main) 選擇 DebugGo main開始 Main函數(shù)的執(zhí)行。執(zhí)行到 Main函數(shù)出暫停,此時程序指針(黃色箭頭)停在 Main函數(shù)的左邊空白處。這個區(qū)域被稱為選擇區(qū)域 (select margin)??梢栽谶@個區(qū)域設(shè)置斷點( break point),探針 (probe)等 2 使用斷點 (Using Breakpoints) 把光標置于所需行上,按 F9設(shè)置一個斷點。此外,你還可以通過選擇 Toggle Breakpoint工具條按鈕創(chuàng)建斷點。設(shè)置斷點后,一個紅色圖標將出現(xiàn)在選擇空白區(qū)。再按 F9或 Toggle Breakpoint按鈕將除去斷點。 ,在 DoLoop行設(shè)置斷點 (Input1, Input2, Weights, Output, LOOPCOUNT) 當程序暫停在 Main函數(shù)處時,通過按 F5,選擇 DebugRun,或者選 擇 Run工具條來運行程序。一旦程序運行到斷點出,程序?qū)炱稹? 3 源代碼調(diào)試( Source Stepping) 只有當程序執(zhí)行掛起后才可單步執(zhí)行。當程序在斷點處掛起后,便可以單步執(zhí)行程序。通過選擇 SourceSingle Step按鈕,單步執(zhí)行到 DoLoop函數(shù)中。多次單步執(zhí)行觀察執(zhí)行結(jié)果。在 Single Step按鈕下,還有 Step Over 和 Step Out可用。同樣也可以使用匯編單步。因此,源程序單步逐行單步執(zhí)行各代碼,匯編單
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1