|
時間 : 4 天
費用(NT$) : $26,775
C6000最佳化技術講座的主題是撰寫高效能TMS320C6000 DSP程式碼,我們將詳細介紹處理器架構、TI
DSP發展工具以及最佳程式設計的其它相關問題,使您結束本次課程時,能瞭解如何設計良好的C6000程式碼。
雖然高效能程式設計是主要重點,這個講座也會介紹其它重要的系統最佳化問題,包括把程式長度減至最小、定點處理器的數值最佳化、撰寫可中斷的高速程式碼以及快取記憶體。
無論您計劃使用C語言、標準組合語言或Linear Assembly語言 (取自C和組合語言)
來發展您的C6000應用軟體,您都會發現這個講座能滿足您的程式設計和最佳化需求。這個講座涵蓋所有的C6000元件架構,包括:
- C62x
- C67x/C672x
- C64x/C64x+
- 這個講座大約有一半的時間是由學員利用C6000模擬器進行實機練習。
您將學會下以內容
- C6000家族處理器架構
- C6000家族處理器管線
- 編譯Code Composer Studio專案
- 瞭解C6000編譯器的編譯選項
- 撰寫高效率的C程式碼
- 撰寫最佳化的標準和Linear Assembly程式碼
- 混合使用C與組合語言
- 檢閱C6000處理器的特殊指令
- 定點處理器的數值問題
- C6000系統記憶體基本管理
- 程式碼微調工具概述
這個講座最適合為C6000家族撰寫程式和演算法的軟體工程師,對於正在評估C6000處理器架構的系統設計人員也有很大幫助。
若您必須利用C6000建造一套系統,而您的工作包括:系統設計、利用C6000讀寫元件的資料、即時軟體的排程以及設計您系統的開機程序,您或許會發現C6000整合技術講座更適合您的需求。預備知識
本課程不需任何預備知識,但熟悉下列內容將有很大幫助:
- C程式語言
- 嵌入式處理器的應用系統設計
- 程式的編譯與連結;讀取處理器的記憶體配置表 (memory-map)
- 數位訊號處理
雖然這個講座並未特別介紹DSP理論,瞭解DSP觀念將有助於您更瞭解如何利用數位訊號處理器來實作這些觀念。您在參加這個講座之前,並不一定要先參加C6000整合技術講座,但若您正在尋找C6000應用系統發展的全面性介紹課程,整合技術講座或許是您更好的選擇。
另一方面,若您正在評估C6000處理器架構,想瞭解如何為C6000撰寫更好的C與組合語言程式,這個講座就是您的最佳選擇。
上課時間每天上午8:30至下午5:30,最後一天則會在下午3:00結束。
課程內容從C6000處理器架構的介紹開始,第一天下午您就會開始建立Code Composer
Studio專案和執行C程式,隨後您將設計基本、未最佳化的組合語言與Linear Assembly程式。
介紹C6000程式設計的基本要素後,您將學習C6000程式的效能和長度最佳化技巧;最後,這個講座會探討一系列的系統相關問題,從定點運算的數值問題到C6000週邊的概述。
- 架構
- 程式執行
- 使用C程式
- 從C語言呼叫組合語言
- 使用組合語言的最佳化工具
- 架構細節
- 程式最佳化
- 最佳化方法
- 軟體管線執行 (Software Pipelining)
- 軟體管線執行的多週期迴圈 (Software Pipelining Multi-Cycle Loops)
- C語言進階主題
- 系統相關的程式設計問題
- 數值問題
- C6000中斷如何動做
- 記憶體基本管理 (連結)
- 內部記憶體和快取
- 撰寫可中斷的高速程式碼
- C6000週邊概述
TMS320C6000 整合技術講座與程式最佳化技術講座的比較:
| 目標對象 |
整合 |
最佳化 |
| 系統整合 (資料輸入/輸出、週邊、即時排程…) |
√ |
|
| 演算法發展和最佳化 |
|
√ |
| C6000硬體 |
整合 |
最佳化 |
| CPU |
CPU架構細節 |
|
√ |
| CPU管線細節 |
|
√ |
| 週邊 |
C6000週邊概述 |
√ |
√ |
| 利用晶片支援程式庫設定週邊裝置 |
√ + 實機練習 |
|
| DMA/EDMA (直接記憶體存取) |
√ + 實機練習 |
√ + 簡單介紹 |
| 串列埠 (McBSP) |
√ + 實機練習 |
|
| 外部記憶體界面(EMIF) |
√ + 實機練習 |
|
| 主機埠界面(HPI) |
√ + 實機練習 |
|
| XBUS |
√ + 簡單介紹 |
|
| 記憶體 |
記憶體基本管理 |
√ + 實機練習 |
√ + 實機練習 |
| 記憶體進階管理 |
√ + 實機練習 |
√ + 簡單介紹 |
| 使用Overlay |
√ + 實機練習 |
|
| 透過DSP/BIOS提供多個堆積 |
√ + 實機練習 |
|
| C6000快取記憶體 |
√ + 實機練習 |
√ |
| 快取最佳化 |
√ |
√ |
| 開發工具 |
整合 |
最佳化 |
| Code Composer Studio |
√ + 實機練習 |
√ + 實機練習 |
| DSP/BIOS 組態設定工具 |
√ + 實機練習 |
√ + 實機練習 |
| C6416/C6713 DSP 入門工具(DSK) |
√ + 實機練習 |
√ + 簡單介紹 |
| C6000 模擬器 |
|
√ + 實機練習 |
| 編譯器的最佳化選項 |
√ + 簡單介紹 |
√ + 實機練習 |
| 組合語言的最佳化工具 |
|
√ + 實機練習 |
| Profile Based Compiler (PBC) |
|
√ + 實機練習 |
| Absolute Lister |
√ + 簡單介紹 |
|
| Hex6x 公用程式 |
√ + 實機練習 |
|
| FlashBurn |
√ + 實機練習 |
|
| C6416/C6711電路板支援程式庫(BSL) |
√ + 實機練習 |
|
| 系統主題 |
整合 |
最佳化 |
| DSP/BIOS 即時排程器 |
√ + 實機練習 |
|
| DSP/BIOS 即時分析(LOG, STS) |
√ + 實機練習 |
|
| 參考架構 (Reference Framework) |
√ |
|
| 資料I/O的雙緩衝區 |
√ + 實機練習 |
|
| 發展一個可開機的獨立式系統 (不需仿真器即可開機)
|
√ + 實機練習 |
|
| 燒錄快閃記憶體 |
√ + 實機練習 |
|
| 中斷的基本原理 |
√ + 實機練習 |
√ |
| 中斷的進階主題 |
√ |
|
| 高效能C程式碼的可中斷性 |
|
√ |
| eXpressDSP 演算法標準介紹 |
√ + 實機練習 |
√ |
| 程式設計 |
整合 |
最佳化 |
| 編譯Code Composer Studio專案 |
√ + 實機練習 |
√ + 實機練習 |
| 編譯器的編譯選項 |
√ + 實機練習 |
√ + 實機練習 |
| 執行C程式 |
√ + 實機練習 |
√ + 實機練習 |
| 高效率C程式設計技巧 |
|
√ + 實機練習 |
| 組合語言設計/最佳化 |
|
√ + 實機練習 |
| Linear Assembly程式設計 |
|
√ + 實機練習 |
| 從C語言呼叫組合語言 |
|
√ + 實機練習 |
| 軟體管線執行 (pipelining) 技巧 |
|
√ + 實機練習 |
| 定點處理器的數值問題 |
|
√ |
| C語言執行環境 (堆疊指標,全域指標等) |
|
√ + 實機練習 |
| C語言最佳化 (pragma和其它技巧) |
|
√ + 實機練習 |
|