《DAVINCI技術剖析及實戰套用開發指南》是2012年西安電子科技大學出版社出版的圖書,作者是沈沛意、張亮、周夢、董洛兵、王劍。
基本介紹
- 書名:DAVINCI技術剖析及實戰套用開發指南
- 作者:沈沛意 張亮 周夢 董洛兵 王劍
- ISBN:978-7-5606-2720-5
- 定價:22.95元
- 出版社:西安電子科技大學出版社
- 出版時間:2012-04
內容簡介,目錄,
內容簡介
達文西(DAVINCI)技術是TI公司推出的一種套用於數字視頻的內涵豐富的綜合體,它是處理數字圖像、視頻、語音和音頻信息的新平台。達文西技術包括達文西處理器(基於ARM+DSP的片上系統)、軟體、開發工具、算法庫和其他的一些技術上的支持。
本書深入地解析了DAVINCI技術的原理、創建的方法及步驟。本書從實際套用的角度,以基於DAVINCI技術的硬體平台DM6467和DM365為例,系統地講述了DAVINCI技術在各個處理器平台下的Codec、Server和App三部分的詳細內容,包括各種配置檔案、源檔案等內容及功能,三部分的創建生成方法、應用程式的編寫和算法的調用流程,以及各個處理器的UBOOT、UBL、Linux核心開發和硬體系統的燒寫方法等;同時,針對DAVINCI技術在CCS中的實際套用進行了講解,包括CCS開發環境的配置和DAVINCI技術的具體實現等內容;最後,從算法和記憶體兩方面介紹了DSP系統算法的最佳化,以及基於裸通信機制的DAVINCI核間通信模型。
本書還提供了各個DAVINCI硬體平台下的開始環境、算法及應用程式的源碼。
本書是針對科研中的實際問題進行討論和闡述的,並且本書中所有例程都經過實際測試,可以在出版社網站上進行下載和測試。本書既可作為高等院校電子類等專業本科生、研究生的嵌入式系統相關教學實驗教材,也可作為相關音視頻開發科研人員的工具書和參考書。
目錄
第1章 緒論 1
1.1 達文西技術概述 1
1.2 達文西技術的組成 2
1.2.1 達文西硬體處理器 2
1.2.2 達文西的軟體介紹 8
1.2.3 達文西的開發工具 12
1.3 達文西技術的優點 15
1.4 Codec Engine簡介 15
1.4.1 Codec概述 16
1.4.2 Server概述 16
1.4.3 App概述 17
1.5 小結 17
第2章 達文西軟體開發中的自動化工具 18
2.1 軟體管理方式SVN 18
2.1.1 CVS版本管理系統 18
2.1.2 Subversion版本管理系統 18
2.2 編譯管理 19
2.2.1 工具依賴 19
2.2.2 創建一個簡單的Automake工程 19
2.2.3 軟體開發環境創建 22
2.2.4 Automake管理framework工程 23
2.2.5 Makefile.am檔案的編寫規則 25
2.3 自動腳本生成 27
2.3.1 Autogen工具簡介 27
2.3.2 def檔案解析 28
2.3.3 tpl檔案解析 29
2.3.4 由def和tpl檔案自動生成參數檔案 30
2.4 CMake工具的使用 35
2.4.1 CMake工具簡介 35
2.4.2 CMake工具的簡單例子 36
2.4.3 簡單示例工程化 39
2.4.4 靜態庫和動態庫的構建 41
2.4.5 外部共享庫的使用 42
2.5 小結 43
第3章 算法創立者Codec 44
3.1 Codec里的源碼結構 44
3.1.1 package.bld 44
3.1.2 package.xdc 45
3.1.3 package.xs 46
3.1.4 package.mak 47
3.1.5 MODULE.xdc 47
3.1.6 MODULE.xs 48
3.1.7 原始碼檔案 48
3.1.8 lib和package資料夾 54
3.2 Codec的生成方法 54
3.2.1 人臉跟蹤算法簡介 55
3.2.2 基於examples自帶的算法生成Codec 57
3.2.3 基於RTSC生成Codec 63
3.3 小結 70
第4章 服務集成者Server 71
4.1 Server里的cfg檔案 71
4.1.1 配置需要的Module 71
4.1.2 Codec的Module 73
4.1.3 配置Server 74
4.1.4 配置DSKT2 77
4.1.5 配置DMAN3 79
4.1.6 配置RMAN 80
4.2 Server中的tcf檔案 80
4.2.1 environment環境數組變數 80
4.2.2 記憶體映射的mem_ext數組 81
4.2.3 設定device_regs 85
4.2.4 設定params 85
4.2.5 utils.loadPlatform的使用 86
4.2.6 配置bios命名空間 86
4.2.7 prog.gen()的使用 87
4.3 Server的生成方法 87
4.3.1 Server端檔案的修改 87
4.3.2 基於XDC生成Server Package 89
4.3.3 使用基於configuro的Makefile檔案生成Server Package 89
4.4 小結 91
第5章 Engine集成和套用者App 93
5.1 App里的配置檔案 93
5.1.1 ARM端算法的創建 93
5.1.2 DSP端算法的創建 94
5.2 核心Engine的APIs 94
5.2.1 Engine_open 94
5.2.2 Engine_close 95
5.2.3 獲取記憶體和CPU信息 95
5.2.4 獲取算法信息 95
5.3 VISA的APIs 96
5.3.1 創建算法實例—*_create 96
5.3.2 刪除算法實例—*_delete 98
5.3.3 控制算法實例—*_control 98
5.3.4 處理數據—*_process 99
5.4 Server的APIs 100
5.4.1 獲取Server句柄 100
5.4.2 獲取記憶體的heap信息 100
5.4.3 重新配置Server端的算法堆 102
5.5 軟體跟蹤—GT_trace 103
5.5.1 配置TraceUtil 103
5.5.2 GT_trace的使用 105
5.6 各類API的調用流程 107
5.6.1 API調用流程概述 107
5.6.2 API調用實例 107
5.7 小結 113
第6章 基於TMS320DM6467的開發系統演示範例 114
6.1 DM6467硬體開發系統 114
6.2 DM6467開發環境搭建 115
6.2.1 Linux開發環境的搭建 115
6.2.2 SDK套件安裝 118
6.2.3 SDK套件的配置 120
6.2.4 修改其他檔案 121
6.3 DM6467開發實例 122
6.3.1 DM6467中自帶算法庫的使用 122
6.3.2 算法的實現過程 126
6.4 DM6467 UBL、UBOOT及Linux核心開發 130
6.4.1 UBL代碼和相關配置 130
6.4.2 UBOOT結構和配置 132
6.4.3 Linux核心開發 139
6.5 DM6467硬體系統燒寫 143
6.5.1 檔案系統的製作 143
6.5.2 NAND Flash分區 147
6.5.3 核心和檔案系統的燒寫 148
6.6 小結 149
第7章 基於TMS320DM365的開發系統演示範例 150
7.1 DM365硬體開發系統 150
7.2 DM365開發環境搭建 151
7.2.1 Linux開發環境的搭建 151
7.2.2 SDK套件的安裝 151
7.2.3 SDK套件的配置 152
7.2.4 修改其他檔案 153
7.3 DM365開發實例 153
7.3.1 DM365中的視頻子系統VPSS 153
7.3.2 DM365視頻子系統驅動開發 157
7.3.3 DM365中自帶算法庫的使用 180
7.3.4 算法的實現過程 189
7.4 核心和檔案系統的製作及燒寫 193
7.4.1 UBOOT檔案的燒寫 193
7.4.2 核心檔案的製作和燒寫 197
7.4.3 檔案系統的製作和燒寫 199
7.5 小結 200
第8章 DSP系統算法最佳化和DAVINCI核間通信模型 201
8.1 算法的最佳化 201
8.1.1 數據類型的最佳化 201
8.1.2 數值操作的最佳化 202
8.1.3 變數定義及使用的最佳化 202
8.1.4 函式的調用 203
8.1.5 程式流程的設計 203
8.2 記憶體的最佳化 204
8.2.1 Cache的最佳化 204
8.2.2 DDR2的最佳化 205
8.3 DAVINCI核間通信機制 207
8.3.1 ARM和DSP之間的聯繫 207
8.3.2 ARM-DSP中斷 208
8.4 基於裸機制的DAVINCI核間通信模型 209
8.5 小結 210
附錄A Codec端make命令的輸出 211
附錄B config.bld檔案 220
附錄C package.bld檔案 224
附錄D makefile檔案 225
附錄E 本書中用到的術語和縮寫對照表 226
參考文獻 229