硬件侦错调试码信息输出方法、装置及系统.pdf

上传人:小** 文档编号:1276581 上传时间:2018-04-12 格式:PDF 页数:15 大小:544.92KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910109562.9

申请日:

2009.08.07

公开号:

CN101989219A

公开日:

2011.03.23

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/22申请日:20090807|||公开

IPC分类号:

G06F11/22

主分类号:

G06F11/22

申请人:

华为技术有限公司

发明人:

朱晓明; 王慧

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明实施例公开了一种硬件侦错调试码信息输出方法、装置和系统。通过解析进入总线控制器的数据,获得解析的结果,判断解析的结果是否包括串口地址或硬件侦错调试码信息地址;如果解析的结果包括硬件侦错调试码信息地址,则解析的结果还包括硬件侦错调试码信信息,通过串口控制器输出硬件侦错调试码信息。通过复用系统内部的自带的串口控制器以输出侦错调试码,提高了存储器的数据处理速率减少检测硬件缺陷的成本,降低了硬件的复杂度和单板的成本,使得检测硬件操作简便易行。

权利要求书

1: 一种硬件侦错调试码信息输出方法, 其特征在于, 包括如下步骤 : 解析进入总线控制器的数据, 获得解析的结果 ; 判断解析的结果是否包括串口地址或硬件侦错调试码信息地址 ; 如果解析的结果包括 硬件侦错调试码信息地址, 则解析的结果还包括硬件侦错调试码信信息, 通过串口控制器 输出硬件侦错调试码信息 ; 如果解析的结果包括串口地址, 则解析的结果还包括需要通过 串口地址输出的数据, 通过串口控制器输出需要通过串口地址输出的数据。
2: 如权利要求 1 所述的方法, 其特征在于, 所述解析进入总线控制器的数据前, 还包括 以下步骤 : 对基本输入输出系统进行配置, 用于使得总线控制器可以接收硬件侦错调试码信息地 址。
3: 如权利要求 1 所述的方法, 其特征在于, 所述判断解析的结果是否包括串口地址或 硬件侦错调试码信息地址, 包括以下步骤 : 判断解析的结果是否包括串口地址或硬件侦错调试码信息地址 ; 如果解析的结果包括串口地址, 则解析的结果还包括需要通过串口地址输出的数据, 通过总线接口输出需要通过串口地址输出的数据 ; 如果解析的结果不包括串口地址, 继续 判断解析的结果是否包括硬件侦错调试码信息地址 ; 如果解析的结果既不包括串口地址也 不包括硬件侦错调试码信息地址, 那么不处理解析的结果。
4: 如权利要求 3 所述的方法, 其特征在于, 所述如果解析的结果不包括串口地址, 还包 括以下步骤 : 根据预设的切换规则, 继续判断解析的结果是否包括硬件侦错调试码信息地址。
5: 如权利要求 4 所述的方法, 其特征在于, 所述预设的切换规则包括 : 通过控制基本输入输出地址空间寄存器位来标识可继续进行后续步骤 ; 或者, 通过设置跳线, 并判断跳线引脚电平来标识可继续进行后续步骤 ; 或者, 通过将接收到的字符与预设的字符进行比对来标识可继续进行后续步骤 ; 其中, 可继续进行后续步骤包括 : 继续判断解析的结果包括否包括硬件侦错调试码信 息地址。
6: 如权利要求 1 所述的方法, 其特征在于, 通过串口控制器输出硬件侦错调试码信息 包括 : 将所述硬件侦错调试码信息转化为 ASCII 码进行输出。
7: 一种硬件侦错调试码信息输出系统, 其特征在于, 包括 ; 总线控制器, 用于接收外部总线传输过来的外部数据, 解析所述外部数据, 获得解析的 结果, 将外部数据转换成为串口格式的串行数据, 所述解析的结果包括需要通过串口地址 输出的数据和 / 或硬件侦错调试码信息 ; 串口控制器, 用于根据总线控制器获得的解析结果, 接收需要通过串口地址输出的数 据和 / 或硬件侦错调试码信息 ; 硬件侦错信息管理装置, 用于根据总线控制器解析的结果判断是否获得串口地址或硬 件侦错调试码信息地址 ; 如果获得的是串口地址, 则解析的结果还包括需要通过串口地址 输出的数据, 控制串口控制器输出需要通过串口地址输出的数据 ; 如果获得的是硬件侦错 调试码信息地址, 则解析的结果还包括硬件侦错调试码信息, 控制串口控制器输出硬件侦 2 错调试码信息。
8: 如权利要求 7 所述的系统, 其特征在于, 所述硬件侦错信息管理装置, 用于根据总线 控制器解析的结果判断是否获得串口地址 ; 如果解析的结果包括串口地址, 那么通过串口 控制器输出需要通过串口地址输出的数据 ; 如果解析的结果不包括串口地址, 继续判断解 析的结果是否包括硬件侦错调试码信息地址, 如果解析的结果包括硬件侦错调试码信息地 址, 根据硬件侦错调试码信息地址, 通过串口控制器输出硬件侦错调试码信息 ; 如果解析的 结果既不包括串口地址也不包括硬件侦错调试码信息地址, 那么不处理解析的结果。
9: 如权利要求 8 所述的系统, 其特征在于, 所述硬件侦错信息管理装置在判断是否获 得硬件侦错调试码信息地址前, 如果解析的结果不包括串口地址, 根据预设的切换规则, 继 续判断解析的结果是否包括硬件侦错调试码信息地址。
10: 一种硬件侦错信息管理装置, 用于与计算机系统的总线控制器和串口控制器连接, 其特征在于, 包括接收模块和判决模块 ; 接收模块, 用于接收总线控制器解析的结果 ; 判决模块, 用于根据接收模块接收到的来至总线控制器的解析结果, 判断是否获得串 口地址或硬件侦错调试码信息地址 ; 如果获得的是串口地址, 则解析的结果还包括需要通 过串口地址输出的数据, 控制串口控制器输出需要通过串口地址输出的数据 ; 如果获得的 是硬件侦错调试码信息地址, 则解析的结果还包括硬件侦错调试码信息, 控制串口控制器 输出硬件侦错调试码信息。
11: 如权利要求 10 所述的硬件侦错信息管理装置, 其特征在于, 判决模块用于根据总 线控制器解析的结果判断是否获得串口地址 ; 如果解析的结果包括串口地址, 那么通过串 口控制器输出需要通过串口地址输出的数据 ; 如果解析的结果不包括串口地址, 继续判断 解析的结果是否包括硬件侦错调试码信息地址, 如果解析的结果包括硬件侦错调试码信息 地址, 根据硬件侦错调试码信息地址, 通过串口控制器输出硬件侦错调试码信息 ; 如果解析 的结果既不包括串口地址也不包括硬件侦错调试码信息地址, 那么不处理解析的结果。
12: 如权利要求 10 所述的硬件侦错信息管理装置, 其特征在于, 判决模块在根据总线 控制器解析的结果判断是否获得串口地址时, 如果解析的结果不包括串口地址, 根据预设 的切换规则, 继续判断解析的结果是否包括硬件侦错调试码信息地址。

说明书


