[i.MX6UL]飛凌嵌入式 iMX6UL 開發(fā)板Linux編譯

原創(chuàng) 2020-03-07 16:50:00 i.MX6UL iMX6UL iMX6UL開發(fā)板 i.MX6UL開發(fā)板

 

 

開發(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)行編譯。這種方式的好處是臺電腦就可以搭建開發(fā)環(huán)境,編譯、燒寫都在同一臺電腦完成,缺點(diǎn)是編譯速度太慢,各種網(wǎng)絡(luò)服務(wù)不穩(wěn)定。

1.3  編譯環(huán)境搭建

1.3.1Ubuntu的安裝與設(shè)置

Ubuntu Linux 介紹:

Ubuntu是一個(gè)以桌面應(yīng)用為主的Linux操作系統(tǒng)。Ubuntu擁有很多優(yōu)點(diǎn),相對于其他版本的LinuxUbuntu也有著自己的優(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),可能會出現(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ū),在PCbios中把PC啟動方式設(shè)置為光驅(qū)啟動,啟動PC

步驟  2 啟動PC后,安裝盤會提示選擇安裝語言種類。使用PC鍵盤的方向鍵選擇在安裝過程中顯示的語言,在這里我們選擇English>>點(diǎn)擊“Install Ubuntu”按鈕。



步驟 3 選擇“Erase disk and install Ubuntu>>點(diǎn)擊“Continue”按鈕

注意:非虛擬系統(tǒng)會格式化您的硬盤!請謹(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)會完成安裝。



注意:這里的用戶名屬于普通用戶,不具備root用戶權(quán)限。

1.3.3 Linux終端

Linux 系統(tǒng)中終端是一個(gè)很實(shí)用的與操作系統(tǒng)交互的窗口,您可以使用終端來編譯應(yīng)用程序,啟動各種系統(tǒng)服務(wù),在Linux系統(tǒng)中占據(jù)著非常重要的位置。

 

如圖進(jìn)行操作,即可將終端設(shè)置為快捷鍵。


        


 

以后每次單擊啟動面板上的圖標(biāo)即可運(yùn)行終端窗口:


blob.png


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 然后我們啟動root帳號:
       
# sudo passwd root
步驟 6 根據(jù)提示輸入root帳號密碼。(注意:Linux中輸入密碼無符號顯示)
步驟 7 重啟ubuntu,不需要手動輸入root用戶名密碼,系統(tǒ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自動獲得ip的步驟


blob.png


選擇nat方式


blob.png


 

上述方法設(shè)置后,不用在虛擬機(jī)設(shè)置ip地址了。

步驟 1 啟動Ubunturoot用戶登陸系統(tǒng),單擊桌面最右上端的按鈕,彈出如下選項(xiàng):



步驟 2 選擇 System Settings,雙擊 Network進(jìn)入網(wǎng)絡(luò)設(shè)置項(xiàng):




步驟 3 單擊Options按鈕


blob.png



步驟 4 選擇 IPV4設(shè)置,輸入您的IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)DNS,點(diǎn)擊Save...,網(wǎng)絡(luò)設(shè)置成功。


blob.png



步驟 5 測試一下,筆者的宿主機(jī)IP192.168.0.30,用虛擬機(jī)來ping宿主機(jī):


blob.png


如圖證明網(wǎng)絡(luò)設(shè)置成功。

1.3.6  安裝交叉編譯器

步驟 1 將文件gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz拷貝到Ubuntu主目錄下

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)建目錄,若目錄已存在會提示錯(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
下圖為安裝成功提示


blob.png


回車,就可以使用該編譯器來編譯 Uboot 代碼和內(nèi)核代碼了。

注意: 以上操作均是以 root 用戶登錄系統(tǒng)操作為例; 所修改的文件僅對當(dāng)前用戶有效, 如果通過終端切換用戶,以上修改的文件對新用戶無效。

1.3.7  安裝依賴包

Linux系統(tǒng)的編譯需要安裝一些工具包,可執(zhí)行本公司提供的腳本進(jìn)行自動安裝。本節(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主目錄下

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)操作

blob.png                 此提示按下回車

blob.png    此提示輸入“Y”后按下回車

1.4  編譯

搭建好開發(fā)環(huán)境后,接下來進(jìn)行U-bootLinux內(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源碼,命令如下。


相關(guān)產(chǎn)品 >

  • 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解決方案定制。

    了解詳情
    OKMX6UL-C開發(fā)板
  • OKMX6ULL-C開發(fā)板

    40*29mm,雙網(wǎng)雙CAN,8路串口| i.MX6ULL開發(fā)板是基于NXP i.MX6ULL設(shè)計(jì)開發(fā)的的一款Linux開發(fā)板 ,主頻800MHz,體積小,其核心板僅40*29mm,采用板對板連接器,適應(yīng)場景豐富。 了解詳情
    OKMX6ULL-C開發(fā)板

推薦閱讀 換一批 換一批