网络可视电话中的 存储器交换方法 本发明涉及网络可视电话(web video phone),特别涉及有效管理网络可视电话中的存储器的方法。
网络可视电话是一种新概念的电话,它具有安装在电话主体上的视频LCD(液晶显示器)和键盘。此外,网络可视电话包括一个分离的存储器,如DRAM(动态随机存取存储器)和闪速存储器(flash memory),用于运行各种应用程序,如网络浏览器、电子函件应用程序、PIM(Personal InformationManagement,个人信息管理)应用程序、以及已知的可视电话功能。PIM应用程序管理个人信息,如地址簿、电话簿、时间表、和备忘录。
闪速存储器存储上述应用程序,该应用程序与存储在其中的OS(操作系统)库函数静态连接。当网络可视电话上电时,所有静态连接到OS库函数的应用程序同时从闪速存储器下载到DRAM,以便应用程序可以在DRAM中运行。
但是,由于存储在闪速存储器中的应用程序是与OS库函数静态连接的,所以各个应用程序彼此不能分开。结果,当网络可视电话上电时,所有的应用程序应该同时下载到DRAM。因此,网络可视电话需要高容量的DRAM。
此外,即使其中只有一个应用程序被修改,所有其它的应用程序也应该重新编译和连接。因此,对部分更新应用程序存在一定的限制。
因此本发明的一个目的是提供一种存储器交换(memory swapping)方法,它能够部分更新应用程序,并使用低容量的DRAM。
为了达到上述目的,提供一种在网络可视电话中的闪速存储器和DRAM之间交换应用程序的方法。以应用程序为单位将应用程序编码为执行代码,并存储在闪速存储器中。在上电时,网络可视电话在其LCD上显示具有多个图标地顶层菜单,每个图标表示一个特定的应用程序,并检查是否用户选择了其中一个应用程序。如果用户选择了其中一个应用程序,则它检查DRAM中是否还有另一个应用程序当前正在执行。如果DRAM中有另一个应用程序当前正在执行,则该当前正在执行的应用程序及其执行过程中产生的数据被一起上载(upload)到闪速存储器中。然后,将选择的应用程序从闪速存储器中下载到DRAM中并执行。
通过参照附图详细描述本发明的优选实施例,本发明的目的和优点将会变得更明显,其中:
图1是应用本发明的网络可视电话的方框图;
图2是根据本发明的一个实施例在闪速存储器和DRAM之间交换应用程序的流程图;
图3是本发明的一个实施例的闪速存储器和DRAM的存储器映射图。
下面参照附图详细描述本发明的一个优选实施例。说明书和附图中的许多具体细节的描述是为了全面地理解本发明。然而,本领域的技术人员都知道,不用这些细节也可以实施本发明。此外,本发明中的已知的操作和结构没有详细描述,以免影响本发明的主题。
图1是应用本发明的网络可视电话的方框图。参照图1,微机100根据存储在闪速存储器112中的程序控制网络可视电话的整个操作。闪速存储器112存储微机100的操作程序和网络可视电话支持的各种应用程序。应用程序在被存储到闪速存储器112之前,以应用程序为单位编码为执行代码。DRAM114是主存储器,它临时存储执行各种应用程序的过程中产生的数据。摄像机104将输入彩色视频信号提供给视频CODEC(编码解码器)102,视频CODEC102将从摄像机104输入的彩色视频信号转换为数字视频数据,并根据CCITT推荐标准H.261压缩该数字视频数据。此外,视频CODEC102还对通过线路接口单元(LIU)128从相对方接收的压缩的视频数据进行解码。声音CODEC106对从话筒110输入的声音信号进行压缩,并对通过LIU128从相对方接收的压缩的声音数据进行解码。连接到公共交换电话网(PSTN)上的LIU128对压缩的声音数据和视频数据进行多路分配,以将声音数据和视频数据分别提供给声音CODEC106和视频CODEC102。由液晶显示器(LCD)120和触模板118构成的触摸屏输入/输出装置116向微机100提供用户通过触摸板118进行的触屏输入,并在微机100的控制下,在LCD120中显示网络可视电话的各种操作状态和应用程序的操作屏幕。此外,LCD120还根据视频CODEC102解码的视频数据来显示视频信息。扬声器108输出声音CODEC106解码的声音数据。小键盘(keypad)122包括多个拨号键和功能键,并根据用户的键输入向微机100提供键数据。键盘124是用户用来选择应用程序如网络浏览器、电子函件、或PIM应用程序的键输入装置,它还向微机100提供根据用户的键输入产生的键数据。MODEM(调制解调器)126将微机100的输出数据和视频数据调制为模拟信号,以将其通过LIU128发送到PSTN,并对从PSTN接收的模拟调制信号进行解调。
图2是根据本发明的一个实施例在闪速存储器112和DRAM114之间交换应用程序的流程图。图2流程图的操作由图1的微机100来进行。下面参照图1和图2,详细描述本发明的优选实施例。
如果用户接通网络可视电话,则微机100在步骤200中在LCD120上显示顶层菜单,然后,进至步骤202,以等待用户的键输入。这里,顶层菜单由各代表一个应用程序的多个图标构成。用户可以通过使用键盘124或通过触摸设置在触摸屏输入/输出装置116上的触摸板118上的键,来选择代表他/她想要运行的应用程序的图标。然后,微机100在步骤204检查是否有用户选择的应用程序。如果没有应用程序被选择,则微机100返回步骤202,以等待用户的键输入或键触摸输入。相反,如果有用户选择的应用程序,则微机100在步骤206检查在DRAM114中是否有其它应用程序当前正在执行。如果DRAM114中有其它应用程序当前正在执行,则微机100在步骤208将当前执行的应用程序和在该应用程序执行的过程中产生的数据分别上载到闪速存储器112中的应用程序存储区和数据存储区。此后,过程进至步骤210。
但是,如果DRAM114中没有当前正在执行的其它应用程序,则微机100跳至步骤210,以将用户在步骤204选择的应用程序从闪速存储器112下载到DRAM114,然后,在步骤212运行下载的应用程序。
图3是说明应用程序和数据在闪速存储器112和DRAM114之间如何交换的示意图。参照图3,如果当应用程序C当前正在DRAM114中执行时,用户选择了闪速存储器112中的应用程序A,则当前正在DRAM114中执行的应用程序C被上载到闪速存储器112中的应用程序C的存储区,而在该应用程序C的执行过程中产生的数据也上载到闪速存储器112中的数据存储区。然后,应用程序A被从闪速存储器112下载到DRAM114并被执行。
根据上述,顶层菜单中的应用程序以应用程序为单位编码为执行代码,并被存储到闪速存储器112中。如果用户选择了特定的应用程序,存储在闪速存储器112中的选择的应用程序被下载到DRAM114并被执行。此时,如果用户选择了其它应用程序,则当前执行的应用程序和在执行该应用程序的过程中产生的数据一起上载到闪速存储器112。这样,如果用户以后再选择了该应用程序,则该应用程序会从其执行被中止的部分重新开始。此外,由于应用程序以应用程序为单位编码为执行代码,所以有可能以应用程序为单位来部分更新应用程序。
如上所述,应用程序以应用程序为单位编码为执行代码,存储在闪速存储器中,并在被选择时下载到DRAM。所以,即使采用低容量的DRAM,本发明的网络可视电话也可以工作。此外,可以以应用程序为单位部分更新应用程序。
虽然本发明是参照特定实施例来详细描述的,但是应该清楚理解,在不脱离本发明的范围和精神的情况下,本领域的技术人员可以进行许多变形。因此,本发明的范围仅由所附权利要求限定。