硬件侦错调试码信息输出方法、 装置及系统

    【技术领域】
     本发明涉及电子装置, 特别涉及硬件侦错调试码信息输出方法、 装置及系统。背景技术 在 x86 计算机系统中, 开机之后启动 BIOS(Basic Input/Output System, 基本输入 输出系统 )。BIOS 掌握着 x86 系统的启动、 部件之间的兼容和程序管理等多项重任。只要 按下电源开关启动主机后, BIOS 就开始接管系统启动的所有自检工作。
     系统首先由 POST(Power On Self Test, 上电自检 ) 程序来对内部各个设备进行检 查 ( 这个过程在下文中另作表述 )。通常完整的 POST 自检将包括对 CPU、 内存、 ROM、 主板、 CMOS 存储器、 串并口、 显示卡、 存储系统及键盘等进行测试, 一旦在自检中发现问题, 系统将 给出提示信息或鸣笛警告或输出硬件侦错调试码信息 (POST CODE) 给连接在主板上的外接 卡 ( 也称为 : 调试卡、 80 卡或 DEBUG 卡 )。请参阅图 1, 通过图 1 所示的调试卡输出系统检 测后的调试信息, 然后 BIOS 就按照系统 CMOS 设置中保存的启动顺序搜寻软驱、 硬盘等存 储设备和它们的启动顺序, 读入操作系统引导记录, 最后将系统控制权交给引导记录, 开启 系统显示器, 并最终完全过渡到操作系统的工作状态。其中, BIOS 启动会经过好几个检测、 命令、 执行的循环流程, 当然, 在进入 BIOS 控制之前, CPU 还需要一个热身的过程。拿 P4 系 统为例 : 首先是主机电源开始供电, CPU 接收到 VR( 电压调节系统 ) 发出的一个电压信号, 然后经过一系列的逻辑单元确认 CPU 运行电压之后, 主板芯片接收到发出 “启动” 工作的指 令, 让 CPU 复位。CPU“苏醒” 后的第一工作就是, 读取 BIOS 中的初始化指令。在对 CPU 和 内存 (640KB 基本模块 ) 状态做一系列校验之后, BIOS 会完成电路片的初始准备, 停用视频、 奇偶性和 DMA 电路片, 并且使 CMOS 计时器开始运行。随后, BIOS 程序会逐步检查 CPU 是否
     和默认设定相同, DMA 是否有故障, 显示通道测试等等, 一旦出现故障, 就会有蜂鸣器发出报 警或输出侦错调试码 (POST CODE)。可见前面输出侦错调试码等步骤都是在后台悄悄进行 的, 这时因为还没有开启显示器, 所以我们是看不到屏幕上的任何信息。当 CPU 被正式启动 以后, POST(Power-On Self Test, 加电后自检 ) 进入内存侦测阶段, 一旦内存检测出错, 系 统死机并会长时间报错 ; 如果一切顺利, BIOS 继续往下 POST, 检查 ROM 内的其他 BIOS 主程 序、 扩展程序, 直到完成这些工作, 系统进入常规流程, 显示器上才会显示出时间日期、 BIOS 版本型号、 CPU 频率、 内存容量等基本信息。在 BIOS 引导存储设备中位于引导区的操作系 统启动程序以后, 接下来的过程便交给操作系统来继续了。
     可见, 检测硬件过程中如果发生错误或死机, 这种写 POST CODE 的动作就不会继 续, 会停留在检测出现错误的部件的地方。现有技术中, 通过具有硬件侦错功能的外接卡 ( 也称为 : 调试卡、 80 卡或 DEBUG 卡 ), 将在后台悄悄进行的, 无法在系统显示器显示的调试 码 (POST CODE) 输出, 以检测硬件缺陷。
     本申请发明人在实施本发明时发现, 现有技术在得到侦错调试码后, 需要通过外 接卡检测硬件缺陷, 而无法复用系统内部的自带的其他接口以输出侦错调试码。所以系统 主机板上必须有 PCI 或者 ISA 插槽, 以及有足够的空间来插入外接卡。这样成本较高, 操作不方便。 发明内容 本发明实施例提供硬件侦错调试码信息输出方法、 装置及系统, 避免检测硬件时 使用外接卡。
     本发明实施例提供一种硬件侦错调试码信息输出方法, 包括如下步骤 :
     解析进入总线控制器的数据, 获得解析的结果, 判断解析的结果是否包括硬件侦 错调试码信息地址 ;
     如果解析的结果包括硬件侦错调试码信息地址, 根据硬件侦错调试码信息地址, 通过串口控制器输出硬件侦错调试码信息。
     本发明实施例还提供一种硬件侦错调试码信息输出系统, 包括总线控制器、 串口 控制器、 和硬件侦错信息管理装置 ;
     总线控制器, 用于接收外部总线传输过来的外部数据, 解析进入的外部数据, 获得 解析的结果, 将外部数据转换成为串口格式的串行数据, 该外部数据包括需要通过串口地 址输出的数据和 / 或硬件侦错调试码信息 ;
     串口控制器, 用于根据总线控制器获得的解析结果, 接收需要通过串口地址输出 的数据和 / 或硬件侦错调试码信息 ;
     硬件侦错信息管理装置, 用于根据总线控制器解析的结果判断是否获得串口地址 或硬件侦错调试码信息地址 ; 如果获得的是串口地址, 则控制串口控制器输出需要通过串 口地址输出的数据 ; 如果获得的是硬件侦错调试码信息地址, 则控制串口控制器输出硬件 侦错调试码信息。
     本发明实施例还提供一种硬件侦错信息管理装置, 用于与计算机系统的总线控制 器和串口控制器连接, 包括接收模块和判决模块 ;
     接收模块, 用于接收总线控制器解析的结果 ;
     判决模块, 用于根据接收模块接收到的来至总线控制器的解析结果, 判断是否获 得串口地址或硬件侦错调试码信息地址 ; 如果获得的是串口地址, 则控制串口控制器输出 需要通过串口地址输出的数据 ; 如果获得的是硬件侦错调试码信息地址, 则控制串口控制 器输出硬件侦错调试码信息。
     本发明实施例通过复用系统内部的自带的串口控制器以输出硬件侦错调试码信 息, 提高了存储器的数据处理速率减少检测硬件缺陷的成本, 降低了硬件的复杂度和单板 的成本, 使得检测硬件操作简便易行。
     附图说明
     为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可 以根据这些附图获得其他的附图。
     图 1 为现有技术硬件侦错调试码信息输出装置示意图 ;
     图 2 为本发明实施例硬件侦错调试码信息输出方法流程图 ;图 3 为本发明另一实施例硬件侦错调试码信息输出方法流程图 ; 图 4 为本发明实施例硬件侦错调试码信息输出系统结构示意图 ; 图 5 为本发明实施例具有一种切换规则的硬件侦错调试码信息输出系统结构示意图 ; 图 6 为本发明实施例具有另一种切换规则的硬件侦错调试码信息输出系统结构 示意图 ;
     图 7 为本发明实施例具有再一种切换规则的硬件侦错调试码信息输出系统结构 示意图 ; 和
     图 8 为本发明实施例一种切换规则的硬件侦错调试码信息输出装置结构示意图。
     具体实施方式
     下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。
     请参阅图 2, 本发明实施例一提供一种硬件侦错调试码信息输出方法, 包括以下步骤: 步骤 221 : 对基本输入输出系统进行配置, 用于使得总线控制器可以接收硬件 侦错调试码信息地址 ; 具体以 x86 计算机系统为例, x86 计算机系统中的 BIOS(Basic Input/Output System, 基本输入输出系统 ) 在 CPU 上电后, 立刻设定南桥寄存器 “General Control and Status Register” 的第二位 “Reserved PageRoute(RPR)” 。根据该寄存器的 配置, 南桥将串口地址和 POST CODE 打印信息的端口地址 (0x80, 即硬件侦错调试码信息地 址 ) 都分配给南桥的 LPC 总线接口 ( 或者 PCI 等其他总线接口 ), 南桥的 LPC 总线接口将 串口地址 (0x3F8 ~ 0x3FF) 或者 POST CODE 打印信息的端口地址 (0x80) 和数据发送出来, 进而总线控制器可以收到串口地址 (0x3F8 ~ 0x3FF) 或者 POST CODE 打印信息的端口地址 (0x80) 和数据。可以理解, 步骤 221 中可以只配置一次, 也可以重复配置。如果总线控制器 具有可以接收硬件侦错调试码信息地址的能力, 那么步骤 221 可以省略。
     步骤 222 : 解析进入总线控制器的数据, 获得解析的结果 ; 具体的, 当总线控制器 接收到南桥的 LPC 总线接口发送过来的一帧数据后, 解析出接收到的地址信息和数据信 息。
     步骤 223 : 判断解析的结果是否包括串口地址或硬件侦错调试码信息地址, 如果 解析的结果包括硬件侦错调试码信息地址, 则解析的结果还包括硬件侦错调试码信信息, 通过串口控制器输出硬件侦错调试码信息 ; 如果解析的结果包括串口地址, 则解析的结果 还包括需要通过串口地址输出的数据, 通过串口控制器输出需要通过串口地址输出的数 据。具体的, 硬件侦错信息管理装置根据解析的结果, 逻辑判断读写的端口地址是否包括 串口地址或者 POST CODE 打印信息的端口地址 (0x80)。如果解析的结果包括串口地址, 则 解析的结果还包括需要通过串口地址输出的数据, 根据该串口地址, 将串口数据转换成为 UART 的格式, 由 UART 控制器发送出去。 如果解析的结果包括 POST CODE 打印信息的端口地 址, 则解析的结果还包括硬件侦错调试码信信息, 根据该端口地址, 将 POST CODE 打印信息
     转换成为 UART 的格式, 由 UART 控制器发送出去。这里通过串口控制器输出硬件侦错调试 码信息包括 : 将所述硬件侦错调试码信息转化为 ASCII 码并进行输出。
     本发明实施例通过复用系统内部的自带的串口控制器以输出侦错调试码, 提高了 存储器的数据处理速率减少检测硬件缺陷的成本, 降低了硬件的复杂度和单板的成本, 使 得检测硬件操作简便易行, 能够取代现有的 80 卡。
     可选的, 请结合图 3 流程图, 本实施例一中将串口地址输出的数据、 硬件侦错调试 码信息结合使用时, 步骤 222 在进行判断解析的结果是否包括串口地址或硬件侦错调试码 信息地址, 还包括以下步骤 :
     步骤 231 : 判断解析的结果是否包括串口地址或硬件侦错调试码信息地址 ;
     步骤 232 : 如果解析的结果包括串口地址, 则解析的结果还包括需要通过串口地 址输出的数据, 通过总线接口输出需要通过串口地址输出的数据 ;
     步骤 233 : 如果解析的结果不包括串口地址, 继续判断解析的结果是否包括硬件 侦错调试码信息地址, 如果解析的结果包括硬件侦错调试码信息地址, 根据硬件侦错调试 码信息地址, 通过串口控制器输出硬件侦错调试码信息 ;
     步骤 234 : 如果解析的结果既不包括串口地址也不包括硬件侦错调试码信息地 址, 那么不处理解析的结果。 可选的, 所述如果解析的结果不包括串口地址, 根据预设的切换规则, 继续判断解 析的结果是否包括硬件侦错调试码信息地址。
     可选的, 预设的切换规则可以包括一下步骤 :
     方案 A : 通过控制基本输入输出地址空间寄存器位来标识可继续进行后续步骤 ; 或者,
     方案 B : 通过设置跳线, 并判断跳线引脚电平来标识可继续进行后续步骤 ; 或者,
     方案 C : 通过将接收到的字符与预设的字符进行比对来标识可继续进行后续步 骤;
     其中, 可继续进行后续步骤包括 : 继续判断解析的结果包括否包括硬件侦错调试 码信息地址。
     结合步骤 222 中, 步骤 232 和步骤 233 : 如果是串口地址范围或者 POSTCODE 打印 信息的端口地址则作相应的处理和应答, 并将并行的数据转换成为 UART 的格式, 由 UART 控 制器发送出去。步骤 234 : 如果不是串口地址范围或者 POST CODE 打印信息的端口地址, 则 不作任何处理。
     请 参 阅 图 4, 本 发 明 实 施 例 二 以 x86 计 算 机 系 统 中 的 UART(UniversalAsynchronous Receiver Transmitter, 通用异步收发器 ) 串口控制器为 例, 说明一种计算机系统。
     本发明实施例中, x86 计算机系统 300 包括总线控制器 320、 串口控制器 330、 和硬 件侦错信息管理装置 340。
     为更有助理解, x86 计算机系统 300 结合可选的南桥芯片 400 进行阐述, 这里定义 南桥芯片 400 用于管理接口总线之间的通信, 如 PCI 总线、 USB、 LAN、 ATA、 SATA、 音频控制器、 键盘控制器、 实时时钟控制器、 高级电源管理等。
     总线控制器 320 用于在南桥芯片 400 的管理下, 接收外部总线传输过来的外部数
     据, 如地址、 数据、 控制等信息。明显的, 该外部数据也可以为并行数据, 包括需要通过串口 地址输出的数据 ( 即输出 UART 信息 ) 和 / 或硬件侦错调试码信息 ( 即 “80” 信息 )。总线 控制器 320 解析外部数据, 获得解析的结果。另外, 总线控制器 3 将外部数据转换成为通用 串口格式的串行数据, 并发送。
     串口控制器 330 根据总线控制器 320 获得的解析结果, 接收总线控制器 320 发送 的需要通过串口地址输出的数据和 / 或硬件侦错调试码信息。
     硬件侦错信息管理装置 340 进而可选择的执行步骤 220 ~ 223 或者 231 ~ 234, 用 于根据总线控制器 320 解析的结果判断是否获得串口地址或硬件侦错调试码信息地址 ; 如 果获得的是串口地址, 则解析的结果还包括需要通过串口地址输出的数据, 控制串口控制 器 330 输出需要通过串口地址输出的数据 ; 如果获得的是硬件侦错调试码信息地址, 则解 析的结果还包括硬件侦错调试码信息, 控制串口控制器 330 输出硬件侦错调试码信息。
     具体的, 硬件侦错信息管理装置 340 根据总线控制器 320 解析的结果判断是否获 得串口地址 ;
     如果解析的结果包括串口地址, 那么通过串口控制器 330 输出需要通过串口地址 输出的数据 ; 如果解析的结果不包括串口地址, 继续判断解析的结果是否包括硬件侦错调试码 信息地址, 如果解析的结果包括硬件侦错调试码信息地址, 根据硬件侦错调试码信息地址, 通过串口控制器输出硬件侦错调试码信息 ;
     如果解析的结果既不包括串口地址也不包括硬件侦错调试码信息地址, 那么不处 理解析的结果。
     可选的, 硬件侦错信息管理装置 340 还包括 ASCII 码转换模块用于控制串口控 制器 330 输出将所述硬件侦错调试码信息转化为 ASCII 码 (AmericanStandard Code for Information Interchange, 美国信息交换标准码 ) 进行输出。
     具体的, 假设串口地址为 0x3F8 ~ 0x3FF、 POST CODE 打印信息 ( 即需通过 80 卡输 出的信息 ) 的端口地址为 0X80。
     x86 计算机系统中的 BIOS(Basic Input/Output System, 基本输入输出系统 ) 在 CPU 上电后, 立刻设定南桥寄存器 “General Control and Status Register”的第二位 “Reserved Page Route(RPR)” 。根据该寄存器的配置, 南桥将串口地址和 POST CODE 打印 信息的端口地址都分配给南桥的 LPC 总线接口 ( 或者 PCI 等其他总线接口 )。这样当软件 访问串口地址 (0x3F8 ~ 0x3FF) 或者 POST CODE 打印信息的端口地址时, 控制流将根据寄 存器的内容转到南桥的 LPC 总线接口 ( 或者 PCI 等其他总线接口 )。
     LPC 总线控制器 320( 或者 PCI 等其他外围总线控制器 ) 通过 LPC 总线 ( 或者 PCI 等其他总线接口 ) 与南桥总线接口相连。可以理解通过上述 BIOS(BasicInput/Output System, 基本输入输出系统 ) 的配置, 即设定南桥寄存器 “GeneralControl and Status Register” 的第二位 “Reserved Page Route(RPR)” 实现了将硬件侦错调试码信息地址分配 给总线控制器。进而, 南桥的 LPC 总线接口将串口地址或者 POST CODE 打印信息的端口地 址 (0x3F8 ~ 0x3FF 或者 0x80) 和数据发送出来。当总线控制器 320 接收到南桥的 LPC 总 线接口发送过来的一帧数据后, 解析出接收到的地址信息和数据信息。硬件侦错信息管理 装置 340s 根据解析的结果, 逻辑判断读写的端口地址是否是串口地址范围 (0x3F8 ~ 0x3FF
     或者 0x80)。如果不是串口地址范围或者 POST CODE 打印信息的端口地址, 则不作任何处 理。如果是串口地址范围或者 POST CODE 打印信息的端口地址则作相应的处理和应答, 并 将并行的数据转换成为 UART 的格式, 由 UART 控制器发送出去。
     可选的, UART 所打印的信息是 ASCII 码, 而 “POST CODE” 是非 ASCII 码, 可根据用 户的需求, 设置 POST CODE 打印信息是否需要格式转换。将 ASCII 码存储在 ROM 或者逻辑 寄存器中, 当系统打印 POST CODE 打印信息时, 不将 POST CODE 打印信息直接写入串口的发 送 FIFO 中, 而是根据 POST CODE 打印信息, 作为 ROM 的地址, 读取 ROM 对应地址上的数据, 并将对应地址上的数据, 写入串口的发送 FIFO。
     本发明实施例涉及现有的串口控制器和现有的 BIOS 软件, 即能在 BIOS 初始阶段 输出 “POST CODE” , 又不增加任何 BIOS 软件和硬件的设计。 并且不需要另外的总线插槽, 在 单板持续带电工作的情况下, 通过面板接口或者其他手段, 实现查看 “POST CODE” 。这样本 发明是实施例利用单板上已经有的串口控制器 ( 逻辑实现 ), 实现 UART 和 “80 卡” 的双重 功能。通过 UART 接口打印出 “POST CODE 打印信息” 。使 PC、 服务器、 x86 嵌入式单板都不 再需要专门的 “80 卡” 或者 80 卡功能的电路设计。使用本方案, 对所有的代码透明, 无需对 原有的 BIOS 代码和通用串口驱动作更改, 而且解决了现有方案的各种局限性。
     可选的, 所述硬件侦错信息管理装置 340 判断是否获得硬件侦错调试码信息地址 前, 用于执行以下动作, 即本发明实施例一中的步骤 233, 具体为 : 如果解析的结果不包括 串口地址 ( 可以理解为解析的结果不包括串口地址 ), 根据预设的切换规则, 继续判断解析 的结果是否包括硬件侦错调试码信息地址。这样通过预设的切换规则, 可以针对特定用户 需求, 去选择是否需要输出硬件侦错调试码信息, 或者规定在什么条件下需要输出硬件侦 错调试码信息。
     具体的, 所述预设的切换规则包括 : 方案 A : 通过控制基本输入输出 I/O 地址空间 寄存器位来标识可继续进行后续步骤 ; 或者, 方案 B : 通过设置跳线, 并判断跳线引脚电平 来标识可继续进行后续步骤 ; 或者, 方案 C : 通过将接收到的字符与预设的字符进行比对来 标识可继续进行后续步骤。 其中, 可继续进行后续步骤包括 : 继续判断解析的结果包括否是 硬件侦错调试码信息地址
     方案 A : 为体现在不同用户需求下, 通过控制基本输入输出 I/O 地址空间寄存器位 来标识可继续进行后续步骤,
     请参阅图 5, 本发明下述实施例中, 硬件侦错信息管理装置 340 在已有的 LPC 转 UART 的功能模块上, 在 I/O 地址空间中分配一个地址, 用作为 “80 卡功能开关寄存器” 。通 过软件来写该位的数据, 如果该位的值为 “0” , 则串口为正常使用 ; 通过软件将该位数据改 写为 “1” , 则串口不再打印原先串口地址 “0x3F8” 的数据, 而是打印 “IO 地址 0x80” 上的数 据, 这样实现了串口逻辑和 80 卡的复用功能。本方案 A 依赖于 BIOS 软件修改, 如果软件不 对该寄存器的写操作, 则该功能不能实现。 本方案优点是不增加任何硬件成本的情况下, 实 现功能。
     方案 B : 为体现在不同用户需求下, 通过设置跳线, 并判断跳线引脚电平来标识可 继续进行后续步骤, 请结合图 6 参阅本发明下述实施例。
     硬 件 侦 错 信 息 管 理 装 置 340 在 已 有 的 LPC 转 UART 的 功 能 模 块 外 的 某 个 CPLD(Complex Programmable Logic Device, 复杂可编程逻辑器件 ) 的管脚, 连接一个跳线帽、 其他器件 ( 例如南桥、 系统底板管理控制器 ) 的通用输出输出引脚或者选焊电阻等。在 逻辑内部对该引脚的电平进行判断, 如果是低电平, 则串口逻辑实现 ; 如果是高电平, 则实 现 80 卡功能。本方案 B 需要外接一个跳线帽或者电阻, 优点是对于所有 BIOS 软件, 无需修 改都可以直接使用。
     方案 C : 为体现在不同用户需求下, 通过将接收到的字符与预设的字符进行比对 来标识可继续进行后续步骤, 请结合图 7 参阅本发明下述实施例
     硬件侦错信息管理装置 340 利用串口接收到的命令, 进行串口功能和 80 卡功能的 切换。当串口的 Rx 接收到数据时, 串口控制器不但将数据存储到接收 FIFO, 同时对接收到 的字符进行捕获。 对接收到的数据进行锁存, 与预设的切换命令进行比对。 当接收到的字符 与预设的字符相一致, 则进行功能切换。 当接收到的字符与预设的字符不相一致, 则不进行 处理。预设的切换字符应当设为一个正常使用时不可能使用的特殊字符 ( 例如 : ctrl+W)。
     可以理解, 结合图 8, 本发明实施例公开一种硬件侦错信息管理装置 340, 硬件侦 错信息管理装置 340 用于与计算机系统的总线控制器 320 和串口控制器 330 连接, 可以独 立的销售和使用。硬件侦错信息管理装置 340 包括接收模块 810, 判决模块 820。
     接收模块 810, 用于接收总线控制器 320 解析的结果。 判决模块 820, 用于根据总线控制器解析的结果判断是否获得串口地址或硬件侦 错调试码信息地址 ; 如果获得的是串口地址, 则解析的结果还包括需要通过串口地址输出 的数据, 控制串口控制器输出需要通过串口地址输出的数据 ; 如果获得的是硬件侦错调试 码信息地址, 则解析的结果还包括硬件侦错调试码信息, 控制串口控制器输出硬件侦错调 试码信息。
     具体的, 判决模块 820 根据总线控制器 320 解析的结果判断是否获得串口地址 ; 如果解析的结果包括串口地址, 那么通过串口控制器 330 输出需要通过串口地址输出的数 据; 如果解析的结果不包括串口地址, 继续判断解析的结果是否包括硬件侦错调试码信息 地址, 如果解析的结果包括硬件侦错调试码信息地址, 根据硬件侦错调试码信息地址, 通过 串口控制器输出硬件侦错调试码信息 ; 如果解析的结果既不包括串口地址也不包括硬件侦 错调试码信息地址, 那么不处理该地址信息。
     所述判决模块 820 在判断是否获得硬件侦错调试码信息地址前, 如果解析的结果 不包括串口地址, 根据预设的切换规则, 继续判断解析的结果是否包括硬件侦错调试码信 息地址。 这样通过预设的切换规则, 可以针对特定用户需求, 去选择是否需要输出硬件侦错 调试码信息, 或者规定在什么条件下输出需要输出硬件侦错调试码信息。
     本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以 通过计算机程序来指令相关的硬件来完成, 所述的程序可存储于一计算机可读取存储介质 中, 该程序在执行时, 可包括如上述各方法的实施例的流程。其中, 所述的存储介质可为磁 碟、 光盘、 只读存储记忆体 (Read-Only Memory, ROM) 或随机存储记忆体 (Random Access Memory, RAM) 等。
     以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限于此, 任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到变化或替换, 都应涵 盖在本发明的保护范围之内。 因此, 本发明的保护范围应所述以权利要求的保护范围为准。
    

