CN1251106C - 启动计算设备中的端口的方法 - Google Patents
启动计算设备中的端口的方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information 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的方法,其中,配置该计算设备为通用输入/输出目的使用该隐藏端口进一步包括:在逻辑的、通用通信端口的端口地址和隐藏端口的端口地址之间映射。
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)
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 | 回路ボード |
AU2007323859A1 (en) * | 2006-11-19 | 2008-05-29 | 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)
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 |
-
2001
- 2001-02-21 US US09/790,426 patent/US6892248B2/en not_active Expired - Fee Related
-
2002
- 2002-02-18 TW TW091102664A patent/TW550493B/zh active
- 2002-02-20 JP JP2002566789A patent/JP4117193B2/ja not_active Expired - Fee Related
- 2002-02-20 CN CNB028052544A patent/CN1251106C/zh not_active Expired - Fee Related
- 2002-02-20 KR KR10-2003-7010677A patent/KR20030074828A/ko active IP Right Grant
- 2002-02-20 EP EP02712102A patent/EP1362291A1/en not_active Withdrawn
- 2002-02-20 WO PCT/GB2002/000763 patent/WO2002067132A1/en active IP Right Grant
- 2002-02-25 IL IL15751102A patent/IL157511A0/xx unknown
Also Published As
Publication number | Publication date |
---|---|
US20020116604A1 (en) | 2002-08-22 |
WO2002067132A1 (en) | 2002-08-29 |
IL157511A0 (en) | 2004-03-28 |
JP2004523835A (ja) | 2004-08-05 |
EP1362291A1 (en) | 2003-11-19 |
US6892248B2 (en) | 2005-05-10 |
KR20030074828A (ko) | 2003-09-19 |
TW550493B (en) | 2003-09-01 |
CN1493033A (zh) | 2004-04-28 |
JP4117193B2 (ja) | 2008-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1251106C (zh) | 启动计算设备中的端口的方法 | |
US7287257B2 (en) | Automatic embedded host configuration system and method | |
CN1174307C (zh) | 用于自动设备驱动程序配置的方法和*** | |
KR101292936B1 (ko) | 원격 시스템을 위한 플러그 앤드 플레이 장치 재지정 | |
CN1103958C (zh) | 网络增强型计算机,计算机***及其操作计算机的方法 | |
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 | |
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 |