GNU Gcc嵌入式系統開發

GNU Gcc嵌入式系統開發

《GNUGcc嵌入式系統開發》是2010年北京航空航天大學出版社出版的圖書,作者是董文軍。

基本介紹

  • 書名:GNU Gcc嵌入式系統開發
  • 作者:董文軍
  • ISBN:9787811248142
  • 出版社:北京航空航天大學出版社
  • 出版時間:2010 年1月
內容簡介,圖書目錄,

內容簡介

本書首先介紹了gnu gcc的基本組成,分章節講述了gnu gcc、debian linux、makefile、gdb、vi、emacs等開源開發工具的使用,然後以atmel公司的兩款頗具代表性的嵌入式晶片,即低端的8位avr單片機atmega48和中端的32位arm晶片at91sam7s64為代表,全面講述了gnu gcc在嵌入式開發中的套用。可以看到gnu gcc在不同硬體下的開發過程與使用方法的確具有高度的一致性,給學習與使用帶來了很大的方便。書中還特別列舉了非常實用的開源項目usbasp以及usbdrv,使讀者既能對開源軟體的強大功能留下深刻的印象,又能學到實際有用的東西。
本書可作為高等院校計算機、電子、自動化、機電一體化等相關專業嵌入式系統課程的教學參考書,也可作為從事嵌入式系統套用開發工程師的參考資料。

圖書目錄

