GNU gcc嵌入式系統(tǒng)開發(fā)

出版時間:2010-1  出版社:北京航空航天大學(xué)出版社  作者:董文軍  頁數(shù):409  
Tag標(biāo)簽:無  

前言

筆者從事電子類相關(guān)工作近二十年,一直都對此有著深厚的興趣。自學(xué)生時代的家電維修開始,到后來從事計算機(jī)硬件教學(xué)工作這一路走來,從電子硬件電路、單片機(jī)應(yīng)用,到計算機(jī)應(yīng)用程序、驅(qū)動程序開發(fā)以及到現(xiàn)在的軟硬一體化的嵌入式系統(tǒng),一步一步地從最底層的電路焊接開始到現(xiàn)在,計算機(jī)硬件的多個層次都曾接觸過,較長的專業(yè)生涯使筆者也積累了較多的經(jīng)驗體會。一直以來也有想法,將這些經(jīng)驗集結(jié)成冊,為推廣計算機(jī)知識盡一點綿薄之力,恰逢北京航空航天大學(xué)出版社的邀請,于是決定著手此書的編寫。做過技術(shù)工作的人都有過這樣的經(jīng)歷與體會,大量的時間都是花費在技術(shù)資料的閱讀與查找上,很多項目常常因為某個技術(shù)資料的缺乏而使項目卡殼,有時甚至影響到項目的順利完成。這一點在技術(shù)飛速發(fā)展的IT行業(yè)特別在計算機(jī)軟件領(lǐng)域表現(xiàn)更為突出,很多的技術(shù)細(xì)節(jié)被隱藏在不公開的源代碼中,源碼的不公開往往造成技術(shù)發(fā)展的瓶頸,直到20世紀(jì)80年代出現(xiàn)了一種全新的開源思想:它認(rèn)為計算機(jī)源代碼應(yīng)該像文學(xué)藝術(shù)作品一樣作為人類共同知識財富的一部分,讓每個人都有機(jī)會閱讀與學(xué)習(xí),而不應(yīng)該只作為公司或個人的私有財產(chǎn),并為此發(fā)布了一系列的法律文件來保證開源軟件源碼的公開性。開源精神得到了廣大計算機(jī)專業(yè)人士及愛好者的大力擁護(hù),包括很多世界著名的大公司在內(nèi),行業(yè)內(nèi)的很多精英都投身到這一偉大的事業(yè)中來,這極大地促進(jìn)了計算機(jī)產(chǎn)業(yè)的發(fā)展。在開源精神的指導(dǎo)下,世界有了全新的操作系統(tǒng)Linux,有了全新的開發(fā)工具gcc,有了全新的文本編輯器emacs等。開源軟件對于莘莘學(xué)子來說更是一個福音,有了開源代碼,他們就能自由地閱讀到世界一流的代碼,學(xué)習(xí)的資料極大地豐富,所學(xué)的技術(shù)與知識也能最快地站在世界的前沿;能迅速有效地將所學(xué)的理論用上,理論與實踐的距離被迅速拉近,學(xué)習(xí)變成了探索,變成了一件有趣的活動。開源軟件同時也極大地促進(jìn)了社會經(jīng)濟(jì)的發(fā)展,IT產(chǎn)品漸漸地不再昂貴,很多公司的產(chǎn)品都是來源于開源項目,人類智慧的共同合力得到了充分的體現(xiàn)。開源精神在大家的共同努力下不斷發(fā)展,對世界產(chǎn)生了越來越大的影響?,F(xiàn)在IT產(chǎn)業(yè)已進(jìn)入了后PC時代,傳統(tǒng)的桌面PC市場已經(jīng)趨于飽和,現(xiàn)階段難以找到新的增長點,但隨著人們更熱衷于快捷方便、能隨身攜帶的IT服務(wù),低功耗的便攜式產(chǎn)品成為了市場的新熱點,也成為廣大廠商與專業(yè)人員追捧的目標(biāo),連IT業(yè)巨頭Intel都高調(diào)宣布進(jìn)軍嵌入式領(lǐng)域。開源軟件也順應(yīng)時代潮流率先進(jìn)入了嵌入式時代,為廣大開發(fā)者提供了特性高度一致的嵌入式產(chǎn)品,Linux、gcc等開源軟件都能在嵌入式系統(tǒng)中使用,而且目前還是支持硬件最多的開發(fā)工具與平臺,這正適合于嵌入式硬件平臺眾多的特點。為了能全面描述GNU gcc在嵌入式開發(fā)中的應(yīng)用,筆者選擇了Atmel出品的兩款頗具代表性的嵌入式芯片,一款為低端的8位AVR單片機(jī)ATmega48,另一款為中端的32位ARM芯片AT91SAM7S64。本書對這兩款芯片都講述了使用GNU gcc開發(fā)工具進(jìn)行開發(fā)的方法與過程,可以看到GNU gcc在不同硬件下的開發(fā)過程與使用方法的確是具有高度的一致性,這給學(xué)習(xí)與使用帶來了很大的方便。書中還特別列舉了非常實用的開源項目USBASP以及usbdrv,使讀者既能對開源軟件的強(qiáng)大功能留下深刻的印象,又能學(xué)習(xí)實際有用的東西。寫書是一項艱苦的工作,為此筆者停下了一些項目的開發(fā)工作,專心寫書。在此過程中得到了家人以及很多朋友、同事的關(guān)心與幫助,在此表示衷心的感謝。首先要感謝筆者的妻子和家人,他們的支持讓我能安下心來寫書;特別感謝我的合作伙伴劉賓林,他給了我很多專業(yè)上的幫助;還有這些人員:董振興、鄒遠(yuǎn)菊、劉中平、譚蔚蕓、陳雙妹、劉冬麗、伍向陽、劉新宇等,他們都為本書作出了貢獻(xiàn),這里一并表示感謝。同時衷心感謝北航出版社,使本書得以順利出版。

