以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- WinCE应用开发 (http://sun4.cn/bbs/list.asp?boardid=35) ---- 我的 ARM-WinCE 编程探索之旅(二) (http://sun4.cn/bbs/dispbbs.asp?boardid=35&id=1807) |
-- 作者:wangxinxin -- 发布时间:2010-11-26 10:04:49 -- 我的 ARM-WinCE 编程探索之旅(二) 前几天,我的HP 1715终于修好了,重新换了块屏,解决了触屏失灵及自己拆机把背光弄没的问题(在 pdafans 上询问多日,毫无结果)。我的编程探索又可以继续了。 经过多次测试,找到了使用 FPC(Free Pascal Compiler)加 SDL(SImple DirectMedia Layer)进行 ARM-WinCE 图象编程的途径(最终,建立过程中还是不得不借助于M$的开发工具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 的源码,注释掉连续的多个 *getenv 和 *putenv 二函数,再用 ppcrossarm.exe 编译 sdl.pas,得到libimpsdl.a、sdl.o、sdl.ppu三个文件,覆盖原 \\lazarus\\fpc\\2.2.5\\units\\arm-wince\\sdl\\ 下的文件。 至此,FPC+SDL的WinCE图形编程环境构建完成。 接下来,将前些日子根据 PGCC 示例用 FPC 改写的一个简单的桌面版 SDL 测试程序,重新用 ppcrossarm.exe 编译,生成的EXE文件大小为82K,只导入了额外的 SDL.DLL(前面已经放入PPC),在PPC上运行通过。运行时会先出现 SDL 初始化的控制台窗口,显示一些视频信息(桌面版的SDL也是如此,类似于dosbox的运行),其运行结果是每秒20次在全屏幕上显示随机大小、随机颜色的方块,按任意键或触笔点击退出。 下面是昨天晚上最后的程序源码(在事件查询循环上好像有点逻辑问题,有时候退不出程序,待修正):
|