MIPS目标平台CLDC的Java虚拟机移植
2009-12-30 00:00:00 来源:WEB开发网◆im OsFile_open(const JvmPathChar*filename,constchar*mode)
◆int OsFile_close(OsFile_Handle handle)
◆int OsFile_flush(OsFile_Handle handle)
◆size_t OsFile_read(OsFile_Handle handle,void*buffer,size_t size,size_t count)
◆size_t OsFile_write(OsFile_Handle handle,const void*buffer,size_t size,size_t count)
以上接口实现了文件的常用操作,如文件的打开、读、写、关闭、删除、重命名等。
4 CLDC VM移植验证
完成以上移植所需的修改后,建立Makefile,设置所需的环境变量,使得phoneME Feature成功通过交叉编译,生成目标系统所需的CLDC VM虚拟机。
移植的验证较为简单,将交叉编译生成的cldc_vm可执行文件、库文件以及Demo示例文件复制到目标平台,运行并检查结果。命令结构是:bin/cldc_vm.exe-class-path location-of-compiled-applications/classes classname。
5 CLDC VM移植优化
CLDC虚拟机的移植优化可以从几方面进行:
①优化参数。在虚拟机建立过程中,phoneME提供了很多选项,针对不同的目标平台使用不同的选项。
②Thumb指令集的开关。ARM等CPU支持Thumb指令集,phoneME也支持Thumb指令集。如果目标平台支持Thumb指令集,可以开启Thumb开关,加快虚拟机执行速度。
③其他。对虚拟机的优化还可从编译器自身、内存子系统等方面进行优化。
结 语
基于phoneME Feature软件生成的CLDC虚拟机与早期的KVM虚拟机相比,性能得到较大改善,尤其是在多任务支持方面(早期的KVM虚拟机不支持多任务功能)。笔者在Broadcom 7403和NXP 225上成功实现CLDC VM的移植。下一步的工作是在国产数字电视SoC芯片上实现CLDC VM的移植。目前多核技术是计算机行业的研究热点,并逐步向嵌入式领域发展,因此支持多核CPU技术和并行技术的CLDC虚拟机将是未来的研究方向之一。
更多精彩
赞助商链接