当前位置: 首页 > 专利查询>英特尔公司专利>正文

远程记录机制制造技术

技术编号:6876785 阅读:171 留言:0更新日期:2012-04-11 18:40
描述了一种用于远程记录调试信息的方法和系统。在执行过程中发生错误时计算机执行程序代码生成调试信息。接着利用网络适配器将该调试信息发送至远程计算机。在一个实施例中,执行程序的计算机是顺应可扩展固件接口(EFI)的。

【技术实现步骤摘要】

至少一个实施例涉及计算机系统,并且更具体地涉及远程记录在计算机系统上执行的计算机代码的调试信息。
技术介绍
随着计算机代码变得更复杂,包括驱动器和程序代码的代码调试变得更难以实现。在远程计算的情形中,因为必要信息并非总是发送至远程编程员以帮助调试过程时,调试代码变得甚至更难。目前,利用串行端口将调试信息或者发送至执行代码的计算机的显示器或者传输至文件。通过利用程序代码中的打印函数来实现通过发送信息至屏幕的调试。在代码执行期间发生程序错误时,此打印函数运行调试子函数。在此调试过程期间停止代码的执行。使用打印库,调试过程可在两个方向的其中一个上进行。它可使用打印库和控制台库并且利用串行端口驱动器生成文件。串行端口,即UART (通用异步收发器)装置被限制为大约每秒115200比特的速度。此速度比正在调试的程序的速度慢得多并且由于此延迟可能会导致甚至更多的错误发生。一旦将数据写入本地文件,就重新开始程序代码的执行。打印库还可使用图形加速器(GA)库。GA库控制显示适配器驱动器。利用此驱动器将调试信息发送至显示器。然而,通常显示器太小而不能容纳所有必要信息并且显示器可能难以读取。一旦将数据写入显示器,就重新开始程序代码的执行。另外,这些打印函数使用大量的系统时间和资源,这可能会延迟后面代码的执行。 尤其是如果程序在实时环境中运行的话,此延迟可能实际上隐藏代码中后面的问题。附图说明图1是示出依照本专利技术实施例的计算机系统的一个实施例的示意图。图2是示出依照本专利技术实施例实施的逻辑和操作的进一步细节的流程图。图3是调试信息节点的实施例的示意图。图4是示出依照本专利技术实施例实施的逻辑和操作的进一步细节的流程图。图5是示出用于实现本专利技术实施例的计算机系统的实施例的图示。具体实施例方式下面描述了用于计算机系统固件的可管理性扩展机制的方法和系统。在下面的描述中,陈述了许多特定的细节,例如涉及可扩展固件接口(EFI)框架规范的实施例,以便提供对本专利技术的透彻理解。对本领域的技术人员来说将显而易见的是,没有这些特定的细节也可以实现本专利技术。在其他情形中,未详细描述公知的设计和实现以便使描述更简洁。图1示出依照本专利技术实施例的计算机系统100。计算机系统100包括处理器102、 存储器104、耦合至总线108的固件存储器110和网络适配器112。示范的计算机系统100 可包括但不限于个人计算机、网络工作站、便携式计算机、手持式或掌上型计算机、个人数字助理(PDA)、无线通信装置、电视游戏系统和数字照相机。固件存储器110是非易失性存储装置,其包括但不限于闪存装置、可擦可编程只读存储器(EPROM)和电子可擦可编程只读存储器(EEPROM)。固件存储器110至少存储包括可由计算机系统100执行的指令和/或数据的固件图像。在一个实施例中,固件图像包括用于个人计算机的BIOS固件。在另一个实施例中,固件图像包括在安装在个人计算机上的扩展板的固件存储装置中存储的固件。在又一个实施例中,固件图像是在无线电话、PDA或数字照相机的固件存储装置中存储的固件。在一个实施例中,固件存储器110包括依照EFI框架规范的指令和/或数据。当今的固件体系结构包括用于除存储在平台的BIOS装置(例如闪存)中的BIOS代码所提供的之外扩展BIOS功能性的规定。更具体地,可扩展固件接口允许从各种不同资源来加载以固件模块和驱动器形式的固件,各种不同资源包括主要和次要闪速装置、选项R0M(只读存储器)、各种持久性存储装置(例如硬盘、CD ROM(光盘只读存储器)等),以及甚至通过计算机网络来加载。在EFI框架的一个实现中,初始化过程包括存储在计算机系统100上的固件的各种执行阶段。这些执行阶段包括预EFI初始化(PEI)阶段、驱动器执行环境(DXE) 阶段和EFI 1.0执行阶段。这些阶段使得各种平台装置和服务的初始化以及设置成为可能,并且允许依照在EFI 1. 0执行阶段之后的OS运行阶段来引导操作系统。在一个实施例中,固件存储器110是闪存装置。本领域的技术人员将会理解,可使用用于维持固件代码和/或数据的其他类型的持久性存储装置并且本文所讨论的使用闪速装置的实施例仅仅是示范性的。闪存是允许制造商和(利用适当硬件/软件)的最终用户电擦除并重新编程信息的非易失性存储技术。闪存通常以被称为块的存储单位进行擦除而不是以位的级别进行擦除,其中当块被擦除时给定块中的所有位被转换到预定极性(即,逻辑电平)。在一个实施例中,块大小是64k。在另一个实施例中,块大小是32k。在一种常用类型的闪存、例如由 Intel公司制造的闪存装置中,通过将存储块中的所有位设为1而电子擦除存储块。接着可通过将单独的位翻转为0以形成与数据相对应的适当的位模式而将数据写入块。在其他类型的闪速装置中,被擦除的逻辑状态为全0,并且将数据写入这些装置包括将单独的位变为 1。注意到,在常规的闪速装置中,单独的位无法从改变的(即设定的)逻辑电平翻转回到被擦除的逻辑电平;为了更新块中的数据,所有位必须首先被擦除,而后被重写。依照一个实施例,存储装置106耦合至总线108。示范的存储装置包括但不限于磁驱动器、光驱动器或诸如此类。在备选实施例中,存储器106不是计算机系统100的一部分,但是可由计算机系统100进行访问。网络适配器112耦合至总线108。网络适配器或网络接口卡(NIC)在计算机系统 100和网络之间形成连接。有线NIC通常使用以太网连接并且可用于10、100和lOOOBase-T 配置。100-Base-T卡可以100Mbps的速率传送数据。有线NIC可使用ISA、PCI、PCMCIA或 PCI Xpress总线。无线NIC还允许利用例如IEEE 802. 11族和蓝牙(IEEE 802. 15)的无线规范连接到网络。在一个实施例中,网络适配器112支持EFI框架。在一个实施例中,如果存在有多个网络适配器112,则用户可确定使用任何网络适配器。然而,要求用户首先要配置运行环境。例如,可使用工具包。示范的配置指令可采用 netdebugcfg-s "ethO 514192. 168. 0. 1 514”的形式。参数“_s”指使用本文所描述的远程记录。参数“ethO”指选择名为ethO的网络适配器作为通信装置。第一个“514”表示本机端口等于“514”。本领域的技术人员将会注意到,端口通常与UDP相关联。参数“192. 168. 0. 1” 表示在其上程序正在运行的机器的IP地址,并且最后的参数“514”表示远程端口。传统上,BIOS不提供连网功能性。在一个实施例中,BIOS被重新构建以提供该功能性。在另一个实施例中,除了 BIOS外还使用EFI框架。EFI框架的一个实施例具有并入 FreeBSD TCP/IPv4协议栈的端口的、与BSD(伯克利软件分发版)套接字兼容的接口,其又利用EFI简单网络接口(SNI)协议。EFI套接字协议接口提供EFI应用工具包的核心组件的其中之一。套接字接口与网络传输无关。尽管最常用的实现连接到TCP/IPv4网络栈,但是它同样可用于TCP/IPv6、IPX、NetBEUI或Appletalk网络栈。套接字接口还是应用程序的事实上的标准连网接口。从EFI的观点看本文档来自技高网...

【技术保护点】
1.一种用于将调试信息传输至远程计算机的方法,包括:在第一计算机系统上执行程序代码;在所述程序代码的执行期间发生错误时,调用网络打印驱动器以生成调试信息;使用所述网络打印驱动器生成调试信息;以及通过网络适配器将所述调试信息传输至远程计算机系统。

【技术特征摘要】

【专利技术属性】
技术研发人员:Y·邓R·简C·宋Y·孙Z·王
申请(专利权)人:英特尔公司
类型:发明
国别省市:US

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

1