第1章 數字信號處理和DSP
1.1 數字信號處理的發(fā)展
1.2 DSP在信號處理中的應用
1.3 DSP芯片的特點
1.4 Blackfin系列DSP
1.4.1 Blackfin DSP結構綜述
1.4.2 Blackfin ADSP-BF535
1.4.3 Blackfin ADSP-BF531
1.4.4 Blackfin ADSP-BF532
1.4.5 Blackfin ADSP-BF533
1.4.6 開發(fā)工具
第2章 Blackfin DSP內部結構
2.1 Blackfin DSP內核結構
2.1.1 Blackfin DSP的內核結構概述
2.1.2 寄存器組
2.1.3 算術邏輯單元(ALU)
2.1.4 乘法-累加器(乘法器)
2.1.5 桶形移位器
2.2 存儲器
2.2.1 內存結構
2.2.2 片內存儲器
2.3 片內總線
2.3.1 內部接口
2.3.2 Blackfin DSP內部時鐘
2.3.3 內核概述
2.3.4 系統概述
2.3.5 系統接口
2.4 程序控制器
2.4.1 概述
2.4.2 相關的寄存器
2.4.3 指令流水線
2.4.4 程序流的控制
2.5 中斷
2.5.1 概述
2.5.2 系統中斷過程
2.5.3 中斷控制寄存器
2.5.4 事件控制器的寄存器
2.5.5 中斷的全局禁止和使能
2.5.6 事件向量表
2.5.7 硬件錯誤中斷
2.5.8 中斷服務
2.5.9 中斷的嵌套
第3章 Blackfin硬件開發(fā)和主要外設
3.1 外部總線
3.1.1 概述
3.1.2 外部總線框圖
3.1.3 內部存儲器接口
3.1.4 EBIU仲裁
3.1.5 外部存儲器接口
3.1.6 EBIU編程模板
3.1.7 出錯檢測
3.1.8 異步存儲器接口
3.1.9 SDRAM控制器(SDC)
3.2 DMA
3.2.1 概述
3.2.2 基于描述符的DMA傳送
3.2.3 基于自動緩沖的DMA
3.2.4 外設DMA寄存器列表
3.2.5 存儲器DMA(MemDMA)
3.2.6 DMA中止條件
3.2.7 DMA總線錯誤條件
3.2.8 BF531/2/3的DMA特點
3.3 TIMER
3.3.1 概述
3.3.2 通用定時器
3.3.3 定時器模式
3.3.4 內核定時器
3.3.5 看門狗定時器
3.4 SPI
3.4.1 概述
3.4.2 接口信號
3.4.3 SPI中斷
3.4.4 SPI寄存器
3.4.5 SPI傳輸格式
3.4.6 SPI通用操作
3.4.7 錯誤信號和標志
3.4.8 SPI傳送的開始和結束
3.5 SPORT
3.5.1 概述
3.5.2 SPORT的常見操作
3.5.3 SPORT的禁止
3.5.4 SPORT的模式設置
3.5.5 時鐘和幀同步頻率
3.5.6 時鐘信號選擇
3.5.7 幀同步選擇
3.5.8 多通道操作
3.5.9 數據在SPORT和存儲器間的移動
3.5.10 對標準協議的支持
3.6 UART
3.6.1 概述
3.6.2 串行通信
3.6.3 非DMA模式
3.6.4 DMA模式
3.6.5 混合模式
3.6.6 IrDA模式
3.7 USB
3.7.1 概述
3.7.2 USB結構
3.7.3 功能和模式
3.7.4 相關寄存器
3.7.5 中斷
3.7.6 USB編程模式
3.8 PCI(外圍部件互連)
3.8.1 概述
3.8.2 PCI總線標準
3.8.3 PCI設備功能
3.8.4 PCI主機功能
3.8.5 處理器核對PCI空間的訪問
3.8.6 外部PCI要求
3.8.7 設備模式操作
3.8.8 主機模式操作
3.8.9 輸出配置
3.8.10 復位和相應控制
3.8.11 中斷和相應控制
3.8.12 PCI編程模式
3.8.13 系統MMR控制和狀態(tài)寄存器
3.8.14 配置空間控制和狀態(tài)寄存器
3.8.15 PCI I/O接口
3.8.16 反射波開關
3.8.17 上電順序
3.8.18 PCI時鐘要求
3.9 PPI
3.9.1 PPI存儲-映射寄存器
3.9.2 ITU-656 簡介
3.9.3 PPI的工作模式
3.9.4 DMA操作
3.10 BOOT
3.10.1 引導模式設定
3.10.2 引導過程
3.11 PLL
3.11.1 時鐘系統概述
3.11.2 鎖相環(huán)與時鐘控制
3.11.3 PLL時鐘倍頻比
3.11.4 PLL存儲器映像寄存器(MMR)
3.12 動態(tài)電源管理
3.12.1 動態(tài)電源管理控制器
3.12.2 運行方式
3.12.3 運行方式的切換
3.12.4 外設的定時
3.12.5 動態(tài)電源電壓控制
3.13 工作模式設定
3.13.1 概述
3.13.2 用戶模式
3.13.3 監(jiān)控模式
3.13.4 仿真模式
3.13.5 空閑狀態(tài)
3.13.6 復位狀態(tài)
3.13.7 系統復位和上電設置
3.14 可編程端口
3.14.1 概述
3.14.2 可編程標志存儲器映射寄存器(MMR)
3.15 硬件設計
3.15.1 概述
3.15.2 管腳處理
3.15.3 DSP復位
3.15.4 DSP引導
3.15.5 DSP時鐘管理
3.15.6 中斷配置和服務
3.15.7 信號量
3.15.8 PCI仲裁
3.15.9 USB設備連接
3.15.10 外部存儲器設計
3.15.11 高頻設計
第4章 Blackfin指令集
4.1 Blackfin指令說明
4.1.1 語法約定
4.1.2 記法約定
4.1.3 術語表
4.2 程序流程控制指令
4.2.1 跳轉指令
4.2.2 條件跳轉指令
4.2.3 調用和返回指令
4.2.4 循環(huán)指令
4.3 加載/存儲(LOAD/STORE)指令
4.3.1 加載(LOAD)指令
4.3.2 存儲(STORE)指令
4.4 寄存器數據轉移(MOVE)指令
4.4.1 寄存器數據轉移指令
4.4.2 擴展半個字到一個字的數據轉移
4.5 棧控制指令
4.5.1 進棧指令
4.5.2 出棧指令
4.5.3 連接和撤銷連接指令
4.6 邏輯運算指令
4.6.1 邏輯與指令
4.6.2 邏輯非指令
4.6.3 邏輯或指令
4.6.4 邏輯異或指令
4.6.5 位方式異或指令
4.7 移位指令
4.7.1 算術移位
4.7.2 邏輯移位
4.7.3 加后移位
4.7.4 移位后加
4.7.5 循環(huán)移位
4.8 算術運算指令
4.8.1 絕對值指令
4.8.2 加法指令
4.8.3 減法指令
4.8.4 乘法指令
4.8.5 除法指令
4.8.6 最大值最小值指令
4.8.7 取補指令
4.8.8 舍入指令
4.8.9 指數檢測指令
4.8.10 飽和指令
4.8.11 符號位指令
4.9 位操作指令
4.9.1 位清除指令
4.9.2 位設置指令
4.9.3 位翻轉指令
4.9.4 位測試指令
4.9.5 存放指令
4.9.6 位提取指令
4.9.7 位復用指令
4.9.8 ONES指令(統計寄存器中1的個數)
4.10 控制代碼位(CC)操作指令
4.10.1 比較數據寄存器、指針、累加器指令
4.10.2 取補CC指令
4.10.3 傳送CC指令
4.11 外部事件操作指令
4.11.1 空閑指令
4.11.2 內核同步指令
4.11.3 系統同步指令
4.11.4 強制仿真指令
4.11.5 中斷禁止指令
4.11.6 中斷允許指令
4.11.7 空指令
4.12 高速緩存(CACHE)控制指令
4.12.1 數據緩存預取指令
4.12.2 數據緩存刷新指令
4.12.3 數據緩存行刷新和無效指令
4.12.4 指令緩存無效指令
4.13 視頻像素操作指令
4.13.1 ALIGN8, ALIGN16, ALIGN24
4.13.2 禁止校正異常指令
4.13.3 雙16位累加器加法提取指令
4.13.4 BYTEOP1P(4個8位數求平均值,結果仍是Byte)
4.13.5 BYTEOP2P(4個8位數求平均值,結果是半字)
4.13.6 BYTEOP3P (雙16位Add / Clip)
4.13.7 BYTEOP16P(4個8位數相加)
4.13.8 BYTEOP16M(4個8位數相減)
4.13.9 SAA(4個8位數相減取絕對值累加)
4.13.10 BYTEPACK(4個8位數打包)
4.13.11 BYTEUNPACK(4個8位數解包)
第5章 Visual DSP++
5.1 Visual DSP++總體介紹
5.1.1 Visual DSP簡單介紹
5.1.2 開發(fā)環(huán)境
5.2 C/C++編譯器
5.2.1 在命令行運行編譯器
5.2.2 在Visual DSP++中指定編譯器選項
5.2.3 優(yōu)化控制
5.3 匯編與預處理
5.3.1 匯編器
5.3.2 預處理器
5.4 鏈接器
5.4.1 鏈接過程概述
5.4.2 鏈接文件
5.4.3 鏈接器參數選擇
5.4.4 專家鏈接器
5.5 加載器
5.5.1 從命令行運行加載器
5.5.2 加載器命令行參數開關
5.5.3 從Visual DSP++配置加載器
第6章 軟件編程
6.1 匯編編譯器
6.1.1 匯編概要
6.1.2 支持C結構的匯編器
6.1.3 匯編語法
6.2 C編譯器
6.2.1 C/C++編譯器簡介
6.2.2 數據類型存儲長度
6.2.3 C/C++編譯語言擴展
6.3 預處理命令
6.3.1 頭文件
6.3.2 宏的編寫
6.3.3 條件匯編和編譯
6.4 C代碼優(yōu)化
6.5 C與匯編混合編程
6.5.1 C/C++和匯編混合命名規(guī)則
6.5.2 C運行環(huán)境下寄存器的使用
6.5.3 參數傳遞和局部堆棧存儲分配——LINK和UNLINK指令
6.5.4 在C/C++程序中調用匯編子程序
6.5.5 在匯編程序中調用C/C++函數
第7章 Visual DSP++內核
7.1 操作系統內核
7.1.1 內核的作用
7.1.2 調度
7.2 VDK的組成
7.2.1 線程
7.2.2 調度
7.2.3 中斷服務例行程序
7.3 VDK程序的開發(fā)
第8章 開發(fā)實例——MPEG-4編碼
8.1 MPEG-4編碼介紹
8.1.1 MPEG-4視頻壓縮方法簡介
8.1.2 DCT和IDCT
8.1.3 量化
8.1.4 運動估計
8.1.5 熵編碼
8.2 代碼實例
8.2.1 PADDING代碼的編寫和優(yōu)化
8.2.2 DCT變換代碼的編寫和優(yōu)化
8.2.3 運動矢量預測
8.2.4 SAD最小搜索
參考文獻