在视窗环境中自动快速测试手持式电脑的存储器的方法技术

技术编号:2883180 阅读:210 留言:0更新日期:2012-04-11 18:40
本发明专利技术是一种在视窗环境中自动快速测试手持式电脑的存储器的方法,该方法是在一WinCE操作系统的环境中,通过制作一自定义的动态链接库,令该动态链接库能将该操作系统的内核层的函数引出,供其用户层调用、自动将手持式电脑的对象存储器设为最小,并使该对象存储器中的自由存储器全部自动转变为程序存储区,对其进行测试,在测试完成后,再自动将该对象存储器恢复成测试前的初始值,由于在本发明专利技术的测试程序中,该程序存储区的读/写速度较文件系统为快,故可快速完成对全部自由存储器的测试。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术是关于一种,尤指一种在安装有微软(Microsoft)公司WinCE操作系统的手持式电脑(H/PC)上,自动对其上安装的随机存取存储器进行快速测试的方法。目前在一般手持式电脑中,均安装有微软(Microsoft)公司的WinCE操作系统,该操作系统可将手持式电脑的随机存取存储器(RAM)分为程序存储区(Program Memory)及对象存储器(Object Store)两部份,其中程序存储区是用以存储在该手持式电脑上执行的应用程序,而对象存储器则是用以存储该操作系统的文件系统(File System)。在现有的相关技术中,对于对象存储器进行测试的方法,可分为两种(1)利用文件系统对该对象存储器的存储器进行读/写及比较测试,由于,在该方法中,文件系统在进行读/写动作时,需先进行定位及分配缓存的动作,其读/写速度较在该程序存储区的读/写速度慢,故该测试方法的速度自然较慢;(2)在WinCE操作系统的控制面板中,先将该对象存储器的存储器大小设定最小,再对其进行测试,在测试完毕,再以手动方式将该存储器大小恢复成正常,由于,在该测试方法中,需要手动操作,故其操作程序较麻烦,且操作速度也较慢。有鉴于在传统手持式电脑中,对其对象存储器进行测试的方法,操作程序较麻烦,且速度较慢的缺点,专利技术人根据多年的实际经验及研究心得,研发出本专利技术,本专利技术是提供一种可在WinCE操作系统的环境中,自动将对象存储器的大小设置为最小,使该对象存储器中的自由存储器全部自动转变为程序存储区,并在对该手持式电脑的存储器完成快速测试后,再自动将该对象存储器恢复成测试前的初始值的方法。本专利技术的一目的,是通过制作一自定义的动态链接库,令该动态链接库能将该操作系统的内核层的函数引出,使其成为可被其用户层调用的函数。本专利技术的又一目的,是在利用该动态链接库所提供的函数,将该对象存储器的大小自动设为最小,令该对象存储器中的自由部份全部自动转变为程序存储区,以达快速测试的目的,并在测试完毕后,自动将其恢复成测试前的初始值。附图说明图1是本专利技术的功能结构示意图;图2是本专利技术的测试流程示意图;图3是本专利技术的恢复流程示意图;图4是本专利技术的一具体实施例的接口示意图;图5是本专利技术的实施例中存储器的状态示意图;图6是Visual C++所提供的Project Setting连接动态链接库对话框的接口示意图。图号说明应用程序接口……101用户层……102内核层……103动态链接库……104本专利技术中,由于手持式电脑在WinCE操作系统下,用以调节随机存取存储器中程序存储区(Program Memory)及对象存储器(ObjectMemory)大小的函数,仅存在于其内核层(Kernel)(103)中,其用户层(102)则无法提供该等函数供应用编程接口(101)(ApplicationProgramming Interface,简称API)使用,参阅图1所示,因此,为能令手持式电脑自动调节对象存储器的大小,本专利技术通过制作一自定义的动态链接库(104),将其内核层(103)的相关函数引出,成为能被用户层(102)调用的函数,如此,该应用编程接口(101)不仅能够直接调用该用户层(102)的函数,亦能通过该用户层(102)间接调用该内核层(103)的函数,从而令手持式电脑自动完成调节随机存取存储器中程序存储区及对象存储器大小的功能。本专利技术主要可分为下列三大步骤。(一)制作一自定义的动态链接库。虽然,在WinCE操作系统下,其应用编程接口并未提供调节随机存取存储器中程序存储区及对象存储器大小的函数,但在WinCE操作系统的内核层EDK(Embedded Developers Kit)中,则提供有获得对象存储器大小及设置对象存储器大小的函数,其函数名称分别为GetSystem Memory Division 0和Set System Memory Division 0,本专利技术是通过制作一自定义的动态链接库,令该链接库的函数将该二函数Get System Memory 0及Set System Memory Division 0,分别将Get System Memory Division 0及Set System Memory Division 0引出,供应用编程接口调用。(二)连接动态链接库本专利技术在实际实施时,可利用Visual C++语言所提供的项目设定(Project Setting)对话框,参阅第6图所示,将该动态链接库的名称写入该对话框,以达成连接该动态链接库的目的,且令该应用程序接口在测试程序进行中,可调用该动态链接库中的该二函数,从而间接调用该内核层所提供的二函数Get System Memory Division 0和SetSystem Memory Division 0。(三)利用动态链接库进行自动测试本专利技术在利用该动态链接库对随机存取存储器进行自动测试前,参阅图2所示,是先通过调用函数Get system Memory 0,获得对象存储器的大小值,并保存该存储区的大小值(201),且建立一用以恢复该对象存储器大小的恢复线程,再将该对象存储器的初始值赋予该恢复程序(202),令该恢复程序一直处于等待接收一恢复信号的状态。本专利技术在对存储器进行测试时,是通过调用函数Set System Memory0,将对象存储器的自由存储器设为最小(203),此时,随机存取存储器的全部自由空间均转变为程序存储区,故其读/写速度较快,且可快速完成全部自由存储器的测试;然后,通过保存并提高当前测试程序的优先级(204),且保存较多的存储器(205),以防系统及后续程序占用存储器;并针对每一存储器单元,写入一数值0×55(206)后,再逐一读取各该存储器单元(207),以进行测试,判断各该存储器单元的存储值是否等于该数值0×55(208)?若不相等,则赋予测试结果错误的标记(214),并结束测试,否则,继续重复前述测试(209)。在完成数值0×55的测试,则再对各存储器单元写入另一数值0×AA(210),再逐一读取各该存储器单元(211),以判断各该存储器单元的存储值是否等于0×AA(212)?若不相等,则赋予测试结果错误的标记(214),并结束测试;否则,继续重复前述测试(213);测试结束后,再恢复当前测试程序的优先级(215),并对用以恢复对象存储器大小的恢复线程发出一恢复信号,令该恢复线程将该对象存储器复原回初始值(216),然后判断该恢复线程是否结束(217)?若尚未结束,则令自己(测试程序)进入睡眠状态(218),在一预定时间后,再判断该恢复程序是否结束?否则,结束整个测试程序。参阅图3所示,本专利技术为防止系统及后续程序分配存储器,占用了程序存储区的边界单元,从而阻止对该对象存储器的初始值的恢复,该恢复程序是采用逐步逼近法,以恢复该对象存储器的初始值,该逐步逼近法在接收到恢复信号(301)后,将保存并提高当前测试程序的优先级(302),并调用函数Set System Memory 0,设定该对象存储器的大小为接近其初始值(303),并判断是否设定成功(304)?若是,则继续判断该设定值是否恢复到该对象存储器的初始值(305)?若是,则赋予设定成功的标记本文档来自技高网...

【技术保护点】
一种在视窗环境中自动快速测试手持式电脑的存储器的方法,该方法是在一手持式电脑的WinCE操作系统的环境下,通过制作一自定义的动态链接库,令该动态链接库将其内核层的函数引出,供其用户层调用。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:罗斌宋建福林光信
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1