本文導(dǎo)讀
如何在嵌入式linux開發(fā)板上運(yùn)行貪吃蛇游戲呢?本文以EasyARM-i.MX283A為硬件載體,簡(jiǎn)述其運(yùn)行貪吃蛇小游戲的方法及步驟。
1
原料準(zhǔn)備
硬件方面
使用ZLG致遠(yuǎn)電子提供的EasyARM開源套件。EasyARM-i.MX283A采用NXP的ARM9核心,運(yùn)行專為嵌入式linux產(chǎn)品裁剪的uboot、kernel及rootfs,其豐富的外設(shè)資源及完善的驅(qū)動(dòng)支持為日常學(xué)習(xí)及項(xiàng)目評(píng)估提供堅(jiān)實(shí)基礎(chǔ)。該板默認(rèn)支持TFT-4.3液晶顯示屏,搭配USB串口線、網(wǎng)線等必要配件即可快速上手。
ZLG致遠(yuǎn)電子EasyARM-i.MX283A開源套件
軟件方面
使用linux宿主機(jī)。嵌入式linux的開發(fā)大多使用ubuntu系統(tǒng),可以從 Ubuntu 官網(wǎng)下載的 ISO 鏡像,安裝后得到純凈的 Ubuntu,再搭建嵌入式linux開發(fā)環(huán)境。建議使用ZLG致遠(yuǎn)電子官網(wǎng)提供的Ubuntu系統(tǒng),該系統(tǒng)已經(jīng)安裝了完整的嵌入式 Linux 開發(fā)環(huán)境。
Ubuntu開發(fā)環(huán)境
2
環(huán)境搭建
宿主機(jī)方面
需要在VMware下運(yùn)行ubuntu系統(tǒng),并且正確安裝linux-arm交叉工具鏈及qt-sdk。
交叉工具安裝比較簡(jiǎn)單,將EasyARM-i.MX283A資料中的“gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar”解壓到ubuntu的/opt(或其他)目錄下,再在“profile”或“bashrc”中export即可。若在任意shell中輸入“arm-none”,按TAB鍵后可自動(dòng)補(bǔ)全下圖“arm-none-linux-gnueabi-”則證明工具鏈安裝成功。
安裝交叉編譯器
安裝qt-sdk的主要目的是獲取QT庫及qmake工具。在ubuntu聯(lián)網(wǎng)的情況下使用命令“sudo apt-get install qt-sdk”獲取并安裝qt-sdk,若失敗請(qǐng)先執(zhí)行“sudo apt-get update”更新源。安裝成功后,會(huì)在/usr/bin/目錄下產(chǎn)生兩個(gè)可執(zhí)行文件 qmake 和 qmake-qt4,如下圖。分別打印信息可知qmake是嵌入式版本的指令,qmake-qt4是桌面版本的指令。
安裝qmake
目標(biāo)機(jī)方面
EasyARM-i.MX283A需要執(zhí)行的操作較少,需要的qt庫已經(jīng)交叉編譯后移植上去,我們需要關(guān)注的主要是使用SSH工具登錄到開發(fā)板上,并于宿主機(jī)通過NFS建立文件共享,以便將編譯好的可執(zhí)行文件拷貝到開發(fā)板。當(dāng)然,使用U盤或者SD卡拷貝也行,只不過頻繁的插拔、掛載操作顯得特別麻煩。
宿主機(jī)目標(biāo)板間的文件拷貝
3
測(cè)試源碼
本文的重點(diǎn)在于體驗(yàn)嵌入式linux平臺(tái)下的游戲運(yùn)行,代碼的書寫不是今天的重點(diǎn)呦。So,筆者決定尋求“某度”幫助。在某論壇下載到源碼,我們先測(cè)試下是否報(bào)錯(cuò)。下載得到的源碼如下圖。
貪吃蛇源碼
在源碼目錄下執(zhí)行“qmake-qt4 -project”生成qt工程,再執(zhí)行“qmake-qt4”編譯工程得到Makefile文件,最后執(zhí)行“make”命令得到可執(zhí)行文件。
編譯貪吃蛇
這個(gè)snake-demo可執(zhí)行程序就是我們要得結(jié)果了,執(zhí)行它游戲?qū)㈤_始運(yùn)行。
運(yùn)行貪吃蛇
4
編譯ARM版本
測(cè)試源碼沒有報(bào)錯(cuò),下面進(jìn)行ARM版本的編譯。前面我們提到,qmake-qt4是桌面版的qmake工具,qmake是ARM版本的qmake工具,因此本次使用qmake在源碼目錄重復(fù)第3小節(jié)的編譯步驟。得到的文件看起來和原來沒什么區(qū)別,執(zhí)行“./snake-demo”會(huì)提示“無法執(zhí)行二進(jìn)制文件”,通過兩者的Makefile文件和“file”命令的查看,通過對(duì)比確認(rèn)此時(shí)的snake-demo就是我們需要的,詳情見下圖。
qmake-qt4與qmake執(zhí)行對(duì)比
將此文件拷貝到開發(fā)板上并執(zhí)行。是不是有哪里不對(duì)勁?沒錯(cuò),中文無法顯示。
EasyARM-i.MX283A的QT庫默認(rèn)不支持中文,需要給它更新個(gè)中文字庫。
缺少中文庫
在網(wǎng)絡(luò)上下載ttf格式的中文字庫,拷貝到開發(fā)板的/opt目錄下。“QT_QWS_FONTDIR”環(huán)境變量為qt應(yīng)用程序提供字庫尋找路徑,更新它。在shell下執(zhí)行“export QT_QWS_FONTDIR=/opt”,并在程序執(zhí)行是添加執(zhí)行參數(shù)指定字庫名“./snake-demo -qws -font wqy-microhei”。OK,點(diǎn)擊觸摸屏操作小小貪吃蛇吧!
添加中文支持
5
結(jié)語
EasyARM-i.MX28x系列開源套件在致遠(yuǎn)電子淘寶官方店有售,若您準(zhǔn)備用作實(shí)際項(xiàng)目開發(fā),強(qiáng)烈建議您選用工業(yè)級(jí)EPC系列ARM板。
-
嵌入式
+關(guān)注
關(guān)注
5082文章
19104瀏覽量
304784 -
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209318
原文標(biāo)題:“貪吃蛇”帶你玩轉(zhuǎn)linux
文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論