CN102495776B - 一种应用于云存储的存储控制器的bios调试方法 - Google Patents

一种应用于云存储的存储控制器的bios调试方法 Download PDF

Info

Publication number
CN102495776B
CN102495776B CN 201110394029 CN201110394029A CN102495776B CN 102495776 B CN102495776 B CN 102495776B CN 201110394029 CN201110394029 CN 201110394029 CN 201110394029 A CN201110394029 A CN 201110394029A CN 102495776 B CN102495776 B CN 102495776B
Authority
CN
China
Prior art keywords
bios
charactron
cpld
numerical value
debugging
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.)
Active
Application number
CN 201110394029
Other languages
English (en)
Other versions
CN102495776A (zh
Inventor
刘强
于治楼
金长新
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.)
Zibo Langchao Information Technology Co ltd
Original Assignee
Inspur Group Co Ltd
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 Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN 201110394029 priority Critical patent/CN102495776B/zh
Publication of CN102495776A publication Critical patent/CN102495776A/zh
Application granted granted Critical
Publication of CN102495776B publication Critical patent/CN102495776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种应用于云存储的存储控制器的BIOS调试方法,通过在BIOS中分配地址资源,并编写数码管显示函数;在CPLD中设置显示缓冲,将在BIOS中要显示的数值通过CPLD的缓冲输出到与CPLD连接的数码管进行显示,来定位BIOS代码的运行状态和停止位置,当CPU初始化时采用汇编程序编写数码管显示函数,在BIOS中分配左右数码管所用地址空间0xCE850000与0xCE840000,并在CPLD中设置缓冲寄存器,当CPLD检测到CPU的地址线符合我们给数码管所分配的地址空间时将此时数值线上的数据保存进数据缓冲寄存器,然后送出给数码管显示;在系统硬件初始化和内存初始化过程中可以在多处调用数码管显示函数来显示当前BIOS执行过程所处位置,从而定位系统停止位置,方便了调试并加快了调试进度。

Description

一种应用于云存储的存储控制器的BIOS调试方法
技术领域
本发明涉及一种计算机应用技术领域, 具体地说是一种应用于云存储的存储控制器的BIOS调试方法。
背景技术
随着科技的发展,全球数据量的猛增使得存储日益成为一个更独立的专业问题,越来越多的企业开始将存储作为单独的项目进行管理。同时,持续增长的数据存储压力带动着整个存储市场的快速发展,而存储产品架构多种多样,有基于X86架构的产品,也有其他的非X86存储产品;本专利针对非X86架构的云存储控制器的BIOS调试提供一种可行的解决方法。
当前基于非X86的存储控制器的BIOS研发中普遍会遇到一个问题,就是在存储控制器的串口没有初始化前,如果此时BIOS不运行了,若想定位软件BIOS停止在哪里是比较困难的,因为此时串口没有初始化,无法通过串口打印信息;而购买BDI2000之类的调试工具费用比较高,本专利适用于云存储领域,云存储在云计算 (cloud computing)概念上延伸和发展出来的一个新的概念,云存储的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。其最基本组成单元仍是底层云设备的存储控制器。随着云计算应用的推广,云存储的应用也日益广泛,而作为云存储的基本装备云存储控制器的种类也日益增多,除了基于X86的存储控制器外,还有很多基于Power PC, Xscale等架构的存储控制器,他们凭借着体积小,功耗低,高性能等优点,在市场上占有的份额日益增加。
发明内容
本发明的目的是提供一种应用于云存储的存储控制器的BIOS调试方法。
本发明的目的是按以下方式实现的,采用一种修改BIOS代码并配合外部硬件电路添加CPLD等器件来通过数码管来显示存储控制器的BIOS执行过程并定位其运行位置。
首先我们修改BIOS的地址空间分配,分配一块空闲的地址空间给左右数码管显示用,然后编写数码管显示函数,用来在左右两个数码管上同时显示我们所定义的数值,后续我们在需要知道BIOS运行状态的位置添加数码管显示函数和所要显示的数值,这样当我们看到数码管显示出我们所定义的数值后就知道BIOS当前的执行位置;此时如果用CPU的IO来控制数码管则很浪费IO资源,双数码管需要多达16个IO,CPU一般不会提供如此多IO口来作为调试口,为了节省CPU的资源,我们采用一片CPLD来接收和缓冲数码管所要显示的数据,在CPLD中按照我们在BIOS中所分配的地址空间设置寄存器来保存CPU送出的要显示的数值,然后把数据通过CPLD的IO口送到数码管显示出来。这样我们就可以在串口没有初始化的情况下通过数码管来查看当前的BIOS执行情况,如果串口没有初始化情况下,BIOS停止了执行,我们可以通过数码管显示的数值来确定程序停止的位置,而不需要采用其他昂贵的调试工具来查看。
本发明的方法和现有技术相比有益效果是:提供一种基于非X86云存储控制器的BIOS调试方法,通常的调试方法都是在等串口初始化后,通过串口打印调试信息进行BIOS的开发调试,但是如果在串口初始化前BIOS就停止了,则很难定位问题原因,此方法通过修改BIOS中的地址资源分配,并在BIOS中编写BIOS执行过程中的数码显示函数,并在CPLD中设置显示数值的缓冲区,将BIOS中要显示的数值送入CPLD缓冲后,输出到与CPLD连接的数码管来显示BIOS执行的位置,此方法可以解决非X86存储控制器BIOS在串口初始化前的BIOS调试困难的难题,并且不用购买其它昂贵的调试工具,节省了开发成本。
附图说明
图1是云存储的存储控制器的BIOS调试方法逻辑结构示意图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
本发明的应用于云存储的存储控制器的BIOS调试方法,如图1所示,我们以基于Intel的IOP331存储控制器为例来说明其实施过程。
IOP331存储控制器的BIOS中是在系统CPU硬件和CACHE以及内存等初始化完成后才进行的串口的初始化,而在串口初始化前的CPU初始化和内存初始化过程中如果出现问题没有通过,则通过BIOS很难定位程序停止在哪里,
我们采用图1所示的方法进行设计,当CPU初始化时采用汇编程序编写数码管显示函数,在BIOS中分配左右数码管所用地址空间0xCE850000与0xCE840000,并在CPLD中设置缓冲寄存器,当CPLD检测到CPU的地址线符合我们给数码管所分配的地址空间时将此时数值线上的数据保存进数据缓冲寄存器,然后送出给数码管显示;在系统硬件初始化和内存初始化过程中可以在多处调用数码管显示函数来显示当前BIOS执行过程所处位置,这样即使串口没有初始化无法从串口打印字符的情况下我们可以从数码管显示的数值来判断当前程序执行的位置,从而定位系统停止位置,方便了调试并加快了调试进度。
本发明提供一种用于云存储的非X86存储控制器的BIOS调试方法,可以不用购买昂贵的调试工具就方便完成BIOS的调试,节省了开发成本。本发明专利实用于云存储领域,此方法简单可行,成本低廉,可以用来降低产品研发中对研发设备和资金投入。目前对于处理器的BIOS调试方式主要是通过串口进行调试,而主板在串口初始化前出问题,则比较难通过软件来定位,常用的方法是用类似BDI2000之类的调试工具进行调试,这种调试工具价格比较昂贵,不适合普及应用。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (1)

