以文本方式查看主題 - 曙海教育集團論壇 (http://www.hufushizhe.com/bbs/index.asp) -- WinCE應(yīng)用開發(fā) (http://www.hufushizhe.com/bbs/list.asp?boardid=35) ---- 我的 ARM-WinCE 編程探索之旅(二) (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=35&id=1807) |
-- 作者:wangxinxin -- 發(fā)布時間:2010-11-26 10:04:49 -- 我的 ARM-WinCE 編程探索之旅(二) 前幾天,我的HP 1715終于修好了,重新?lián)Q了塊屏,解決了觸屏失靈及自己拆機把背光弄沒的問題(在 pdafans 上詢問多日,毫無結(jié)果)。我的編程探索又可以繼續(xù)了。 經(jīng)過多次測試,找到了使用 FPC(Free Pascal Compiler)加 SDL(SImple DirectMedia Layer)進行 ARM-WinCE 圖象編程的途徑(最終,建立過程中還是不得不借助于M$的開發(fā)工具eVC)。 1、從 http://www.libsdl.org/download-1.2.php 下載最新的 SDL 1.2.13 源碼,解壓其中 src 和 include 到 c:\\,解壓其中 visualce.zip 到 c:\\VisualCE。 2、下載并安裝eMbedded Visual C++ 4.0(同時附帶安裝了Platform SDK),運行,打開WorkSpace文件 c:\\VisualCE\\*.vcw,修改工程配置為 arm4,release,然后 Build SDL.DLL,生成 ARM-WinCE 下用的 SDL.DLL,約220K大小,將 SDL.DLL 拷入 PPC。 3、從 http://www.hu.freepascal.org/lazarus/ 下載并安裝最新的 Lazarus + fpc 2.2.5 win32 -> arm wince。修改 \\lazarus\\fpc\\2.2.5\\source\\packages\\sdl\\src\\sdl.pas 的源碼,注釋掉連續(xù)的多個 *getenv 和 *putenv 二函數(shù),再用 ppcrossarm.exe 編譯 sdl.pas,得到libimpsdl.a、sdl.o、sdl.ppu三個文件,覆蓋原 \\lazarus\\fpc\\2.2.5\\units\\arm-wince\\sdl\\ 下的文件。 至此,F(xiàn)PC+SDL的WinCE圖形編程環(huán)境構(gòu)建完成。 接下來,將前些日子根據(jù) PGCC 示例用 FPC 改寫的一個簡單的桌面版 SDL 測試程序,重新用 ppcrossarm.exe 編譯,生成的EXE文件大小為82K,只導(dǎo)入了額外的 SDL.DLL(前面已經(jīng)放入PPC),在PPC上運行通過。運行時會先出現(xiàn) SDL 初始化的控制臺窗口,顯示一些視頻信息(桌面版的SDL也是如此,類似于dosbox的運行),其運行結(jié)果是每秒20次在全屏幕上顯示隨機大小、隨機顏色的方塊,按任意鍵或觸筆點擊退出。 下面是昨天晚上最后的程序源碼(在事件查詢循環(huán)上好像有點邏輯問題,有時候退不出程序,待修正):
|