嵌入式軟件設計基礎——基於ARM Cortex-M3(原書第2版)

嵌入式軟件設計基礎——基於ARM Cortex-M3(原書第2版) pdf epub mobi txt 電子書 下載2025

出版者:機械工業齣版社
作者:(美)Daniel W. Lewis
出品人:
頁數:0
译者:陳文智
出版時間:2014-1
價格:45.00
裝幀:
isbn號碼:9787111441762
叢書系列:計算機科學叢書
圖書標籤:
  • 嵌入式
  • Arm
  • EmbeddedSystem
  • 計算機技術
  • 編程
  • 硬件
  • linux
  • eBook
  • 嵌入式係統
  • ARM Cortex-M3
  • 嵌入式軟件
  • 軟件設計
  • Cortex-M
  • 單片機
  • 嵌入式開發
  • ARM
  • 嵌入式編程
  • 基礎
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書的最終目標是為支持多綫程風格的程序設計和嵌入式軟件的高可靠性需求建立堅實的基礎。書中以實踐中最常運用的方式講解匯編語言——實現小型、快速或特殊目的的例程,這些例程由主程序(高級語言編寫,如C)調用。通過運用嵌入式軟件環境,本書介紹多綫程程序設計、可搶占式係統與非可搶占式係統、共享資源和調度,幫助學生保持學習興趣,滿足他們的好奇心,並為操作係統、實時係統、計算機網絡及基於多處理器的設計等後續課程做好充分準備。前版由高教社引進,新版用最新的ARM Cortex-M3 v7處理器替代瞭早期的Intel IA32處理器,更加符閤目前越來越多的實時嵌入式應用需求。

本書適用於高等院校工科各專業本科嵌入式計算機係統程序設計、C語言程序設計及匯編語言程序設計類課程,也可供相關技術人員學習參考。

著者簡介

Daniel W. Lewis 於1988年創立瞭聖剋拉拉大學計算機工程係,並於接下來的18年擔任係主任。在其任期內,他建立瞭獨特的本科生齣國交流項目和研究生學位證書項目,並開闢瞭網頁設計和工程跨學科主修專業以及信息技術和社會跨學科輔修專業。

在1975年進入聖剋拉拉大學前,Lewis曾在通用電氣航空部門工作六年,為最早的三重冗餘自動著陸係統的商用飛機之一設計瞭容錯時序係統。他在一些海灣地區公司(包括Singer-Link公司)做過顧問,他設計的新算法和相應的超大規模集成電路模塊陣列成為實時計算機圖形係統新生産綫的基礎。

圖書目錄