內(nèi)容概要

本書首先介紹了GNU gcc的基本組成,分章節(jié)講述了GNU gcc、Debian Linux、makefile、gdb、vi、emacs等開源開發(fā)工具的使用,然后以Atmel公司的兩款頗具代表性的嵌入式芯片,即低端的8位AVR單片機(jī)ATmega48和中端的32位ARM芯片AT91SAM7S64為代表,全面講述了GNU gcc在嵌入式開發(fā)中的應(yīng)用??梢钥吹紾NU gcc在不同硬件下的開發(fā)過程與使用方法的確具有高度的一致性,給學(xué)習(xí)與使用帶來了很大的方便。書中還特別列舉了非常實用的開源項目USBASP以及usbdrv,使讀者既能對開源軟件的強(qiáng)大功能留下深刻的印象,又能學(xué)到實際有用的東西。    本書可作為高等院校計算機(jī)、電子、自動化、機(jī)電一體化等相關(guān)專業(yè)嵌入式系統(tǒng)課程的教學(xué)參考書,也可作為從事嵌入式系統(tǒng)應(yīng)用開發(fā)工程師的參考資料。

書籍目錄

第1章 GNU gcc 概述 1.1 自由軟件與GNU、GPL 1.2 gcc的發(fā)展歷史及特點 1.3 gcc的使用簡介與命令行參數(shù)說明  1.3.1 gcc的基本用法  1.3.2 警告提示功能選項  1.3.3 庫操作選項  1.3.4 代碼優(yōu)化選項  1.3.5 調(diào)試選項  1.3.6 交叉編譯選項  1.3.7 鏈接器參數(shù)選項  1.3.8 鏈接器描述文件格式  1.3.9 gcc的錯誤類型及對策第2章 適合于嵌入式開發(fā)的平臺Debian 2.1 Debian概述 2.2 Debian的安裝 2.3 Debian基本操作  2.3.1 桌面環(huán)境  2.3.2 常用應(yīng)用程序  2.3.3 文件系統(tǒng)管理 2.4 Debian系統(tǒng)維護(hù)與軟件的安裝  2.4.1 apt包管理系統(tǒng)的管理  2.4.2 軟件包管理與安裝命令  2.4.3 dpkg底層的包管理工具  2.4.4 軟件的其他安裝方法 2.5 版本控制  2.5.1 cvs概述  2.5.2 Debian中安裝cvs服務(wù)器  2.5.3 cvs的基本操作  2.5.4 遠(yuǎn)程cvs操作  2.5.5 cvs使用舉例  2.5.6 Wincvs的使用第3章 makefile文件的編寫 3.1 概述 3.2 makefile的基本語法和簡單實例  3.2.1 基本語法  3.2.2 make命令行參數(shù)定義  3.2.3 簡單實例 3.3 常用命令  3.3.1 @命令  3.3.2 命令間的相互關(guān)聯(lián)  3.3.3 忽略命令的錯誤  3.3.4 條件判斷  3.3.5 定義命令序列 3.4 目標(biāo)與規(guī)則  3.4.1 偽目標(biāo)  3.4.2 靜態(tài)目標(biāo)  3.4.3 makefile中的常用目標(biāo)  3.4.4 后綴規(guī)則  3.4.5 模式規(guī)則  3.4.6 多目標(biāo)與自動推導(dǎo)  3.4.7 makefile規(guī)則  3.4.8 引入其他的makefile文件 3.5 變量  3.5.1 變量的定義  3.5.2 與變量相關(guān)的操作符  3.5.3 變量的應(yīng)用  3.5.4 特殊變量 3.6 函數(shù)  3.6.1 函數(shù)的調(diào)用語法  3.6.2 字符串處理函數(shù)  3.6.3 文件操作函數(shù)  3.6.4 循環(huán)函數(shù)  3.6.5 條件函數(shù)  3.6.6 其他函數(shù)  3.6.7 makefile工作過程總結(jié)第4章 gdb調(diào)試技術(shù)第5章 Linux常用編輯器第6章 ATmega48/88/168硬件結(jié)構(gòu)與功能第7章 AVRgcc開發(fā)技術(shù)第8章 AVR純固件USB協(xié)議第9章 ARMgcc開發(fā)包Procyon ARMLib參考文獻(xiàn)

