內容簡介
嵌入式多核DSP應用開發與實踐
本書從C66x的內核架構、關鍵外設、多核編程等方麵進行翔實介紹,同時通過基於CCSV5Simulator軟件仿真以及TMDXEVM6678LEVM 硬件仿真的實例精解,從更多細節上介紹基於TMS320C6678的電路設計開發和boot設計,給齣用實例測試的片內外設應用測試程序,最後介紹中科院某所基於TMS320C6678的星載毫米波SAR GMTI係統數字中頻接收機的總體設計。
本書適閤於廣大DSP愛好者、大學高年級學生、研究生,以及從事DSP等嵌入式技術開發的企業工程技術人員參考。
目錄
第1章 多核DSP技術……………………………………………………………… 1
1.1 DSP概述…………………………………………………………………… 1
1.2 TI公司DSP器件的發展………………………………………………… 1
1.2.1 C2000係列DSP …………………………………………………… 2
1.2.2 C5000係列DSP …………………………………………………… 3
1.2.3 C6000單核係列DSP ……………………………………………… 3
1.2.4 達芬奇係列DSP …………………………………………………… 3
1.2.5 多核係列DSP ……………………………………………………… 4
1.3 高性能多核TIDSP性能………………………………………………… 6
1.4 KeyStoneⅠ多核DSP處理器…………………………………………… 8
1.4.1 KeyStoneⅠ概述…………………………………………………… 8
1.4.2 應用領域…………………………………………………………… 11
1.5 KeyStoneⅡ多核DSP處理器…………………………………………… 13
1.5.1 KeyStoneⅡ概述………………………………………………… 13
1.5.2 KeyStoneⅡ多核架構…………………………………………… 14
1.5.3 專用服務器應用…………………………………………………… 15
1.5.4 企業和工業應用…………………………………………………… 16
1.5.5 綠色能效網絡處理………………………………………………… 16
1.5.6 産品優勢…………………………………………………………… 17
第2章 TMS320C66x的多核處理器架構………………………………………… 18
2.1 C66x內核………………………………………………………………… 18
2.1.1 概 述……………………………………………………………… 18
2.1.2 C66xDSP架構指令增強………………………………………… 20
2.1.3 C66x內核中CPU 數據通路和控製……………………………… 22
2.2 TMS320C66xDSP內核………………………………………………… 24
2.2.1 C66x內核介紹…………………………………………………… 24
2.2.2 C66x內核內部模塊概述………………………………………… 25
2.2.3 IDMA ……………………………………………………………… 31
2.2.4 中斷控製器………………………………………………………… 33
2.3 多核導航器………………………………………………………………… 39
2.3.1 概 述……………………………………………………………… 39
2.3.2 多核導航器的功能………………………………………………… 43
2.3.3 多核導航器的基本概念…………………………………………… 44
2.4 高速通信接口……………………………………………………………… 49
2.4.1 HyperLink接口…………………………………………………… 51
2.4.2 RapidIO接口……………………………………………………… 57
2.4.3 PCIe接口………………………………………………………… 62
2.5 多核共享資源……………………………………………………………… 70
2.5.1 存儲器資源分配…………………………………………………… 70
2.5.2 EDMA 資源……………………………………………………… 71
2.5.3 硬件信號量………………………………………………………… 72
2.5.4 IPC中斷…………………………………………………………… 76
第3章 C66x片內外設、接口與應用……………………………………………… 77
3.1 EDMA3 …………………………………………………………………… 77
3.1.1 EDMA3概述……………………………………………………… 77
3.1.2 EMDA3傳輸類型………………………………………………… 81
3.1.3 EDMA 功能實例………………………………………………… 83
3.2 Ethernet/MDIO ………………………………………………………… 86
3.3 AIF2天綫接口…………………………………………………………… 87
3.3.1 概 述……………………………………………………………… 87
3.3.2 OBSAI協議概述………………………………………………… 88
3.3.3 AIF2硬件框圖…………………………………………………… 90
第4章 CCS5集成開發環境……………………………………………………… 92
4.1 CCS5的安裝和配置……………………………………………………… 93
4.1.1 CCSV5.5的下載………………………………………………… 93
4.1.2 CCSV5.5的安裝………………………………………………… 94
4.1.3 CCSV5.5的使用………………………………………………… 97
4.2 CCSV5操作小技巧…………………………………………………… 107
4.2.1 更改顯示………………………………………………………… 107
4.2.2 多綫程編譯……………………………………………………… 107
4.2.3 多核斷點調試…………………………………………………… 108
4.2.4 L1P、L1D、L2cache分析工具………………………………… 110
4.3 GEL的使用……………………………………………………………… 110
4.3.1 GEL功能簡介…………………………………………………… 110
4.3.2 實現GEL腳本的基本要素…………………………………… 110
4.3.3 GEL腳本應用技巧……………………………………………… 116
第5章 多核軟件開發包…………………………………………………………… 125
5.1 多核軟件開發包概述…………………………………………………… 125
5.2 Linux/MCSDK ………………………………………………………… 127
5.3 BIOS-MCSDK …………………………………………………………… 129
5.3.1 BIOS-MCSDK簡介……………………………………………… 129
5.3.2 BIOS-MCSDK2.x開發………………………………………… 133
5.3.3 MCSDK2.x使用指南…………………………………………… 135
5.3.4 運行演示應用程序……………………………………………… 142
5.4 CSL與底層驅動………………………………………………………… 145
5.4.1 CSL介紹………………………………………………………… 145
5.4.2 LLDs介紹……………………………………………………… 145
5.4.3 EDMA3驅動介紹……………………………………………… 147
5.5 算法處理庫……………………………………………………………… 147
5.5.1 數字信號處理庫(DSPLIB)……………………………………… 147
5.5.2 圖像處理庫(IMGLIB) ………………………………………… 148
5.5.3 數學函數庫(MATHLIB) ……………………………………… 149
5.6 網絡開發工具NDK …………………………………………………… 150
5.6.1 NDK概述………………………………………………………… 151
5.6.2 NDK組織結構…………………………………………………… 152
5.6.3 NDK實現過程…………………………………………………… 153
5.6.4 CCS創建NDK工程…………………………………………… 155
5.6.5 配置NDK ……………………………………………………… 157
5.6.6 NDK開發中應注意的問題……………………………………… 157
5.7 HUA 實例……………………………………………………………… 158
5.7.1 概 述…………………………………………………………… 158
5.7.2 軟件設計………………………………………………………… 161
5.8 ImageProcessing實例講解…………………………………………… 162
5.8.1 概 述…………………………………………………………… 162
5.8.2 軟件設計………………………………………………………… 162
5.8.3 軟件實例介紹…………………………………………………… 165
第6章 SYS/BIOS ………………………………………………………………… 168
6.1 SYS/BIOS基礎………………………………………………………… 168
6.1.1 SYS/BIOS概述………………………………………………… 168
6.1.2 SYS/BIOS與DSP/BIOS的區彆……………………………… 169
6.1.3 XDCtools概述…………………………………………………… 170
6.1.4 SYS/BIOS開發流程…………………………………………… 173
6.2 IPC核間通信…………………………………………………………… 174
6.2.1 IPC功能架構…………………………………………………… 174
6.2.2 IPC主要模塊介紹……………………………………………… 176
6.2.3 使用IPC需要解決的問題……………………………………… 183
6.3 SYS/BIOS組成………………………………………………………… 183
6.4 SYS/BIOS工程創建和配置…………………………………………… 189
6.4.1 用TI資源管理器創建SYS/BIOS工程……………………… 189
6.4.2 用CCS工程嚮導創建SYS/BIOS工程………………………… 191
6.5 SYS/BIOS啓動過程…………………………………………………… 196
第7章 硬件設計指南……………………………………………………………… 198
7.1 電源設計、節電模式和功耗評估………………………………………… 198
7.1.1 功耗分析………………………………………………………… 198
7.1.2 係統總體方案設計……………………………………………… 199
7.1.3 電源濾波設計…………………………………………………… 201
7.1.4 電源控製電路…………………………………………………… 201
7.1.5 3.3V 輔助電路………………………………………………… 203
7.1.6 上電時序控製電路……………………………………………… 203
7.1.7 在綫軟件控製…………………………………………………… 205
7.2 時鍾設計………………………………………………………………… 206
7.2.1 時鍾需求………………………………………………………… 206
7.2.2 時鍾電路設計…………………………………………………… 208
7.3 復位電路設計…………………………………………………………… 215
7.3.1 復位需求統計…………………………………………………… 215
7.3.2 復位電路及時序設計…………………………………………… 215
7.4 DDR3接口設計………………………………………………………… 216
7.4.1 DDR3技術綜述………………………………………………… 216
7.4.2 TMS320C6678的DDR3控製器……………………………… 217
7.4.3 DDR3-SDRAM 選型…………………………………………… 217
7.4.4 DDR3電路設計………………………………………………… 218
7.4.5 PCB設計中的注意事項………………………………………… 219
7.5 EMIF16接口設計……………………………………………………… 222
7.5.1 EMIF16接口介紹……………………………………………… 222
7.5.2 EMIF16存儲空間分配………………………………………… 223
7.5.3 NORFlash接口設計…………………………………………… 223
7.5.4 NANDFlash接口設計………………………………………… 225
7.6 SRIO接口設計………………………………………………………… 226
7.6.1 設計原理………………………………………………………… 226
7.6.2 PCB設計中的注意事項………………………………………… 227
7.6.3 GbE設計………………………………………………………… 228
7.7 SPI接口設計…………………………………………………………… 233
7.8 I2C接口設計…………………………………………………………… 233
7.9 外中斷設計……………………………………………………………… 234
7.10 JTAG仿真……………………………………………………………… 235
7.11 硬件設計檢查錶………………………………………………………… 235
7.12 電路設計小技巧………………………………………………………… 240
7.12.1 UltraLibrarian的使用………………………………………… 240
7.12.2 Cadence模塊化復用………………………………………… 243
第8章 TIC66x多核DSP自啓動開發…………………………………………… 253
8.1 概 述…………………………………………………………………… 253
8.1.1 DSP啓動過程…………………………………………………… 255
8.1.2 多核啓動原理…………………………………………………… 256
8.1.3 啓動數據的生成………………………………………………… 258
8.2 EMIF16方式…………………………………………………………… 259
8.3 主從I2C方式…………………………………………………………… 259
8.3.1 單核啓動模式…………………………………………………… 260
8.3.2 多核啓動模式…………………………………………………… 261
8.4 SPI方式………………………………………………………………… 261
8.4.1 SPI總綫的工作原理…………………………………………… 262
8.4.2 SPI啓動的實現………………………………………………… 263
8.4.3 SPINOR啓動步驟及注意事項………………………………… 264
8.5 SRIO方式……………………………………………………………… 266
8.6 以太網方式……………………………………………………………… 268
8.7 PCIe方式………………………………………………………………… 270
8.7.1 PCIe啓動原理…………………………………………………… 270
8.7.2 PCIe啓動分析…………………………………………………… 271
8.7.3 單模式加載啓動實現…………………………………………… 271
8.7.4 多核啓動實現…………………………………………………… 272
8.7.5 DDR3多模代碼加載啓動實現………………………………… 273
8.8 HyperLink方式………………………………………………………… 274
第9章 C66x多核編程指南……………………………………………………… 275
9.1 應用程序編程框架……………………………………………………… 275
9.1.1 XDAIS標準……………………………………………………… 275
9.1.2 IALG接口……………………………………………………… 275
9.1.3 XDM 標準……………………………………………………… 277
9.1.4 VISAAPI ……………………………………………………… 279
9.2 應用程序映射到多核導航器…………………………………………… 279
9.2.1 並行處理模型…………………………………………………… 280
9.2.2 識彆並行任務…………………………………………………… 282
9.3 多核通信………………………………………………………………… 284
9.3.1 數據遷移………………………………………………………… 285
9.3.2 多核導航器數據移動…………………………………………… 286
9.3.3 通知和同步……………………………………………………… 287
9.3.4 多核導航器的通知方法………………………………………… 288
9.4 數據傳輸引擎…………………………………………………………… 290
9.5 共享資源管理…………………………………………………………… 291
9.6 存儲器管理……………………………………………………………… 292
9.7 C66x代碼優化…………………………………………………………… 295
9.7.1 使用內嵌函數…………………………………………………… 295
9.7.2 軟件流水………………………………………………………… 296
9.7.3 混閤編程………………………………………………………… 297
9.8 綫性匯編………………………………………………………………… 300
9.8.1 C代碼改寫為綫性匯編………………………………………… 300
9.8.2 綫性匯編使用SIMD指令……………………………………… 304
9.8.3 循環展開………………………………………………………… 305
9.8.4 解決存儲器衝突………………………………………………… 307
9.9 TI代碼優化設計文檔…………………………………………………… 309
第10章 C66x多核DSP軟件開發實例………………………………………… 317
10.1 IPC核間通信實例……………………………………………………… 317
10.1.1 概 述…………………………………………………………… 317
10.1.2 實例詳解………………………………………………………… 318
10.1.3 源代碼詳解……………………………………………………… 319
10.2 VL
嵌入式多核DSP應用開發與實踐 下載 mobi epub pdf txt 電子書