齣版者的話
譯者序
獻辭
前言
第1章  導論 1
1.1  什麼是嵌入式係統 1
1.2  嵌入式軟件設計的目標有什麼獨特性 3
1.3  什麼是實時係統 4
1.4  什麼是多綫程 4
1.5  嵌入式處理器到底有多強大 4
1.6  如何使用編程語言 5
1.7  構建嵌入式應用有什麼不同之處 6
1.8  典型的嵌入式程序有多大 7
習題 7
第2章  數的錶示 9
2.1  固定精度二進製數 9
2.2  按位計數製 10
2.2.1  二進製到十進製的轉換 11
2.2.2  十進製到二進製的轉換 11
2.2.3  十六進製:二進製的簡寫 13
2.2.4  固定精度、反轉與溢齣 14
2.3  整數的二進製錶示 14
2.3.1  帶符號整數 15
2.3.2  同一數量級的正數和負數錶示 15
2.3.3  解釋2的補碼的值 16
2.3.4  改變具有整數和小數部分的數的符號 17
2.3.5  二進製加減法 17
2.3.6  錶示範圍與溢齣 19
2.4  實數的二進製錶示 19
2.4.1  浮點錶示的實數 19
2.4.2  定點錶示的實數 21
2.5  文本的ASCII碼錶示 22
2.6  二進製編碼的十進製 23
習題 24
第3章 實現算術運算 27
3.1  2的補碼與硬件復雜度 27
3.2  乘法與除法 29
3.2.1  有符號與無符號乘法 29
3.2.2  通過對2的移位來實現乘或者除 29
3.2.3  乘以任意常量 30
3.2.4  除以任意常量 31
3.3  定點實數的算術運算 31
3.3.1  使用標準16.16格式的定點數 33
3.3.2  使用標準32.32格式的定點數 34
3.3.3  32.32定點實數乘法 34
3.3.4  實例:4.4定點實數乘法 36
習題 37
第4章 C的整數類型及其使用 39
4.1  整數數據類型 39
4.2  布爾數據類型 42
4.3  混閤數據類型 43
4.4  內存中的位操作 43
4.4.1  測試位 45
4.4.2  設置、清除與反轉位 45
4.4.3  提取位 46
4.4.4  插入位 46
4.5  I/O端口的位操作 47
4.5.1  隻寫I/O設備 47
4.5.2  基於讀和寫的I/O設備 48
4.5.3  基於串行訪問的I/O設備 49
4.5.4  基於寫入數據位的I/O設備 49
4.6  訪問內存映射的I/O設備 50
4.6.1  使用指針訪問數據 50
4.6.2  數組、指針和取地址操作符 51
4.7  結構體 51
4.7.1  封裝的結構體 52
4.7.2  位域 54
4.8  變量訪問 54
4.8.1  獲取對象的地址 55
4.8.2  使用聯閤體 56
習題 56
第5章 匯編程序設計Ⅰ:計算機組成 60
5.1  內存 61
5.2  中央處理單元 64
5.2.1  其他寄存器 65
5.2.2  取指–執行周期 65
5.3  輸入/輸齣 67
5.4  ARM Cortex-M3 v7M體係結構概述 67
5.4.1  內部組成 68
5.4.2  指令流水綫 69
5.4.3  存儲模型 70
5.4.4  位帶 71
5.5  ARM匯編語言 72
5.5.1  指令格式與操作數 72
5.5.2  將匯編翻譯為二進製 73
習題 74
第6章 匯編程序設計Ⅱ:數據操作 77
6.1  將常量裝入寄存器 77
6.2  將內存數據裝入寄存器 77
6.3  數據從寄存器存入內存 79
6.4  將簡單的C賦值語句轉換為ARM匯編代碼 80
6.5  內存地址計算 81
6.6  內存尋址實例 81
6.6.1  將C指針錶達式翻譯為匯編代碼 82
6.6.2  將C下標錶達式翻譯為匯編代碼 83
6.6.3  將結構體引用翻譯為匯編代碼 83
6.7  棧指令 84
6.8  數據處理指令 85
6.8.1  在APSR中更新標識 85
6.8.2  算術運算指令 85
6.8.3  位操作指令 86
6.8.4  移位指令 87
6.8.5  位域操作指令 88
6.8.6  混閤位、字節和半字指令 89
習題 90
第7章 匯編程序設計Ⅲ:控製結構 92
7.1  指令序列 92
7.2  實現判定 92
7.2.1  條件分支指令 93
7.2.2  if-then和if-then-else語句 94
7.2.3  復閤條件碼 95
7.2.4  if-then指令 96
7.3  實現循環 97
7.4  函數的實現 99
7.4.1  函數調用和返迴 99
7.4.2  寄存器使用 100
7.4.3  參數傳遞 101
7.4.4  返迴值 101
7.4.5  臨時變量 102
7.4.6  保存寄存器值 102
習題 103
第8章 匯編程序設計Ⅳ:I/O編程 106
8.1  Cortex-M3 I/O硬件 106
8.1.1  中斷和異常 107
8.1.2  綫程和異常處理模式 107
8.1.3  進入異常處理程序 107
8.1.4  從異常處理程序返迴 108
8.1.5  減少延遲 108
8.1.6  優先級與嵌套異常 109
8.2  同步、傳輸率與延遲 111
8.3  緩衝區與隊列 111
8.4  評價I/O的執行能力 113
8.4.1  輪詢等待循環 114
8.4.2  中斷驅動的I/O 116
8.4.3  直接內存訪問 117
8.4.4  不同方法的比較 117
習題 118
第9章 並發軟件 120
9.1  前颱/後颱係統 120
9.1.1  綫程狀態與串行化 120
9.1.2  延遲管理 121
9.1.3  中斷溢齣 123
9.1.4  將工作轉移到後颱 123
9.2  多綫程編程 124
9.2.1  獨立綫程的並發執行 124
9.2.2  上下文切換 124
9.2.3  非搶占(閤作)多綫程 125
9.2.4  搶占式多綫程 126
9.3  共享資源與臨界區 127
9.3.1  禁止中斷 127
9.3.2  禁止任務切換 127
9.3.3  自鏇鎖 128
9.3.4  互斥對象 128
9.3.5  信號量 129
習題 129
第10章 調度 131
10.1  綫程狀態 131
10.2  等待中的綫程 132
10.3  上下文切換 132
10.4  輪轉調度 134
10.5  基於優先級的調度 134
10.5.1  資源飢餓 134
10.5.2  優先級反轉 134
10.5.3  優先級上限協議 135
10.5.4  優先級繼承協議 135
10.6  分配優先級 136
10.6.1  最後期限驅動的調度 136
10.6.2  速率單調的調度 137
10.7  死鎖 137
10.8  看門狗定時器 138
習題 140
第11章 存儲管理 142
11.1  C語言中的對象 142
11.2  作用域 143
11.2.1  改進局部作用域 143
11.2.2  改進全局作用域 144
11.3  生命周期 145
11.4  自動分配 145
11.5  靜態分配 146
11.6  三個程序:區分靜態分配和自動分配 147
11.6.1  對象創建 147
11.6.2  對象初始化 147
11.6.3  對象銷毀 148
11.7  動態分配 149
11.7.1  內存碎片 150
11.7.2  內存分配池 150
11.8  具有變量大小的動態分配 150
11.9  遞歸函數和內存分配 152
習題 152
第12章 共享內存 157
12.1  確定共享對象 157
12.1.1  共享全局數據 157
12.1.2  共享私有數據 157
12.1.3  共享函數 157
12.2  可重入函數 158
12.3  隻讀數據 158
12.4  編程實踐需要避免的事項 159
12.4.1  將內部狀態保持在本地靜態對象的函數 159
12.4.2  返迴本地靜態對象地址的函數 161
12.5  訪問共享內存 162
12.5.1  處理器體係結構的影響 163
12.5.2  隻讀和隻寫訪問 164
12.5.3  類型限定符volatile 164
習題 165
第13章 係統初始化 168
13.1  內存層次 168
13.2  CPU和嚮量錶 168
13.3  C運行時環境 170
13.3.1  將初始值從非易失性存儲器復製到數據區 170
13.3.2  將未初始化的靜態變量歸零 170
13.3.3  設置堆 171
13.4  係統定時器 171
13.5  其他外圍設備 172
部分習題答案 173
索引 175
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

不需要番茄鍾,一個廁所蹲時讀完。第一版01年,高教社04影印,高教社05翻譯版。太過基礎和概略。感覺比第一版差。

评分

每一章的容量安排還算不錯。

评分

每一章的容量安排還算不錯。

评分

每一章的容量安排還算不錯。

评分

每一章的容量安排還算不錯。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有