1.一种应用于云存储的存储控制器的BIOS调试方法,其特征在于,采用修改BIOS代码并配合外部硬件电路添加CPLD器件来通过数码管来显示存储控制器的BIOS执行过程并定位其运行位置,当CPU初始化时采用汇编程序编写数码管显示函数,在BIOS中分配左右数码管所用地址空间OxCE850000与OxCE840000,并在CPLD中设置缓冲寄存器,当CPLD检测到CPU的地址线符合数码管所分配的地址空间时将此时数值线上的数据保存进数据缓冲寄存器,然后送出给数码管显示;在系统硬件初始化和内存初始化过程中在多处调用数码管显示函数来显示当前BIOS执行过程所处位置,这样即使串口没有初始化无法从串口打印字符的情况下,从数码管显示的数值来判断当前程序执行的位置,从而定位系统停止位置,方便了调试并加快了调试进度,具体步骤如下:
    首先修改BIOS的地址空间分配,分配一块空闲的地址空间给左右数码管显示用,然后编写数码管显示函数,用来在左右两个数码管上同时显示我们所定义的数值,后续在需要知道BIOS运行状态的位置添加数码管显示函数和所要显示的数值,这样当看到数码管显示出所定义的数值后就知道BIOS当前的执行位置;为了节省CPU的资源,采用一片CPLD来接收和缓冲数码管所要显示的数据,在CPLD中按照在BIOS中所分配的地址空间设置寄存器来保存CPU送出的要显示的数值,然后把数据通过CPLD的10口送到数码管显示出来,这样就在串口没有初始化的情况下通过数码管来查看当前的BIOS执行情况,如果串口没有初始化情况下,BIOS停止了执行,通过数码管显示的数值来确定程序停止的位置。
CN 201110394029 2011-12-02 2011-12-02 一种应用于云存储的存储控制器的bios调试方法 Active CN102495776B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110394029 CN102495776B (zh) 2011-12-02 2011-12-02 一种应用于云存储的存储控制器的bios调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110394029 CN102495776B (zh) 2011-12-02 2011-12-02 一种应用于云存储的存储控制器的bios调试方法

