TOP
0
0
即日起~6/30,暑期閱讀書展,好書7折起
物聯網與嵌入式系統開發(簡體書)
滿額折

物聯網與嵌入式系統開發(簡體書)

商品資訊

人民幣定價:45 元
定價
:NT$ 270 元
優惠價
87235
領券後再享89折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:7 點
相關商品
商品簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

《國家級特色專業物聯網工程規劃教材:物聯網與嵌入式系統開發》是依託中南大學國家級特色 專業(物聯網工程)的建設,結合國內物聯網工程專業的教學情況編寫的。 本書主要介紹物聯網應用中的嵌入式系統的開發,以S3C2440為硬件,以嵌 入式Linux為軟件,詳細介紹了物聯網與嵌入式系統的關係、ARM Cortex的 體系結構、ARM的指令和程序設計、S3C2440的硬件結構與編程、嵌入式 Linux的開發和移植等內容,最後給出了在物聯網應用中常用的嵌入式系統 開發實例。《國家級特色專業物聯網工程規劃教材:物聯網與嵌入式系統開發》可作為普通高等學校物聯網工程及其相關 專業的教材,也可供從事物聯網及其相關專業的人士閱讀。.

名人/編輯推薦

《國家級特色專業(物聯網工程)規劃教材:物聯網與嵌入式系統開發》可作為普通高等學校物聯網工程及其相關專業的教材,也可供從事物聯網及其相關專業的人士閱讀。

目次

