




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第5章 建立軟件開發(fā)環(huán)境,工欲善其事,必先利其器。在進(jìn)行嵌入式軟件開發(fā)工作之前,必須建立一個(gè)開發(fā)環(huán)境。開發(fā)環(huán)境包括了操作系統(tǒng)、編譯器、調(diào)試器、集成開發(fā)環(huán)境、各種輔助工具等。嵌入式Linux開發(fā)需要在主機(jī)上開發(fā)目標(biāo)系統(tǒng)的程序,建立主機(jī)開發(fā)環(huán)境可以在Linux系統(tǒng)下,也可以是Windows系統(tǒng)。在兩種系統(tǒng)建立開發(fā)環(huán)境各有利弊,本章講解Linux系統(tǒng)和Windows系統(tǒng)如何搭建嵌入式開發(fā)環(huán)境,主要內(nèi)容如下: 安裝獨(dú)立的Linux發(fā)行版 搭建Linux發(fā)行版下的開發(fā)環(huán)境 在Windows系統(tǒng)安裝Linux系統(tǒng)模擬環(huán)境 Linux系統(tǒng)常見命令和工具 Windows系統(tǒng)常用工具 ADS集成開發(fā)環(huán)境,5.1
2、 獨(dú)立的Linux系統(tǒng),本節(jié)介紹的Linux系統(tǒng)需要單獨(dú)安裝在PC機(jī)的磁盤分區(qū),讀者在操作之前需要做好準(zhǔn)備,備份好數(shù)據(jù)。目前的Linux系統(tǒng)發(fā)行版有許多,Ubuntu Linux界面貼近用戶,軟件安裝配置簡(jiǎn)單,適合初學(xué)者學(xué)習(xí)使用。本書使用Ubuntu Linux 8.04發(fā)行版本作為嵌入式Linux開發(fā)的主機(jī)環(huán)境。,5.1.1 安裝Ubuntu Linux,在安裝之前,需要確認(rèn)有足夠的磁盤空間供安裝Ubuntu Linux。在筆者的機(jī)器上使用Windows的磁盤管理程序查看硬盤分區(qū)。,5.1.2 關(guān)鍵一步系統(tǒng)的網(wǎng)絡(luò)設(shè)置,Ubuntu Linux使用了apt管理軟件包。apt是一種給予Debia
3、n系統(tǒng)deb包的管理器,最大的特點(diǎn)就是從網(wǎng)絡(luò)安裝軟件包,并且能自動(dòng)獲取每個(gè)軟件包的依賴關(guān)系,安裝正確的軟件包。由此可見,網(wǎng)絡(luò)對(duì)于Ubuntu Linux系統(tǒng)的重要性。 在安裝其他的軟件包之前,首先是設(shè)置Ubuntu的網(wǎng)絡(luò)。Ubuntu的網(wǎng)絡(luò)配置文件主要有/etc/network/interfaces和/etc/resov.conf兩個(gè)文件。其中,/etc/network/interfaces文件是配置網(wǎng)絡(luò)接口卡(網(wǎng)卡)和網(wǎng)關(guān)地址,內(nèi)容如下: iface lo inet loopback# 環(huán)回設(shè)備loopback配置 iface eth0 inet static# 第一個(gè)以太網(wǎng)卡設(shè)備eth0,
4、使用靜態(tài)配置 address 20# 配置IP地址 netmask # 配置掩碼 gateway # 設(shè)置網(wǎng)關(guān),5.1.3 其他必要的設(shè)置,設(shè)置好網(wǎng)絡(luò)之后,最關(guān)鍵的就是設(shè)置apt的源。apt使用/etc/apt/sources.list文件記錄軟件包服務(wù)器的配置信息,這些軟件包服務(wù)器地址被稱作源。在使用apt命令安裝軟件包的時(shí)候,會(huì)從源服務(wù)器下載并安裝軟件包。 Ubuntu自己的源服務(wù)器在美國(guó),在其他國(guó)家都有鏡像服務(wù)器,讀者可以選擇一個(gè)離自己較近的服務(wù)器,可以提高下載文件速度。在國(guó)內(nèi)目前有兩個(gè)比較好的源服務(wù)器:一個(gè)是由提供的
5、,一個(gè)是由提供的。,5.1.4 怎樣安裝卸載軟件,Ubuntu安裝卸載軟件都非常方便,使用apt-get命令可以完成軟件的管理。具體格式如下: apt-get install apt-get uninstall ,5.1.5 怎樣配置系統(tǒng)服務(wù),在Ubuntu下配置系統(tǒng)服務(wù)非常簡(jiǎn)單,需要一個(gè)名為sysv-rc-conf的軟件包。使用“sudo apt-get install sysv-rc-conf”命令安裝軟件包,安裝完畢后在Shell終端輸入“sudo sysv-rc-conf”,出現(xiàn)一個(gè)文本界面。其中最左邊是系統(tǒng)的服務(wù)名稱,右邊依次是系統(tǒng)運(yùn)行級(jí)別16。每個(gè)系統(tǒng)服務(wù)在對(duì)應(yīng)的系統(tǒng)級(jí)別下都可以選
6、擇X表示在該級(jí)別下啟動(dòng),去掉X表示不啟動(dòng)。 用戶根據(jù)需要選擇以后,鍵入字母Q保存退出。,5.1.6 安裝主要的開發(fā)工具,Ubuntu Linux把主要的開發(fā)工具打包放在一起,安裝的時(shí)候直接安裝一個(gè)軟件包就可以把基本的開發(fā)工具和程序都裝到系統(tǒng)。 (1)安裝基本的開發(fā)工具。 (2)檢查開發(fā)工具是否安裝成功。,5.1.7 安裝其他的開發(fā)工具和文檔,主要開發(fā)工具安裝完畢后,僅能保證編譯和調(diào)試程序。對(duì)于大部分開源軟件來說,還需要autoconf、automake等工具。其他工具的安裝命令如下: sudo apt-get install autoconf automake1.9 sudo apt-get
7、install flex bison sudo apt-get install manpages-dev sudo apt-get install binutils-doc cpp-doc gcc-doc glibc-doc stl-manual,5.2 運(yùn)行在Windows上的Linux系統(tǒng),對(duì)于多數(shù)沒有使用過Linux系統(tǒng)的讀者來說,初次使用Linux開發(fā)會(huì)遇到許多問題。初學(xué)者可以通過首先在Windows系統(tǒng)下使用類似Linux的模擬環(huán)境熟悉一下。此外,在Linux模擬環(huán)境下可以完成大多數(shù)的Linux系統(tǒng)操作。Windows下的Linux模擬環(huán)境有許多,其中應(yīng)用最廣泛的是Cygwin系統(tǒng)。
8、,5.2.1 什么是Cygwin,Cygwin是Cygnus公司開發(fā)的運(yùn)行在Windows平臺(tái)的Linux系統(tǒng)模擬環(huán)境,該軟件是自由軟件。Cygwin對(duì)學(xué)習(xí)Linux使用,以及Windows和Linux系統(tǒng)之間應(yīng)用程序的移植都有很大幫助。在嵌入式開發(fā)領(lǐng)域,由于Cygwin的優(yōu)點(diǎn)被越來越多開發(fā)人員使用。 Cygwin的設(shè)計(jì)思想十分巧妙。與其他工具不同的是,Cygwin沒有逐個(gè)把Linux下的工具移植到Windows系統(tǒng),而是在Windows系統(tǒng)上設(shè)計(jì)了一個(gè)Linux系統(tǒng)調(diào)用中間層。Linux系統(tǒng)調(diào)用中間層的作用是在Windows系統(tǒng)模擬Linux的系統(tǒng)調(diào)用,之后只需要把Linux下的工具在Win
9、dows系統(tǒng)重新編譯,做一些較小的修改即可移植到Windows系統(tǒng)。 Cygwin幾乎移植了Linux系統(tǒng)常用的所有開發(fā)工具到Windows系統(tǒng),使用戶感覺就好像在Linux系統(tǒng)下工作,為用戶在Windows下開發(fā)Linux程序提供了保障。,5.2.2 如何安裝Cygwin,Cygwin的安裝比較簡(jiǎn)單。Cygwin支持網(wǎng)絡(luò)在線安裝和從本地安裝兩種模式,由于Cygwin的服務(wù)器在國(guó)外,建議國(guó)內(nèi)用戶下載Cygwin的本地安裝包從本地安裝。首先從下載軟件安裝包,本書使用的是2版本,其他版本的安裝過程相同。,5.2.3 安裝開發(fā)環(huán)境,Cygwin在安裝包中自帶了絕大多數(shù)的Linux軟件
10、和工具在Windows系統(tǒng)的移植版本。默認(rèn)的軟件包選項(xiàng)自帶了基本的開發(fā)工具,安裝好無需配置可以使用GNU的開發(fā)環(huán)境。為了驗(yàn)證是開發(fā)環(huán)境是否安裝成功,查看各開發(fā)工具的版本: $ gcc -version gcc (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not
11、 even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ gdb -version GNU gdb 6.3.50_2004-12-28-cvs (cygwin-special) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it
12、under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as i686-pc-cygwin.,5.3 Linux常用工具,目前大多數(shù)的Linux發(fā)行版都提供了圖形界面作為默認(rèn)界面,但是,命令行工具在Linux仍然很重要。Linux工具的特點(diǎn)是一個(gè)程序包含的功能盡量專一,不同的程序通過文件、管道等進(jìn)程間數(shù)據(jù)共享的方法可以組合使用
13、,達(dá)到處理復(fù)雜功能的目的。學(xué)習(xí)使用Linux系統(tǒng),命令行工具是基礎(chǔ)。GNU的命令行工具都有相同的特點(diǎn),初學(xué)者從一些基本的工具入手,比較容易學(xué)習(xí)。,5.3.1 Linux Shell和常用命令,使用過DOS系統(tǒng)和Windows中斷控制臺(tái)的人對(duì)命令行界面都有一定體會(huì)。與這些系統(tǒng)不同,Linux的命令行是通過一種叫做Shell的程序提供的。Shell程序負(fù)責(zé)接受用戶的輸入,解析用戶輸入的命令和參數(shù),調(diào)用相應(yīng)的程序,并給出結(jié)果和出錯(cuò)提示。Linux支持多種Shell程序,早期的Shell程序功能比較單一,現(xiàn)在主流的Linux發(fā)行版使用bash作為默認(rèn)的Shell。Bash支持功能強(qiáng)大的腳本、命令行歷史
14、記錄、終端彩色輸出等功能。Shell是Linux的外殼,用戶通過Shell使用系統(tǒng)提供的功能。 在Linux系統(tǒng)中,僅有內(nèi)核還是不夠的,需要應(yīng)用程序支持才能發(fā)揮內(nèi)核提供的功能。無論是Linux發(fā)行版還是嵌入式Linux開發(fā)板上的系統(tǒng),都提供了常見的一些命令。,5.3.1 Linux Shell和常用命令,5.3.1 Linux Shell和常用命令,5.3.2 文本編輯工具vi,Linux系統(tǒng)的文本編輯工具有許多,其中使用最廣泛的就是vi編輯器了。vi編輯器的功能十分強(qiáng)大,并且非常小,適合安裝在嵌入式系統(tǒng)使用。vi雖然功能強(qiáng)大,但是對(duì)于初學(xué)者來說,上手比較困難,初學(xué)者往往被vi奇怪的操作弄的失
15、去學(xué)習(xí)的信息。本書有關(guān)vi的使用僅涉及基本操作,目的是幫助初學(xué)者學(xué)習(xí)vi的基本操作。更高級(jí)的vi操作讀者可以參考vi的幫助文檔。 vi編輯器支持編輯模式、瀏覽模式、插入模式和可視模式四種模式。其中,插入模式包括了插入文本和替換文本兩種模式。當(dāng)啟動(dòng)vi的時(shí)候,默認(rèn)進(jìn)入瀏覽模式。瀏覽模式只能查看和刪除文檔內(nèi)容,但是不能修改;編輯模式用戶可以修改文檔內(nèi)容,與普通的文本編輯器相同;覆蓋模式下用戶輸入的內(nèi)容會(huì)覆蓋光標(biāo)所在位置的文本;可視模式提供了一種選擇文本的方法,可以使用鍵盤完成鼠標(biāo)選擇文本的功能。,5.3.2 文本編輯工具vi,5.3.3 搜索工具find和grep,find和grep是Linux系
16、統(tǒng)最常用的兩個(gè)搜索工具。這兩個(gè)工具不同的是find用于查找文件,grep用于查找文件內(nèi)容。 grep支持正則表達(dá)式(一種描述字符串特征的語法),通過在一個(gè)或多個(gè)文件中搜索字符串,符合的內(nèi)容被送到屏幕顯示。grep工具不會(huì)修改文件內(nèi)容。grep通過返回值表示搜索狀態(tài),如果搜索成功返回0,如果失敗返回1,如果搜索的文件不存在返回2。因此,grep可以用于shell腳本。,5.3.4 FTP工具,FTP是標(biāo)準(zhǔn)的互聯(lián)網(wǎng)文件傳輸協(xié)議,被廣泛的應(yīng)用于網(wǎng)絡(luò)文件傳輸,是不同機(jī)器間文件傳輸簡(jiǎn)單有效的方法。FTP協(xié)議允許傳輸二進(jìn)制和文本文件。在許多系統(tǒng)上都提供了FTP客戶端軟件,用來從FTP服務(wù)器下載或者上傳文件
17、。本節(jié)介紹的FTP客戶端工具可以在Linux系統(tǒng)和Windows系統(tǒng)上使用,是一種簡(jiǎn)單易用的文件傳輸手段。,5.3.4 FTP工具,5.3.5 串口工具minicom,串口是嵌入式開發(fā)使用最多的通信方式。Linux系統(tǒng)提供了一個(gè)串口工具minicom,可以完成復(fù)雜的串口通信工作。本節(jié)介紹minicom的使用。首先是安裝mimicom,在Ubuntu Linux系統(tǒng)shell下輸入“$ sudo apt-get install minicom”回車后即可安裝minicom軟件。軟件安裝好后,第一次使用之前需要配置minicom。,5.5 Windows常用工具,嵌入式開發(fā)的開發(fā)環(huán)境和運(yùn)行環(huán)境往往
18、不是同一臺(tái)機(jī)器。作為開發(fā)環(huán)境,Windows下通常運(yùn)行一些客戶端和代碼管理工具、文檔管理工具等。本節(jié)介紹Windows下常用的兩個(gè)工具。,5.5.1 代碼編輯管理工具SourceInsight,SourceInsight是一個(gè)功能強(qiáng)大的代碼管理工具。該工具可以輕松管理代碼龐大的工程,提供了豐富的編輯功能,支持函數(shù)、變量的類型定義查看、跳轉(zhuǎn)等。SourceInsight對(duì)C語言代碼支持最好,本節(jié)介紹SourceInsight安裝和使用。 1設(shè)置SourceInsight工程 2SourceInsight特色功能,5.5.2 串口工具XShell,在5.3.5節(jié)介紹了Linux下的串口工具minicom,本節(jié)介紹一個(gè)Windows下比較好用的串口工具XShell。實(shí)際上,XShell不僅支持串口連接,還可以連接Te
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 培訓(xùn)機(jī)構(gòu)住宿管理辦法
- 現(xiàn)代教育技術(shù)支持下的教學(xué)模式創(chuàng)新研究
- 杭州概算控制管理辦法
- 粉末冶金鈦合金快速燒結(jié)過程研究:微觀組織變化及其機(jī)制
- 社區(qū)治理中的“老有所為”與積極老齡化路徑探索
- 園區(qū)低頻噪音管理辦法
- “數(shù)實(shí)融合”在皮革行業(yè)高質(zhì)量發(fā)展中的作用研究
- 公務(wù)接待超市管理辦法
- 干濕和氧化條件下生物炭對(duì)溶液中Cd2吸附機(jī)制的研究
- 農(nóng)墾食品安全管理辦法
- 辦公室副主任考試試題及答案詳解
- 《電火花檢漏儀校準(zhǔn)規(guī)范試驗(yàn)報(bào)告》
- 克拉瑪依市公安局招聘警務(wù)輔助人員考試真題2024
- 供應(yīng)蒸汽服務(wù)合同協(xié)議書
- 中國(guó)機(jī)器人工程市場(chǎng)調(diào)研報(bào)告2025
- 2025年金融科技企業(yè)估值方法與投資策略在金融科技企業(yè)并購(gòu)中的應(yīng)用案例報(bào)告
- 《無人機(jī)介紹》課件
- 2025-2030中國(guó)硼酸行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及競(jìng)爭(zhēng)格局與投資研究報(bào)告
- 學(xué)校中層干部選拔聘用實(shí)施方案中層干部選聘實(shí)施方案2
- 生物必修1教師用書
- 園藝植物育種學(xué)知到課后答案智慧樹章節(jié)測(cè)試答案2025年春浙江大學(xué)
評(píng)論
0/150
提交評(píng)論