Publications (2)

Publication Number Publication Date
CN102495776A CN102495776A (zh) 2012-06-13
CN102495776B true CN102495776B (zh) 2013-07-24

Family

ID=46187602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110394029 Active CN102495776B (zh) 2011-12-02 2011-12-02 一种应用于云存储的存储控制器的bios调试方法

Country Status (1)

Country Link
CN (1) CN102495776B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955919A (zh) * 2012-11-21 2013-03-06 浪潮集团有限公司 一种对bios芯片加密保护的方法
CN103473173B (zh) * 2013-09-10 2016-03-09 成都品果科技有限公司 一种对iOS系统进行汇编级动态调试的方法及装置
CN105739435B (zh) * 2016-05-10 2018-07-20 苏州新代数控设备有限公司 数值控制装置
CN107480052B (zh) * 2017-07-21 2020-11-13 广东虹勤通讯技术有限公司 一种定位宕机时bios代码的方法及装置
CN109358827B (zh) * 2018-12-05 2021-11-16 深圳市创维软件有限公司 控制应用串口打印的方法、系统、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183326A (zh) * 2006-11-14 2008-05-21 英业达股份有限公司 应用于基本输出入系统的排错系统以及方法
CN101604275A (zh) * 2008-06-13 2009-12-16 鸿富锦精密工业(深圳)有限公司 Bios测试系统及其测试方法
CN102231127B (zh) * 2009-10-20 2014-02-19 鸿富锦精密工业(深圳)有限公司 Bios错误信息显示的检测系统及检测方法

Also Published As

Publication number Publication date
CN102495776A (zh) 2012-06-13

Similar Documents

Publication Publication Date Title
KR102496402B1 (ko) 사용자-레벨 포크 및 조인 프로세서, 방법, 시스템, 및 명령어
CN102495776B (zh) 一种应用于云存储的存储控制器的bios调试方法
CN1991768B (zh) 与不同种类的资源通信的基于指令系统结构的内定序器
TWI729019B (zh) 處理裝置、系統單晶片、非暫時性機器可讀儲存媒體及用於排序之方法
TWI496076B (zh) 上下文狀態管理技術
US20090172348A1 (en) Methods, apparatus, and instructions for processing vector data
US20140223060A1 (en) Injecting Interrupts in Virtualized Computer Systems
CN103197916A (zh) 用于源操作数收集器高速缓存的方法和装置
US10838734B2 (en) Apparatus and method for processing structure of arrays (SoA) and array of structures (AoS) data
WO2013012668A1 (en) Virtual gpu
EP3644179A2 (en) Apparatus and method for tile gather and tile scatter
US20190266008A1 (en) Idle processor management in virtualized systems via paravirtualization
US9875131B2 (en) Virtual PCI device based hypervisor bypass using a bridge virtual machine
US10949243B2 (en) Reducing IPI overhead with CPU overcommit support via IPI broadcast
CN110659115A (zh) 具有硬件辅助任务调度的多线程处理器核
US10659396B2 (en) Joining data within a reconfigurable fabric
CA3127840A1 (en) Handling an input/output store instruction
WO2022037421A1 (zh) 指令发射方法、装置、电子设备以及存储介质
WO2017054541A1 (zh) 一种处理器及其处理任务的方法、存储介质
US11119766B2 (en) Hardware accelerator with locally stored macros
US10203962B2 (en) Tigersharc DSP boot management chip and method
CN109062857A (zh) 一种能高速实现多处理器间通信的新型消息控制器及其通信方法
US11451241B2 (en) Setting values of portions of registers based on bit values
CN1650257A (zh) 互换地址寄存器所存内容的方法和设备
CN103631648A (zh) 一种任务处理方法及系统

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
TR01 Transfer of patent right

Effective date of registration: 20180807

Address after: 250100 S06 tower, 1036, Chao Lu Road, hi tech Zone, Ji'nan, Shandong.

Patentee after: SHANDONG LANGCHAO YUNTOU INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 250014 1036 Shun Ya Road, hi tech Zone, Ji'nan, Shandong.

Patentee before: INSPUR GROUP Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Inspur cloud Information Technology Co.,Ltd.

Address before: 250100 Ji'nan science and technology zone, Shandong high tide Road, No. 1036 wave of science and Technology Park, building S06

Patentee before: SHANDONG LANGCHAO YUNTOU INFORMATION TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20221013

Address after: 2nd floor, east of Cambridge International Plaza, No. 270, Gongqingtuan West Road, Zhangdian District, Zibo City, Shandong Province, 255000

Patentee after: Zibo Langchao Information Technology Co.,Ltd.

Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee before: Inspur cloud Information Technology Co.,Ltd.

TR01 Transfer of patent right