第1章嵌入式系統概述1
1.1嵌入式系統簡介2
1.2嵌入式系統的組成3
1.3嵌入式處理器簡介7
1.4嵌入式系統應用9
1.5嵌入式系統發展趨勢11
1.6物聯網與嵌入式系統12
1.7嵌入式開發工具14
1.7.1軟件開發工具14
1.7.2硬件開發工具15
思考與習題16
第2章ARM體系結構17
2.1ARM處理器基礎18
2.1.1ARM簡介18
2.1.2馮諾依曼結構、哈佛結構與改進的哈佛結構18
2.1.3CISC與RISC19
2.1.4流水線19
2.1.5ARM處理器的命名方式23
2.2ARM處理器系列24
2.2.1ARM處理器架構24
2.2.2常用ARM處理器系列簡介27
2.3ARM體系結構31
2.3.1ARM的基本數據類型31
2.3.2ARM處理器的運行模式31
2.3.3ARM處理器的運行狀態32
2.3.4存儲器的大/小端32
2.3.5ARM的寄存器組織33
2.3.6異常處理36
2.4ARM存儲器結構38
2.4.1ARM存儲器接口39
2.4.2ARMCache結構40
2.4.3ARM存儲器管理單元MMU45
2.4.4地址變換后備緩沖器45
2.4.5ARM的MMU結構46
2.5ARM的其他部件54
2.5.1存儲器映像I/O55
2.5.2直接存儲器存取55
2.5.3中斷IRQ和快速中斷FIQ55
2.5.4ARM協處理器接口56
2.5.5ARMAMBA接口57
思考與習題58
第3章ARM指令集與程序設計59
3.1ARM指令系統特點60
3.1.1數據類型60
3.1.2ARM指令特點60
3.2ARM指令系統61
3.2.1ARM指令的尋址方式62
3.2.2ARM指令的條件執行64
3.2.3Load/Store類指令65
3.2.4ARM數據處理類指令68
3.2.5ARM轉移類指令73
3.3Thumb指令74
3.3.1Thumb指令概述74
3.3.2Thumb存儲器訪問指令75
3.3.3Thumb數據處理指令78
3.3.4分支指令83
3.3.5中斷和斷點指令85
3.4ARM偽操作與偽指令85
3.4.1符號定義與變量賦值偽操作85
3.4.2數據定義偽操作86
3.4.3匯編控制偽操作87
3.4.4信息報告偽操作89
3.4.5指令集選擇偽操作89
3.4.6雜項偽操作89
3.4.7ADR、ADRL、LDR偽指令89
3.4.8NOP偽指令91
3.5ARM匯編程序設計92
3.5.1匯編語言的基本格式92
3.5.2匯編語言的子程序調用93
3.6ARMC語言基礎及混合編程93
3.6.1ATPCS概述94
3.6.2C語言與匯編語言混合編程96
3.7超級終端的使用99
3.8ADS集成開發環境的使用100
3.8.1安裝與卸載ADS100
3.8.2使用ADS創建工程101
3.8.3使用AXD進行仿真108
思考與習題110
第4章基于S3C2440的硬件結構與接口編程111
4.1S3C2440簡介112
4.1.1S3C2440A片上主要功能112
4.1.2S3C2440A特點114
4.2S3C2440A的存儲器接口118
4.2.1S3C2440A存儲器控制器118
4.2.2NANDFlash控制器119
4.2.3SDRAM原理123
4.3時鐘和電源管理125
4.4DMA125
4.4.1DMA請求源126
4.4.2DMA工作過程126
4.4.3基本DMA時序127
4.4.4DMA傳輸大小127
4.4.5DMA專用寄存器127
4.5I/O端口132
4.6定時器137
4.7ARM中斷139
4.8LCD148
4.8.1LCD原理148
4.8.2ARMLCD驅動控制149
4.8.3LCD控制器特殊寄存器150
4.9A/D轉換器和觸摸屏160
4.9.1A/D轉換器簡介160
4.9.2觸摸屏的工作原理及種類161
4.9.3A/D轉換器和觸摸屏接口162
4.10異步串口通信166
4.10.1串行通信概述166
4.10.2S3C2440A異步串行口簡介171
4.11SPI、IIC、IIS、SD卡總線接口181
4.11.1SPI總線接口181
4.11.2IIC總線接口182
4.11.3IIS總線接口190
4.11.4SD卡197
4.12USBHost/Device控制器203
思考與習題205
第5章嵌入式操作系統206
5.1操作系統簡介207
5.1.1操作系統207
5.1.2嵌入式操作系統209
5.2C/OS—II簡介211
5.3VxWorks簡介212
5.4WinCE簡介214
5.5Linux簡介217
5.5.1Linux簡介217
5.5.2Linux特點217
5.5.3嵌入式Linux218
5.5.4Linux內核版本與發行版218
5.5.5Linux進程管理219
5.5.6存儲管理224
5.5.7文件系統227
5.5.8設備管理229
5.5.9Linux內核模塊231
5.5.10Linux配置文件232
5.5.11Linux啟動流程簡介233
5.6其他嵌入式操作系統236
5.6.1其他國外常用嵌入式操作系統236
5.6.2其他國內常用的嵌入式操作系統237
思考與習題238
第6章嵌入式Linux應用開發239
6.1Linux安裝240
6.1.1安裝vmware240
6.1.2創建虛擬機240
6.1.3安裝fedora14244
6.1.4安裝VMwareTools250
6.2交叉編譯環境的建立251
6.2.1交叉編譯251
6.2.2交叉編譯器的安裝251
6.3Linux常用命令253
6.3.1系統管理命令253
6.3.2文件管理命令255
6.3.3文件查看命令257
6.3.4進程管理命令258
6.3.5網絡管理命令259
6.3.6用戶管理命令259
6.4minicom的使用260
6.4.1minicom的安裝260
6.4.2minicom的設置260
6.4.3minicom的使用261
6.5vi程序的使用261
6.5.1啟動vi262
6.5.2常用vi命令262
6.6gcc程序的使用263
6.6.1gcc簡介263
6.6.2gcc編譯程序的流程264
6.6.3gcc選項264
6.7gdb程序的使用265
6.7.1gdb簡介265
6.7.2gdb的調試程序流程265
6.7.3gdb命令265
6.8makefile簡介266
6.8.1makefile簡介266
6.8.2makefile的規則266
6.8.3makefile文件的命名266
6.8.4makefile的組成267
6.8.5簡單的makefile示例267
6.8.6使用變量268
6.8.7使用隱式規則268
6.8.8偽目標269
6.9Linux應用程序編程269
6.9.1文件編程269
6.9.2進程創建273
6.9.3進程間通信之管道278
6.9.4進程間通信之有名管道280
6.9.5進程間通信之信號283
6.9.6進程間通信之信號量290
6.9.7進程間通信之消息隊列294
6.9.8進程間通信之共享內存298
6.9.9原子操作300
6.9.10線程300
6.9.11網絡編程基礎306
6.9.12Linux中斷318
思考與習題320
第7章嵌入式Linux操作系統的移植321
7.1Bootloader322
7.1.1Bootloader簡介322
7.1.2常見Bootloader323
7.2Linux的移植324
7.2.1安裝前的準備工作324
7.2.2Linux的移植步驟326
7.3根文件系統的制作334
思考與習題338
第8章物聯網中的常用嵌入式系統339
8.1TinyOS簡介341
8.1.1TinyOS概述341
8.1.2TinyOS的特點343
8.1.3TinyOS開發平臺343
8.1.4TinyOS開發案例344
8.1.5TinyOS的基本概念344
8.2安裝TinyOS345
8.3nesC簡介349
8.3.1nesC概述349
8.3.2nesC基本概念350
8.3.3一個簡單的nesC編程示例356
8.3.4TOSSIM仿真357
8.4TinyOS內部機制簡介358
8.4.1TinyOS程序運行機制分析358
8.4.2TinyOS的調度機制359
8.4.3TinyOS的通信模型360
8.4.4TinyOS的能量管理362
思考與習題362
參考文獻363

