TMS320C6000™DSP最佳化技術講座
 Training Home TRAINING HOME
DETAILS
LOGISTICS


  OVERVIEW   

時間 : 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週邊的概述。
  1. 架構
    • 架構概述
    • 管線介紹
  2. 程式執行
    • 使用C程式
    • 從C語言呼叫組合語言
    • 使用組合語言的最佳化工具
    • 架構細節
  3. 程式最佳化
    • 最佳化方法
    • 軟體管線執行 (Software Pipelining)
    • 軟體管線執行的多週期迴圈 (Software Pipelining Multi-Cycle Loops)
    • C語言進階主題
  4. 系統相關的程式設計問題
    • 數值問題
    • 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和其它技巧)   √ + 實機練習