DSP實時多任務操作系統設計與實現

DSP實時多任務操作系統設計與實現

3.2.1 3.2.2 3.2.4

基本信息


作者:鄔可軍 朱銘鋯 曹建樹 張澤
叢書名: DSP應用叢書
ISBN:7121018454
出版日期:2005 年11月
開本:16開
頁碼:340

內容簡介


本書以目前流行的tms320c2000系列數字處理器件和易於學習開發的dsp rtos嵌入式操作系統為核心,結合編者多年開發研製工作實踐,介紹基於dsp晶元的dsp rtos操作系統的移植和應用實例。.
本書共分8章,前3章介紹嵌入式操作系統的基本概念、內核及管理。第4、第5章介紹tms320c2000系列原理、彙編語言c語言編程方法及彙編語言和c語言混合編程方法。第6章介紹北京颶風中天科技公司開發的dsp實驗板。第7、第8章兩章介紹基於tms320c2000系列的dsp rtos操作系統的移植和應用

目錄


第1章 嵌入式操作系統和dsp概述
1.1 嵌入式系統簡介
1.1.1 什麼是嵌入式系統
1.1.2 嵌入式系統的特點
1.1.3 嵌入式系統的分類
1.2 嵌入式系統的現狀和發展趨勢
1.2.1 嵌入式系統的現狀
1.2.2 未來嵌入式系統的發展趨勢
1.2.3 什麼是dsp及dsp的特點
1.2.4 dsp的應用和開發前景
1.3 嵌入式系統的應用領域
1.4 嵌入式系統在機電控制方面的應用
1.5 基於dsp的嵌入式操作系統的移植
第2章 嵌入式操作系統的基本概念
2.1 基本概念
2.2 內核
2.3 任務管理
2.4 中斷管理
2.5 實時系統小結
2.5.1 對存儲器的需求
.2.5.2 使用實時內核的優、缺點
2.5.3 實時系統小結
第3章 dsp rtos嵌入式操作系統
3.1 dsp rtos嵌入式操作系統的特點
3.2 dsp rtos嵌入式操作系統的內核結構概述
3.2.1 臨界段、os_enter_critical()和os_exit_critical()
3.2.2 任務
3.2.3 任務狀態
3.2.4 任務控制塊(os_tcb)
3.2.5 就緒有
3.2.6 任務調度
3.2.7 任務級的任務切換,os_task-sw()
3.2.8 空閑任務
3.2.9 dsp rtos中的中斷
3.2.10 時鐘節拍
3.2.11 dsp rtos初始化
3.2.12 dsp rtos的啟動
3.3 事件控制塊和與事件相關的函數
3.3.1 事件控制塊
3.3.2 將任務置於等待事件的任務列表
3.3.3 從等待事件的任務列表中使任務脫離等待狀態
3.3.4 在等待事件的任務列表中查找優先順序最高的任務
3.3.5 空餘事件控制塊鏈表
3.3.6 初始化一個事件控制塊,os_eventwaitlistinit()
3.3.7 使一個任務進入就緒態,os_eventtaskrdy()
3.3.8 使一個任務進入等待某事件發生狀態,os——eevnttaskwait()
3.3.9 由於等待超時而將任務置為就緒態,os_eventto()
3.4 任務管理函數
3.5 時間管理函數
3.6 消息郵箱管理函數
3.6.1 建立一個郵箱,osmboxcreate()
3.6.2 刪除一個郵箱,osmboxdel()
3.6.3 等待郵箱中的消息,osmobxpend()
3.6.4 向郵箱發送一則消息,osmboxpost()
3.6.5 向郵箱發送一則消息,osmboxpostopt()
3.6.6 無等待地從郵箱中得到一則消息,osmboxaccept()
3.6.7 查詢一個郵箱的狀態,osmboxquery()
3.6.8 用郵箱作為二值信號量,
3.6.9 用郵箱實現延遲,而不使用,OSTimeDly()
3.7 消息隊列管理函數
3.7.1 建立一個消息隊列,osqcreate()
3.7.2 刪除一個消息隊列,osqdel()
3.7.3 等待消息隊列中的消息,osqpend()
3.7.4 向消息隊列發送一則消息(fifo),osqpost()
3.7.5 向消息隊列發送一則消息(LIFO),osqpostfront()
3.7.6 向消息隊列發送一則消息(廣播,fifo或lifo),osqpostopt()
3.7.7 無待等地從消息隊列中獲得消息,osqaccept()
3.7.8 清空消息隊列,osqflush()
3.7.9 獲取消息隊列的狀態,osqquery()
3.7.10 使用消息隊列讀取模擬量的值
3.7.11 消息隊列用做計數型信號量
3.8 信號量管理函數
3.8.1 建立一個信號量,ossemcreate()
3.8.2 刪除一個信號量,ossemdel()
3.8.3 等待一個信號量,ossempend()
3.8.4 發出一個信號量,ossempost()
3.8.5 無等待地請求一個信號量,ossemaccept()
3.8.6 查詢一個信號量的當前狀態,ossemquery()
第4章 tms320c2000系列dsp介紹
4.1 tms320lf240x晶元介紹
4.1.1 tms320lf240xdsp cpu控制器的體系結構和引腳
4.1.2 tms320lf240x dsp引腳功能介紹
4.1.3 tms320lf240x dsp存儲器映射
4.1.4 tms320lf240x dsp外設存儲器映射
4.2 中央處理單元(cpu)
4.2.1 tms320lf240x dsp 的cpu內部功能模塊介紹
4.2.2 存儲器和i/o空間
4.2.3 系統配置和中斷
4.2.4 程序控制
4.3 tms320lf240x定址方式和指令系統
4.3.1 定址方式
4.3.2 指令集
4.3.3 典型提令說明
第5章 程序設計和ccs編譯器
5.1 軟體開發平台code composer及功能
5.1.1 code composer的安裝
5.1.2 主要菜單及功能介紹
5.1.3 工作窗口區
5.1.4 調試一個程序的步驟
5.2 彙編語言程序設計
5.2.1 幾個常用的彙編偽指令介紹
5.2.2 4種基本的文件
5.3 彙編語言編程實例
5.4 c語言程序設計
5.4.1 C語言函數庫
5.4.2 函數調用規則
5.4.3 中斷函數
5.4.4 4個基本文件和1個庫函數文件
5.4.5 利用ccs編譯器開發應用程序的步驟
5.4.6 c語言編程實例
5.4.7 c語言和彙編語言的混合編程方法
第6章 TMS320LF2407實驗板介紹
6.1 cy_evm2407ea實驗板
6.1.1 cy_evm2407特徵和功能
6.1.2 cy_evm2407的操作
6.1.3 擴展匯流排和介面
6.1.4 各種跳線
6.1.5 配置
6.2 cy_evm2407電機控制開發套件概述
第7章 dsp rtos在tms320c2000系列上的移植
7.1 dsp rtos移植的條件
7.2 開發工具
7.3 目錄和文件
7.4 includes.h頭文件
7.5 os_cup.h頭文件
7.6 os_cup.c文件
7.6.1 任務堆棧初始化函靈敏ostaskstkinit()
7.6.2 ostaskcreathook()
7.6.3 ostaskdelhook()
7.6.4 ostaskswhook()
7.6.5 ostcbinithook()
7.6.6 os_cpu_c.c文件小結
7.7 os_cpu_a.asm文件
7.7.1 運行最高級任務函數osstarthighrdy()
7.7.2 任務級任務切換函數osctxsw()
7.7.3 時鐘占斷服務程序osticksr()
7.7.4 中斷級任務調度函數osintexit()
7.8 測試移植代碼
7.8.1 確保ccs編譯器正常工作
7.8.2 驗證ostaskstkinit()和osstarhighrdy()函數
7.8.3 測試osctxsw()函數
7.8.4 測試ostickisr()函數和osintctxsw函數
第8章 編程實例
8.1 實例1
8.2 實例2
8.3 實例3
參考文獻