注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)硬件、外部設(shè)備與維護(hù)嵌入式C語言技術(shù)實(shí)戰(zhàn)開發(fā)

嵌入式C語言技術(shù)實(shí)戰(zhàn)開發(fā)

嵌入式C語言技術(shù)實(shí)戰(zhàn)開發(fā)

定 價(jià):¥69.00

作 者: 楊源鑫,侯繼紅,陳錦勇,劉凱強(qiáng) 著
出版社: 北京航空航天大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787512427105 出版時(shí)間: 2018-05-01 包裝: 平裝
開本: 16開 頁數(shù): 398 字?jǐn)?shù):  

內(nèi)容簡介

  嵌入式C語言技術(shù)實(shí)戰(zhàn)開發(fā) 本書詳細(xì)介紹了嵌入式開發(fā)和嵌入式Linux系統(tǒng)開發(fā)的基礎(chǔ)知識(shí),主要講解:嵌入式Linux系統(tǒng)的基礎(chǔ)知識(shí);C語言在嵌入式開發(fā)中的應(yīng)用;嵌入式Linux應(yīng)用開發(fā)基礎(chǔ),如系統(tǒng)文件I/O 編程、進(jìn)程、線程、進(jìn)程間通信和網(wǎng)絡(luò)編程,并結(jié)合若干項(xiàng)目,熟悉C語言在Linux應(yīng)用開發(fā)中的流程和思路;C語言在Linux驅(qū)動(dòng)中的應(yīng)用。本書通過大量實(shí)戰(zhàn)項(xiàng)目,幫助讀者融會(huì)貫通,使讀者在實(shí)戰(zhàn)中學(xué)到技術(shù)的精髓。 本書可作為計(jì)算機(jī)類專業(yè)本科生以及相關(guān)專業(yè)??粕幊填愓n程的教材,也可作為嵌入式開發(fā)的自學(xué)人員和工程技術(shù)人員的培訓(xùn)教材和參考用書。

作者簡介

  楊源鑫,CSDN博客專家,CSDN學(xué)院講師,資深嵌入式系統(tǒng)工程師,先后在偉易達(dá)集團(tuán),深圳礪劍防衛(wèi)科技有限公司等從事嵌入式產(chǎn)品相關(guān)的研發(fā),軟件架構(gòu)設(shè)計(jì),集成測試,交流指導(dǎo)等工作,涵蓋的范圍主要有單片機(jī)、Linux、Android、Window等方向的軟件層次的開發(fā),具有豐富實(shí)戰(zhàn)開發(fā)經(jīng)驗(yàn);他還積極將自己所學(xué)所用的所識(shí)以及個(gè)人工作經(jīng)驗(yàn)總結(jié)進(jìn)行分享,僅在CSDN就分享了數(shù)百篇原創(chuàng)文章,累計(jì)閱讀量超過百萬人次。 侯繼紅,廣州科技貿(mào)易職業(yè)學(xué)院電子信息工程技術(shù)專業(yè)教師,主要擔(dān)任單片機(jī)應(yīng)用技術(shù)、CPLD/FPGA應(yīng)用技術(shù)、PCB應(yīng)用技術(shù)課程的教學(xué)工作及企業(yè)項(xiàng)目開發(fā)工作。有豐富的教學(xué)經(jīng)驗(yàn)及工程項(xiàng)目設(shè)計(jì)實(shí)踐經(jīng)驗(yàn)。同時(shí)編寫出版多本嵌入式開發(fā)實(shí)戰(zhàn)書籍。 陳錦勇,目前為珠海愛肯智能設(shè)備有限公司研發(fā)部技術(shù)總監(jiān),曾在知名培訓(xùn)機(jī)構(gòu)擔(dān)任嵌入式開發(fā)講師,有多年的研發(fā)經(jīng)驗(yàn),對單片機(jī),linux,Android有深入的實(shí)戰(zhàn)經(jīng)驗(yàn)。 劉凱強(qiáng),目前為深圳科曼信息技術(shù)有限公司任職嵌入式開發(fā)工程師,現(xiàn)今主要從事Android底層和framework層的開發(fā)工作。

