書籍簡介
本書首先介紹了GNUgcc的基本組成,分章節講述了GNUgcc、DebianLinux、makefile、gdb、vi、emacs等開源開發工具的使用,然後以Atmel公司的兩款頗具代表性的嵌入式晶片,即低端的8位AVR單片機atmega48和中端的32位ARM晶片AT91SAM7S64為代表,全面講述了GNUgcc在嵌入式開發中的套用。可以看到GNUgcc在不同硬體下的開發過程與使用方法的確具有高度的一致性,給學習與使用帶來了很大的方便。書中還特別列舉了非常實用的開源項目USBASP以及usbdrv,使讀者既能對開源軟體的強大功能留下深刻的印象,又能學到實際有用的東西。書籍背景
GNU項目計畫的主要目的是創建一個名叫GNU’sNotUnix(GNU)的完全免費的作業系統。該作業系統將包括絕大多數自由軟體基金會所開發的其他軟體,以對抗所有商業軟體,而這個作業系統的核心(kernel)就叫HURD。但是GNU在開發完全免費的作業系統上並未取得成功’直到20世紀90年代由林納斯.本納第克特.托瓦茲(LinusBenedictTorvaIds)開發了Linux作業系統,GNU才算在免費作業系統上完成了任務。雖然GNU計畫在開發免費作業系統上不成功,但是卻成功開發幾個廣為流傳的GNU軟體’其中最著名的是GNUCComplier(gcc)。這個軟體成為歷史上最優秀的C語言編譯器,其執行效率與一般的編譯器相比平均效率要高20%-30%,使得那些靠販賣編譯器的公司大吃苦頭,因為它們無法研製出與gcc同樣優秀,卻又完全免費、並開放原始碼的編譯器來。而由於它又是copylefted,所以一旦有用戶發現錯誤,就會通知RichardStaIlman,所以幾乎每個月都可以推出新版本。
目錄
第1章 GNUgcc概述
1.1 自由軟體與GNU、GPL
1.2 gcc的發展歷史及特點
1.3 gcc的使用簡介與命令行參數說明
1.3.1 gcc的基本用法
1.3.2 警告提示功能選項
1.3.3 庫操作選項
1.3.4 代碼最佳化選項
1.3.5 調試選項
1.3.6 交叉編譯選項
1.3.7 連結器參數選項
1.3.8 連結器描述檔案格式
1.3.9 gcc的錯誤類型及對策
第2章適合於嵌入式開發的平台Debian
2.1 Debian概述