CN1251106C - 启动计算设备中的端口的方法 - Google Patents

启动计算设备中的端口的方法 Download PDF

Info

Publication number
CN1251106C
CN1251106C CNB028052544A CN02805254A CN1251106C CN 1251106 C CN1251106 C CN 1251106C CN B028052544 A CNB028052544 A CN B028052544A CN 02805254 A CN02805254 A CN 02805254A CN 1251106 C CN1251106 C CN 1251106C
Authority
CN
China
Prior art keywords
port
legacy
debugging
hiding
serial port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB028052544A
Other languages
English (en)
Other versions
CN1493033A (zh
Inventor
P·塔耶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1493033A publication Critical patent/CN1493033A/zh
Application granted granted Critical
Publication of CN1251106C publication Critical patent/CN1251106C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

为通用I/O目的启动计算设备中的隐藏端口,例如调试头串行端口。

Description

启动计算设备中的端口的方法
技术领域
本发明涉及启动计算设备中的端口的方法。
背景技术
数十年来,IBM兼容个人计算机(PC)和派生的设计提供了两种RS-232串行端口作为标准输入/输出端口。最初,键盘连接到其中这样的一个端口,剩余的一个端口可用于其它的设备,例如调制解调器。当鼠标变得普遍后,许多用户希望连接键盘、鼠标和调制解调器到他们的PC。使PC结构扩展以提供标准鼠标和键盘端口,为其它设备释放出这两个串行端口。通常,调制解调器连接到其中一个串行端口。另一个端口常常用于PC到PC的“无调制解调器”连接,在局域网(LAN)普及前允许两个PC通信。网络接口卡(NIC)使得系统间的通信可以广泛使用。因为这两个端口已经有多年可以使用,许多外设设计为通过一个这样的端口与个人计算机连接和通信。有大量的投资用于获得广阔范围的外设,它们通过RS-232串行端口连接到个人计算机。
常规RS-232串行端口的硬件部分通常由便宜的16550A通用异步发射器/接受器(UART)提供,或者作为独立组件,或者作为另一个专用集成电路(ASIC)的一部分。常规RS-232端口的软件部分作为COM端口给系统软件提供可见性。多年以来,所有IBM兼容PC和派生机提供COM1和COM2作为标准RS-232端口。PC BIOS(基本输入/输出系统)是在PC内的只读存储器(ROM),它包含为系统启动和系统配置必需的程序和数据,给软件程序员提供这些硬件端口的位置,它们从物理存储器位移40:0处开始。系统软件通过检查这些物理存储器位置检测这些串行端口的存在和位置。从这一信息,与外部串行设备的通信可以通过这些端口进行。
在为外设使用串行端口外,串行端口的一个稀有但是十分重要的使用是用于软件的调试和诊断的目的。为通过诊断辅助使系统中断最少,许多操作系统提供非常低级的调试能力。关键的系统软件诸如操作系统、文件系统、设备驱动程序等的操作和状态不能被容易地观看,因为个人计算机的视频显示器和键盘为用户应用程序预留。代替的是,通过一种交替的输入/输出传达手段提供一种用于独立查询系统操作和状态的方法;软件工程师可以通过连接到串行端口的PC到PC的无调制解调器电缆获得对操作系统内部工作的访问。标准串行端口用于软件调试是理想的,因为它们的普遍存在和基本端口I/O接口。
随着计算机使用的扩展,更多的计算机、外设、和用户对这两个标准串行端口有日益增加的要求。由于需求超过了初始串行端口设计的能力,因此开发了新的协议以应付日益增加的需要。LAN技术的发展取代了用于PC到PC通信的串行端口的使用。后来,开发出通用串行总线(USB)协议来处理外设。USB协议具有许多理想的特征,诸如热插拔,自动外设检测和识别,更高的位速率,和为同时连接设备增加的能力。
USB设备的出现促使系统提供商不鼓励常规串行端口在个人计算机上使用甚至出现,以支持USB设备。USB实现者论坛,(USB-IF)公司是一个非赢利公司,其由制订USB规范的一组公司组成。形成USB-IF以便为通用串行总线技术的进步和采用提供一个支持组织和论坛。该论坛便利了高质量兼容USB外设和设备的开发和提升了通过认证测试的USB的好处和产品的质量。
在使个人计算机更加便宜和更容易使用的持续的努力中,引入一种新型的“无遗产”(legacy-free)机。这种机器的要求是外设通过通用串行总线连接到计算机上。为执行这一要求,这些计算机不提供常规RS-232串行通信端口。几种最近生产的无遗产个人计算机坚持PC系统设计指南的建议,不再提供常规RS-232串行端口接口。例如,国际商业机器公司生产的IBMNet Vista S40和Compaq计算机公司生产的CompaqiPaq无遗产型号都不提供常规串行端口。预期许多其它的个人计算机型号相似地不再提供常规串行端口。
无遗产机器设计为低成本和容易使用,但是进化的PC标准有时对用户不方便。对于不提供对串行端口访问的新的无遗产机来说就是这种情况。大多数无遗产机都包括一个USB键盘和鼠标,所以一般不需要连接常规非USB键盘和鼠标外设。然而,较旧的设备,亦即使用RS-232串行端口接口的“遗产”设备,诸如鼠标、键盘。调制解调器、游戏杆、书写板、MIDI设备、等,不能直接连接到计算机上。代替的是,计算机用户要么期望用新的USB设备置换所有这些遗产设备,或者用户可以购买一个USB到串行的适配器,该适配器变换USB协议回到常规RS-232协议。这一“设计的荒废”给具有RS-232设备的用户增加了钱财和后勤方面的负担。
即使计算机用户决定用新的USB设备置换这些遗产设备,某些这种遗产设备也无法获得新的USB版本。即使有相应的USB设备可用,也必须购买新的设备而更新或废弃先前使用的设备。新的USB设备需要在希望的操作系统平台上的软件支持,这有可能不能实现。虽然USB设备按设计实现功能时可以易于为用户使用,但是当一定的USB设备不遵从期望的规范或不由软件适当支持时可能会有问题。在一些场合,计算机不能识别和使用USB设备。
如上面指出的,另一个策略是通过给只有USB的系统增加串行端口以支持继续使用现有的串行设备。USB到串行适配器,有时称为“dongles”,是可用的;该适配器提供一个USB连接器和一个或者多个串行连接器。通过为希望的平台适当测试的和工作的软件,这一设备为只有USB的计算机提供串行端口连接。相似地,一些USB集线器的主要功能是提供附加USB端口,也能提供串行端口。
一个非USB选项将是把串行端口卡插入计算机主板。用于无遗产计算机的规范允许PCI型卡连接器,所以只有PCI型串行端口卡能连接到无遗产设备的主板,而较旧的串行端口卡诸如ISA型卡将不能连接。不幸的是,大多数无遗产机构造为便宜的,所以大多数无遗产机没有PCI卡插槽,并且不可能增加PCI型串行端口卡。
显然,在无遗产机上使用现有串行端口的任何尝试都会有金钱和时间-工程上的和管理上的时间-的花费。因此,对于给无遗产机提供至少一个通用串行端口的方法和/或装置使得用户能在无遗产机上继续使用现有串行通信型外设而无需求助于上述诸如USB适配器的选项,将是十分有利的。
发明内容
本发明提供一种用以启动计算设备上的端口的方法,该方法包括步骤:决定计算设备是否有隐藏端口,隐藏端口是计算设备中这样的端口,它不能由计算设备的用户从外部访问,并且不是专用于通用输入/输出(I/O)目的,和如果计算设备有隐藏端口的话,配置计算设备为通用I/O目的使用该隐藏端口。
在本发明的一个实施例中,用户可以任选指定一个数据值,该值可以用于指示用户是否选择隐藏端口为通用I/O目的和/或为调试目的启动该隐藏端口,和根据用户指定的数据值配置计算设备为通用I/O目的和/或为调试目的使用该隐藏端口。在启动该隐藏端口前,可以判定计算设备是否是无遗产设备,和可以响应计算设备是无遗产设备的判定配置计算设备为通用I/O目的使用隐藏端口。
附图说明
现在参考附图举例说明本发明的一个实施例,附图中:
图1A表示一个典型无遗产个人计算机内的主板;
图1B表示可从市场上购买的用于调试头(debug header)串行端口的排线;
图1C表示带有调试控制台系统的调试头串行端口典型使用,调试控制台系统通过调试头串行端口连接到一个改造的无遗产机上;
图1D表示一个根据本发明的一个优选实施例改造的无遗产系统,它为一般目的使用调试头串行端口;
图2是一个流程图,表示根据本发明的一个优选实施例为逻辑配置无遗产设备的过程,使得它的调试头串行端口可以用作一般目的的串行端口;
图3是一个屏幕显示,表示一个BIOS设定页,用它可以询问用户关于配置隐藏端口的选择。
具体实施方式
本实施例在无遗产机上提供至少一个通用串行端口,使得用户具有可以在无遗产机上继续使用现有串行通信型外设的好处。通过本实施例,用户可以以和在遗产机上连接和使用串行设备同样的方式在无遗产机上连接和使用串行设备,而无需借助各种其它的选项,诸如USB适配器。
为实现这一目的,本实施例使用一个无遗产机,其在下面说明。如前所述,常规串行端口的一种稀有的使用是用于软件调试。因此,在消除使用串行外设的能力之外,在无遗产机上去除串行端口引起的另一个问题是:消除了为调试目的访问这些机器上的系统软件的能力。
一般,希望一个简单的、非侵入式的、低级接口,使得调试过程最小侵入。给定为无遗产机提供调试能力的基本需求,和常规串行端口为这一目的的良好的特征,大多数无遗产机具有一个用于调试目的的内部“调试头”RS-232串行端口,也称为调试端口。也就是说,即使去掉了常规的、用户可访问的串行端口,仍然可以为服务人员访问提供一个可选的调试头串行端口。
事实上,在许多可从市场上购买的无遗产系统上提供调试头串行端口,但是调试端口不由通常的计算机用户为调试目的使用。此外,无遗产机的构造方式确定后,调试端口不能由终端用户访问,亦即,调试端口是“隐藏端口”、“用户看不见的端口”、或“用户不可访问的端口”;该端口直接附接在主板上,只能在打开无遗产机接触主板时才能达到。这样,可以在无遗产机内存在一个RS-232端口,但是用户不能使用它。虽然调试头串行端口可以暂时只为某些无遗产机上调试目的使用,但是在大多数机器上调试头串行端口可能终生没有用处。
本实施例认识到,在绝大多数场合,无遗产机的用户希望在无遗产机上有一个串行端口。本实施例通过使调试头串行端口可用于一般使用大大增加了无遗产机的价值和使用性。用户可以以最小的花费延长现有外设诸如RS-232串行设备的有用寿命,同时享受无遗产机的其它有用的特征。为这样做,配置调试头串行端口作为通用串行端口;物理的(硬件)和逻辑的(软件)配置都是必需的。
在详细说明本实施例之前,首先说明典型的调试头串行端口和它的典型使用,然后说明本实施例在无遗产机上提供通用串行端口的方式。
现在参考图1A,图中表示典型无遗产机内的主板。主板102包括一个内部系统总线,它互连位于主板上的各种部件:随机存取存储器(RAM)104;BIOS(基本输入/输出系统)106;主CPU(中央处理单元)108;可以包括一个或多个芯片的支持逻辑110;用户可以插入各种类型PCI卡的PCI槽112;USB端口114;和调试头串行端口116。
熟悉本技术领域的人理解,图1A所示硬件可以根据系统实现改变。例如,系统可以具有一个或者多个处理器和一种或多种类型的非易失存储器。可以在图1A所示部件之外使用其它部件或用后者代替前者,所示例子并不意味对本发明施加结构上的限制。
现在参考图1B,图中表示可从市场上购买的调试头串行端口用排线。可以在主板上的调试头串行端口上连接一个便宜的、电子无源9针9导线排线以便获得对该端口的物理使用。例如,图1B表示可从市场上购买的一种电缆的例子,它包括10针方块阴接头122、9导线平排线124、和DB9阳接头126。方块接头122可以连接到示于图1A上的调试头串行端口116。然后可以把排线124引到无遗产个人计算机的背部,以便可以安装DB9接头126。这一结构提供一个DB9物理接头,安装在无遗产机的机壳上,它通往系统主板上的RS-232调试头串行端口。
现在参考图1C,图中以调试控制台系统表示对调试头串行端口的典型使用,该调试控制台系统通过调试头串行端口连接到改造的无遗产机。无遗产系统单元150通过视频电缆154连接到视频显示器152为显示文字、图形等。无遗产系统单元150还通过USB电缆164连接到各种输入/输出设备诸如USB型键盘160和USB型鼠标162。
如果有人想对无遗产机进行调试对话,则可以通过PC到PC无调制解调器电缆或调制解调器电缆诸如串行电缆172把调试控制台系统170连接到无遗产系统单元150,并连接到DB9阳接头,后者附接到无遗产系统单元150上,该无遗产系统单元150已经按照针对图1B说明的方式加以改造。在一个典型的调试环境中,涉及两个计算机:(1)正被调试的测试计算机;(2)调试控制台,其用于输入/输出而和测试机上的调试程序代码“谈话”和显示它的输出。调试机可以通过调制解调器远程连接到测试机或不要调制解调器本地连接,但是无论在哪种场合,都要使用一种类串行调制解调器的连接。
通常,测试机以正常速度运行。然而测试机的串行端口侦听来自调试控制台的中断。如果调试控制台上的操作员在调试控制键盘上输入一个特殊的字符(通常是<break>或Control-C),则中断字符被发送到测试机的串行端口。测试机在看见这一中断字符时冻结测试机的正常操作,跳转到测试的调试代码。调试代码在串行端口上发送出信息给调试控制台,有效地通知它为调试处理做好准备。在这一点,可以在调试控制台的操作员和测试机系统软件之间发生调试“对话”。调试控制台的操作员也可以从调试方式中释放测试机,使得它再次正常运行。
如果发送到测试机的串行端口的字符流中总不包含中断字符的话,则测试机可以为任何通用目的使用串行端口,诸如使用万维网浏览器通过接到调制解调器的串行端口与ISP(因特网服务提供商)谈话。例如,可以把测试机的电缆从调试控制台断开而重新连接到调制解调器,虽然这样做有一定风险。如果ISP发送一个中断字符,这在下载文件时有可能发生,则调试程序被触发动作。当测试机正常运行时,人们可以在测试机上设定一个开关来禁止调试程序,使得它不再能由中断字符触发。这将消除测试机无意中跳到调试程序的风险。只要测试机禁止了调试程序或未接收到中断字符,则它的串行端口可以用于一般的非调试使用。
实际上,用户不运行调试许可软件。调试许可软件是一个大的运行慢的、带有安全风险的软件,因为某个人可以通过调试程序侵入用户的机器而获得对该机器的控制。代替的是,当需要服务时,用调试许可软件代替正常软件,之后为该系统服务。
虽然在无遗产系统中包含有调试头串行端口用于与无遗产系统进行调试对话的明确目的,但是本实施例认识到,对允许其调试头串行端口用于调试目的的无遗产机的硬件进行修改也允许它的调试头串行端口用于一般目的。
现在参考图1D,图中表示一个修改的无遗产系统根据本发明的优选实施例为一般目的使用调试头串行端口。无遗产系统单元150以相对于图1B说明的方式进行过修改。无遗产系统单元150通过视频电缆154连接到视频显示器152为显示文字、图形等。无遗产系统单元150还通过USB电缆164连接到各种输入/输出设备诸如USB型键盘160和USB型鼠标162。
与在图1C所示在无遗产机上进行调试对话相比,串行电缆172允许无遗产机连接到其它类型的串行外设。例如,无遗产系统单元150可以通过串行调制解调器182和电话电缆184连接到电话网络180。如同上面指出的,本实施例配置调试头串行端口作为通用串行端口。为这样做,以上面说明的已知方式用硬件对调试头串行端口物理配置。本实施例还通过软件逻辑配置无遗产机以允许调试头串行端口为通用目的使用,其示于图1D。于是,任何通用RS-232串行设备可以连接到修改的无遗产机上。
现在参考图2,图中用一个流程图表示逻辑配置一个无遗产设备的过程,使得它的调试头串行端口可以用作通用串行端口。图2所示过程将结合到较大的系统初始化过程中。
该过程以决定当前正在配置的设备是否是无遗产设备开始(步骤202)。如果当前设备不是无遗产设备,则不需要以任何特别的方式配置该设备以使用它的调试头串行端口,该过程完成。如果当前设备是无遗产设备,则配置过程进行。
预期本实施例适应各种硬件和软件环境。因此,可以检测无遗产设备的方式将随系统硬件、它的操作系统等变化。如果无遗产设备是使用Intel处理器运行在微软Windows操作系统下的个人计算机,则高级配置和电源接口(ACPI)规范描述了决定设备是否是无遗产设备的方式。开发在“高级配置和电源接口规范”、版本2.0、07/27/2000中说明的ACPI规范以建立公共接口,它使得强壮的操作系统直接主板设备配置以及设备和整个系统的电源管理。一般,ACPI规范说明系统软件可以如何使用各种配置值和标志。例如,在5.2.8.3节,ACPI规范描述了一组IA-PC引导结构标志的位置和目的,其可以在引导时间使用来帮助决定在引导一个设备时应该执行哪些步骤。一个位标志,“LEGACY_DEVICES”,指示主板支持“用户可见的设备”,亦即具有终端用户可访问接头的设备;可以在步骤202中使用这一特别的标志来决定当前设备是否是无遗产设备。然而,应该注意,一些硬件制造商可能不遵守ACPI规范。因此,对当前设备是否是无遗产设备的决定也许需要以依赖于系统硬件和软件的其它方式执行。
该过程通过决定当前设备是否具有调试头串行端口重新开始(步骤204)。如果当前设备没有调试头串行端口,则不需要以任何特别的方式对于它的调试头串行端口配置该设备,该过程完成。如果当前设备具有调试头串行端口,则配置过程进行。
可以检测调试头串行端口的方式依赖于系统硬件、它的操作系统等变化。再次参考在5.2.5节的ACPI规范,它说明可以通过一个系统说明表找到的用于调试头串行端口的信息的一种方式。人们可以使用签名“DBGP”检索调试端口表;该调试端口表提供用于调试端口的信息,亦即调试头串行端口。在“调试端口规范”、版本1.0、微软公司、02/09/2000中可以找到关于在Windows-Intel平台上使用调试端口的更多的信息。例如,调试端口规范陈述,调试端口表的存在或不存在指示在一个系统内调试端口的存在或不存在。
通过发现和存储为在后继步骤中要使用的调试头串行端口地址重新开始该过程(步骤206)。然后决定当前设备是否要用于调试(步骤208)。如果不是,则过程跳过下面的步骤。如果是,则以适当方式配置当前设备和/或它的调试头串行端口(步骤210)。用户可以事先选择一个配置选项,其指示当前设备要用于调试,这在下面进一步详细说明。
当前设备是否要用于调试,其在步骤208决定,配置过程然后以决定用户是否希望使用调试头串行端口作为通用串行端口进行(步骤212)。如果不是,则不需要相对于调试头串行端口以任何特殊的方式配置该设备,该过程完成。再一次,用户可以事先选择一个配置选项,其指示当前设备要用于调试,这在下面进一步详细说明。
在这一点,已经决定当前设备是一个无遗产设备,具有调试头串行端口,用户请求作为通用串行端口使用。因此,指示操作系统以适当的方式配置调试头串行端口为一般目的使用(步骤214)。于是逻辑配置无遗产设备使其调试头串行端口可以用作通用串行端口的过程完成,系统可以继续其它初始化任务。
再一次,应该注意,为一般目的使用配置隐藏端口的方式可以依赖于硬件平台、操作系统等变化。该方法内的步骤的顺序和数目可以改变,在启动一个隐藏端口前,可能有其它必须被验证、清除、检查、或修改的条件。例如,一个特别的设备可能不是一个无遗产设备,但是可能具有隐藏端口,和该隐藏端口然后可以被启动而不管该设备是一个遗产设备,从而为该遗产设备提供一个附加的端口。然而,在这一场合,附加的检查可能是需要的,以保证隐藏端口的启动不干扰在该遗产设备上的其它端口的运行。
作为配置Windows-Intel平台个人计算机的一个例子,根据上面提到的“调试端口规范”,在“BASE_ADDRESS(基地址)”字段中指示调试端口的地址;然后可以把调试头串行端口的地址复制到相应于希望的COM端口号的适当的存储器位置。例如,调试头串行端口的地址可以写入为COM1的BIOS数据区域物理存储器地址40:0;为COM2的BIOS数据区域物理存储器地址40:2;为COM3的BIOS数据区域物理存储器地址40:4;和为COM4的BIOS数据区域物理存储器地址40:6。以这种方式,配置当前设备,使得由软件通过一个逻辑COM端口发送或接收的数据使用调试头串行端口被物理发送或接收。在其它的系统中,物理端口和逻辑端口以不同的方式映射。
现在参考图3,图中表示一个BIOS建立页的屏幕显示,使用该页可以询问用户为一个隐藏端口的配置选项。假定系统中存在一个隐藏端口,并且使用相对于图2中的步骤202和204说明的过程被检测到,则存在几种方法,用户可以使用这些方法指示希望使用隐藏端口作为通用端口。
一种方法是使用系统BIOS设定。通常在计算机引导启动阶段存在的BIOS建立页可以提供新的用户选项。一般,如果在系统引导启动阶段不给用户提供BIOS建立页的话,则用户可以在系统初始化期间选择通过按压某个特殊的键或键的组合诸如Delete键或Escape键调用BIOS建立页。一个BIOS建立页可以包括相似于图3所示的新的选择菜单。
使用BIOS的一个优点是对BIOS的改变可以作为机器的制造过程的一部分进行,从而可以在许多机器上重复。因此,预编程机器以允许用户进行关于使用隐藏串行端口的选择。使用系统BIOS设定的另一个优点是它提供为该设定的一个公共的、标准的位置,然后该设定可以从该公共位置为遵从这一标准的所有操作系统使用。这样,使用该公共BIOS的所有操作系统不再需要提供设定能力;操作系统只需要能够读用户在BIOS中选择的内容并适当动作。BIOS改变的缺点是,它是一种制造上的升级,它不可以应用到先前发运的计算机上。
对于先前发运出去的没有进行BIOS改变的计算机,这一设定需要通过一个操作系统配置文件提供。因此,指示用户对隐藏端口的意图的另一种方法可以包括配置文件中的一个新的条目。配置文件在系统启动期间由操作系统查询来决定应该如何使用一定的系统资源。配置文件的例子有:config.sys,win.ini,/etc/inittab,kdb.ini,等。使用操作系统特定的配置文件的优点是可以不需要改变BIOS而使用它,BIOS的改变如果未正确执行的话可以使设备损坏。
如在图3的选项中表示,在一些环境下,也许希望配置隐藏端口既作为调试端口,也作为通用端口。当要传输调试信息时,运行调试对话的服务人员可以使用连接到隐藏端口的调试终端“侵入”调试程序和开始调试系统软件。当服务人员允许系统正常运行时,系统于是可以使用连接通用I/O设备的隐藏端口。
应该注意,为图3的详细说明指一个普遍的隐藏端口。在一个示范实施例中,本发明关心启动无遗产设备上的特定类型的隐藏端口,亦即调试头串行端口;这一串行端口可能存在,但是由于无遗产个人计算机的结构使其不能用于一般使用目的。然而,其它遗产端口,诸如鼠标、键盘、打印机、软盘驱动器等也可以在特定硬件平台上存在,但是不再能为一般使用目的使用,因为这些端口不再能由遗产操作系统软件检测,这是可能的。通过本发明,使用相似于上面为调试头串行端口说明的方法,这些其它隐藏的、遗产端口可以被检测到,然后以用户为一般使用目的的选项配置。
应该注意,这里使用了术语“隐藏端口”、“调试端口”、“调试串行端口”、“调试头串行端口”、“用户不可见端口”和“用户不可访问端口”,取决于上下文,指本发明可以对之应用的端口。“调试端口规范”包括“调试端口”的两种物理需求:
调试端口接头一定不能由终端用户容易访问,使得终端用户不会意外连接任何设备到该端口。然而应该由现场支持人员相对容易地访问(例如,在一个可拆卸面板后面)。
调试端口接头必须为系统调试专用(或作为管理端口)。
对于本发明,公认最一般化的术语是“隐藏端口”。“隐藏端口”定义为:(1)不能为终端用户从外部访问的端口,(即,外部不可访问)通常以某种方式对计算设备是内部的;(2)不专用于一般目的使用的端口。
根据上面详细说明的,本实施例的优点应该是显然的。一般,设计无遗产机为小型、紧凑、和低成本。然而,对于需要RS-232设备连接的用户来说,这一低成本由需要购买附加的硬件和软件在一定程度上抵消。通过使用隐藏在无遗产机内的调试头RS-232端口,用户可以通过延长现有串行外设的寿命避免购买新外设的可观的费用,同时享受无遗产机的其它有用的特征。
假设最初提供调试头串行端口以允许对系统软件的低级调试访问,则会出现这样的问题,即如果调试头串行端口用作通用串行外设连接端口的话是否会产生安全风险。然而,不会引入安全风险。可从市场上购买的机器上安装的系统软件取消了任何调试能力。因此,对串行端口的访问不意味对系统调试能力的访问。希望的和常规的使用将是系统软件没有调试能力,和串行端口代之用于连接通用串行外设。
可以使用本发明为一般目的使用启动多个隐藏端口,如果可得到的话。然而,在无遗产个人计算机上通常只提供一个调试头串行端口;因此,为一般目的使用只能启动一个串行端口,尽管这一唯一的端口可能对许多用户有很大的价值。例如,在每一个无遗产计算机上通常提供USB鼠标和USB键盘,因此,鼠标或键盘不需要这一新启动的串行端口。另外,这些机器经常提供NIC,因此对于LAN通信也不需要新启动的端口。于是,新启动的端口可为许多其它使用应用。最典型的使用可以是继续使用现有外部串行调制解调器,而能够继续使用现有外部串行拨号调制解调器在某些设备中可以具有相当有意义的价值。许多计算机应用只需要一个其它的用于计算机的数据连接。例如,在银行业中,常常使用计算机运行自动柜员机(ATM)。启动单一串行端口可以允许在成千上万的场所继续使用现有串行拨号调制解调器。可以享受无遗产机的低成本和容易使用的特征而不招致替换或改装其它现有硬件的费用。
重要的是要注意,虽然在全功能数据处理系统的环境中说明了本发明,但是具有本技术领域一般技能的人理解,本发明的处理能够以在计算机可读介质上的指令的形式和各种其它形式分发,不管实际用于执行这种分发的特别类型的信号承载介质。计算机可读介质的例子包括诸如EPROM、ROM、磁带、纸、软盘、硬盘驱动器、RAM和CD-ROM和传输型介质,诸如数字和模拟通信链路。例如,本发明可以体现为一组指令和与其它系统软件结合到ROM中。
本发明的描述已为说明的目的加以介绍,这一描述不打算穷举或限制到公开的实施例。对于具有本技术领域一般技能的人员来说,许多修改和变化是显然的。选择本实施例来解释本发明的原理和它的实际应用,和使具有本技术领域一般技能的其他人员理解本发明,以便通过各种修改实现各个实施例,这些修改可能适合其它预期的使用。

Claims (9)

1.一种启动计算设备中的端口的方法,所述方法包括步骤:
确定计算设备是否具有隐藏端口,一个隐藏端口是计算设备中的、该计算设备的用户不能从外部进行访问的端口,并且不专用于一般输入/输出目的;
如果该计算设备有隐藏端口,则配置该计算设备为通用输入/输出目的使用该隐藏端口。
2.权利要求1的方法,进一步包括:
在配置该计算设备为通用输入/输出目的使用隐藏端口前,确定一个用户可指定的数据值是否指示要为通用输入/输出目的启动该隐藏端口;
响应用户可指定的数据值指示要为通用输入/输出目的启动隐藏端口的判定,配置计算设备为通用输入/输出目的使用该隐藏端口。
3.权利要求2的方法,其中,用户可指定的数据值存储在配置文件中。
4.权利要求2的方法,其中,用户可指定的数据值作为BIOS数据值存储。
5.权利要求1的方法,进一步包括步骤:
在配置计算设备为通用输入/输出目的使用隐藏端口前,判定该计算设备是否是无遗产设备;和
响应计算设备是无遗产设备的判定,配置该计算设备为通用输入/输出目的使用隐藏端口。
6.前述权利要求1至5中任何一个权利要求的方法,其中,隐藏端口是串行端口。
7.权利要求6的方法,隐藏端口是调试头串行端口。
8.权利要求1的方法,其中,配置该计算设备为通用输入/输出目的使用该隐藏端口进一步包括步骤:
复制隐藏端口的端口地址到包含用于通用通信端口的端口地址的存储器位置。
9.权利要求1的方法,其中,配置该计算设备为通用输入/输出目的使用该隐藏端口进一步包括:在逻辑的、通用通信端口的端口地址和隐藏端口的端口地址之间映射。
CNB028052544A 2001-02-21 2002-02-20 启动计算设备中的端口的方法 Expired - Fee Related CN1251106C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/790,426 US6892248B2 (en) 2001-02-21 2001-02-21 Method and apparatus for configuring a port on a legacy-free device for general I/O purposes or debugging purposes
US09/790,426 2001-02-21

Publications (2)

Publication Number Publication Date
CN1493033A CN1493033A (zh) 2004-04-28
CN1251106C true CN1251106C (zh) 2006-04-12

Family

ID=25150644

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028052544A Expired - Fee Related CN1251106C (zh) 2001-02-21 2002-02-20 启动计算设备中的端口的方法

Country Status (8)

Country Link
US (1) US6892248B2 (zh)
EP (1) EP1362291A1 (zh)
JP (1) JP4117193B2 (zh)
KR (1) KR20030074828A (zh)
CN (1) CN1251106C (zh)
IL (1) IL157511A0 (zh)
TW (1) TW550493B (zh)
WO (1) WO2002067132A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210329A1 (en) * 2004-03-18 2005-09-22 Newisys, Inc. Facilitating system diagnostic functionality through selective quiescing of system component sensor devices
JP4481695B2 (ja) * 2004-03-25 2010-06-16 ルネサスエレクトロニクス株式会社 デバッグ用切換器、デバッグ方法
US7552475B2 (en) * 2004-04-09 2009-06-23 Hewlett-Packard Development Company, L.P. Systems and methods for securing ports
US8000322B2 (en) * 2004-07-30 2011-08-16 Hewlett-Packard Development Company, L.P. Crossbar switch debugging
US20060214917A1 (en) * 2005-03-23 2006-09-28 Inventec Corporation Key function switching method and system
US7461181B2 (en) * 2005-04-25 2008-12-02 Emulex Design & Manufacturing Corporation Programming of configuration serial EEPROM via an external connector
US7974577B2 (en) * 2006-04-11 2011-07-05 Tazzle, Inc. Devices and systems for improved wireless communication
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
JP2007316722A (ja) * 2006-05-23 2007-12-06 Nec Electronics Corp 回路ボード
EP2087440A2 (en) * 2006-11-19 2009-08-12 Rmax, LLC Internet-based computer for mobile and thin client users
US8549236B2 (en) * 2006-12-15 2013-10-01 Siliconsystems, Inc. Storage subsystem with multiple non-volatile memory arrays to protect against data losses
US7596643B2 (en) * 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
CN101324860B (zh) * 2007-06-14 2013-08-28 鸿富锦精密工业(深圳)有限公司 主板测试系统及测试方法
US8078918B2 (en) * 2008-02-07 2011-12-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
US7962792B2 (en) * 2008-02-11 2011-06-14 Siliconsystems, Inc. Interface for enabling a host computer to retrieve device monitor data from a solid state storage subsystem
US20100070670A1 (en) * 2008-09-15 2010-03-18 United States Of America As Represented By The Secretary Of The Army Computer One-Way Data Link
US8825931B2 (en) * 2011-11-04 2014-09-02 International Business Machines Corporation KVM switch system capable of wirelessly transmitting keyboard-mouse-data between wired input/output devices based on a security clearance level
US9244865B2 (en) 2014-05-28 2016-01-26 SanDisk Technologies, Inc. Obtaining diagnostic information through host interfaces
CN112117572B (zh) * 2019-06-21 2022-03-25 默升科技集团有限公司 用于有源以太网电缆的调试布置
CN112256513B (zh) * 2020-10-29 2023-10-20 成都菁蓉联创科技有限公司 一种调试串口和数据串口复用的方法、装置和控制器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809167A (en) * 1985-07-03 1989-02-28 Metalink Corporation Circuitry for emulating single chip microcomputer without access to internal buses
US4939637A (en) * 1988-02-10 1990-07-03 Metalink Corporation Circuitry for producing emulation mode in single chip microcomputer
KR0174977B1 (ko) * 1995-12-30 1999-04-01 김광호 멀티 옵션을 지원하는 장치 및 그 제어방법
US6463588B1 (en) * 1998-10-08 2002-10-08 Scientific-Atlanta, Inc. Method and apparatus for restoring port status in a cable television tap
US6697892B1 (en) * 1999-07-08 2004-02-24 Intel Corporation Port expansion system
US6578158B1 (en) * 1999-10-28 2003-06-10 International Business Machines Corporation Method and apparatus for providing a raid controller having transparent failover and failback

Also Published As

Publication number Publication date
US6892248B2 (en) 2005-05-10
TW550493B (en) 2003-09-01
IL157511A0 (en) 2004-03-28
JP2004523835A (ja) 2004-08-05
CN1493033A (zh) 2004-04-28
JP4117193B2 (ja) 2008-07-16
WO2002067132A1 (en) 2002-08-29
US20020116604A1 (en) 2002-08-22
KR20030074828A (ko) 2003-09-19
EP1362291A1 (en) 2003-11-19

Similar Documents

Publication Publication Date Title
CN1251106C (zh) 启动计算设备中的端口的方法
US7287257B2 (en) Automatic embedded host configuration system and method
CN1174307C (zh) 用于自动设备驱动程序配置的方法和系统
KR101292936B1 (ko) 원격 시스템을 위한 플러그 앤드 플레이 장치 재지정
JP3636080B2 (ja) Usbホストでusb装置依存プログラムを実行するためにusb装置によって提供されるエージェント
US20060271773A1 (en) Maintenance device for remotely accessing and repairing failed computer systems
US6453414B1 (en) Computer system with PC cards and method of booting the same
US20070174033A1 (en) Remote control device and method for accessing peripheral device remotely
US6813650B1 (en) Multimode non-standard universal serial bus computer input device
US20040230710A1 (en) System and method of automatic installation of computer peripherals
US6754811B1 (en) Operating system device centric agent
CN101078985A (zh) 用于识别在计算机系统上运行的操作系统的方法和设备
CN1399194A (zh) 创建和使用具有选定功能的操作系统的方法和系统
US7613862B2 (en) Embedded driver for bus-connected device
US7634649B2 (en) Device initiated mode switching
CN1523512A (zh) 产生热插信号的装置和方法
US20090157908A1 (en) Software Driver Device
CN1458587A (zh) 经由网络对客户端电脑系统开机的方法及其系统
US7103767B2 (en) Method and apparatus to support legacy master boot record (MBR) partitions
CN101826062A (zh) 计算机执行方法以及电子系统
US20050071618A1 (en) Method and apparatus to support legacy master boot record (MBR) partitions
WO2000014644A1 (en) Multiple uses of pcmcia interfaces
CN115729629A (zh) Usb设备的识别方法、终端设备及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060412