內容簡介
本書以16位MC9S12XD/XE系列雙核單片機為例,介紹雙核單片機的優勢和開發方法。從介紹雙核單片機的背景知識開始,講述雙核單片機基本硬體系統的設計方法;主處理器初始化協處理器並將部分工作交給協處理器完成的過程;主、協兩個處理器的通信機制與克服競爭的方法;用C語言編寫雙核單片機的應用程式;建立雙核單片機應用程式調試的環境;利用商用軟體CodeWarriot的教學版本,將嵌入式實時多任務作業系統μC/OS-Ⅱ移植到雙核單片機上,建立基於RTOS的開發環境;同時給出了幾個實現雙核系統套用的範例和原始碼,包括利用協處理器提升RTOS性能的方法;還簡要介紹了單片機片內容錯與糾錯技術、雙時鐘技術和FlexRay通信技術等伴隨單片機雙核技術發展起來的一些新技術,這些技術的發展與套用將進一步提高嵌入式控制系統的可靠性。作者簡介
邵貝貝,1946年8月出生,教授,博士生導師。1970年畢業於清華大學工程物理系。1970年至1978年在某國防單位任劑量員、反應堆操縱員,1978年到中科院高能所任工程師,1994年來清華大學任教。1982年至1984年,1999年至2000年在歐洲核研究中心工作,1987年至1988年在義大利都靈大學工作,1992年至1994年在美國SSC工作。
致力於輻射監測儀器、核電子學、高能加速器及其它核裝置的數據採集與控制系統,計算機嵌入式套用系統的建造與研究。在微弱信號檢測方面曾獲部委級科技進步一等獎。目前負責工物系的國家基金委支持的與歐洲核研究中心的LHCb電子學國際合作項目,現任清華FreescaleMCU/DSP套用開發研究中心主任、中國單片機學會理事、核電子學會計算技術套用專業委員會副主任。兼任《單片機與嵌入式系統》、《今日電子》、《現代物理知識》雜誌編委。
近期主要著作與譯著有《單片機嵌入式套用的線上開發方法》,《嵌入式實時作業系統μC/OS-II(第2版),《MotorolaDSP型16位單片機原理與實踐》,《MicroC/OS-II―源碼公開的實時嵌入式作業系統》,《微控制器套用與開發技術》,《MOTOROLA單片機68HC11開發技術》等,各類中文文章100餘篇。
圖書目錄
第1章單片機技術發展新趨勢及雙核單片機
1.1片上系統以及套用系統單片化趨勢
1.2以存儲器為核心制訂解決方案
1.3使用實時作業系統
1.4MISRA標準C
1.5協處理器在單片機中的套用
1.6單片機世界中的雙核單片機
1.6.1雙核單片機系列的由來
1.6.2雙核單片機的基礎——單核單片機系列
1.7MC9S12系列單片機
1.7.1MC9S12A系列和B系列16位單片機
1.7.2帶CAN匯流排的Mcgsl2D系列16位單片機
1.7.3.MC9S12DP512單片機
1.7.4低供電電壓的16位單片機
1.7.5帶USB接口的16位單片機
1.7.6帶乙太網接口的16位單片機
1.8使用CPUV1的雙核單片機系列
1.8.1S12XA系列單片機
1.8.2S12XB系列單片機
1.8.3S12XD系列單片機
1.8.4帶液晶、步進電機驅動模組的雙核S12XH2系列單片機
1.8.5帶液晶驅動的單核單片機
1.9使用CPUV2核心的S12X系列單片機
1.9.1S12XCPUV2核心
1.9.2S12XE系列單片機
1.10支持FlexRay通信協定的S12XF系列單片機
1.10.1FlaxRay通信協定
1.10.2S12XF系列單片機
1.10.3S12XS系列單片機
1.11雙核單片機的開發工具
1.11.1軟體開發工具
1.11.2動態調試方法
1.12奴核單片機中的其他新技術
1.12.1片內容錯與糾錯技術
1.12.2片記憶體儲器資源管理技術
1.12.3編譯、調試技術的新發展
第2章單片機基本系統的硬體設計
2.116位單片機
2.1.1帶協處理器的16位單片機
2.1.2MC9S12XDP512單片機
2.2單片機基本硬體系統
2.2.1MC9S12XD的基本硬體系統
2.2.2監控程式
2.2.3體驗機器碼
2.3利用異步串列口實現人機通信
2.3.1串列通信協定RS-232標準
2.3.2ASCII碼
2.3.3串列數據格式
2.3.4RS-232-C電纜的連線方法
2.3.5通信速率
2.4MC9S12XD單片機系統的硬體設計
2.5運行模式
2.5.1單片運行模式
2.5.2擴展運行模式
2.6MC9S12XE單片機系統的硬體設計
第3章主處理器及其指令集
3.1主處理器的內部暫存器結構
3.1.1S12XV1核心的CPU內部結構
3.1.2S12XV2核心的CPU內部結構
3.1.316位CPU與8位CPU的對比
3.1.432位CPU與16位CPU的對比
3.2記憶體空間分配
3.3S12X的記憶體擴展與管理
3.3.1S12XCPU定址空間的擴展
3.3.2Flash頁面管理暫存器PPage
3.3.3RAM頁面管理暫存器RPage
3.3.4EEPROM頁面管理暫存器EPage
3.3.5S12X用全程暫存器擴展定址空間
3.3.6全程暫存器GPage
3.4S12XCPUV2核心的記憶體管理
3.5CPU12X彙編指令集
3.6指令按功能分類
3.6.1數據傳送指令
3.6.2堆疊指針指令
3.6.3算術與邏輯運算指令
3.6.4程式控制指令
3.6.5循環控制指令
3.6.6測試與位操作指令
3.7CPU12X的模糊邏輯指令
3.8指令按尋址方式分類
3.8.1隱含定址
3.8.2立即數定址
3.8.3直接定址
3.8.4擴展定址
3.8.5變址定址
3.8.6帶自動加、減5位偏移量的間接定址
3.8.7相對定址
3.9彙編指令表
3.10指令的機器碼組織
3.11用彙編語言編寫程式
3.11.1彙編程式的格式
3.11.2彙編管理指令
3.12彙編語言程式設計舉例
3.13碼的轉換類子程式
3.14彙編語言編程技巧
第4章協處理器
4.1協處理器的定址空間
4.1.1I/O暫存器空間
4.1.2Flash空間
4.1.3RAM空間
4.1.4RAM的分配與保護
4.2協處理器CPU的核心結構
4.3協處理器的定址方式
4.4協處理器的彙編語言和CPU指令集
4.5復位和中斷
4.5.1中斷向量表
4.5.2中斷向量基地址暫存器
4.6與協處理器相關的暫存器
4.7協處理器彙編程式的例子
4.8CISC與RISC的比較
第5章用C語言開發應用程式
5.1C語言是開發單片機套用軟體的有力工具
5.2開發嵌入式套用的C編譯器的特點
5.2.1編譯過程與集成開發環境
5.2.2不要使用初始化變數
5.2.3注意函式的可重人性
5.3建立C語言程式運行環境
5.4應用程式模組化
5.5合理使用全局變數和局部變數
5.6函式的結構與函式間參數的傳遞
5.7在C程式中直接操作硬體
5.8程式模組的框架與組織
5.9程式的連結與定位
5.10用C語言寫XGate程式
第6章使用嵌入式實時作業系統
6.1嵌入式實時作業系統μC/OS-Ⅱ
6.2移植μC/OS-Ⅱ
6.2.1根據套用定義核心的大小和功能
6.2.2修改OS_CPU.H檔案
6.2.3編寫OS_CPU_C.C檔案
6.2.4產生時鐘節拍中斷
6.3製作用戶自己的項目
6.3.1主程式main.c
6.3.23個任務
6.3.3連結與程式定位
6.4精心分配RAM資源
6.4.1RAM空間的分頁管理
6.4.2估算μC/OS-Ⅱ占用的RAM資源
6.4.3估算核心占用RAM空間舉例
第7章BDM後台調試模式
7.1S12XBDM概述
7.2進入BDM模式
7.3BDM通信協定及底層軟體
7.3.1BDM調試的相關暫存器
7.3.2BDM指令基本結構
7.3.3測量目標系統的時鐘頻率
7.3.4BDM基本操作——讀/寫單位元組
7.3.5BDM指令的組織
7.4BDM簡單套用
7.4.1用BDM對Flash編程
7.4.2通過BDM顯示存儲器內容
7.5TBDML工具
第8章單片機軟體開發工具使用入門
8.1商用軟體開發工具CodeWarriorforHCSl2
8.2安裝CodeWarrior
8.3建立一個簡單的工程
8.4自動生成的檔案系統
8.5寫一個彙編程式
8.6編寫一個最簡單的C程式
8.7編寫一個能看到演示效果的C程式
8.8增加新程式模組
8.9建立雙核工程
8.10定義裝載地址和復位向量
第9章套用工程實例1——用協處理器管理SCI
9.1定義主從CPU的共享變數和數據區
9.2協處理器的中斷服務程式
9.3主CPU回響來自協處理器的中斷
9.4協處理器的初始化
9.5程式清單main.c
9.6程式清單xgate.h
9.7程式清單xgate.cxgate
9.8程式清單連結參數檔案.prm
第10章套用工程實例2——用協處理器處理μC/OS-Ⅱ時鐘節拍中斷
10.1μC/OS-Ⅱ的時鐘節拍
10.1.1μC/OS-Ⅱ的時鐘節拍函式
10.1.2鍾節拍函式OSTimtick()的一個節拍服務
10.2用XGate實現μC/OS-Ⅱ的時鐘節拍
10.3範例工程
10.3.1main.c
10.3.2xgate.cxgate
10.4XGate的使用與程式調試
10.4.1XGate韻狀態
10.4.2XGate程式的下載
10.4.3XGate程式中的常見錯誤
10.4.4XGate程式的調試
10.5效果測試與分析
附錄AMC9S12X系列單片機開發工具包
A.1概述
A.1.1HCS12X系列單片機
A.1.2HCSl2X開發工具包組件
A.2MC9S12XEP100開發板及與PC通信
A.2.1MC9S12XEP100開發板
A.2.2開發板工作模式的選擇
A.2.3開發板的硬體連線
A.2.4PC的設定
A.3監控程式及監控命令詳解
A.3.1命令詳解
A.3.2改變波特率
A.3.3復位、中斷向量表
A.3.4用戶可以使用的RAM空間
附錄B協處理器XGate指令機器碼錶
附錄CS12XCPU彙編指令表
附錄DS12XCPU指令機器碼錶
參考文獻