嵌入式軟件基礎

出版時間:2005-5  出版社:高等教育出版社  作者:劉易斯  頁數:235  字數:340000  譯者:陳宗斌  
Tag標簽:無  

前言

  你的家中有多少臺計算機?大多數人可能會回答有兩臺或三臺。你家中有多少個微處理器?在你回答前仔細考慮一下(提示:不止兩三個!事實上,甚至會有10多個或20多個!)。今天,微處理器已嵌入到幾乎所有你能想到的以及許多你可能想不到的電器中。它們已變得非常普及——不僅在我們家中,而且在我們的工作場所、我們的汽車、飛機、停車燈、超市、手機中——總之,在我們生活的幾乎所有方面?! ∏度胧较到y(tǒng)為學生表達他們的創(chuàng)造力提供了一個令人興奮的機會,他們夢想設計出下一代新的小器具,迎合大眾的需要。作為教育工作者,我們的挑戰(zhàn)是抓住這個激動人心的機會,并弓!導年輕人的精神活力,以激勵他們掌握這個主題。目標  本書的最終目標是打下一個基礎,為學生掌握多線程編程風格和嵌入式軟件的高可靠性要求提供支持。在本教材中,我們建立了以下目標:  1.理解如何在機器級表示數據,認識到這些表示的后果和局限?! ?.掌握嵌入式系統(tǒng)最常用的語言特有的特性,如位操縱和變量訪問?! ?.了解程序員如何看待處理器體系結構以及如何在匯編級編程,有時是必要的或合適的。  4.了解多種不同風格的I/O編程,并且最終了解如何通過事件驅動方法把數據處理隔離到許多獨立的計算線程中。  5.了解非搶先式和搶先式多線程編程、共享資源和臨界區(qū),以及如何使用調度來管理系統(tǒng)響應時間?! ?.復習作用域、參數傳遞、遞歸和內存分配這類主題,以強化基本的編程技能。  7.了解與共享內存對象有關的問題、內存分配如何影響共享內存以及可以使用哪些編程實踐來最小化共享內存的發(fā)生。目標讀者  本書打算用作計算機科學、計算機工程或電子王程專業(yè)課程二年級教材,用來代替計算機組織和匯編語言編程的傳統(tǒng)教材。  本書介紹了實踐中最常用的匯編方法——以實現小型、快速或專用例程供主程序調用,這些主程序是用諸如C之類的高級語言編寫的。因此,本書僅從“須知”的觀點出發(fā)來介紹處理器組織和匯編語言,而不是將其作為一個主要目標來講解。這種方法為用本書講授嵌入式軟件環(huán)境中的匯編語言提供了時間保證。

內容概要

本書是對高等院校本科二年級計算機組成原理與匯編語言程序設計的傳統(tǒng)教材的全新替代版。本書以實踐中最常運用的方式講解匯編語言——實現小型、快速或特殊目的的例程,這些例程由主程序(高級語言編寫,如C)調用。通過運用嵌入式軟件環(huán)境,本書介紹多線程程序設計、可搶占式系統(tǒng)與非可搶占式系統(tǒng)、共享資源和調度,從而為操作系統(tǒng)、實時系統(tǒng)、計算機網絡及基于多處理器的設計等后續(xù)課程提供了堅實的基礎?! ”緯m用于高等院校工科各專業(yè)本科嵌入式計算機系統(tǒng)程序設計、C語言程序設計及匯編語言程序設計類課程,也可供相關技術人員學習參考。

書籍目錄