硬件侦错调试码信息输出方法、装置及系统.pdf_第1页
第1页 / 共15页
硬件侦错调试码信息输出方法、装置及系统.pdf_第2页
第2页 / 共15页
硬件侦错调试码信息输出方法、装置及系统.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《硬件侦错调试码信息输出方法、装置及系统.pdf》由会员分享,可在线阅读,更多相关《硬件侦错调试码信息输出方法、装置及系统.pdf(15页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101989219A43申请公布日20110323CN101989219ACN101989219A21申请号200910109562922申请日20090807G06F11/2220060171申请人华为技术有限公司地址518129广东省深圳市龙岗区坂田华为总部办公楼72发明人朱晓明王慧54发明名称硬件侦错调试码信息输出方法、装置及系统57摘要本发明实施例公开了一种硬件侦错调试码信息输出方法、装置和系统。通过解析进入总线控制器的数据,获得解析的结果,判断解析的结果是否包括串口地址或硬件侦错调试码信息地址;如果解析的结果包括硬件侦错调试码信息地址,则解析的结果还包括硬件侦错调试。

2、码信信息,通过串口控制器输出硬件侦错调试码信息。通过复用系统内部的自带的串口控制器以输出侦错调试码,提高了存储器的数据处理速率减少检测硬件缺陷的成本,降低了硬件的复杂度和单板的成本,使得检测硬件操作简便易行。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书7页附图5页CN101989219A1/2页21一种硬件侦错调试码信息输出方法,其特征在于,包括如下步骤解析进入总线控制器的数据,获得解析的结果;判断解析的结果是否包括串口地址或硬件侦错调试码信息地址;如果解析的结果包括硬件侦错调试码信息地址,则解析的结果还包括硬件侦错调试码信信息,通过串口控制器输出硬件侦错。

3、调试码信息;如果解析的结果包括串口地址,则解析的结果还包括需要通过串口地址输出的数据,通过串口控制器输出需要通过串口地址输出的数据。2如权利要求1所述的方法,其特征在于,所述解析进入总线控制器的数据前,还包括以下步骤对基本输入输出系统进行配置,用于使得总线控制器可以接收硬件侦错调试码信息地址。3如权利要求1所述的方法,其特征在于,所述判断解析的结果是否包括串口地址或硬件侦错调试码信息地址,包括以下步骤判断解析的结果是否包括串口地址或硬件侦错调试码信息地址;如果解析的结果包括串口地址,则解析的结果还包括需要通过串口地址输出的数据,通过总线接口输出需要通过串口地址输出的数据;如果解析的结果不包括串。

4、口地址,继续判断解析的结果是否包括硬件侦错调试码信息地址;如果解析的结果既不包括串口地址也不包括硬件侦错调试码信息地址,那么不处理解析的结果。4如权利要求3所述的方法,其特征在于,所述如果解析的结果不包括串口地址,还包括以下步骤根据预设的切换规则,继续判断解析的结果是否包括硬件侦错调试码信息地址。5如权利要求4所述的方法,其特征在于,所述预设的切换规则包括通过控制基本输入输出地址空间寄存器位来标识可继续进行后续步骤;或者,通过设置跳线,并判断跳线引脚电平来标识可继续进行后续步骤;或者,通过将接收到的字符与预设的字符进行比对来标识可继续进行后续步骤;其中,可继续进行后续步骤包括继续判断解析的结果。

5、包括否包括硬件侦错调试码信息地址。6如权利要求1所述的方法,其特征在于,通过串口控制器输出硬件侦错调试码信息包括将所述硬件侦错调试码信息转化为ASCII码进行输出。7一种硬件侦错调试码信息输出系统,其特征在于,包括;总线控制器,用于接收外部总线传输过来的外部数据,解析所述外部数据,获得解析的结果,将外部数据转换成为串口格式的串行数据,所述解析的结果包括需要通过串口地址输出的数据和/或硬件侦错调试码信息;串口控制器,用于根据总线控制器获得的解析结果,接收需要通过串口地址输出的数据和/或硬件侦错调试码信息;硬件侦错信息管理装置,用于根据总线控制器解析的结果判断是否获得串口地址或硬件侦错调试码信息地。

6、址;如果获得的是串口地址,则解析的结果还包括需要通过串口地址输出的数据,控制串口控制器输出需要通过串口地址输出的数据;如果获得的是硬件侦错调试码信息地址,则解析的结果还包括硬件侦错调试码信息,控制串口控制器输出硬件侦权利要求书CN101989219A2/2页3错调试码信息。8如权利要求7所述的系统,其特征在于,所述硬件侦错信息管理装置,用于根据总线控制器解析的结果判断是否获得串口地址;如果解析的结果包括串口地址,那么通过串口控制器输出需要通过串口地址输出的数据;如果解析的结果不包括串口地址,继续判断解析的结果是否包括硬件侦错调试码信息地址,如果解析的结果包括硬件侦错调试码信息地址,根据硬件侦错。

7、调试码信息地址,通过串口控制器输出硬件侦错调试码信息;如果解析的结果既不包括串口地址也不包括硬件侦错调试码信息地址,那么不处理解析的结果。9如权利要求8所述的系统,其特征在于,所述硬件侦错信息管理装置在判断是否获得硬件侦错调试码信息地址前,如果解析的结果不包括串口地址,根据预设的切换规则,继续判断解析的结果是否包括硬件侦错调试码信息地址。10一种硬件侦错信息管理装置,用于与计算机系统的总线控制器和串口控制器连接,其特征在于,包括接收模块和判决模块;接收模块,用于接收总线控制器解析的结果;判决模块,用于根据接收模块接收到的来至总线控制器的解析结果,判断是否获得串口地址或硬件侦错调试码信息地址;如。

8、果获得的是串口地址,则解析的结果还包括需要通过串口地址输出的数据,控制串口控制器输出需要通过串口地址输出的数据;如果获得的是硬件侦错调试码信息地址,则解析的结果还包括硬件侦错调试码信息,控制串口控制器输出硬件侦错调试码信息。11如权利要求10所述的硬件侦错信息管理装置,其特征在于,判决模块用于根据总线控制器解析的结果判断是否获得串口地址;如果解析的结果包括串口地址,那么通过串口控制器输出需要通过串口地址输出的数据;如果解析的结果不包括串口地址,继续判断解析的结果是否包括硬件侦错调试码信息地址,如果解析的结果包括硬件侦错调试码信息地址,根据硬件侦错调试码信息地址,通过串口控制器输出硬件侦错调试码。

9、信息;如果解析的结果既不包括串口地址也不包括硬件侦错调试码信息地址,那么不处理解析的结果。12如权利要求10所述的硬件侦错信息管理装置,其特征在于,判决模块在根据总线控制器解析的结果判断是否获得串口地址时,如果解析的结果不包括串口地址,根据预设的切换规则,继续判断解析的结果是否包括硬件侦错调试码信息地址。权利要求书CN101989219A1/7页4硬件侦错调试码信息输出方法、装置及系统技术领域0001本发明涉及电子装置,特别涉及硬件侦错调试码信息输出方法、装置及系统。背景技术0002在X86计算机系统中,开机之后启动BIOSBASICINPUT/OUTPUTSYSTEM,基本输入输出系统。BI。

10、OS掌握着X86系统的启动、部件之间的兼容和程序管理等多项重任。只要按下电源开关启动主机后,BIOS就开始接管系统启动的所有自检工作。0003系统首先由POSTPOWERONSELFTEST,上电自检程序来对内部各个设备进行检查这个过程在下文中另作表述。通常完整的POST自检将包括对CPU、内存、ROM、主板、CMOS存储器、串并口、显示卡、存储系统及键盘等进行测试,一旦在自检中发现问题,系统将给出提示信息或鸣笛警告或输出硬件侦错调试码信息POSTCODE给连接在主板上的外接卡也称为调试卡、80卡或DEBUG卡。请参阅图1,通过图1所示的调试卡输出系统检测后的调试信息,然后BIOS就按照系统C。

11、MOS设置中保存的启动顺序搜寻软驱、硬盘等存储设备和它们的启动顺序,读入操作系统引导记录,最后将系统控制权交给引导记录,开启系统显示器,并最终完全过渡到操作系统的工作状态。其中,BIOS启动会经过好几个检测、命令、执行的循环流程,当然,在进入BIOS控制之前,CPU还需要一个热身的过程。拿P4系统为例首先是主机电源开始供电,CPU接收到VR电压调节系统发出的一个电压信号,然后经过一系列的逻辑单元确认CPU运行电压之后,主板芯片接收到发出“启动”工作的指令,让CPU复位。CPU“苏醒”后的第一工作就是,读取BIOS中的初始化指令。在对CPU和内存640KB基本模块状态做一系列校验之后,BIOS会。

12、完成电路片的初始准备,停用视频、奇偶性和DMA电路片,并且使CMOS计时器开始运行。随后,BIOS程序会逐步检查CPU是否和默认设定相同,DMA是否有故障,显示通道测试等等,一旦出现故障,就会有蜂鸣器发出报警或输出侦错调试码POSTCODE。可见前面输出侦错调试码等步骤都是在后台悄悄进行的,这时因为还没有开启显示器,所以我们是看不到屏幕上的任何信息。当CPU被正式启动以后,POSTPOWERONSELFTEST,加电后自检进入内存侦测阶段,一旦内存检测出错,系统死机并会长时间报错;如果一切顺利,BIOS继续往下POST,检查ROM内的其他BIOS主程序、扩展程序,直到完成这些工作,系统进入常规。

13、流程,显示器上才会显示出时间日期、BIOS版本型号、CPU频率、内存容量等基本信息。在BIOS引导存储设备中位于引导区的操作系统启动程序以后,接下来的过程便交给操作系统来继续了。0004可见,检测硬件过程中如果发生错误或死机,这种写POSTCODE的动作就不会继续,会停留在检测出现错误的部件的地方。现有技术中,通过具有硬件侦错功能的外接卡也称为调试卡、80卡或DEBUG卡,将在后台悄悄进行的,无法在系统显示器显示的调试码POSTCODE输出,以检测硬件缺陷。0005本申请发明人在实施本发明时发现,现有技术在得到侦错调试码后,需要通过外接卡检测硬件缺陷,而无法复用系统内部的自带的其他接口以输出侦。

14、错调试码。所以系统主机板上必须有PCI或者ISA插槽,以及有足够的空间来插入外接卡。这样成本较高,操作说明书CN101989219A2/7页5不方便。发明内容0006本发明实施例提供硬件侦错调试码信息输出方法、装置及系统,避免检测硬件时使用外接卡。0007本发明实施例提供一种硬件侦错调试码信息输出方法,包括如下步骤0008解析进入总线控制器的数据,获得解析的结果,判断解析的结果是否包括硬件侦错调试码信息地址;0009如果解析的结果包括硬件侦错调试码信息地址,根据硬件侦错调试码信息地址,通过串口控制器输出硬件侦错调试码信息。0010本发明实施例还提供一种硬件侦错调试码信息输出系统,包括总线控制器。

15、、串口控制器、和硬件侦错信息管理装置;0011总线控制器,用于接收外部总线传输过来的外部数据,解析进入的外部数据,获得解析的结果,将外部数据转换成为串口格式的串行数据,该外部数据包括需要通过串口地址输出的数据和/或硬件侦错调试码信息;0012串口控制器,用于根据总线控制器获得的解析结果,接收需要通过串口地址输出的数据和/或硬件侦错调试码信息;0013硬件侦错信息管理装置,用于根据总线控制器解析的结果判断是否获得串口地址或硬件侦错调试码信息地址;如果获得的是串口地址,则控制串口控制器输出需要通过串口地址输出的数据;如果获得的是硬件侦错调试码信息地址,则控制串口控制器输出硬件侦错调试码信息。001。

16、4本发明实施例还提供一种硬件侦错信息管理装置,用于与计算机系统的总线控制器和串口控制器连接,包括接收模块和判决模块;0015接收模块,用于接收总线控制器解析的结果;0016判决模块,用于根据接收模块接收到的来至总线控制器的解析结果,判断是否获得串口地址或硬件侦错调试码信息地址;如果获得的是串口地址,则控制串口控制器输出需要通过串口地址输出的数据;如果获得的是硬件侦错调试码信息地址,则控制串口控制器输出硬件侦错调试码信息。0017本发明实施例通过复用系统内部的自带的串口控制器以输出硬件侦错调试码信息,提高了存储器的数据处理速率减少检测硬件缺陷的成本,降低了硬件的复杂度和单板的成本,使得检测硬件操。

17、作简便易行。附图说明0018为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0019图1为现有技术硬件侦错调试码信息输出装置示意图;0020图2为本发明实施例硬件侦错调试码信息输出方法流程图;说明书CN101989219A3/7页60021图3为本发明另一实施例硬件侦错调试码信息输出方法流程图;0022图4为本发明实施例硬件侦错调试码信息输出系统结构示意图;0023图5为本发明实施例具有。

18、一种切换规则的硬件侦错调试码信息输出系统结构示意图;0024图6为本发明实施例具有另一种切换规则的硬件侦错调试码信息输出系统结构示意图;0025图7为本发明实施例具有再一种切换规则的硬件侦错调试码信息输出系统结构示意图;和0026图8为本发明实施例一种切换规则的硬件侦错调试码信息输出装置结构示意图。具体实施方式0027下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0028请参阅图2,。

19、本发明实施例一提供一种硬件侦错调试码信息输出方法,包括以下步骤0029步骤221对基本输入输出系统进行配置,用于使得总线控制器可以接收硬件侦错调试码信息地址;具体以X86计算机系统为例,X86计算机系统中的BIOSBASICINPUT/OUTPUTSYSTEM,基本输入输出系统在CPU上电后,立刻设定南桥寄存器“GENERALCONTROLANDSTATUSREGISTER”的第二位“RESERVEDPAGEROUTERPR”。根据该寄存器的配置,南桥将串口地址和POSTCODE打印信息的端口地址0X80,即硬件侦错调试码信息地址都分配给南桥的LPC总线接口或者PCI等其他总线接口,南桥的LP。

20、C总线接口将串口地址0X3F80X3FF或者POSTCODE打印信息的端口地址0X80和数据发送出来,进而总线控制器可以收到串口地址0X3F80X3FF或者POSTCODE打印信息的端口地址0X80和数据。可以理解,步骤221中可以只配置一次,也可以重复配置。如果总线控制器具有可以接收硬件侦错调试码信息地址的能力,那么步骤221可以省略。0030步骤222解析进入总线控制器的数据,获得解析的结果;具体的,当总线控制器接收到南桥的LPC总线接口发送过来的一帧数据后,解析出接收到的地址信息和数据信息。0031步骤223判断解析的结果是否包括串口地址或硬件侦错调试码信息地址,如果解析的结果包括硬件侦。

21、错调试码信息地址,则解析的结果还包括硬件侦错调试码信信息,通过串口控制器输出硬件侦错调试码信息;如果解析的结果包括串口地址,则解析的结果还包括需要通过串口地址输出的数据,通过串口控制器输出需要通过串口地址输出的数据。具体的,硬件侦错信息管理装置根据解析的结果,逻辑判断读写的端口地址是否包括串口地址或者POSTCODE打印信息的端口地址0X80。如果解析的结果包括串口地址,则解析的结果还包括需要通过串口地址输出的数据,根据该串口地址,将串口数据转换成为UART的格式,由UART控制器发送出去。如果解析的结果包括POSTCODE打印信息的端口地址,则解析的结果还包括硬件侦错调试码信信息,根据该端口。

22、地址,将POSTCODE打印信息说明书CN101989219A4/7页7转换成为UART的格式,由UART控制器发送出去。这里通过串口控制器输出硬件侦错调试码信息包括将所述硬件侦错调试码信息转化为ASCII码并进行输出。0032本发明实施例通过复用系统内部的自带的串口控制器以输出侦错调试码,提高了存储器的数据处理速率减少检测硬件缺陷的成本,降低了硬件的复杂度和单板的成本,使得检测硬件操作简便易行,能够取代现有的80卡。0033可选的,请结合图3流程图,本实施例一中将串口地址输出的数据、硬件侦错调试码信息结合使用时,步骤222在进行判断解析的结果是否包括串口地址或硬件侦错调试码信息地址,还包括以。

23、下步骤0034步骤231判断解析的结果是否包括串口地址或硬件侦错调试码信息地址;0035步骤232如果解析的结果包括串口地址,则解析的结果还包括需要通过串口地址输出的数据,通过总线接口输出需要通过串口地址输出的数据;0036步骤233如果解析的结果不包括串口地址,继续判断解析的结果是否包括硬件侦错调试码信息地址,如果解析的结果包括硬件侦错调试码信息地址,根据硬件侦错调试码信息地址,通过串口控制器输出硬件侦错调试码信息;0037步骤234如果解析的结果既不包括串口地址也不包括硬件侦错调试码信息地址,那么不处理解析的结果。0038可选的,所述如果解析的结果不包括串口地址,根据预设的切换规则,继续判。

24、断解析的结果是否包括硬件侦错调试码信息地址。0039可选的,预设的切换规则可以包括一下步骤0040方案A通过控制基本输入输出地址空间寄存器位来标识可继续进行后续步骤;或者,0041方案B通过设置跳线,并判断跳线引脚电平来标识可继续进行后续步骤;或者,0042方案C通过将接收到的字符与预设的字符进行比对来标识可继续进行后续步骤;0043其中,可继续进行后续步骤包括继续判断解析的结果包括否包括硬件侦错调试码信息地址。0044结合步骤222中,步骤232和步骤233如果是串口地址范围或者POSTCODE打印信息的端口地址则作相应的处理和应答,并将并行的数据转换成为UART的格式,由UART控制器发送。

25、出去。步骤234如果不是串口地址范围或者POSTCODE打印信息的端口地址,则不作任何处理。0045请参阅图4,本发明实施例二以X86计算机系统中的UARTUNIVERSALASYNCHRONOUSRECEIVERTRANSMITTER,通用异步收发器串口控制器为例,说明一种计算机系统。0046本发明实施例中,X86计算机系统300包括总线控制器320、串口控制器330、和硬件侦错信息管理装置340。0047为更有助理解,X86计算机系统300结合可选的南桥芯片400进行阐述,这里定义南桥芯片400用于管理接口总线之间的通信,如PCI总线、USB、LAN、ATA、SATA、音频控制器、键盘控制。

26、器、实时时钟控制器、高级电源管理等。0048总线控制器320用于在南桥芯片400的管理下,接收外部总线传输过来的外部数说明书CN101989219A5/7页8据,如地址、数据、控制等信息。明显的,该外部数据也可以为并行数据,包括需要通过串口地址输出的数据即输出UART信息和/或硬件侦错调试码信息即“80”信息。总线控制器320解析外部数据,获得解析的结果。另外,总线控制器3将外部数据转换成为通用串口格式的串行数据,并发送。0049串口控制器330根据总线控制器320获得的解析结果,接收总线控制器320发送的需要通过串口地址输出的数据和/或硬件侦错调试码信息。0050硬件侦错信息管理装置340进。

27、而可选择的执行步骤220223或者231234,用于根据总线控制器320解析的结果判断是否获得串口地址或硬件侦错调试码信息地址;如果获得的是串口地址,则解析的结果还包括需要通过串口地址输出的数据,控制串口控制器330输出需要通过串口地址输出的数据;如果获得的是硬件侦错调试码信息地址,则解析的结果还包括硬件侦错调试码信息,控制串口控制器330输出硬件侦错调试码信息。0051具体的,硬件侦错信息管理装置340根据总线控制器320解析的结果判断是否获得串口地址;0052如果解析的结果包括串口地址,那么通过串口控制器330输出需要通过串口地址输出的数据;0053如果解析的结果不包括串口地址,继续判断解。

28、析的结果是否包括硬件侦错调试码信息地址,如果解析的结果包括硬件侦错调试码信息地址,根据硬件侦错调试码信息地址,通过串口控制器输出硬件侦错调试码信息;0054如果解析的结果既不包括串口地址也不包括硬件侦错调试码信息地址,那么不处理解析的结果。0055可选的,硬件侦错信息管理装置340还包括ASCII码转换模块用于控制串口控制器330输出将所述硬件侦错调试码信息转化为ASCII码AMERICANSTANDARDCODEFORINFORMATIONINTERCHANGE,美国信息交换标准码进行输出。0056具体的,假设串口地址为0X3F80X3FF、POSTCODE打印信息即需通过80卡输出的信息的。

29、端口地址为0X80。0057X86计算机系统中的BIOSBASICINPUT/OUTPUTSYSTEM,基本输入输出系统在CPU上电后,立刻设定南桥寄存器“GENERALCONTROLANDSTATUSREGISTER”的第二位“RESERVEDPAGEROUTERPR”。根据该寄存器的配置,南桥将串口地址和POSTCODE打印信息的端口地址都分配给南桥的LPC总线接口或者PCI等其他总线接口。这样当软件访问串口地址0X3F80X3FF或者POSTCODE打印信息的端口地址时,控制流将根据寄存器的内容转到南桥的LPC总线接口或者PCI等其他总线接口。0058LPC总线控制器320或者PCI等其。

30、他外围总线控制器通过LPC总线或者PCI等其他总线接口与南桥总线接口相连。可以理解通过上述BIOSBASICINPUT/OUTPUTSYSTEM,基本输入输出系统的配置,即设定南桥寄存器“GENERALCONTROLANDSTATUSREGISTER”的第二位“RESERVEDPAGEROUTERPR”实现了将硬件侦错调试码信息地址分配给总线控制器。进而,南桥的LPC总线接口将串口地址或者POSTCODE打印信息的端口地址0X3F80X3FF或者0X80和数据发送出来。当总线控制器320接收到南桥的LPC总线接口发送过来的一帧数据后,解析出接收到的地址信息和数据信息。硬件侦错信息管理装置340。

31、S根据解析的结果,逻辑判断读写的端口地址是否是串口地址范围0X3F80X3FF说明书CN101989219A6/7页9或者0X80。如果不是串口地址范围或者POSTCODE打印信息的端口地址,则不作任何处理。如果是串口地址范围或者POSTCODE打印信息的端口地址则作相应的处理和应答,并将并行的数据转换成为UART的格式,由UART控制器发送出去。0059可选的,UART所打印的信息是ASCII码,而“POSTCODE”是非ASCII码,可根据用户的需求,设置POSTCODE打印信息是否需要格式转换。将ASCII码存储在ROM或者逻辑寄存器中,当系统打印POSTCODE打印信息时,不将POST。

32、CODE打印信息直接写入串口的发送FIFO中,而是根据POSTCODE打印信息,作为ROM的地址,读取ROM对应地址上的数据,并将对应地址上的数据,写入串口的发送FIFO。0060本发明实施例涉及现有的串口控制器和现有的BIOS软件,即能在BIOS初始阶段输出“POSTCODE”,又不增加任何BIOS软件和硬件的设计。并且不需要另外的总线插槽,在单板持续带电工作的情况下,通过面板接口或者其他手段,实现查看“POSTCODE”。这样本发明是实施例利用单板上已经有的串口控制器逻辑实现,实现UART和“80卡”的双重功能。通过UART接口打印出“POSTCODE打印信息”。使PC、服务器、X86嵌入。

33、式单板都不再需要专门的“80卡”或者80卡功能的电路设计。使用本方案,对所有的代码透明,无需对原有的BIOS代码和通用串口驱动作更改,而且解决了现有方案的各种局限性。0061可选的,所述硬件侦错信息管理装置340判断是否获得硬件侦错调试码信息地址前,用于执行以下动作,即本发明实施例一中的步骤233,具体为如果解析的结果不包括串口地址可以理解为解析的结果不包括串口地址,根据预设的切换规则,继续判断解析的结果是否包括硬件侦错调试码信息地址。这样通过预设的切换规则,可以针对特定用户需求,去选择是否需要输出硬件侦错调试码信息,或者规定在什么条件下需要输出硬件侦错调试码信息。0062具体的,所述预设的切。

34、换规则包括方案A通过控制基本输入输出I/O地址空间寄存器位来标识可继续进行后续步骤;或者,方案B通过设置跳线,并判断跳线引脚电平来标识可继续进行后续步骤;或者,方案C通过将接收到的字符与预设的字符进行比对来标识可继续进行后续步骤。其中,可继续进行后续步骤包括继续判断解析的结果包括否是硬件侦错调试码信息地址0063方案A为体现在不同用户需求下,通过控制基本输入输出I/O地址空间寄存器位来标识可继续进行后续步骤,0064请参阅图5,本发明下述实施例中,硬件侦错信息管理装置340在已有的LPC转UART的功能模块上,在I/O地址空间中分配一个地址,用作为“80卡功能开关寄存器”。通过软件来写该位的数。

35、据,如果该位的值为“0”,则串口为正常使用;通过软件将该位数据改写为“1”,则串口不再打印原先串口地址“0X3F8”的数据,而是打印“IO地址0X80”上的数据,这样实现了串口逻辑和80卡的复用功能。本方案A依赖于BIOS软件修改,如果软件不对该寄存器的写操作,则该功能不能实现。本方案优点是不增加任何硬件成本的情况下,实现功能。0065方案B为体现在不同用户需求下,通过设置跳线,并判断跳线引脚电平来标识可继续进行后续步骤,请结合图6参阅本发明下述实施例。0066硬件侦错信息管理装置340在已有的LPC转UART的功能模块外的某个CPLDCOMPLEXPROGRAMMABLELOGICDEVIC。

36、E,复杂可编程逻辑器件的管脚,连接一个跳线说明书CN101989219A7/7页10帽、其他器件例如南桥、系统底板管理控制器的通用输出输出引脚或者选焊电阻等。在逻辑内部对该引脚的电平进行判断,如果是低电平,则串口逻辑实现;如果是高电平,则实现80卡功能。本方案B需要外接一个跳线帽或者电阻,优点是对于所有BIOS软件,无需修改都可以直接使用。0067方案C为体现在不同用户需求下,通过将接收到的字符与预设的字符进行比对来标识可继续进行后续步骤,请结合图7参阅本发明下述实施例0068硬件侦错信息管理装置340利用串口接收到的命令,进行串口功能和80卡功能的切换。当串口的RX接收到数据时,串口控制器不。

37、但将数据存储到接收FIFO,同时对接收到的字符进行捕获。对接收到的数据进行锁存,与预设的切换命令进行比对。当接收到的字符与预设的字符相一致,则进行功能切换。当接收到的字符与预设的字符不相一致,则不进行处理。预设的切换字符应当设为一个正常使用时不可能使用的特殊字符例如CTRLW。0069可以理解,结合图8,本发明实施例公开一种硬件侦错信息管理装置340,硬件侦错信息管理装置340用于与计算机系统的总线控制器320和串口控制器330连接,可以独立的销售和使用。硬件侦错信息管理装置340包括接收模块810,判决模块820。0070接收模块810,用于接收总线控制器320解析的结果。0071判决模块8。

38、20,用于根据总线控制器解析的结果判断是否获得串口地址或硬件侦错调试码信息地址;如果获得的是串口地址,则解析的结果还包括需要通过串口地址输出的数据,控制串口控制器输出需要通过串口地址输出的数据;如果获得的是硬件侦错调试码信息地址,则解析的结果还包括硬件侦错调试码信息,控制串口控制器输出硬件侦错调试码信息。0072具体的,判决模块820根据总线控制器320解析的结果判断是否获得串口地址;如果解析的结果包括串口地址,那么通过串口控制器330输出需要通过串口地址输出的数据;如果解析的结果不包括串口地址,继续判断解析的结果是否包括硬件侦错调试码信息地址,如果解析的结果包括硬件侦错调试码信息地址,根据硬。

39、件侦错调试码信息地址,通过串口控制器输出硬件侦错调试码信息;如果解析的结果既不包括串口地址也不包括硬件侦错调试码信息地址,那么不处理该地址信息。0073所述判决模块820在判断是否获得硬件侦错调试码信息地址前,如果解析的结果不包括串口地址,根据预设的切换规则,继续判断解析的结果是否包括硬件侦错调试码信息地址。这样通过预设的切换规则,可以针对特定用户需求,去选择是否需要输出硬件侦错调试码信息,或者规定在什么条件下输出需要输出硬件侦错调试码信息。0074本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介。

40、质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体READONLYMEMORY,ROM或随机存储记忆体RANDOMACCESSMEMORY,RAM等。0075以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。说明书CN101989219A1/5页11图1图2说明书附图CN101989219A2/5页12图3说明书附图CN101989219A3/5页13图4图5说明书附图CN101989219A4/5页14图6说明书附图CN101989219A5/5页15图7图8说明书附图。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1