第1章 gnu gcc 概述1
1.1自由軟體與gnu、gpl1
1.2 gcc的發展歷史及特點2
1.3 gcc的使用簡介與命令行參數說明4
1.3.1 gcc的基本用法4
1.3.2警告提示功能選項7
1.3.3庫操作選項8
1.3.4代碼最佳化選項9
1.3.5調試選項10
1.3.6交叉編譯選項11
1.3.7連結器參數選項12
1.3.8連結器描述檔案格式12
1.3.9 gcc的錯誤類型及對策15
第2章 適合於嵌入式開發的平台debian17
2.1 debian概述17
2.2 debian的安裝18
2.3 debian基本操作25
2.3.1桌面環境25
2.3.2常用應用程式26
2.3.3檔案系統管理27
.2.4 debian系統維護與軟體的安裝37
2.4.1 apt包管理系統的管理37
2.4.2軟體包管理與安裝命令38
2.4.3 dpkg底層的包管理工具39
2.4.4軟體的其他安裝方法41
2.5版本控制42
2.5.1 cvs概述42
2.5.2 debian中安裝cvs伺服器42
2.5.3 cvs的基本操作46
2.5.4遠程cvs操作54
2.5.5 cvs使用舉例54
2.5.6 wincvs的使用56
第3章makefile檔案的編寫66
3.1概述66
3.2 makefile的基本語法和簡單實例67
3.2.1基本語法67
3.2.2 make命令行參數定義67
3.2.3簡單實例71
3.3常用命令72
3.3.1 @命令72
3.3.2命令間的相互關聯72
3.3.3忽略命令的錯誤73
3.3.4條件判斷73
3.3.5定義命令序列73
3.4目標與規則74
3.4.1偽目標74
3.4.2靜態目標75
3.4.3 makefile中的常用目標75
3.4.4後綴規則76
3.4.5模式規則76
3.4.6多目標與自動推導77
3.4.7 makefile規則77
3.4.8引入其他的makefile檔案80
3.5變數81
3.5.1變數的定義81
3.5.2與變數相關的操作符82
3.5.3變數的套用83
3.5.4特殊變數84
3.6函式87
3.6.1函式的調用語法87
3.6.2字元串處理函式88
3.6.3檔案操作函式90
3.6.4循環函式91
3.6.5條件函式92
3.6.6其他函式92
3.6.7 makefile工作過程總結94
第4章gdb調試技術95
4.1概述95
4.1.1簡單的調試實例96
4.1.2 gdb啟動退出與程式的載入98
4.1.3 gdb隨機幫助與常用命令99
4.2 gdb常用查看命令101
4.2.1查看暫存器101
4.2.2查看棧信息101
4.2.3查看源程式103
4.2.4查看原始碼的記憶體104
4.3變數操作命令105
4.3.1查看單個數據105
4.3.2輸出格式105
4.3.3修改變數的值106
4.3.4全局變數與局部變數106
4.3.5表達式107
4.3.6數組107
4.3.7查看記憶體108
4.3.8變數自動顯示108
4.4程式斷點運行調試命令109
4.4.1斷點操作109
4.4.2觀察點操作110
4.4.3捕捉點操作110
4.4.4重載函式的斷點操作111
4.4.5各種斷點的維護111
4.5程式的單步調試技術113
4.6程式的信號調試技術114
4.7程式的多執行緒調試技術115
4.8程式控制命令116
4.8.1跳轉控制命令116
4.8.2函式控制命令116
4.9 gdb環境設定命令117
4.9.1運行環境設定117
4.9.2顯示設定117
4.9.3環境變數120
4.9.4搜尋原始碼121
4.9.5指定源檔案的路徑121
第5章linux常用編輯器122
5.1 vi編輯器122
5.1.1概述122
5.1.2多檔案操作126
5.1.3游標移動命令127
5.1.4螢幕操作命令129
5.1.5尋找與替換131
5.1.6 vi的基本編輯命令及操作133
5.1.7多視窗操作138
5.1.8暫存器與緩衝區操作140
5.1.9與編程開發相關操作141
5.1.10配置設定143
5.1.11其他編輯命令144
5.2 emacs編輯器146
5.2.1概述146
5.2.2 emacs基本知識147
5.2.3對目錄的操作154
5.2.4編輯遠程機器上的檔案157
5.2.5游標操作157
5.2.6基本編輯功能160
5.2.7查找與替換163
5.2.8多視窗操作164
5.2.9 emacs程式語言支持功能164
5.2.10 emacs設定172
5.2.11版本控制174
5.2.12隨機幫助的使用177
5.2.13 emacs的其他功能178
第6章 atmega48/88/168硬體結構與功能179
6.1 atmega48/88/168概述179
6.1.1產品特性179
6.1.2引腳配置180
6.1.3結構框圖183
6.1.4工作狀態與mcu控制暫存器185
6.1.5 avr cpu通用工作暫存器186
6.2存儲結構186
6.2.1 atmega48的程式存儲器映像186
6.2.2 sram數據存儲器187
6.2.3 eeprom數據存儲器187
6.3系統時鐘以及選擇189
6.3.1時鐘分類189
6.3.2時鐘源190
6.3.3與系統時間相關暫存器191
6.4電源管理與休眠模式192
6.4.1工作模式192
6.4.2休眠模式控制暫存器193
6.4.3功耗最小化需要考慮的幾個問題194
6.5時間器與看門狗195
6.5.1看門狗定時器195
6.5.2看門狗控制暫存器195
6.5.3看門狗安全操作時間序列196
6.5.4看門狗熔絲位197
6.5.5定時器的工作模式197
6.5.6 8位pwm定時器0199
6.5.7 16位pwm定時器1208
6.5.8 8位異步操作pwm定時器2216
6.6復位與中斷221
6.6.1復位221
6.6.2中斷223
6.6.3外部中斷224
6.6.4 atmega48復位與中斷向量226
6.6.5 atmega88復位與中斷向量228
6.6.6 atmega168復位與中斷向量231
6.6.7 i/o連線埠234
6.8 串列通信接口238
6.8.1 usart串列通信238
6.8.2 spi串列通信245
6.8.3兩線串列通信249
6.9模擬比較器與模/數轉換254
6.9.1模擬比較器254
6.9.2模/數轉換器256
6.10熔絲位以及功能259
第7章 avrgcc開發技術262
7.1 debian中的avr交叉工具包262
7.1.1 avr交叉工具包的安裝262
7.1.2使用linux平台的優勢263
7.1.3準備工作263
7.1.4 avr gcc編譯及makefile的編寫264
7.1.5軟體模擬調試265
7.2 avr的gnu下載工具266
7.2.1 ponyprog下載工具266
7.2.2 uisp下載工具269
7.2.3 stk200下載線電路圖274
7.3 procyon avrlib的c語言庫函式274
7.3.1 avrlib的下載與安裝274
7.3.2與avr晶片內部設備相關函式275
7.3.3常用外部設備函式285
7.3.4常見通用設備的軟體模擬297
7.3.5通用庫函式298
7.3.6網路庫函式305
第8章avr純固件usb協定314
8.1 usb匯流排協定概述314
8.1.1基本概念314
8.1.2 usb匯流排狀態322
8.1.3 usb物理層定義323
8.1.4 usb數據鏈路層定義325
8.2 開源純軟體模擬usb匯流排協定331
8.2.1純軟體usb協定功能特性331
8.2.2硬體電路331
8.2.3軟體系統結構333
8.3純軟體usb套用-usbasp下載線345
8.3.1 usbasp功能概述345
8.3.2 usbasp硬體電路345
8.3.3 usbasp固件程式分析346
8.3.4 usbasp製作過程347
8.3.5 usbasp使用方法348
第9章 armgcc開發包procyon armlib351
9.1 atmel at91sam7s系列晶片概述351
9.1.1 at91sam7s的基本特點351
9.1.2 at91sam7s的基本結構353
9.1.3 arm7tdmi處理器概述355
9.1.4存儲器356
9.1.5外設358
9.1.6定時器358
9.1.7外設數據傳輸控制器359
9.1.8高級中斷控制器360
9.1.9並行輸入/輸出控制器361
9.1.10通信匯流排361
9.1.11脈寬調製控制器364
9.1.12 usb器件連線埠365
9.1.13模/數轉換器366
9.2 arm交叉工具軟體包366
9.2.1 gnuarm概述366
9.2.2 gnuarm應用程式binutils366
9.3 procyon armlib的c語言庫函式388
9.3.1 armlib的下載與安裝388
9.3.2與arm晶片內部設備相關函式390
9.3.3與avrlib相同的部分398
9.4 openocd398
9.4.1 openocd概述398
9.4.2 openocd的安裝399
9.4.3 openocd晶片的配置檔案400
9.4.4 openocd晶片配置命令400
9.4.5 openocd命令403
9.4.6 openocd套用舉例405
9.4.7 wiggler並口jtag408
參考文獻409

相關詞條

熱門詞條

聯絡我們