[i.MX6UL]飛凌嵌入式 iMX6UL 開發(fā)板Linux編譯
開發(fā)環(huán)境是開發(fā)人員在開發(fā)過程當(dāng)中,所需的軟硬件平臺。開發(fā)環(huán)境并不是一個(gè)固定的樣式,本文中將詳細(xì)講解一個(gè)嵌入式Linux開發(fā)環(huán)境搭建的方法。如果您已經(jīng)對嵌入式開發(fā)非常了解的話,可以按照自己的需求來搭建環(huán)境。如果和本文環(huán)境不一樣而產(chǎn)生報(bào)錯(cuò),您可以從國內(nèi)一些Linux論壇和網(wǎng)站搜索相關(guān)的信息來解決。本文介紹的環(huán)境經(jīng)過飛凌嵌入式公司的測試,如果對嵌入式開發(fā)不是非常熟悉的朋友,希望您按照飛凌嵌入式提供的方法來搭建環(huán)境。各位朋友可以放心按照本文說明的方法來搭建開發(fā)環(huán)境。
1.1 版本說明
? 操作系統(tǒng): Ubuntu12.04 64 位版
? 交叉工具鏈:arm-fsl-linux-gnueabi-gcc-4.6.2
? Bootloader 版本:u-boot-2015.04
? 內(nèi)核版本:linux-3.14.38
1.2 編譯環(huán)境說明
? Linux PC:在PC上直接安裝ubuntu12.04作為編譯的主機(jī),這樣做的好處是編譯速度快、穩(wěn)定。
? Vmware8.0+ubuntu12.04:在 XP下安裝虛擬機(jī),并在虛擬機(jī)下進(jìn)行編譯。這種方式的好處是1 臺電腦就可以搭建開發(fā)環(huán)境,編譯、燒寫都在同一臺電腦完成,缺點(diǎn)是編譯速度太慢,各種網(wǎng)絡(luò)服務(wù)不穩(wěn)定。
1.3 編譯環(huán)境搭建
1.3.1:Ubuntu的安裝與設(shè)置
Ubuntu Linux 介紹:
Ubuntu是一個(gè)以桌面應(yīng)用為主的Linux操作系統(tǒng)。Ubuntu擁有很多優(yōu)點(diǎn),相對于其他版本的Linux,Ubuntu也有著自己的優(yōu)勢。首先,安裝系統(tǒng)非常簡單,只需要非常少的設(shè)置即可,完全可以和Windows桌面系統(tǒng)想媲美;其次,圖形界面很人性化,模仿了在xp下常用的快捷鍵;還有,安裝和升級程序時(shí),可以通過網(wǎng)絡(luò),由系統(tǒng)自行安裝依賴的文件包,從此不必再為Linux系統(tǒng)的依賴關(guān)系大傷腦筋。綜合考慮大家的使用習(xí)慣和學(xué)習(xí)的需要,我們選用Ubuntu Linux,并在產(chǎn)品光盤中提供了Ubuntu12.04光盤鏡像‘ubuntu-12.04-i386.iso’以便于用戶刻盤和虛擬系統(tǒng)安裝。
Linux桌面系統(tǒng)版本眾多,目前本手冊所有Linux實(shí)驗(yàn)和源碼在ubuntu-12.04版本測試可以通過。使用其他版本Linux桌面系統(tǒng),可能會(huì)出現(xiàn)gcc編譯器和庫文件相關(guān)的問題。碰到類似問題,可以在Linux系統(tǒng)發(fā)行商的官方論壇上咨詢和查詢。如果對Linux不熟悉的用戶,強(qiáng)烈建議使用飛凌介紹的方法。
另外,為了滿足各位用戶的需求,在本手冊的附錄中,特對VMware虛擬機(jī)使用方法進(jìn)行了詳細(xì)的講解。虛擬機(jī)相關(guān)操作詳見《附錄五:虛擬機(jī)VMware-8.0的安裝與設(shè)置》
Ubuntu官網(wǎng): 129Hhttp://www.ubuntu.org.cn
可下載各個(gè)版本的Ubuntu。當(dāng)然,官網(wǎng)能找到各種關(guān)于Ubuntu的信息。
Ubuntu官方論壇: 130Hhttp://forum.ubuntu.org.cn/
可以找到大量的實(shí)用的Ubuntu資源,中文論壇。Ubuntu也有官方的英文論壇。
1.3.2 安裝Ubuntu
步驟 1 :首先準(zhǔn)備一張Ubuntu12.04的安裝光盤。將光盤插入光驅(qū),在PC的bios中把PC啟動(dòng)方式設(shè)置為光驅(qū)啟動(dòng),啟動(dòng)PC。
步驟 2 :啟動(dòng)PC后,安裝盤會(huì)提示選擇安裝語言種類。使用PC鍵盤的方向鍵選擇在安裝過程中顯示的語言,在這里我們選擇English>>點(diǎn)擊“Install Ubuntu”按鈕。
步驟 3 :選擇“Erase disk and install Ubuntu”>>點(diǎn)擊“Continue”按鈕
(注意:非虛擬系統(tǒng)會(huì)格式化您的硬盤!請謹(jǐn)慎操作。)
步驟 4 :硬盤空間以及掛載點(diǎn)的分配。這里選擇默認(rèn)。也可根據(jù)個(gè)人需要來進(jìn)行設(shè)置.單擊“Install Now”
步驟 5 :選擇鍵盤布局,默認(rèn)即可 ,單擊“Continue”.
步驟 6 :選擇所在地,上海, Continue:
步驟 7 :輸入系統(tǒng)用戶名和密碼,這里輸入的用戶名:forlinx, 密碼:123456僅作為事例.點(diǎn)擊“Continue”按鈕,系統(tǒng)會(huì)完成安裝。
注意:這里的用戶名屬于普通用戶,不具備root用戶權(quán)限。
1.3.3 Linux終端
在Linux 系統(tǒng)中終端是一個(gè)很實(shí)用的與操作系統(tǒng)交互的窗口,您可以使用終端來編譯應(yīng)用程序,啟動(dòng)各種系統(tǒng)服務(wù),在Linux系統(tǒng)中占據(jù)著非常重要的位置。
如圖進(jìn)行操作,即可將終端設(shè)置為快捷鍵。
以后每次單擊啟動(dòng)面板上的圖標(biāo)即可運(yùn)行終端窗口:
1.3.4 Ubuntu12.04 root用戶登錄設(shè)置
ubuntu12.04默認(rèn)是不允許root登錄的,在登錄窗口只能看到普通用戶和訪客登錄。以普通身份登陸Ubuntu后我們需要做一些修改。
步驟
1
:普通用戶登錄后,修改系統(tǒng)配置文件需要切換到超級用戶模式,在終端窗口里面輸入命令后回車:
#sudo -s
步驟 2 :然后輸入安裝Ubuntu12.04時(shí)設(shè)置的系統(tǒng)密碼,即可進(jìn)入 root用戶權(quán)限模式。
步驟 3 :在終端窗口中執(zhí)行
#gedit /etc/lightdm/lightdm.conf
步驟 4 :在文本全部內(nèi)容刪除并粘貼以下七行內(nèi)容:
[SeatDefaults]
allow-guest=false
autologin-user=root
autologin-user-timeout=0
autologin-session=lightdm-autologin
user-session=ubuntu
greeter-session=unity-greeter
步驟
5
:然后我們啟動(dòng)root帳號:
# sudo passwd root
步驟
6
:根據(jù)提示輸入root帳號密碼。(注意:Linux中輸入密碼無符號顯示)
步驟
7
:重啟ubuntu,不需要手動(dòng)輸入root用戶名密碼,系統(tǒng)會(huì)自動(dòng)進(jìn)入root用戶。
1.3.5 設(shè)置Ubuntu網(wǎng)絡(luò)參數(shù)
因?yàn)槊總€(gè)PC的網(wǎng)絡(luò)環(huán)境不一定一樣,所以需要您根據(jù)自己的實(shí)際情況來設(shè)置Ubuntu的網(wǎng)絡(luò),如果設(shè)置不成功,可以去Ubuntu的官方論壇上咨詢。本文PC Linux網(wǎng)絡(luò)的設(shè)置方法,僅供參考。
截圖是設(shè)置虛擬機(jī) dhcp自動(dòng)獲得ip的步驟
選擇nat方式
上述方法設(shè)置后,不用在虛擬機(jī)設(shè)置ip地址了。
步驟 1 :啟動(dòng)Ubuntu,root用戶登陸系統(tǒng),單擊桌面最右上端的按鈕,彈出如下選項(xiàng):
步驟 2 :選擇 System Settings,雙擊 Network進(jìn)入網(wǎng)絡(luò)設(shè)置項(xiàng):
步驟 3 :單擊Options按鈕
步驟 4 :選擇 IPV4設(shè)置,輸入您的IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS,點(diǎn)擊Save...,網(wǎng)絡(luò)設(shè)置成功。
步驟 5 :測試一下,筆者的宿主機(jī)IP為192.168.0.30,用虛擬機(jī)來ping宿主機(jī):
如圖證明網(wǎng)絡(luò)設(shè)置成功。
1.3.6 安裝交叉編譯器
步驟 1 :將文件gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz拷貝到Ubuntu主目錄下
1 i.MX6UL 用戶光盤/iMX6UL 用戶光盤(A)\linux\tool\gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz
步驟 2 :在Ubuntu中新建一個(gè)終端,輸入下面的命令安裝交叉編譯器:
#cd (進(jìn)入主目錄)
#mkdir -p /opt/freescale/usr/local (創(chuàng)建目錄,若目錄已存在會(huì)提示錯(cuò)誤,跳過即可)
#tar jxvf gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz -C /opt/freescale/usr/local (編譯器解壓到/opt/freescale/usr/local )
步驟 3 :查看gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12是否解壓成功。
#ls -l /opt/freescale/usr/local
如可以看到gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12文件夾即解壓成功。
步驟 4 :添加環(huán)境變量到 Profile,執(zhí)行命令打開編輯 Profile后,重啟電腦。
#gedit /etc/profile
最后一行添加以下內(nèi)容
export ARCH=arm
export CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-
export PATH=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin:$PATH
保存并退出。在終端輸入命令,使Ubuntu重啟。
#reboot
步驟
5
: 在終端里面執(zhí)行以下命令,驗(yàn)證交叉編譯器安裝是否成功
#arm-fsl-linux-gnueabi-gcc -v
下圖為安裝成功提示
回車,就可以使用該編譯器來編譯 Uboot 代碼和內(nèi)核代碼了。
注意: 以上操作均是以 root 用戶登錄系統(tǒng)操作為例; 所修改的文件僅對當(dāng)前用戶有效, 如果通過終端切換用戶,以上修改的文件對新用戶無效。
1.3.7 安裝依賴包
Linux系統(tǒng)的編譯需要安裝一些工具包,可執(zhí)行本公司提供的腳本進(jìn)行自動(dòng)安裝。本節(jié)操作前必須確保您的計(jì)算機(jī)或虛擬機(jī)能正常連接互聯(lián)網(wǎng),如您在安裝中出現(xiàn)網(wǎng)絡(luò)斷開連接請?jiān)侔凑找韵虏襟E進(jìn)行安裝。
? 安裝 linux 依賴包 需要在ubuntu12.04 32bit 版本安裝 必須連接互聯(lián)網(wǎng)。
步驟 1 :將文件setup_env.sh拷貝到Ubuntu主目錄下
1 i.MX6用戶光盤/i.MX6用戶光盤(A)\linux\tool\setup_env.sh
步驟 2 :給setup_env.sh添加可執(zhí)行權(quán)限
#chmod u+x setup_env.sh
步驟 3 :執(zhí)行腳本
#./setup_env.sh
步驟 4 :安裝過程中出現(xiàn)如下提示需作出對應(yīng)操作
此提示按下回車
此提示輸入“Y”后按下回車
1.4 編譯
搭建好開發(fā)環(huán)境后,接下來進(jìn)行U-boot和Linux內(nèi)核在PC Linux的編譯。本文一切操作基于飛凌嵌入式i.MX6UL開發(fā)板,關(guān)于iMX6UL的資料請聯(lián)系飛凌嵌入式在線客服人員
1.4.1 編譯u-boot
uboot源碼 暫不開源,請使用飛凌提供的u-boot.imx,文件所在路徑
? i.MX6UL用戶資料/Linux\image\uboot.imx
如您自行移植u-boot可參考以下方法進(jìn)行編譯:
步驟 1 :解壓縮uboot源碼,命令如下。
OKMX6UL-C開發(fā)板
飛凌嵌入式專注imx6系列imx6ul開發(fā)板、飛思卡爾imx6ul核心板等ARM嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn),i.mx6UL系列產(chǎn)品現(xiàn)已暢銷全國,作為恩智浦imx6ul,imx6ul開發(fā)板,i.mx6提供者,飛凌嵌入式提供基于iMX6 iMX6UL解決方案定制。
OKMX6ULL-C開發(fā)板相關(guān)產(chǎn)品
>