書摘/試閱



3.6.1 ATPCS概述
ATPCS(ARM—Thumb Produce Call Standard)是ARM程序和Thumb程序中子程序調用的基本規則,目的是為了使單獨編譯的C語言程序和匯編程序之間能夠相互調用。這些基本規則包括子程序調用過程中寄存器的使用規則、數據棧的使用規則和參數的傳遞規則。
1.寄存器的使用規則(見表34)
①子程序間通過寄存器R0~R3來傳遞參數。被調用的子程序在返回前無須恢復寄存器R0~R3的內容。
②在子程序中,使用寄存器R4~R11來保存局部變量。這時,寄存器R4~R11可以記為v1~v8。如果在子程序中使用了寄存器v1~v8中的某些寄存器,則子程序進入時必須保存這些寄存器的值,在返回前必須恢復這些寄存器的值。在Thumb程序中,通常只能使用寄存器R4~R7來保存局部變量。另外R9、R10和R11還有一個特殊作用,分別記為靜態基址寄存器SB、數據棧限制指針SL和楨指針FP。
③寄存器R12用做過程調用中間臨時寄存器IP。寄存器R13用做堆棧指針SP。在子程序中寄存器R13不能用做其他用途。寄存器SP在進入子程序時的值和退出子程序的值必須相等。寄存器R14稱為鏈接寄存器LR,它用于保存子程序的返回地址。如果在子程序中保存了返回地址,寄存器R14則可以用做其他用途。寄存器R15為程序計數器PC,不能用做其他用途。
④只有寄存器R0~R7、SP、LR和PC可以在Thumb狀態下使用,其中R7常常作為Thumb狀態的工作寄存器,記為WR。
2.數據棧使用規則
棧指針通常可以指向不同的位置。當棧指針指向棧頂元素(即最后一個入棧的數據元素)時,稱為FULL棧。當棧指針指向與棧頂元素相鄰的一個元素時,稱為Empty棧。數據棧的增長方向也可以不同。當數據棧向內存減小的地址方向增長時,稱為Descending棧,當數據棧向著內存地址增加的方向增長時,稱為Ascending棧。綜合這兩種特點可以由以下4種數據棧:FD、ED、FA、EA。ATPCS規定數據棧為FD類型,并對數據棧的操作是8字節對齊的,下面是一個數據棧的示例及相關的名詞。
數據棧棧指針(Stack Pointer):指向最后一個寫入棧的數據的內存地址。
數據棧的基地址(Stack Base):是指數據棧的最高地址。由于ATPCS中的數據棧是FD類型的,實際上數據棧中最早入棧數據占據的內存單元是基地址的下一個內存單元。
數據棧界限(Stack Limit):是指數據棧中可以使用的最低的內存單元地址。
已占用的數據棧(Used Stack):是指數據棧的基地址和數據棧棧指針之間的區域。
其中包括數據棧棧指針對應的內存單元。
數據棧中的數據幀(Stack Frames):是指在數據棧中,為子程序分配的用來保存寄存器和局部變量的區域。
異常中斷的處理程序可以使用被中斷程序的數據棧,這時用戶要保證中斷的程序數據棧足夠大。使用ADS編譯器產生的目標代碼中包含了DRFAT2格式的數據幀。在調試過程中,調試器可以使用這些數據幀來查看數據棧中的相關信息。而對于匯編語言來說,用戶必須使用FRAME偽操作來描述數據棧中的數據幀。ARM匯編器根據這些偽操作在目標文件中產生相應的DRFAT2格式的數據幀。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 235
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區