圖書目錄

第1章 什么是嵌入式開發(fā)……………………………………………………………… 1
1.1 概 述 …………………………………………………………………………… 1
1.2 嵌入式開發(fā)需要哪些知識(shí)儲(chǔ)備 ………………………………………………… 1
1.2.1 嵌入式硬件知識(shí) …………………………………………………………… 1
1.2.2 嵌入式軟件知識(shí) …………………………………………………………… 5
1.3 常見的嵌入式開發(fā)平臺(tái) ………………………………………………………… 5
1.3.1 單片機(jī)系列 ………………………………………………………………… 5
1.3.2 ARM 系列 ………………………………………………………………… 5
1.4 嵌入式ARM Linux系統(tǒng)的構(gòu)成 ……………………………………………… 6
1.4.1 硬件電路基礎(chǔ) ……………………………………………………………… 6
1.4.2 bootloader ………………………………………………………………… 6
1.4.3 內(nèi) 核 ……………………………………………………………………… 6
1.4.4 文件系統(tǒng) …………………………………………………………………… 6
1.4.5 應(yīng)用程序 …………………………………………………………………… 6
1.5 本章小結(jié) ………………………………………………………………………… 8
第2章 嵌入式Linux系統(tǒng)基礎(chǔ)………………………………………………………… 9
2.1 Linux系統(tǒng)簡介 ………………………………………………………………… 9
2.1.1 使用Vmware虛擬機(jī)安裝Linux操作系統(tǒng) …………………………… 12
2.1.2 Linux的基本命令 ………………………………………………………… 19
2.2 Linux中vim編輯器的操作與編程…………………………………………… 35
2.2.1 vim編輯器的操作………………………………………………………… 35
2.2.2 在Linux下快速入門Linux C語言編程 ……………………………… 41
2.2.3 在Linux下使用GDB調(diào)試代碼 ………………………………………… 43
2.2.4 在Linux下Shell腳本基礎(chǔ)編程快速入門 ……………………………… 47
2.3 利用 Makefile管理軟件工程 ………………………………………………… 59
2.4 在Linux下制作靜態(tài)庫和動(dòng)態(tài)鏈接庫的方法 ……………………………… 62
2.5 本章小結(jié)………………………………………………………………………… 64
第3章 C語言在嵌入式開發(fā)中的應(yīng)用 ……………………………………………… 65
3.1 嵌入式開發(fā)必知必會(huì)…………………………………………………………… 65
3.1.1 數(shù)據(jù)段、代碼段、堆棧段、BSS段的區(qū)別 ………………………………… 65
3.1.2 位、字、字節(jié)、字符等基礎(chǔ)知識(shí) …………………………………………… 68
3.1.3 進(jìn)制轉(zhuǎn)換基礎(chǔ)……………………………………………………………… 68
3.1.4 嵌入式常用位運(yùn)算基礎(chǔ)與深入學(xué)習(xí)……………………………………… 71
3.2 位運(yùn)算項(xiàng)目……………………………………………………………………… 74
3.2.1 應(yīng)用(一):如何分離一個(gè)數(shù)的高低位 …………………………………… 74
3.2.2 應(yīng)用(二):如何將兩個(gè)字節(jié)合并為一個(gè)字節(jié) …………………………… 76
3.2.3 應(yīng)用(三):Linux內(nèi)核中實(shí)現(xiàn)的高低位互換函數(shù) ……………………… 77
3.2.4 應(yīng)用(四):用嵌入式C語言快速翻轉(zhuǎn)一個(gè)數(shù)的二進(jìn)制高低位 ………… 78
3.2.5 實(shí)戰(zhàn)1:如何對一個(gè)有規(guī)律的數(shù)組表進(jìn)行位移(LED彩燈案例)……… 80
3.2.6 實(shí)戰(zhàn)2:分離一個(gè)十六進(jìn)制數(shù)取出相應(yīng)的位1或位0
(簡單的音頻解碼案例)…………………………………………………… 82
3.3 預(yù)處理、 const、static以及字符串處理在嵌入式中的應(yīng)用 ………………… 86
3.3.1 宏定義與typedef的區(qū)別 ………………………………………………… 86
3.3.2 const關(guān)鍵字 ……………………………………………………………… 96
3.3.3 static關(guān)鍵字 ……………………………………………………………… 98
3.3.4 sizeof運(yùn)算符 …………………………………………………………… 103
3.3.5 strcat 函數(shù) ……………………………………………………………… 105
3.3.6 strcpy函數(shù) ……………………………………………………………… 107
3.3.7 strlen函數(shù) ……………………………………………………………… 109
3.3.8 strcmp函數(shù) ……………………………………………………………… 111
3.4 C語言的內(nèi)存管理與指針 …………………………………………………… 113
3.4.1 一維數(shù)組 ………………………………………………………………… 113
3.4.2 二維數(shù)組 ………………………………………………………………… 119
3.4.3 C語言之指針 …………………………………………………………… 122
3.4.4 為什么內(nèi)存是線性分布的 ……………………………………………… 131
3.4.5 深入淺出剖析函數(shù)指針與回調(diào)函數(shù) …………………………………… 135
3.5 誰說面向過程的C語言不能面向?qū)ο?……………………………………… 144
3.5.1 C語言之結(jié)構(gòu)體 ………………………………………………………… 144
3.5.2 C語言之結(jié)構(gòu)體對齊 …………………………………………………… 147
3.5.3 C語言結(jié)構(gòu)體實(shí)現(xiàn)原理深入分析 ……………………………………… 150
3.5.4 結(jié)構(gòu)體的封裝性之結(jié)構(gòu)體內(nèi)嵌函數(shù)指針 ……………………………… 152
3.5.5 結(jié)構(gòu)體的繼承性之結(jié)構(gòu)體內(nèi)嵌結(jié)構(gòu)體 ………………………………… 153
3.5.6 結(jié)構(gòu)體的多態(tài)性之結(jié)構(gòu)體中的void *萬能指針……………………… 155
3.5.7 Linux內(nèi)核中offsetof宏與container_of宏深度剖析 ………………… 157
3.5.8 什么是共用體、聯(lián)合體與大小端………………………………………… 160
3.6 C語言之標(biāo)準(zhǔn)C文件操作應(yīng)用 ……………………………………………… 163
3.6.1 fopen函數(shù)和fclose函數(shù) ……………………………………………… 163
3.6.2 fread函數(shù)和fwrite函數(shù)………………………………………………… 165
3.6.3 fseek函數(shù)………………………………………………………………… 167
3.6.4 sprintf函數(shù) ……………………………………………………………… 168
3.7 一定要掌握的基本數(shù)據(jù)結(jié)構(gòu) ………………………………………………… 170
3.7.1 鏈 表 …………………………………………………………………… 170
3.7.2 隊(duì) 列 …………………………………………………………………… 179
3.7.3 棧 ………………………………………………………………………… 181
3.8 實(shí)戰(zhàn)項(xiàng)目 ……………………………………………………………………… 184
3.8.1 熟悉STM32單片機(jī)庫函數(shù)的使用 …………………………………… 184
3.8.2 彈彈方塊C語言實(shí)現(xiàn)…………………………………………………… 194
3.8.3 學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn) ……………………………………………… 201
3.8.4 空洞文件與一次性產(chǎn)生多個(gè)文件 ……………………………………… 216
3.8.5 CheckSum軟件的設(shè)計(jì)原理與應(yīng)用 …………………………………… 218
3.8.6 使用C語言編寫一個(gè)將二進(jìn)制文件轉(zhuǎn)換為C數(shù)組頭文件的程序 …… 220
3.8.7 數(shù)據(jù)壓縮與解壓縮算法的C語言實(shí)現(xiàn) ………………………………… 224
3.8.8 字符串編碼解壓縮算法 ………………………………………………… 227
3.8.9 C語言之查表法項(xiàng)目運(yùn)用 ……………………………………………… 229
3.9 本章小結(jié) ……………………………………………………………………… 231
第4章 嵌入式Linux應(yīng)用開發(fā)基礎(chǔ)………………………………………………… 232
4.1 文件I/O基礎(chǔ)編程 …………………………………………………………… 232
4.1.1 open函數(shù)與close函數(shù) ………………………………………………… 233
4.1.2 read函數(shù)與write函數(shù) ………………………………………………… 235
4.1.3 lseek函數(shù)………………………………………………………………… 237
4.1.4 ioctl函數(shù) ………………………………………………………………… 238
4.1.5 opendir函數(shù)、readdir函數(shù)與closedir函數(shù) …………………………… 239
4.1.6 stat函數(shù) ………………………………………………………………… 240
4.1.7 文件I/O小結(jié) …………………………………………………………… 242
4.2 進(jìn)程的實(shí)戰(zhàn)開發(fā) ……………………………………………………………… 242
4.2.1 進(jìn)程的定義 ……………………………………………………………… 242
4.2.2 進(jìn)程與程序的區(qū)別 ……………………………………………………… 243
4.2.3 fork函數(shù) ………………………………………………………………… 243
4.2.4 vfork函數(shù) ……………………………………………………………… 246
4.2.5 exec函數(shù)族 ……………………………………………………………… 248
4.2.6 特殊進(jìn)程 ………………………………………………………………… 251
4.3 進(jìn)程間通信 …………………………………………………………………… 256
4.3.1 管 道 …………………………………………………………………… 257
4.3.2 消息隊(duì)列 ………………………………………………………………… 261
4.3.3 共享內(nèi)存 ………………………………………………………………… 268
4.3.4 信 號(hào) …………………………………………………………………… 274
4.3.5 信號(hào)量 …………………………………………………………………… 278
4.4 多線程編程 …………………………………………………………………… 281
4.4.1 線程與多線程的定義 …………………………………………………… 281
4.4.2 進(jìn)程與線程的區(qū)別與聯(lián)系 ……………………………………………… 281
4.5 網(wǎng)絡(luò)編程 ……………………………………………………………………… 287
4.5.1 TCP/IP協(xié)議棧 ………………………………………………………… 287
4.5.2 TCP協(xié)議 ………………………………………………………………… 288
4.5.3 UDP協(xié)議………………………………………………………………… 300
4.6 實(shí)戰(zhàn)項(xiàng)目 ……………………………………………………………………… 304
4.6.1 Linux下音頻應(yīng)用編程 ………………………………………………… __________304
4.6.2 Linux下FrameBuffer簡介 …………………………………………… 314
4.6.3 Linux下C語言BMP圖操作編程 …………………………………… 320
4.6.4 Linux下C語言input系統(tǒng)應(yīng)用編程 ………………………………… 324
4.6.5 簡易Linux終端版聊天室應(yīng)用編程 …………………………………… 329
4.7 本章小結(jié) ……………………………………………………………………… 338
第5章 C語言在Linux驅(qū)動(dòng)中的應(yīng)用 ……………………………………………… 339
5.1 簡單的Kconfig編程 ………………………………………………………… 339
5.2 手把手教你實(shí)現(xiàn)字符設(shè)備驅(qū)動(dòng) ……………………………………………… 345
5.3 手把手教你實(shí)現(xiàn) misc設(shè)備驅(qū)動(dòng)……………………………………………… 355
5.4 手把手教你實(shí)現(xiàn)外部中斷 …………………………………………………… 359
5.5 手把手教你實(shí)現(xiàn)中斷底半部tasklet實(shí)現(xiàn)…………………………………… 364
5.6 手把手教你實(shí)現(xiàn)中斷底半部work queue…………………………………… 371
5.7 手把手教你實(shí)現(xiàn)簡單的Linux定時(shí)器 ……………………………………… 375
5.8 手把手教你實(shí)現(xiàn)input設(shè)備驅(qū)動(dòng)程序 ……………………………………… 379
5.9 本章小結(jié) ……………………………………………………………………… 386
參考文獻(xiàn)………………………………………………………………………………… 387
后 記………………………………………………………………………………… 389

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)