2010年4月15日 星期四

ARM Mali 200 效能驗證工作 - 環境建立

這幾天接獲新任務,要驗證新的開發平台希望能取代公司舊的 2D Embedded 系統,而此 embedded 是能支援 OpenGL ES 2.0。本想 OpenGL API 還蠻熟析的,應該能很快處理完此工作,不料 embedded 的環境真的陽春很多,許多東西都要考量相依性,光是函式庫和環境的建立就花費許多的時間。

昔日的工作都過於侷限在繪圖領域,不過最近突然對各種技術都有很高的興趣。為了能順利完成此任務,在環境建立部分花了一點時間思考,也找了幾位專員討論,獨立的 linux pc 與網路連線都是一開始的想法,但身邊的資源實在太有限了,因此最後決定用 Ubuntu + VMWare ,雖然不算完美,但確實節省了很多時間。

採用 VMWare 的好處很多,包括可以讓我工作的環境部用擺放一大堆的機械,而我原本的 pc 等級也夠高,因此跑起來很流暢,在加上本機上兩個作業系統同時運作,會比透過網路遠端操控來得便利很多。

而缺點方面,最致命的缺陷應該就是硬體資源都是用軟體的方式模擬出來的,所以無法百分百發揮硬體效能,尤其這一次的工作需要較多的繪圖卡驗證工作,但 VMWare 始終只能模擬 SVGA II 的顯示晶片,我要執行的 OpenGL ES 程式是無法執行的,因為 SVGA II 只支援到 OpenGL 1.3 ,而 OpenGL ES 2.0 Emulator 的環境,再使用 ELG 一些功能時,必須要有 OpenGL 1.4 以上才可支援,因此對工作還是有一些不便利性,不過至少可以編譯 ARM 的程式,只是用 Emulator 執行時會丟出例外訊息。

另外環境上的不便利性就是仍然需要透過隨身碟傳送編液後的程式,開發端和驗證端需要不斷的傳送更新資料,因此 USB 的插拔還有繁瑣的指令,都會導致工作上的不流暢,這裡應該可以花點時間改善,應該會大大提升工作效率。

這次的工作也學習到很多西的東西,除了上述的 VMWare 系統外,也使用了 VMWare tools 這好用的工具,讓兩作業系統能直接相容複製、貼上等指令,這樣的環境讓工作方便很多。而在安裝編譯環境時,也第一次接觸到 toolchain ,而最後也比較清楚 Toolchain 指的就是一個程式開發的完整工作環境,包含了所有成是開發過程中需要使用的工具,而好的 Toolchain 可以幫你串連起整個工作流程,讓你每次在編譯或更新產品時,只要簡短的夏達幾個指令就可完成,也可透過更改些許參數就能編譯出不同版本,是將很多小程式與 makefile 具合起來的工具集。這是使用的 toolchain 是 arm-2008q3... 可在 CodeSourcery 下載。

原本 linux 的操作環境都快忘了,這次也正好可讓我在溫習一下工作環境。

沒有留言:

張貼留言