序言第1章 導論  1.1 什么是嵌入式系統(tǒng)  1.2 嵌入式軟件設計目標有何獨特之處  1.3 “實時”意味著什么  1.4 “多任務”意味著什么  1.5 嵌入式處理器的功能有多強  1.6 使用哪些編程語言  1.7 什么是“實時內核”  1.8 如何構建獨特的嵌入式應用程序  1.9 典型的嵌入式程序有多大  1.10 本書中使用的軟件  習題第2章 數據表示  2.1 固定精度的二進制數字    2.1.1 按位記數制    2.1.2 二進制一十進制轉換    2.1.3 十進制一二進制轉換    2.1.4 計數    2.1.5 固定精度和翻轉    2.1.6 十六進制表示  2.2 整數的二進制表示    2.2.1 帶符號整數    2.2.2 同一個值的正的表示和負的表示    2.2.3 解釋2的補碼數的值    2.2.4 關于范圍和溢出的進一步說明    2.2.5 2的補碼和硬件復雜性  2.3 實數的二進制表示    2.3.1 定點表示    2.3.2 使用通用的16.16格式的定點表示    2.3.3 使用通用的32.32格式的定點表示    2.3.4 浮點表示  2.4 文本的ASCII表示  2.5 二進制編碼的十進制表示  習題第3章 充分利用C語言  3.1 整型數據類型  3.2 混合數據類型  3.3 有用的typedef和define  3.4 操縱內存中的位    3.4.1 測試位    3.4.2 設置、清除和反轉位    3.4.3 提取位    3.4.4 插入位  3.5 操縱:I/O端口中的位    3.5.1 只寫I/O端口    3.5.2 通過讀/寫區(qū)分的端口    3.5.3 通過順序訪問區(qū)分的端口    3.5.4 通過寫入數據中的位區(qū)分的端口  3.6 訪問內存映射的I/O設備    3.6.1 通過指針訪問數據    3.6.2 數組、指針和“取地址”運算符  3.7 結構    3.7.1 打包的結構    3.7.2 位域  3.8 變型訪問    3.8.1 強制轉換對象的地址    3.8.2 使用共用體  習題第4章 程序員眼中的計算機結構  4.1 內存  4.2 中央處理器    4.2.1 運算器    4.2.2 其他寄存器    4.2.3 控制器  4.3 輸入/輸出  4.4 Intel架構介紹    4.4.1 指令格式    4.4.2 指令操作數    4.4.3 操作數限制    4.4.4 寄存器    4.4.5 棧  4.5 Intel實模式架構    4.5.1 分段尋址    4.5.2 尋址模式  4.6 Intel保護模式架構    4.6.1 段寄存器和全局描述符表    4.6.2 坦內存模型    4.6.3 尋址模式  4.7 操作數與地址長度覆蓋前綴  4.8 Intel數據操縱指令    4.8.1 數據移動、棧和I/O指令    4.8.2 算術指令    4.8.3 按位指令    4.8.4 移位指令  習題第5章 c語言與匯編語言的融合第6章 輸入/輸出編程第7章 并發(fā)軟件第8章 調度第9章 內存管理第10章 共享內存第11章 系統(tǒng)初始化附錄A配書光盤上的內容附錄BDJGPPC/C++編譯器附錄CNASM;I-編器附錄D編程項目附錄Elibepc庫附錄F引導加載程序附錄G詞匯表

章節(jié)摘錄

  當你想運行一個桌面應用程序時,就會通過操作系統(tǒng)的一部分(稱為加載程序),把它的可執(zhí)行映像從磁盤上加載到內存中。操作系統(tǒng)自身已經在內存中,它是在引導過程中加載到其中的”。  桌面系統(tǒng)用于運行許多不同的應用程序。因而,會使用讀/寫主內存,以使完全不同的應用程序能夠快速、容易地加載到內存中,無論何時都可根據需要來替換先前的應用程序?! ∨c通用的桌面系統(tǒng)不同的是,嵌入式系統(tǒng)被設計成為服務于單一目的。如果嵌入式軟件已位于內存中,通常沒有理由改變它。這使得使用價格低廉的只讀存儲器來永久性地存儲該程序成為可能。由于沒有必要把程序存儲到磁盤上,因此可以顯著削減軟件數量,而這些軟件可能是支持文件系統(tǒng)所必要的?! ∏度胧綉玫能浖蛯崟r內核都作為單一的程序映像存儲在只讀存儲器中。由于不需要文件系統(tǒng),因而其內核比常規(guī)的操作系統(tǒng)要小得多,并且能夠很容易地連接到作為另一種對象文件的程序中。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    嵌入式軟件基礎 PDF格式下載


用戶評論 (總計6條)

 
 

  •   這本書到現在都沒有貨了,希望快點到貨,這本是教材書所以內容還不錯。
  •   一下子買了好幾本書,當當有時活動力度還挺大的
  •   這本書的內容很有看點,里面有很多c與匯編的聯系的解讀,但是譯者語言造詣有限,只是生硬地將原書內容改為中文,而沒有適當地調整語序,讀起來很難受,需要花費不少精力理解譯者的意思。建議英文好的朋友買原版對照著看。
  •   內容大致瀏覽了一下,應該還不錯
  •   恩 不錯!
  •   隨便看了看,還好
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7