章節(jié)摘錄

插圖:GNU項目計劃的主要目的是創(chuàng)建一個名叫GNU’s Not Unix(GNU)的完全免費的操作系統(tǒng)。該操作系統(tǒng)將包括絕大多數(shù)自由軟件基金會所開發(fā)的其他軟件,以對抗所有商業(yè)軟件,而這個操作系統(tǒng)的核心(kernel)就叫HURD。但是GNU在開發(fā)完全免費的操作系統(tǒng)上并未取得成功’直到20世紀(jì)90年代由林納斯.本納第克特.托瓦茲(Linus Benedict TorvaIds)開發(fā)了Linux操作系統(tǒng),GNU才算在免費操作系統(tǒng)上完成了任務(wù)。雖然GNU計劃在開發(fā)免費操作系統(tǒng)上不成功,但是卻成功開發(fā)幾個廣為流傳的GNU軟件’其中最著名的是GNU C Complier(gcc)。這個軟件成為歷史上最優(yōu)秀的C語言編譯器,其執(zhí)行效率與一般的編譯器相比平均效率要高20%-30%,使得那些靠販賣編譯器的公司大吃苦頭,因為它們無法研制出與gcc同樣優(yōu)秀,卻又完全免費、并開放源代碼的編譯器來。而由于它又是copylefted,所以一旦有用戶發(fā)現(xiàn)錯誤,就會通知Richard StaIlman,所以幾乎每個月都可以推出新版本。

編輯推薦

《GNU gcc 嵌入式系統(tǒng)開發(fā)》由北京航空航天大學(xué)出版社出版。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    GNU gcc嵌入式系統(tǒng)開發(fā) PDF格式下載


用戶評論 (總計7條)

 
 

  •   非常著名的GNU項目,全面了解GNU,運用其工具
  •   感覺本書定位不是很清楚,沒有重點!只是從很多地方抄了些內(nèi)容合成一本書,非常失望!
  •   現(xiàn)在在做Contiki系統(tǒng)的移植,里面用到了很多GCC的知識。之前在這一塊一直是個文盲,好不容易找到這本書,真是相見恨晚??!一口氣讀完一章感覺受益匪淺,推薦在嵌入式道路上摸爬滾打的孩子們都來讀一讀。
  •   書的內(nèi)容很好,看過同事買的,我自己又去買了一本,很適合新手學(xué)習(xí)或者作為一本工具書來使用
  •   對我有用的信息不多。makefile和vi部分寫得太簡單了
  •   字不大也不小,剛好看。
  •   書里講了很多GNU方面的工具使用,講的都比較實用,還不錯,適合初學(xué)者看。
 

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

京ICP備13047387號-7