第一篇:ARM linux嵌入式開發(fā)環(huán)境安裝參考手冊(cè)
基礎(chǔ)是你已經(jīng)安裝了Ubuntu,以及相關(guān)軟件:超級(jí)終端minicom 及C/C++ compiler environment。在Ubuntu上可使用下面終端命令安裝 minicoom和編譯環(huán)境。
#sudo apt-get install minicom #sudo apt-get install build-essential
Step 1:
將光盤 Linux 目錄中的 arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz 復(fù)制到 Lubuntu的當(dāng)前目錄下,執(zhí)行解壓命令: #sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C / 注意:C 后面有個(gè)空格,并且 C 是大寫的,它是英文單詞“Change”的第一個(gè)字母,在此是改變目錄的意思。
這樣 arm-linux-gcc 的相關(guān)文件就Copy到root用戶的Opt目錄中
Step 2:
把編譯器路徑加入系統(tǒng)環(huán)境變量,運(yùn)行命令 #sudo gedit ~/.bashrc 編 輯 ~/.bashrc 文 件, 注 意 “ bashrc ” 前面 有 一 個(gè) “.” ,修 改 最 后 一 行 為
export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin 注意路徑一定要寫對(duì),否則將不會(huì)有效。如圖,保存退出。
重新登錄系統(tǒng)(不必重啟機(jī)器,開始->logout即可),使以上設(shè)置生效,在命令行輸入arm-linux-gcc –v,會(huì)出現(xiàn)如下信息,這說明交叉編譯環(huán)境已經(jīng)成功安裝。Step 3:
編譯鏈接 arm-qte-4.7.0
1)解壓包到自己制定的目錄,例如 arm-qte-4.7.0 2)終端中運(yùn)行./build-all(首先,注意不能雙擊運(yùn)行,必須在終端中運(yùn)行;其次,不使用 sudo)大約要安裝2個(gè)小時(shí)
當(dāng)運(yùn)行到出現(xiàn)如下提示后:
cd src/tools/bootstrap/ && make-f Makefile install make[1]: 正在進(jìn)入目錄 `/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/bootstrap' make[1]: 沒有什么可以做的為 `install'。make[1]:正在離開目錄 `/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/bootstrap' cd src/tools/moc/ && make-f Makefile install make[1]: 正在進(jìn)入目錄 `/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/moc' mkdir: 無(wú)法創(chuàng)建目錄 “/usr/local/Trolltech”: 權(quán)限不夠 make[1]: *** [install_target] 錯(cuò)誤 1 make[1]:正在離開目錄 `/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/moc' make: *** [sub-moc-install_subtargets-ordered] 錯(cuò)誤 2./build-all: 第 12 行: cd: /usr/local/Trolltech/QtEmbedded-4.7.0-arm: 沒有那個(gè)文件或目錄
在終端中運(yùn)行:
cd qt-everywhere-opensource-src-4.7.0 sudo make install
加入環(huán)境變量(步驟類似Step2,在最后一行再加入)#sudo gedit ~/.bashrc export PATH=$PATH: /usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin
Step 4:
下載和安裝 Qt SDK for Open Source C++ development on Linux/X11 32-bit-Offline Installer(已經(jīng)上傳到我們的共享目錄中)
On Linux/Unix, you need to make the file executable in order to run it.You can either do this with your desktop's file manager or, at the command line, type:
在終端中運(yùn)行:
chmod u+x Qt_SDK_Lin32_offline_v1_1_2_en.run
You should now be able to execute the file as normal.You can do this from the command line by typing:
在終端中運(yùn)行:
./Qt_SDK_Lin32_offline_v1_1_2_en.run
隨即進(jìn)行圖形化的Qt_SDK的安裝(自己定制全安裝),其包含了 creator,designer等等。
Step 5:
配置QT Creator以支持開發(fā)和在desktop和arm上程序的發(fā)布。
在打開的QT Creator進(jìn)入tools-> options,在Qt4下加入支持ARM的qmake命令的路徑,如圖:
然后要將交叉編譯的工具鏈加入到Tool Chains,如下圖:
以后新建項(xiàng)目QT Creator時(shí)會(huì)自動(dòng)包含對(duì)ARM的編譯選項(xiàng)。
如果對(duì)ARM的編譯失敗,可以打開Projects,選擇ARM的選項(xiàng),展開build environment,檢查PATH一項(xiàng)中是否有/usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin,沒有則加入;注意分隔用冒號(hào)。
檢查編譯后的文件(例如HelloARM)是否在ARM上運(yùn)行的方法: #file HelloARM 顯示出帶有ARM的信息即可。
將該文件拷貝到SD卡中可以通過minicom在板子上運(yùn)行。
Step 6:
配置超級(jí)終端以及通過超級(jí)終端調(diào)試 在終端輸入minicom –s 配置端口號(hào)為ttyS0,Hardware Flow Control改為No;然后退出(不是退出minicom);minicom初始化后顯示root命令行即成功。如果不成功端口號(hào)改為ttyS1重試。
要保存配置,用sudo minicom進(jìn)入進(jìn)行配置。
要用minicom的指令退出,強(qiáng)行關(guān)閉終端會(huì)讓端口無(wú)法釋放。
通過minicom運(yùn)行在SD卡上的程序步驟: #cd sdcard #./HelloARM –qws& 可以在板子上看到運(yùn)行結(jié)果。
(目前存在的問題,無(wú)法進(jìn)行輸入和交互.)maybe 1)2)
需要配置目標(biāo)機(jī)的環(huán)境 需要準(zhǔn)備一個(gè)sh文件
未完待續(xù)…
Step 7:
部署到arm上直接運(yùn)行
基本原理是:修改宿主機(jī)上arm 版本的 QtE-4.7.0,然后部署到目標(biāo)機(jī)(arm板)上。
宿主機(jī)上QtE-4.7.0的目錄是: /usr/local/Trolltech/QtEmbedded-4.7.0-arm 假設(shè)
1)我們編譯的arm應(yīng)用程序位于當(dāng)前用戶的 Fshy_Arm_Build目錄, 其包括兩個(gè)文件:input.txt 和 test 2)我們已經(jīng)在 QtE-4.7.0的demos目錄中建立了應(yīng)用程序的目錄wudang/fshy
1.進(jìn)入我們的程序的輸出目錄:
# cd Fshy_Arm_Build
2.將input.txt 和 test 文件copy到目錄 #
3.編輯部署文件,config.xml
該文件位于 demos/embedded/fluidlauncher目錄下
#
修改后的文件如下:
注意:
1)需要根據(jù)應(yīng)用程序,準(zhǔn)備一張Logo圖片,其大小需要符合要求,格式可以是jpg或者png等,例如 wudang.jpg 2)將其copy到demos/embedded/fluidlauncher/screenshots
4.回到本用戶的根目錄,修改 mktarget 文件,并打包。
# cd ~ # cd arm-qte-4.7.0 # gedit mktarget
在文件中添加需要打包的文件:
usr/local/Trolltech/QtEmbedded-4.7.0-arm/demos/wudang/fshy/test usr/local/Trolltech/QtEmbedded-4.7.0-arm/demos/wudang/fshy/input.txt usr/local/Trolltech/QtEmbedded-4.7.0-arm/demos/embedded/fluidlauncher/screenshots/wudang.png EOF ` tar cfvz $TARGET_DIR/target-qte-4.7.0.tgz $list
關(guān)閉文件并保存,運(yùn)行mktarge
# sudo./mktarget
查看包文件target-qte-4.7.0.tgz中你所期望的文件是否已經(jīng)都有。
Ok的話,將該文件拷貝到SD卡中。
5.使用串口進(jìn)行部署
清除目標(biāo)機(jī)(arm板)上原有的 # rm-r /usr/local/Trolltech
解壓SD卡中的到目標(biāo)機(jī)
# tar xvzf /sdcard/target-qte-4.7.0.tgz-C /
6.在目標(biāo)機(jī)上啟動(dòng) Start Qt4.7.0 可以看到我們應(yīng)用程序的logo,點(diǎn)擊該圖標(biāo)即可啟動(dòng)我們的應(yīng)用程序。
Step 8: 如何支持交叉調(diào)試 未完待續(xù)…
基于網(wǎng)絡(luò)來部署和控制目標(biāo)機(jī)器
1)以太網(wǎng)絡(luò)設(shè)置
在子類“友善之臂”程序中,點(diǎn)“網(wǎng)絡(luò)設(shè)置”圖標(biāo)打開相應(yīng)的界面,進(jìn)行常見的網(wǎng)絡(luò)參數(shù)設(shè)置:
點(diǎn)“Save”按鈕可以保存以上參數(shù),并馬上生效,重新啟動(dòng)開發(fā)板也可以保留此次的更改設(shè)定,與該設(shè)置程序相對(duì)應(yīng)的參數(shù)文件為/etc/eth0-setting。
2)如何使用 Telnet 登錄開發(fā)板 網(wǎng)卡的 MAC 地址
– 此地址由驅(qū)動(dòng)程序通過軟件設(shè)定,是可以修改的 DNS解析服務(wù)器IP – 出廠缺省為 192.168.1.1,和網(wǎng)關(guān)地址相同 網(wǎng)關(guān)
– 出廠缺省為 192.168.1.1 子網(wǎng)掩碼
– 出廠缺省為 255.255.255.0 靜態(tài)的 IP 地址
– 出廠缺省為 192.168.1.230 11
開發(fā)板開機(jī)正常運(yùn)行后,其實(shí)已經(jīng)啟動(dòng)了一個(gè) Telnet 服務(wù),因此用戶也可以通過網(wǎng)絡(luò)遠(yuǎn)程登錄開發(fā)板。
在宿主機(jī)的終端窗口輸入 # telnet 192.168.1.230
以root用戶登錄目標(biāo)機(jī)系統(tǒng)(不需要密碼)# root
Others: sudo nautilus
第二篇:嵌入式Linux開發(fā)環(huán)境搭建
第一章
Ubuntu 8.10的安裝和網(wǎng)絡(luò)配置
1.安裝虛擬機(jī)軟件Vmware 6.0.2 虛擬機(jī)安裝版本Vmware 6.0.2的版本
在 winxp操作系統(tǒng)下用鼠標(biāo)雙擊VMware-workstation-6.0.2-59824圖標(biāo),開始安裝虛擬機(jī)Vmware,如下圖所示:
雙擊VMware-workstation-6.0.2-59824圖標(biāo),出現(xiàn)vmware的安裝界面,所有的選項(xiàng)都采用默認(rèn)值,用鼠標(biāo)點(diǎn)【下一步】,然后出現(xiàn)安裝進(jìn)度條,系統(tǒng)開始安裝vmware,等待安裝完成后,出現(xiàn)如下安裝完成界面:
用鼠標(biāo)點(diǎn)【Finish】,虛擬機(jī)安裝完成。系統(tǒng)提示重新啟動(dòng)計(jì)算機(jī),選擇【是】重新啟動(dòng)計(jì)算機(jī),電腦重新啟動(dòng)后,虛擬機(jī)安裝完成。
2.新建虛擬機(jī)
打開Vmware虛擬機(jī)軟件,選【File】->【New】->【Virtual Machine】,彈出新建虛擬機(jī)向?qū)?duì)話框,注意以下幾個(gè)重要的選項(xiàng),其他都采用默認(rèn)選項(xiàng)即可。選擇操作系統(tǒng)和版本,如下圖所示:
選擇虛擬機(jī)名稱和存放的路徑,如下圖所示:
設(shè)置虛擬機(jī)硬盤大小為20G ,如下圖所示:
點(diǎn)擊【完成】按鈕,這樣我們就新建了一個(gè)虛擬機(jī),下面我們?cè)O(shè)置一下虛擬機(jī)的內(nèi)存,步驟如下:
點(diǎn)擊虛擬機(jī)Vmware的【VM】->【settings】時(shí)菜單,彈出虛擬機(jī)設(shè)置對(duì)話框,設(shè)置虛擬機(jī)使用的內(nèi)存為512M或1024M,如下圖所示:
點(diǎn)擊【OK】按鈕,這樣我們就新建了一個(gè)虛擬機(jī),該虛擬機(jī)的硬盤為20G, 內(nèi)存為512M.接著我們就可以在該虛擬機(jī)上安裝ubuntu操作系統(tǒng)了。
注: 鍵盤和鼠標(biāo)控制權(quán)在虛擬機(jī)和Windows系統(tǒng)之間的切換是通過組合鍵【Ctrl】+【Alt】來實(shí)現(xiàn)的。安裝Linux操作系統(tǒng)ubuntu Ubuntu安裝版本 ubuntu 8.10 點(diǎn)擊vmware軟件工具欄上的【綠色箭頭】啟動(dòng)虛擬機(jī),如下圖所示:
點(diǎn)擊【VM】->【Removable Devices】->【CD_ROM】->【Edit】菜單,彈出CD_ROM設(shè)備對(duì)話框,如下圖所示:
在Connection中選中【Use ISO image】,設(shè)置ubuntu軟件安裝包的路徑,如上圖所示。然后重新啟動(dòng)虛擬機(jī),開始在虛擬機(jī)上安裝ubuntu操作系統(tǒng)。重新啟動(dòng)虛擬機(jī)后,出現(xiàn)如下ubuntu安裝界面:
選擇語(yǔ)言版本為【English】,然后按【回車】鍵,出現(xiàn)如下安裝界面:
選擇Install Ubuntu,然后【回車】,開始安裝Ubuntu,出現(xiàn)ubuntu安裝進(jìn)度界面如下:
在出現(xiàn)的安裝向?qū)е饕O(shè)置一下城市和用戶名密碼,如下圖所示,其余的安裝對(duì)話框都采用默認(rèn)值,選擇【Forward】即可。設(shè)置安裝所在城市
當(dāng)出現(xiàn)安裝所在城市對(duì)話框時(shí),選擇【ShangHai】,通過選擇地圖上的點(diǎn)選擇,如下圖所示:
設(shè)置系統(tǒng)的用戶名和密碼
系統(tǒng)安裝過程中出現(xiàn)設(shè)置用戶名和密碼對(duì)話框時(shí),設(shè)置登陸到ubuntu的用戶名和密碼,如下圖所示:
然后點(diǎn)擊【Forward】按鈕,在出現(xiàn)的最后安裝向?qū)?duì)話框中點(diǎn)擊【Install】按鈕,開始安裝ubuntu,ubuntu安裝完成后,最后出現(xiàn)安裝完成對(duì)話框,如下圖所示:
點(diǎn)擊【Restart now】開始重新啟動(dòng)ubuntu系統(tǒng)。在系統(tǒng)重啟過程中出現(xiàn)如下界面:
提示移走光驅(qū)中的磁盤后按回車鍵,這時(shí)我們點(diǎn)擊【VM】->【Removable Devices】->【CD_ROM】->【Edit】菜單,彈出CD_ROM設(shè)備對(duì)話框,如下圖所示:
在Connection中選中【Use physical drive】,點(diǎn)【OK】按鈕,然后按【回車】即可,系統(tǒng)正常啟動(dòng),在出現(xiàn)輸入用戶名和密碼提示框時(shí),輸入剛才在安裝過程中設(shè)置的用戶名和密碼即可。這樣就進(jìn)入了我們剛安裝好的ubuntu操作系統(tǒng)。
3.安裝Vmware tools工具軟件
Vmware tools工具軟件用于在window系統(tǒng)和虛擬機(jī)的ubuntu系統(tǒng)之間進(jìn)行數(shù)據(jù)傳遞,安裝好Vmware tools之后,鼠標(biāo)可以在window系統(tǒng)和虛擬機(jī)之間平滑切換,在window系統(tǒng)和虛擬機(jī)之間可以直接通過【復(fù)制】和【粘貼】的方式進(jìn)行數(shù)據(jù)交換。Vmware tools的安裝步驟如下: 1)設(shè)置Vmware tool軟件的路徑為 C:Program FilesVMwareVMware Workstationlinux.iso.點(diǎn)擊【VM】->【Removable Devices】->【CD_ROM】->【Edit】菜單,彈出CD_ROM設(shè)備對(duì)話框,如下圖所示:
點(diǎn)擊【OK】確定,這時(shí)在ubuntu的桌面上出現(xiàn)一個(gè)光驅(qū)圖標(biāo),如下圖所示:
雙擊Vmware Tools圖標(biāo),打開光盤文件夾,可以看到在該光盤目錄下看到VmwareTools-6.0.2-59824.tar.gz文件,如下圖所示:
返回系統(tǒng)桌面,在點(diǎn)擊系統(tǒng)菜單【Places】->【Home Folder】,進(jìn)入用戶目錄cao,在用戶目錄下建立Soft目錄,把VmwareTools-6.0.2-59824.tar.gz復(fù)制到Soft目錄下。
在安裝VmwareTools-之前我們要先解鎖root用戶,點(diǎn)擊桌面系統(tǒng)菜單 【System】->【Administration】->【Users and Groups】,彈出用戶設(shè)置對(duì)話框如下:
選中root用戶,然后點(diǎn)擊下面的 【Unlock】,在點(diǎn)【Close】按鈕關(guān)閉對(duì)話框。接著開始設(shè)置root用戶密碼,點(diǎn)擊桌面系統(tǒng)菜單 【Applications】->【Accessories】->【Terminal】,進(jìn)入用戶字符終端操作界面如下圖所示:
按照上圖所示輸入命令sudo passwd root設(shè)置root用戶密碼; 提示password for cao時(shí),輸入 cao 用戶密碼;
提示 Enter new UNIX password時(shí),輸入root用戶密碼;
提示 Retype new UNIX password時(shí),再次輸入root用戶密碼; 最后顯示password更新成功。
最后輸入命令 su切換到root用戶,在提示Password時(shí),輸入我們剛才設(shè)置的root用戶密碼即可,然后我們可以看到我們成功切換到root用戶了,命令提示符由以cao開頭改為以root開頭了,表示我們已經(jīng)成功切換到了root用戶。
安裝Vmware Tools工具 打開ubuntu 字符操作終端,進(jìn)入到Soft目錄,解壓VmwareTools-6.0.2-59824.tar.gz軟件包,解壓完成后,我們看到在Soft目錄下生成了一個(gè)新的文件夾vmware-tools-distrib,如下圖所示:
執(zhí)行su命令切換到root用戶,執(zhí)行cd vmware-tools-distrib命令進(jìn)入到vmware-tools-distrib目錄,執(zhí)行l(wèi)s命令查看該文件夾下的文件,我們可以看到vmware-tools-distrib文件夾下有一個(gè)vmware-install.pl安裝腳本文件,在操作終端下通過輸入命令./ vmware-install.pl執(zhí)行該腳本文件安裝vmware-tools 即可。如下圖所示:
然后開始安裝vmware Tools工具,安裝過程中出現(xiàn)一些選項(xiàng)全部采用默認(rèn)值,一直按【回車】即可,最后操作終端輸出如下提示安裝成功信息,如下圖所示:
Vmware Tools安裝成功后,我們就可以在Windows和虛擬機(jī)的ubuntu之間直接通過【復(fù)制】和【粘貼】命令進(jìn)行數(shù)據(jù)交換了。
網(wǎng)絡(luò)配置
Ubuntu的虛擬機(jī)安裝模式下的網(wǎng)絡(luò)配置
虛擬機(jī)下安裝好ubuntu之后,在【system】下點(diǎn)【Network Configuration】,彈出Network Connections對(duì)話框:
選取Wired選項(xiàng)卡,選中eth0, 點(diǎn) Edit 按鈕,彈出如下網(wǎng)絡(luò)接口eth0編輯對(duì)話框:
注:如果此處沒有顯示eth0網(wǎng)絡(luò),則在windows 下手工配置網(wǎng)絡(luò)接口的IP地址,然后再重新啟動(dòng)虛擬機(jī),再進(jìn)入上述網(wǎng)絡(luò)配置對(duì)話框,一般都會(huì)出現(xiàn)eth0網(wǎng)絡(luò)。
在網(wǎng)絡(luò)接口eth0編輯對(duì)話框配置eth0的IP address 為 192.168.0.220 ,Netmask為255.255.255.0,Gateway 為 192.168.0.1, DNS為 218.2.135.1,配置完成后,點(diǎn)OK即可。IP地址,網(wǎng)絡(luò)掩碼,網(wǎng)關(guān)的具體配置值需要根據(jù)實(shí)際網(wǎng)絡(luò)環(huán)境配置。
注:如果這樣配置不能上網(wǎng),可以嘗試通過DHCP方式獲取IP地址,DNS還是手動(dòng)設(shè)置。
配置完成后,重新Enable Networking即可,如下圖所示:
這樣就完成了Ubuntu的網(wǎng)絡(luò)配置,配置完成后,就可以在ubuntu里面打開瀏覽器上網(wǎng)了。
設(shè)置軟件源服務(wù)器
在全球很多國(guó)家都設(shè)置有為ubuntu系統(tǒng)服務(wù)的服務(wù)器,上面有很多為ubuntu提供的應(yīng)用軟件,我們通過設(shè)置軟件源服務(wù)器,來實(shí)現(xiàn)在線通過網(wǎng)絡(luò)完成軟件的安裝,即通過一條命令實(shí)現(xiàn)軟件的搜索,下載和安裝,同時(shí)會(huì)安裝該軟件需要的依賴文件,同過在網(wǎng)絡(luò)來安裝ubuntu上的應(yīng)用軟件非常方便。Ubuntu軟件源服務(wù)器的設(shè)置步驟如下:
1)在桌面系統(tǒng)菜單上點(diǎn)擊【System】->【Administration】->【Software Source】,彈出軟件源設(shè)置對(duì)話框如下:
在Download from 里選擇軟件源服務(wù)器,我們一般選擇 Taiwan的倒數(shù)第1或第2個(gè)服務(wù)器,如上圖所示,選擇好軟件源服務(wù)器后,點(diǎn)【Close】按鈕,彈出如下對(duì)話框提示可獲得的軟件包信息已經(jīng)過時(shí),需要重新更新。
點(diǎn)擊【Reload】按鈕更新可獲得的軟件包信息。更新完成后,我們就完成了ubuntu軟件源服務(wù)器的設(shè)置。
安裝libncurses5-dev軟件包 在ubuntu環(huán)境下,我們用命令make menuconfig來對(duì)內(nèi)核進(jìn)行裁剪和配置時(shí),需要用終端模式下的字符菜單支持軟件包libncurses5-dev,下面我們就通過網(wǎng)絡(luò)的方式來安裝libncurses5-dev軟件包,安裝的前提是已經(jīng)設(shè)置了軟件源和ubuntu系統(tǒng)的網(wǎng)絡(luò)工作正常。安裝libncurses5-dev非常簡(jiǎn)單,在終端模式下輸入:apt-get install libncurses5-dev即可。如下圖所示:
這樣,libncurses5-dev就安裝好了,我們可以在終端模式下通過make menuconfig命令來配置和裁剪linux內(nèi)核了。
安裝交叉編譯器arm-linux-gcc 嵌入式開發(fā)的應(yīng)用程序編譯好后不是在PC機(jī)上運(yùn)行,而是在我們的ARM開發(fā)板上運(yùn)行,這時(shí)需要用arm-linux-gcc 交叉編譯器編譯。安裝交叉編譯器非常簡(jiǎn)單,步驟如下:
1)拷貝arm-linux-gcc交叉編譯器軟件包arm-linux-gcc-4.3.2.tgz到/home/cao/Soft目錄。2)進(jìn)入到Soft目錄,在該目錄下執(zhí)行tar zxvf arm-linux-gcc-4.3.2.tgz –C / 命令 解壓arm-linux-gcc-4.3.2.tgz。如下圖所示:
注: C是大寫,C后面有個(gè)空格
該命令執(zhí)行后,將把a(bǔ)rm-linux-gcc 安裝到 /usr/local/arm/4.3.2 目錄。arm-linux-gcc編譯器安裝好后,我們還要把交叉編譯器arm-linux-gcc的路徑加入到系統(tǒng)的PATH環(huán)境變量,這樣在操作終端的其他任意目錄下都可以使用arm-linux-gcc。設(shè)置環(huán)境變量的步驟如下: 1)在終端界面下輸入 gedit /root/.bashrc ,編輯./bashrc 文件,如下圖所示:
2)在.bashrc文件中增加如下命令把交叉編譯器的路徑增加到環(huán)境變量PATH中, export PATH=$PATH:/usr/local/arm/4.3.2/bin,然后保存推出,如下圖所示:
重新打開終端,通過su命令切換到root用戶,輸入arm-linux-gcc –v就可以看到我們安裝的交叉編譯器arm-linux-gcc的版本信息了。如下圖所示:
我們可以看到我們的安裝的gcc版本為4.3.2,到這里,我們的交叉編譯器環(huán)境arm-linux-gcc就安裝好了。
第三篇:linux嵌入式開發(fā)板搭建開發(fā)環(huán)境經(jīng)驗(yàn)總結(jié)
一、環(huán)境
服務(wù)器端:PC機(jī)(win7),Ubuntu10.04操作系統(tǒng),Vmware8.0.4 客戶機(jī)端 :ARM11開發(fā)板(6410)一根交叉網(wǎng)線
二、Ping通電腦和開發(fā)板
用一根交叉網(wǎng)線連接電腦和開發(fā)板,給開發(fā)板上電,一定要是交叉網(wǎng)線,普通網(wǎng)線不行,一般買開發(fā)板時(shí)會(huì)送一根交叉網(wǎng)線。在開發(fā)板輸入ifconfig,查看開發(fā)板的ip地址,我的ip為192.168.0.232
設(shè)置本地連接和虛擬機(jī)ip為同一網(wǎng)段
在虛擬機(jī)上輸入ping 192.168.0.118,在win7下的cmd輸入ping192.168.0.232,驗(yàn)證是否能ping通
如果ping不通,先把防火墻關(guān)閉,再把網(wǎng)絡(luò)設(shè)置為家庭網(wǎng)絡(luò)。Ping通后進(jìn)行下一步
三、Ping通虛擬機(jī)和開發(fā)板
開發(fā)虛擬機(jī),我用的是vmware8.0.2,ubuntu10.0.4 在控制面板里面橋接vmnet1和本地連接,右擊網(wǎng)橋,設(shè)置ip,設(shè)置方法和本地連接一樣,并把ipv6前面的勾去掉。
完成后設(shè)置Vmware,右擊自己的虛擬機(jī),點(diǎn)擊settings
設(shè)置Network Adapter選項(xiàng),選擇custom:Specific virtual network的CMNET1(H Ost-only)
修改虛擬機(jī)的ip地址,在network connections里編輯 Auto Ethernet這個(gè)網(wǎng)絡(luò)
把ip設(shè)置成和網(wǎng)橋一樣。點(diǎn)擊apply
不出意外,現(xiàn)在應(yīng)該虛擬機(jī)和開發(fā)板能相互ping通了,現(xiàn)在離成功又進(jìn)了一步。
四、安裝nfs服務(wù)器程序
用以下命令安裝nfs服務(wù)器程序軟件包,在命令執(zhí)行過程中,默認(rèn)啟動(dòng)SUNRPC服務(wù)和nfs服務(wù),并創(chuàng)建/etc/exports和、etc /default/nfs-kernel-server配置文件,等待用戶完成nfs安裝后,配置將要共享的資源。
可以使用netstat命令檢查nfs端口是否已經(jīng)打開:
以上截圖可看出,nfs和SUNRPC端口已處于監(jiān)聽狀態(tài),不過,客戶端此時(shí)還無(wú)法訪問到nfs服務(wù)器,還需對(duì)nfs服務(wù)器進(jìn)行配置,將共享資源授權(quán)給特定用戶之后,客戶端才能成功訪問。
五、啟動(dòng)和停止nfs服務(wù)
雖然完成nfs安裝后會(huì)自動(dòng)啟動(dòng)nfs,但要調(diào)整共享資源還得重新啟動(dòng)nfs服務(wù),以使配置生效。
1、命令方式手動(dòng)啟動(dòng)和停止nfs服務(wù)
啟動(dòng)nfs服務(wù):
停止nfs服務(wù):
重啟nfs服務(wù):
查看nfs服務(wù)當(dāng)前狀態(tài),若nfs服務(wù)正在運(yùn)行則返回“nfsd running”。否則返回“nfsd not running”。
2、使用圖形工具啟動(dòng)和停止nfs服務(wù)(此項(xiàng)好像在10.04中沒有?)在Ubuntu中同樣可以使用services-admin圖形界面工具管理nfs服務(wù)。若想隨機(jī)啟動(dòng)時(shí)啟動(dòng)nfs服務(wù),可以點(diǎn)擊【系統(tǒng)】|【系統(tǒng) 管理】|【服務(wù)】命令,打開【服務(wù)設(shè)置】對(duì)話框,勾選【文件夾共享服務(wù)(nfs-kernel-server)】選項(xiàng),單擊【關(guān)閉】按鈕完成設(shè)置。
六、nfs服務(wù)器配置
nfs服務(wù)是根據(jù)一個(gè)―名單‖為用戶開放共享資源的。
1、nfs服務(wù)配置文件
在Ubuntu Linux系統(tǒng)中,/etc/exports是nfs服務(wù)器的全局配置文件。配置文件中一行即為一條配置項(xiàng),用于指明網(wǎng)絡(luò)中―哪些客戶端‖共享―哪些目錄資源‖。導(dǎo)出資源配置項(xiàng)格式如下:.......其中,表示服務(wù)器中導(dǎo)出的共享資源路徑,注意:必須是絕對(duì)路徑名; 表示客戶端主機(jī)標(biāo)識(shí),可以用主機(jī)名、組、通配符、網(wǎng)段方式指定,如果是多個(gè)主機(jī)標(biāo)識(shí),需要使用空格隔開; 表示賦予每個(gè)客戶端主機(jī)的訪問權(quán)限。
把需要導(dǎo)出的目錄全部放在/etc/exports文件是一個(gè)良好的習(xí)慣,這可以對(duì)nfs的管理更明確和清晰。盡量將聲明的詳細(xì)具體,從而阻止不速之客進(jìn)入nfs服務(wù)系統(tǒng)。
2、使用圖形工具配置nfs服務(wù)(Ubuntu10.04中好像沒找著)配置nfs服務(wù)器除了可以使用文本編輯工具直接修改/etc/exports文件,然后重新啟動(dòng)nfs服務(wù),完成整個(gè)配置任務(wù)外。還可以采用Ubuntu Linux系統(tǒng)提供的nfs服務(wù)圖形配置工具——shares-admin進(jìn)行快速、便捷的配置。
步驟:?jiǎn)螕簟鞠到y(tǒng)】|【系統(tǒng)管理】|【共享的文件夾】命令,打開【共享的文件夾】對(duì)話框。選擇【添加】按鈕打開【Share Folder】對(duì)話框進(jìn)行設(shè)置,有很多種配置方式。配置完后你會(huì)發(fā)現(xiàn)。/etc/exports配置文件的內(nèi)容是完全跟圖形界面下的配置對(duì)應(yīng)的。如果只修改了/etc/exports文件,并不總是要重啟nfs服務(wù)。可以使用exportfs工具重新讀取/etc/exports,就可以加載輸出的目錄。exportfs工具語(yǔ)法如下:
exportfs [-aruv]-a : 全部掛載(或卸載)/etc/exports的設(shè)置。
-r : 重新掛載/etc/exports的設(shè)置,更新/etc/exports和/var/lib/nfs/xtab里面的內(nèi)容。-u : 卸載某一個(gè)目錄。
-v : 在輸出的時(shí)候,把共享目錄顯示出來。
在nfs已經(jīng)啟動(dòng)的情況下,如果又修改了/etc/exports文件,可以執(zhí)行命令: $ exportfs-ra 系統(tǒng)日志文件/var/lib/nfs/xtab中可以查看共享目錄訪問權(quán)限,不過只有已經(jīng)被掛載的目錄才會(huì)出現(xiàn)在日志文件中。
七、連接nfs服務(wù)器
通過上面的配置后,客戶機(jī)便可通過簡(jiǎn)單的mount命令將nfs共享資源掛載到本地來了,之后可以如同操作本地文件系統(tǒng)一樣使用。
1、查看nfs服務(wù)器的共享資源
在客戶機(jī)連接nfs共享資源前,通常要用showmount命令查看一下nfs服務(wù)器上的共享資源情況,了解是否有權(quán)限訪問。showmount命令查看 某臺(tái)nfs服務(wù)器上都有哪些nfs共享資源。showmount命令包含在nfs-kernel-server軟件包中,一般語(yǔ)法格式 是:showmount [dehv] nfssrvname 其中nfssrvname表示nfs服務(wù)器主機(jī)名,也可用IP地址各選項(xiàng)如下:-d :顯示客戶端所掛載的共享目錄-e: 顯示nfs服務(wù)的導(dǎo)出共享目錄列表-h: 顯示幫助信息-v: 顯示版本
單獨(dú)使用showmount命令,將顯示本地主機(jī)/etc/exports配置文件中的共享配置項(xiàng)。
2、掛載共享資源
可以通過mount命令在客戶機(jī)端掛載nfs服務(wù)器端的共享資源。mount命令的一般語(yǔ)法格式是:
mount nfssrvname:/Share-Directory /mnt-Point 其中,nfssrvname表示nfs服務(wù)器主機(jī)名,也可用IP地址;Share-Directory表示nfs服務(wù)器導(dǎo)出的共享資源目錄,必須用 絕對(duì)路徑,與nfssrvname用“:”號(hào)隔開;mnt-Point表示共享資源將掛載到客戶端主機(jī)上的位置,在掛載前一定要確保掛載目錄已經(jīng)存在。
如果nfs服務(wù)器上沒有給予授權(quán),客戶端仍強(qiáng)行掛載某些共享目錄,則會(huì)被拒絕,執(zhí)行失敗。
3、卸載共享資源
在使用完nfs服務(wù)器共享資源后,建議即刻卸載nfs文件系統(tǒng)。卸載命令umount一般語(yǔ)法格式是:
umount /mnt-Point 其中mnt-Point表示共享資源在客戶端的掛載點(diǎn)。
注意:當(dāng)有用戶在使用某個(gè)已加裝的共享目錄上的文件時(shí)(在掛載點(diǎn)下要退出才能卸載),則不能卸載在文件系統(tǒng)。如果用戶確認(rèn)無(wú)誤,可使用“umount-f”命令強(qiáng)行卸載共享的目錄。
4、測(cè)試是否成功,自己掛自己
在folinux文件夾中看到掛載過來的share文件夾中的good文件
如果失敗輸入exportfs –rv
如果再失敗應(yīng)該是防火墻的問題,輸入sudo ufw disable關(guān)閉防火墻,進(jìn)行到這里不出意外應(yīng)該可以掛載成功了。
在開發(fā)板上輸入
[root@FORLINX6410]# mount 192.168.0.118:/mnt/share /mnt會(huì)出現(xiàn)下面的提示: svc: failed to register lockdv1 RPC service(errno 111).mount: mounting 192.168.0.118:/mnt/share on /mnt failed: Connection refused 正確應(yīng)該輸入
[root@FORLINX6410]# mount-t nfs-o nolock 192.168.0.118:/mnt/share /mnt 大功告成,這時(shí)你虛擬機(jī)上的/mnt/share被掛載到了開發(fā)板的/mnt上。
第四篇:嵌入式開發(fā)工程師
任職要求:
1、大學(xué)本科及以上學(xué)歷,2年以上工作經(jīng)驗(yàn),計(jì)算機(jī)電子通訊類專業(yè)畢業(yè);
2、能夠熟練使用POWER PCB或PROTEL或ORCAD等電路設(shè)計(jì)軟件進(jìn)行PCB設(shè)計(jì);
3、熟悉電子元器件,能獨(dú)立設(shè)計(jì)數(shù)字及模擬電路,擁有單片機(jī)開發(fā)工作經(jīng)驗(yàn),懂得RF433無(wú)線及紅外遙控等相關(guān)知識(shí);
4、熟練使用C語(yǔ)言,有嵌入式開發(fā)工作開發(fā)及智能家居防盜報(bào)警產(chǎn)品經(jīng)驗(yàn)者優(yōu)先。
崗位職責(zé):
1、新產(chǎn)品項(xiàng)目設(shè)計(jì)開發(fā)工作;
2、為相關(guān)部門及項(xiàng)目提供技術(shù)支持;
3、產(chǎn)品售后返修分析,品質(zhì)不斷提升性能改進(jìn);
4、組織對(duì)新研發(fā)產(chǎn)品的制樣、驗(yàn)證、試產(chǎn)、量產(chǎn)等工作的確認(rèn)與審核。
第五篇:嵌入式Linux開發(fā)流程
嵌入式Linux開發(fā)流程
嵌入式 linux開發(fā),根據(jù)應(yīng)用需求的不同有不同的配置開發(fā)方法,但是一般都經(jīng)過以下過程:
建立開發(fā)環(huán)境。操作系統(tǒng)一般 REDHAT-LINUX,版本 7 到9 都可以,選擇定制安裝或全部安裝,通過網(wǎng)絡(luò)下載相應(yīng)的 GCC 交叉編譯器進(jìn)行安裝(比如 arm-linux-gcc、arm-uclibc-gcc),或者安裝產(chǎn)品廠家提供的交叉編譯器。
配置開發(fā)主機(jī)。配置 MINICOM,一般參數(shù)為115200,數(shù)據(jù)位 8位,停止位 1,無(wú)奇偶校驗(yàn),軟硬件控制流設(shè)為無(wú)。在 WINDOWS 下的超級(jí)終端的配置也是這樣。MINICOM軟件的作用是作為調(diào)試嵌入式開發(fā)板信息輸出的監(jiān)視器和鍵盤輸入的工具;配置網(wǎng)絡(luò),主要是配置 NFS 網(wǎng)絡(luò)文件系統(tǒng),需要關(guān)閉防火墻,簡(jiǎn)化嵌入式網(wǎng)絡(luò)調(diào)試環(huán)境設(shè)置過程。
建立引導(dǎo)裝載程序BOOTLOADER,從網(wǎng)絡(luò)上下載一些公開源代碼的BOOTLOADER,如 U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據(jù)自己具體芯片進(jìn)行移植修改。有些芯片沒有內(nèi)置引導(dǎo)裝載程序,比如三星的 ARM7、ARM9 系列芯片,這樣就需要編寫燒寫開發(fā)板上 flash 的燒寫程序,網(wǎng)絡(luò)上有免費(fèi)下載的 WINDOWS 下通過JTAG并口簡(jiǎn)易仿真器燒寫 ARM 外圍 flash 芯片的程序。也有 LINUX 下公開源代碼的J-FLASH 程序。如果不能燒寫自己的開發(fā)板,就需要根據(jù)自己的具體電路進(jìn)行源代碼修改。這是讓系統(tǒng)可以正常運(yùn)行的第一步。如果你購(gòu)買了廠商提供的仿真器,當(dāng)然比較容易燒寫flash了,但是其中的核心技術(shù)是無(wú)法了解的。這對(duì)于需要迅速開發(fā)應(yīng)用的人來說可以極大地提高開發(fā)速度。
下載別人已經(jīng)移植好的 LINUX 操作系統(tǒng),如 UCLINUX、ARM-LINUX、PPC-LINUX等,如果有專門針對(duì)你所使用的CPU移植好的 LINUX 操作系統(tǒng)那是再好不過,下載后再添加自己的特定硬件的驅(qū)動(dòng)程序,進(jìn)行調(diào)試修改,對(duì)于帶 MMU的 CPU可以使用模塊方式調(diào)試驅(qū)動(dòng),對(duì)于 UCLINUX 這樣的系統(tǒng)好像只能編譯進(jìn)內(nèi)核進(jìn)行調(diào)試。
建立根文件系統(tǒng),從下載使用 BUSYBOX 軟件進(jìn)行功能裁減,產(chǎn)生一個(gè)最基本的根文件系統(tǒng),再根據(jù)自己的應(yīng)用需要添加其他的程序。默認(rèn)的啟動(dòng)腳本一般都不會(huì)符合應(yīng)用的需要,所以就要修改根文件系統(tǒng)中的啟動(dòng)腳本,它的存放位置位于 /etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile 等,自動(dòng)掛裝文件系統(tǒng)的配置文件/etc/fstab,具體情況會(huì)隨系統(tǒng)不同而不同。根文件系統(tǒng)在嵌入式系統(tǒng)中一般設(shè)為只讀,需要使用 mkcramfs、genromfs 等工具產(chǎn)生燒寫映象文件。
建立應(yīng)用程序的 flash 磁盤分區(qū),一般使用JFFS2 或 YAFFS 文件系統(tǒng),這需要在內(nèi)核中提供這些文件系統(tǒng)的驅(qū)動(dòng),有的系統(tǒng)使用一個(gè)線性 flash(NOR 型)512K-32M,有的系統(tǒng)使用非線性 flash(NAND型)8-512M,有的兩個(gè)同時(shí)使用,需要根據(jù)應(yīng)用規(guī)劃 flash的分區(qū)方案。
開發(fā)應(yīng)用程序,可以下載到根文件系統(tǒng)中,也可以放入 YAFFS、JFFS2 文件系統(tǒng)中,有的應(yīng)用程序不使用根文件系統(tǒng),而是直接將應(yīng)用程序和內(nèi)核設(shè)計(jì)在一起,這有點(diǎn)類似于UCOS-II 的方式。
燒寫內(nèi)核、根文件系統(tǒng)、應(yīng)用程序。
發(fā)布產(chǎn)品。