[OK210開發板體驗]入門篇(3)開發環境(軟件安裝、開發環境、燒寫系統)

原創 2015-12-23 13:25:00 [OK210開發板體驗]入門篇(3)開發環境(軟件安裝 開發環境 燒寫系統)
前面分別介紹了


[OK210開發板體驗]的第一篇:開箱驗板
[OK210開發板體驗]的第二篇:板載資源
今天是[OK210開發板體驗]的第三篇:開發環境的搭建,主要包括以下內容:
一 軟件安裝
1 VMWare WorkStation虛擬機的安裝
2 Ubuntu Linux操作系統的安裝
3 SecureCRT串口終端的安裝
4 WinPM的安裝
5 SD Wirter的安裝
二 開發環境
1 VMWare-tools的安裝
2 Samba的安裝a
3 NFS的安裝
三 燒寫系統
1 Uboot的編譯與燒寫
2 Linux系統的編譯與燒寫
3 RootFS根文件系統的編譯與燒寫
下面逐一進行分析介紹。
一 軟件安裝
1 VMWare WorkStation虛擬機的安裝
  VMware Workstation(中文名“威睿工作站”)是一款功能強大的桌面虛擬計算機軟件,提供用戶可在單一的桌面上同時運行不同的操作系統,和進行開發、測試 、部署新的應用程序的最佳解決方案。通常是在Window下安裝VMware Workstation,然后在VMware Workstation下安裝類Linux操作系統,如Ubuntu、Redhat、CentOS、Fedora等。與VMware Workstation類似功能的還有VirtualBox等。
  VMware Workstation軟件可以在網上下載,也可以飛凌分享光盤中下載(下載地址:http://pan.baidu.com/s/1eQdEXQq 密碼: gh6k),后者的具體位置:OK210 V1.1>實用工具,具體的安裝方法,可參考百度經驗:vmware tools怎么安裝。
2 Ubuntu Linux操作系統的安裝
  Ubuntu(烏班圖)是一個以桌面應用為主的Linux操作系統,其名稱來自非洲南部祖魯語或豪薩語的“ubuntu”一詞,意思是“人性”、“我的存在是因為大家的存在”,是非洲傳統的一種價值觀,類似華人社會的“仁愛”思想。Ubuntu基于Debian發行版和GNOME桌面環境,而從11.04版起,Ubuntu發行版放棄
了Gnome桌面環境,改為Unity,與Debian的不同在于它每6個月會發布一個新版本,即一般是04版或10版。Ubuntu的目標在于為一般用戶提供一個最新的、同時又相當穩定的主要由自由軟件構建而成的操作系統。Ubuntu具有龐大的社區力量,用戶可以方便地從社區獲得幫助。2013年1月3日,Ubuntu正式發布面向智能手機的移動操作系統。
  Ubuntu最大的特點是免費。所以可以從飛凌分享光盤中下載,位置位于:OK210 V1.1>實用工具,也可以從官網下載,建立安裝飛凌提供的2012-04版,具體的安裝過程,可參考百度經驗:怎樣使用VMware Workstation(虛擬機)。
3 SecureCRT串口終端的安裝
  進行Linux開發,串口調試是少不了的,但似乎飛凌提供的是DNW1(好像三星的ARM產品都使用這個),該串口終端除了可以實現文件系統的查看外,還可以進行代碼的燒寫。但本人更愿意使用SecureCRT這個串口終端,因為支持SSH,同時支持Telnet和rlogin協議等。具體的安裝可以參考百度經驗:windows 下安裝secureCRT;具體的使用及配置可參考:SecureCRT 之串口快速使用教程。
4 WinPM的安裝
  winpm是一個很好的硬盤分區管理工具。 它提供NTFS和FAT32互轉絕對不傷害數據,自由分割硬盤分區大小(包括無損的調準分區大小),全中文界面,操作很簡單。即它在使用SD卡燒寫系統時,會用到,而它是一個可執行文件,具體的位置在飛凌分享光盤的:OK210 V1.1>實用工具,但是win7下直接運行會報錯,解決方法: 右擊winpm.exe屬性,打開“兼容性”選項卡,兼容模式勾上“以兼容模式運行這個程序”,選擇“Windows XP(Serivce Pack 3)”,并勾上“以管理員身份運行此程序”就可以正常的使用了,調準好分區后最好重啟電腦。注意事項:最好在安全模式下調準,以免在正常模式要調準的某些分區,有軟件在后臺運行,導致調準失敗。
5 SD Wrirter的安裝
  SD Writer位于飛凌分享光盤的:OK210 V1.1>實用工具,即使用該工具來燒寫系統,但在Win7下使用,同樣會報錯,解決方法同WinPE。
  以上就是軟件安裝的全部內容,其中:VMWare Workstation用來安裝Ubuntu,而Ubuntu是跑Linux的操作系統,SecureCRT是一個串口終端,用來使用“命令”的方法執行系統中的程序,而WinPE是用來對SD卡分區的,SD Writer是用來將系統文件燒寫到SD的。
二 開發環境
1 VMWare-tools的安裝
  VMware Tools是VMware虛擬機中自帶的一種增強工具,相當于VirtualBox中的增強功能(Sun VirtualBox Guest Additions),是VMware提供的增強虛擬顯卡和硬盤性能、以及同步虛擬機與主機時鐘的驅動程序。其最大的功能是:能實現主機與虛擬機之間的文件共享,同時可支持自由拖拽(即實現Window與Ubuntu的文件交互)的功能,鼠標也可在虛擬機與主機之前自由移動(不用再按ctrl+alt),且虛擬機屏幕也可實現全屏化。具體的安裝見百度經驗的:vmware tools怎么安裝。
2 Samba的安裝
  Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議,它為局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。即它也是一種實現Ubuntu與Window資源的無縫互訪的方法,具體的安裝與配置可參考Ubuntu WiKi的:Samba。
3 NFS的安裝
  NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位于遠端NFS服務器上的文件,就像訪問本地文件一樣。即它常用來實現嵌入式中的宿主機和目標機的網絡鏈接,方便程序的調試,避免程序的的煩瑣燒寫。具體的安裝及配置可參考百度經驗的:安裝和使用NFS服務器的方法。
  以上就是當前開發環境的全部內容,其中VMware-tools和Samba實現Window與Ubuntu資源的互訪,NFS實現Ubuntu與OK210特定資源的互訪。
三 燒寫系統
0 燒寫前準備
 完成以上兩在部分:后,接下來實現OK210系統的燒寫。在燒寫前,需要簡單準備一下:
1)下載源碼

 打開Ubuntu,在home目錄新建一文件夾:OK210,在OK210文件夾下,新建nfs目錄,其中在OK210文件夾中放入從飛凌分享光盤中下載的arm-linux交叉編譯器,uboot源碼,linux源碼,根文件系統源碼:mkyaffs2image-nand1g  Yaffs2.tar.gz,Linux安裝腳本,在nfs中存放測試文件。最后的結果如下所示:

