




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
嵌入式Linux開發(fā)環(huán)境搭建嵌入式系統(tǒng)定義回顧嵌入到對象體中的專用計算機系統(tǒng)三要素:嵌入、專用、計算機嵌入式系統(tǒng)的特點:由三要素引出嵌入性:嵌入到對象體系中,有對象環(huán)境要求專用性:軟、硬件按對象要求裁減計算機:實現(xiàn)對象的智能化功能嵌入式系統(tǒng)的應(yīng)用GEC2440開發(fā)板硬件構(gòu)成◆采用三星公司的S3C2440A-40,系統(tǒng)可穩(wěn)定運行在405MHZ,主頻最高可達530多MHz;◆64M字節(jié)的SDRAM,由兩片K4S561632組成,工作在32位模式下;◆64M字節(jié)NANDFlash,采用的是K9F1208,可以兼容16M,32M或128M字節(jié);◆10M以太網(wǎng)接口,采用的是CS8900Q3,帶傳輸和連接指示燈;◆LCD和觸摸屏接口;◆2個USBHOST,S3C2440內(nèi)置的,符合USB1.1,其中一個USBHOST接口是復(fù)用的;◆一個USBDevice,S3C2440內(nèi)置的,符合USB1.1;◆支持音頻輸入和音頻輸出,音頻模塊由S3C2440的IIS音頻總線接口和UDA1341音頻編碼解碼器組成,板上還集成了一個MIC,用于音頻輸入;◆2路UART串行口,波特率可高達115200bps,并具有RS232電平轉(zhuǎn)換電路,其中一路為完整串口;◆SD卡接口,兼容SDMemoryCardProtocol1.0和SDIOCardProtocol1.0;◆Embedded-ICE(20腳標(biāo)準(zhǔn)JTAG)接口和并口式JTAG接口,支持ADS,SDT軟件的下載◆和調(diào)試以及FLASH的燒寫;◆串行EEPROM:AT24C024KbytesEEPROM,IIC接口;◆SPI接口;◆數(shù)字?jǐn)z像頭接口;◆蜂鳴器,4個LED燈;◆4個按鍵;◆開關(guān)電源,分布式電源供電;◆3V鋰電池,提供RTC電源;GEC2440開發(fā)板使用啟動LINUX接上電源,接上交叉串口線,連上交叉網(wǎng)線,設(shè)置好串口工具串口工具的參數(shù):波特率115200,8位,無奇偶位,停止位1,無硬件流。開發(fā)板上電后,BootLoader等待一段時間,如果沒有輸入,將會自動啟動這個linux系統(tǒng)。這時將在串口和LCD屏(選配模塊)有信息顯示在串口,將進入Linux的命令模式下,在LCD屏上,將有QT界面的顯示,首次進入QT,需要先進行觸摸屏的校準(zhǔn)。嵌入式Linux開發(fā)環(huán)境嵌入式系統(tǒng)通常是一個資源受限的系統(tǒng),因此直接在嵌入式系統(tǒng)的硬件平臺上編寫軟件比較困難,有時候甚至是不可能的。解決辦法:首先在通用計算機上編寫程序;然后通過本地編譯或者交叉編譯生成目標(biāo)平臺上可以運行的二進制代碼格式;最后再下載到目標(biāo)平臺上的特定位置上運行。嵌入式Linux開發(fā)環(huán)境需要交叉開發(fā)環(huán)境(CrossDevelopmentEnv)的支持是嵌入式應(yīng)用軟件開發(fā)時的一個顯著特點。交叉編譯器只是交叉開發(fā)環(huán)境的一部分。交叉開發(fā)環(huán)境是指編譯、鏈接和調(diào)試嵌入式應(yīng)用軟件的環(huán)境,它與運行嵌入式應(yīng)用軟件的環(huán)境有所不同,通常采用宿主機-目標(biāo)機模式。嵌入式Linux開發(fā)環(huán)境宿主機-目標(biāo)板模式宿主機(Host)是一臺通用計算機,它通過串口或者以太網(wǎng)接口與目標(biāo)機通信。宿主機的軟硬件資源比較豐富,能夠大大提高嵌入式應(yīng)用軟件的開發(fā)速度和效率。目標(biāo)板(Target),應(yīng)用程序?qū)嶋H運行的平臺,或者是能夠替代實際運行環(huán)境的仿真系統(tǒng)。軟硬件資源通常都比較有限。嵌入式Linux開發(fā)環(huán)境宿主機-目標(biāo)機模式首先利用宿主機上豐富的資源和良好的開發(fā)環(huán)境開發(fā)和仿真調(diào)試目標(biāo)機上的軟件;然后通過串口或者以網(wǎng)絡(luò)將交叉編譯生成的目標(biāo)代碼傳輸并裝載到目標(biāo)機上,并在監(jiān)控程序或者操作系統(tǒng)的支持下利用交叉調(diào)試器進行分析和調(diào)試;最后目標(biāo)機在特定環(huán)境下脫離宿主機單獨運行。
嵌入式Linux開發(fā)環(huán)境cross-3.4.4.tar.bz2包的安裝:mkdir/usr/local/armcpcross-3.4.4.tar.bz2/usr/local/armtarjxvfcross-3.4.4.tar.bz2-C/usr/local/arm添加環(huán)境變量在文件/etc/bashrc文件最后添加:
exportPATH=/usr/local/arm/3.4.4/bin:$PATH使得配置立刻生效,需要使用source命令重新讀取配置文件。工具鏈安裝完成。嵌入式Linux開發(fā)環(huán)境GNU交叉工具鏈的常用工具介紹
遠程訪問目標(biāo)板如何觀察應(yīng)用程序在目標(biāo)板的運行情況,即查看程序的輸出信息?通過串口線連接宿主機和目標(biāo)板。配置串口做為目標(biāo)板的輸出設(shè)備。例如在交叉編譯目標(biāo)板的linux內(nèi)核時,配置指定終端為串口:noinitrdroot=/dev/mtdblock2init=/linuxrcconsole=ttySAC0,1152002.4的內(nèi)核為console=ttyS0在宿主機上通過串口通信軟件查看目標(biāo)板系統(tǒng)的運行情況。遠程訪問目標(biāo)板遠程訪問目標(biāo)板minicom的使用選擇串口 選擇菜單中的“Serialportsetup”,按回車,進入如下圖所示界面。按“A”以設(shè)置“SerialDevice”(串口1->/dev/ttyS0,串口2->/dev/ttyS1)遠程訪問目標(biāo)板遠程訪問目標(biāo)板遠程訪問目標(biāo)板minicom的使用設(shè)置無流控制(無硬件、無軟件)
按回車退回到上一級菜單,按“F”鍵設(shè)置“HardwareFlowControl”為“NO”,其他選項使用缺省值。遠程訪問目標(biāo)板遠程訪問目標(biāo)板minicom的使用退出minicom 同時按下“Ctrl+A”鍵,緊接著再按下“Q”鍵,在跳出的窗口中,選擇“Yes”。遠程訪問目標(biāo)板下載程序映象到目標(biāo)板通過串口下載使用三星公司的DNW軟件。設(shè)置波特率115200、端口號、下載地址0x30200000上電啟動開發(fā)板,進入BIOS界面選擇2串口下載點擊“serialport”菜單,選擇“Transmit”選項下載程序映象到目標(biāo)板通過掛載NFS方式下載NFS服務(wù)就是將宿主機的一個目錄通過網(wǎng)絡(luò)可以被掛載到其他計算機上,并且作為其他計算機的一個目錄。在嵌入式開發(fā)中,通過NFS可以很方便的將修改的文件通過NFS傳輸?shù)侥繕?biāo)板上。不用反復(fù)燒寫鏡像文件。通過ifconfig命令修改IPIfcofigeth0XXX.XXX.XXX.XXXnetmaskXXX.XXX.XXX.XXX下載程序映象到目標(biāo)板通過掛載NFS方式下載NFS的使用分服務(wù)器端和客戶端服務(wù)器端提供要共享的文件,客戶端通過掛載“mount”實現(xiàn)對共享文件的訪問操作。
mount192.168.0.1:/home/nfs/tmp/testNFS服務(wù)器端通過讀取配置文件/etc/exports決定所共享的文件目錄。在超級終端或者minicom下通過NFS掛載宿主機目錄 mount–onolock192.168.1.1:/home/nfs/tmp/test卸載NFS文件系統(tǒng)
umount/tmp/test
下載程序映象到目標(biāo)板通過掛載NFS方式下載重啟NFS服務(wù):servicenfsrestart通過showmount命令來查看開放的目錄。showmount–elocalhost
進行網(wǎng)絡(luò)設(shè)置,將eth0的網(wǎng)絡(luò)地址指定為192.168.1.1,掩碼255.255.255.0,網(wǎng)關(guān)不需要。設(shè)置完之后要重啟網(wǎng)絡(luò)。 Serviecnetworkrestart關(guān)閉防火墻,選擇系統(tǒng)設(shè)置->安全級別,將安全級別改為“無防火墻”。去掉iptables服務(wù):選擇系統(tǒng)設(shè)置->服務(wù)器設(shè)置->服務(wù),在彈出的界面上將optables前的“√”去掉。將主機上的目錄掛載到另一個目錄下,測試NFS是否設(shè)置成功。下載程序映象到目標(biāo)板通過掛載NFS方式下載配置共享文件的語法:每一行由輸出路徑,客戶名列表以及每個客戶名后緊跟的訪問選項構(gòu)成:[共享的目錄][主機名或IP(參數(shù),參數(shù))][共享的目錄][IP1(參數(shù)1,參數(shù)2)][IP2(參數(shù)3,參數(shù)4)]#vi/etc/exports在里面輸入/home/nfs192.168.1.*(rw,sync,no_root_squash),保存退出;/home/nfs:是宿主機上共享的文件夾;例如是/usr/local/192.168.1.*:是所支持的目標(biāo)版(客戶端)的IP地址;為了方便我用的*表示該網(wǎng)段的任何地址都可以訪問,可以用本機測試rw:開發(fā)板(客戶端)可以讀寫訪問共享的文件夾;sync:所有數(shù)據(jù)在請求時寫入共享;no_root_squash:root用戶具有根目錄的完全管理訪問權(quán)限意思是:允許IP為192.168.1.*的ARM9開發(fā)系統(tǒng)將宿主機上的/home/nfs這個目錄mount到開發(fā)系統(tǒng)下下載程序映象到目標(biāo)板mount文件系統(tǒng)掛載命令Linux系統(tǒng)在使用光盤、軟盤或U盤時,必須先執(zhí)行掛載(mount)命令。掛載命令會將這些存儲介質(zhì)指定成系統(tǒng)中的某個目錄,以后直接訪問相應(yīng)目錄即可讀寫存儲介質(zhì)上的數(shù)據(jù)??梢話燧dLinux分區(qū)、Windows分區(qū)、U盤、光盤、映像文件、網(wǎng)絡(luò)文件系統(tǒng)、綁定umount卸載文件系統(tǒng)
umount[]umount[mountpoint]下載程序映象到目標(biāo)板ifconfig網(wǎng)絡(luò)接口設(shè)置命令查看網(wǎng)卡的IP設(shè)置ifconfig啟用某網(wǎng)卡ifconfig[netif]up禁用用某網(wǎng)卡ifconfig[netif]down設(shè)置網(wǎng)卡IP地址ifconfig[netif][address]route路由配置命令可用于設(shè)置網(wǎng)關(guān)routeadddefaultgw[gatewayaddress]routedeldefaultgw[gatewayaddress]/etc/resolve.conf此文件用于配置DNSnameserverxxx.xxx.xxx.xxx交叉調(diào)試器嵌入式軟件開發(fā)過程中的交叉調(diào)試與本地軟件開發(fā)過程中的調(diào)試方式有所差別。本地軟件開發(fā)調(diào)試器與被調(diào)試的程序往往運行在同一臺計算機上。調(diào)試器是一個單獨運行著的進程,它通過操作系統(tǒng)提供的調(diào)試接口來控制被調(diào)試的進程。嵌入式軟件開發(fā)調(diào)試時采用的是在宿主機和目標(biāo)機之間進行的交叉調(diào)試。調(diào)試器運行在宿主機,但被調(diào)試的進程卻是運行在目標(biāo)板。調(diào)試器和被調(diào)試進程通過串口或者網(wǎng)絡(luò)進行通信,調(diào)試器可以控制、訪問被調(diào)試進程,讀取被調(diào)試進程的當(dāng)前狀態(tài),并能夠改變被調(diào)試進程的運行狀態(tài)。
交叉調(diào)試器交叉調(diào)試器的結(jié)構(gòu)交叉調(diào)試器Gdb調(diào)試器是一款GNU開發(fā)組織并發(fā)布的UNIX/Linux下的程序調(diào)試工具。Gdb讓您能夠看到一個程序的內(nèi)部結(jié)構(gòu),指出變量的值,設(shè)置斷點并在源碼中進行單步執(zhí)行。要使用gdb進行調(diào)試,一定要在編譯時加上調(diào)試選項“-g”。#gcc-gtest.c-otest#gdbtest交叉調(diào)試器制作交叉調(diào)試器解壓源碼包
tarjxfgdb-6.5.tar.bz2配置cdgdb-6.5./configure--target=arm-linux--prefix=/usr/local/arm/3.4.4/交叉調(diào)試器制作交叉調(diào)試器編譯 make安裝 makeinstall 在/usr/local/arm/3.4.4/bin/目錄下生成arm-linux-gdb工具。交叉調(diào)試器制作交叉調(diào)試器編譯生成針對arm處理器的gdbserver進入gdb源代碼包中的gdbserver目錄 cdgdb-6.5 cdgdb/gdbserver配置生成gdbserver chmodu+xconfigure./configure--host=arm-linuxexportPATH=/usr/local/arm/3.4.4/bin:$PATHmakeCC=arm-linux-gcc生成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院收費合同范本
- 農(nóng)體產(chǎn)品加工合同范本
- 醫(yī)院制氧機采購合同范本
- 絲接頭采購合同范本
- 公司買賣合同范本
- 買賣小商鋪合同范本
- 企業(yè)房產(chǎn)轉(zhuǎn)讓合同范本
- 單位考察合同范本
- 信息化合同范本
- 公司不執(zhí)行合同范本
- 2024年山東傳媒職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 員工互評表(含指標(biāo))
- 《電子商務(wù)基礎(chǔ)》課件-1.電子商務(wù)認知與發(fā)展
- 2024年浙江省中考社會(開卷)真題卷及答案解析
- 2024年煙草知識考試題庫
- 《邊教書邊成長》讀書分享課件
- 統(tǒng)編版語文八年級下冊全冊大單元整體教學(xué)設(shè)計表格式教案
- 小學(xué)科學(xué)人教鄂教版四年級下冊全冊教案2023春
- 模具數(shù)控加工技術(shù)概述
- 配電網(wǎng)工程典型設(shè)計10kV電纜分冊
- 質(zhì)量監(jiān)督檢查整改回復(fù)單格式(共4頁)
評論
0/150
提交評論