2)安裝arm-linux交叉編譯器
分別執行如下命令:


tar xfjv arm-2009q3.tar.bz2 (解壓文件)

sudo vi /etc/profile           (打開配置文件,在文件的最下面,輸入以下語句)

exportPATH=$PATH:/home/ok210/arm-2009q3/bin

source /etc/profile               (立即生效)

arm-linux-gcc -v                  (查看是否安裝成功,如果輸出內容,說明成功)


ps,本在安裝在當前目錄:/home/ok210/,最好安裝在/usr/local/arm/。

3)配置環境

執行系統更新和工具安裝腳本命令

bash linux-install.sh

但更新失敗,故輸入以下命令,進行工具的安裝:

sudo apt-get install xinetd  libncurses5-dev u-boot-tools autoconfautomake vim

4)SD分區
  具體參考飛凌分享光盤目錄:OK210 V1.1>用戶手冊下的OK210軟件手冊-v1.1.pdf 的78頁。
1 Uboot的編譯與燒寫
1)U-Boot,全稱Universal Boot Loader,是遵循GPL條款的開放源碼項目。該內容主要實現系統從上電到Linux內核啟動前的初始化工作。具體的源碼可以從官網免費下載,但多數是由開發板供應商提供。OK210的Uboot位置飛凌分享光盤目錄:OK210 V1.1>Linux>U-boot源碼。
2)  編譯Uboot
重新進入/home/ok210目錄,分別執行如下命令,進行uboot的編譯:

tar vxzf uboot_1.3.4.tar.gz

cd uboot_smdkv210

make distclean

make clean

make CROSS_COMPILE=arm-none-linux-gnueabi-  forlinx_linux_config
make CROSS_COMPILE=arm-none-linux-gnueabi-

cd forlinx/

./forlinx-movi

ps:編譯成功后,將在‘uboot_smdkv210/forlinx’目錄下產生名為‘u-boot-210.bin’的二進制文件。該文件即我們需要燒寫到Nandflash 的U-boot 映像文件。名為‘mmc-210.bin’的二進制文件。該文件即我們做SD 卡引導時所需文件。

3)燒寫Uboot
打開OK210軟件手冊-v1.1.pdf 的82頁,執行步驟13-16。
ps:如果燒寫不成功,一是參考上面的WinPE錯誤處理;二是看是不SD設置寫保護
4)準備啟動
在Window下打開SD卡,把mmc-210.bin放入SD卡;新建sdfuse文件夾,把u-boot-210.bin放入sdfuse文件夾。
5)啟動
將SD卡插入OK210中,設置撥碼開關off,on,on,off(代表SD卡啟動),上電啟動,串口終端出現如下信息,說明uboot燒寫成功。在啟動內核的時候,未發現,接下來進行內核的燒寫。


2 Linux系統的編譯與燒寫
1)編譯內核
進入/home/ok210目錄,執行如下命令:


tar xvzf linux2.6.35.7.tar.gz

cd android-kernel-samsung-dev/

make distclean

make:/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc: Command not found
ps:因為交叉編譯器設置錯誤,使用如下的人工指定

make CROSS_COMPILE=arm-none-linux-gnueabi- distclean

cp ok210_linux_config .config

make menuconfig

 File systems  --->Network FileSystems --->將與NFS相關的選項,全部勾選上。

make CROSS_COMPILE=arm-none-linux-gnueabi- zImage

ps:編譯結束后將在內核源碼目錄的arch/arm/boot 中得到Linux 內核映像文件:zImage 并更名為zImage-210 作為燒寫文件(因U-boot 燒寫時讀取內核文件只能識別zImage-210 文件名)
   cp arch/arm/boot/zImage arch/arm/boot/zImage-210
2)準備啟動
在Window下打開SD卡,把zImage-210放sdfuse文件夾。
3)上電啟動

將SD卡插入OK210中,設置撥碼開關off,on,on,off(代表SD卡啟動),上電啟動,串口終端出現如下信息,說明內核燒寫成功。在啟動根文件系統的時候,未發現,接下來燒寫根文件系統。



3 RootFS根文件系統的編譯與燒寫
1)制作根文件系統
進入/home/ok210目錄,執行如下命令:


tar zvfx Yaffs2.tar.gz

 tar: Exiting with failure status due toprevious errors
ps:出現上述錯誤,說明沒有權限,則執行如下命令

sudo tar zvfx Yaffs2.tar.gz

sudo chmod u+x mkyaffs2image-nand1g

sudo ./mkyaffs2image-nand1g FileSystem-Yaffs2 rootfs-210.yaffs2

ps:最后生成rootfs-210.yaffs2是可以下載到開發板nandflash 中的yaffs2 文件系統映像。

注意:mkyaffs2image 可執行文件是使用Linux3.0 源代碼目錄yaffs2 文件夾下utils 目錄中的mkyaffs2image.c 文件編譯出來的,如果您有興趣可以自己制作適合256MB NandFlash 和1G NandFlash 的Yaffs2 工具。

2)準備啟動
在Window下打開SD卡,把 rootfs-210.yaffs2放入sdfuse文件夾。
3)上電啟動

將SD卡插入OK210中,設置撥碼開關off,on,on,off(代表SD卡啟動),上電啟動,串口終端出現如下信息,說明燒寫成功。



自此,[OK210開發板體驗]的第三篇:開發的環境搭建檢驗結束。


 


相關產品 >

  • OKMX6UL-C開發板

    飛凌嵌入式專注imx6系列imx6ul開發板、飛思卡爾imx6ul核心板等ARM嵌入式核心控制系統研發、設計和生產,i.mx6UL系列產品現已暢銷全國,作為恩智浦imx6ul,imx6ul開發板,i.mx6提供者,飛凌嵌入式提供基于iMX6 iMX6UL解決方案定制。

    了解詳情
    OKMX6UL-C開發板
  • OKMX6ULL-C開發板

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

推薦閱讀 換一批 換一批