CN103677745B - 一种在龙芯主板中写入和读取设备标识的方法 - Google Patents

一种在龙芯主板中写入和读取设备标识的方法 Download PDF

Info

Publication number
CN103677745B
CN103677745B CN201310663019.XA CN201310663019A CN103677745B CN 103677745 B CN103677745 B CN 103677745B CN 201310663019 A CN201310663019 A CN 201310663019A CN 103677745 B CN103677745 B CN 103677745B
Authority
CN
China
Prior art keywords
device identification
loongson
read
initializes
write
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
CN201310663019.XA
Other languages
English (en)
Other versions
CN103677745A (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.)
709th Research Institute of CSIC
Original Assignee
709th Research Institute of CSIC
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 709th Research Institute of CSIC filed Critical 709th Research Institute of CSIC
Priority to CN201310663019.XA priority Critical patent/CN103677745B/zh
Publication of CN103677745A publication Critical patent/CN103677745A/zh
Application granted granted Critical
Publication of CN103677745B publication Critical patent/CN103677745B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Read Only Memory (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种在龙芯主板中写入和读取设备标识的方法,可以把设备标识保存在硬件设备内部,并在需要时读取该信息,用于区分不同的龙芯主板。在龙芯主板中写入设备标识的主要步骤包括:(1)龙芯主板初始化,为写入设备标识准备好运行环境;(2)读取网络控制芯片EEPROM数据到内存;(3)修改并写入EEPROM数据。在龙芯主板中读取设备标识的主要步骤包括:(1)龙芯主板初始化,为读取设备标识准备好运行环境;(2)读取龙芯主板设备标识。本发明的主要优点包括:(1)不依赖于BIOS存储器,不需要修改BIOS源程序,具有良好的通用性;(2)不需要使用专用程序读取设备标识,实现方法简单易行;(3)可以支持多种龙芯处理器平台,具有良好的扩展性。

Description

一种在龙芯主板中写入和读取设备标识的方法
技术领域
本发明涉及设备标识的管理方法技术领域,并且更加具体地,特别涉及基于龙芯主板的写入和读取设备标识的方法。
背景技术
设备标识是硬件设备的身份标识号,是硬件设备的唯一身份编码。设备标识用于区分和识别硬件设备,主要包括厂商标识、设备标识、版本号等信息。在硬件设备的生产阶段,设备标识被写入并保存到硬件设备内部的存储器,在硬件设备的运行阶段,用户可以读取该信息,用于识别设备的型号,方便用户进行开发和维护管理。由于硬件设备的差异,系统设计者可以根据实际情况,制定一套用于生成、写入和读取设备标识的规则。
龙芯主板以国产龙芯处理器为核心,搭配内存、北桥芯片、南桥芯片、PCI总线、网络控制芯片等,并集成其他外围芯片构成的主处理板。虽然龙芯主板上各芯片都有相应的标识号,但是无法使用这些信息作为龙芯主板的设备标识。此外,不同厂商设计并使用同一架构、同种芯片的不同龙芯主板,但是缺乏从硬件设备本身信息区分主处理板设备的手段。
发明内容
本发明的目的在于解决现有技术的不足,提供了一种用于龙芯主板的设备标识写入和读取方法,使用该方法可以把设备标识保存在硬件设备内部,并在需要时读取该信息,用于区分不同的龙芯主板。
本发明一种在龙芯主板中写入和读取设备标识的方法,包括写入设备标识和读取设备标识方法;
所述的写入设备标识的方法,包含如下步骤:
(1)龙芯主板初始化,为写入设备标识准备好运行环境;
(1.1)龙芯处理器初始化;
(1.2)内存初始化;
(1.3)北桥芯片和南桥芯片初始化;
(1.4)PCI总线初始化;
(1.5)网络控制芯片初始化;
(2)读取网络控制芯片EEPROM数据到内存;
(2.1)分配一块内存空间,用于保存网络控制芯片EEPROM数据;
(2.2)读取网络控制芯片EEPROM数据到分配的内存中;
(3)修改并写入EEPROM数据;
(3.1)根据EEPROM数据格式,寻找到设备标识对应的内存地址;
(3.2)修改相应内存的数据为设备标识;
(3.3)计算并修改EEPROM数据的校验和;
(3.4)把修改后的内存数据写入到网络控制器EEPROM中。
所述的读取设备标识的方法,包含如下步骤:
(1)龙芯主板初始化,为读取设备标识准备好运行环境;
(1.1)龙芯处理器初始化;
(1.2)内存初始化;
(1.3)北桥芯片和南桥芯片初始化;
(1.4)PCI总线初始化;
(1.5)网络控制芯片初始化;
(2)读取龙芯主板设备标识
(2.1)读取网络控制器的PCI配置空间0x2C至0x2F的4个字节数据,返回数据给用户。
本发明具有以下有益效果:
1.写入设备标识方法使用了网络控制芯片的EEPROM存储器,不依赖于BIOS存储器,不需要修改BIOS源程序,具有良好的通用性。
2.读取设备标识方法使用了网络控制芯片PCI配置空间的数据信息,不需要使用专用程序读取设备标识,实现方法简单易行。
3.可以支持多种龙芯处理器平台,具有良好的扩展性。
附图说明
图1是龙芯主板结构示意图;
图2是写入设备标识的流程图;
图3是读取设备标识的流程图。
具体实施方式
本发明适用于基于龙芯架构的各类龙芯主板(如龙芯2F、龙芯3A处理器等),下面结合附图进一步说明本发明的技术方案。
图1是龙芯主板的结构框图,包括龙芯处理器101、BIOS芯片102、内存103、北桥芯片104、南桥芯片105、PCI总线106、网络控制芯片107、PCI桥108、板载硬盘109。
图2是写入设备标识的流程图。在本实施例中,龙芯主板上电启动后,需经过以下步骤完成写入设备标识:
(1)龙芯主板上电,进入初始化201,龙芯处理器101执行位于BIOS芯片102的BIOS程序,该BIOS程序负责龙芯处理器101的时钟、处理器频率、异常处理等内部资源的初始化;
(2)进入初始化202,BIOS程序设置内存控制器的内存频率、读写延迟等参数,完成内存初始化;
(3)进入初始化203,BIOS程序对北桥芯片104初始化,完成CPU地址空间、内存地址空间、PCI地址空间之间的映射,完成连接至北桥芯片104的总线初始化;BIOS程序对南桥芯片104初始化,完成外围连接控制的初始化,例如硬盘控制器等;
(4)进入初始化204,BIOS程序对PCI总线进行扫描,对所有PCI设备的识别,完成PCI资源的分配;
(5)进入初始化205,BIOS程序对网络控制芯片107初始化;
(6)进行206,分配一块内存空间,该空间大小必须大于EERPOM存储器的大小;
(7)进行207,读取网络控制器107的EERPOM存储器,把EEPROM内的数据存入到206分配的内存空间中;
(8)进入208,根据网络控制器107的EERPOM的数据格式,寻找到网络控制器107PCI配置空间0x2C-0x2F数据对应的206分配内存的地址;
(9)进入209,把设备标识写入到208的内存地址,重新计算校验和,并修改相应内存空间的数据;
(10)进入209,把209修改后的内存空间数据写入网络控制芯片107的EERPOM存储器。
图3是读取设备标识的流程图。在本实施例中,龙芯主板上电启动后,需经过以下步骤完成读取设备标识:
(1)龙芯主板上电,进入初始化301,龙芯处理器101执行位于BIOS芯片102的BIOS程序,该BIOS程序负责龙芯处理器101的时钟、处理器频率、异常处理等内部资源的初始化;
(2)进入初始化302,BIOS程序设置内存控制器的内存频率、读写延迟等参数,完成内存初始化;
(3)进入初始化303,BIOS程序对北桥芯片104初始化,完成CPU地址空间、内存地址空间、PCI地址空间之间的映射,完成连接至北桥芯片104的总线初始化;BIOS程序对南桥芯片104初始化,完成外围连接控制的初始化,例如硬盘控制器等;
(4)进入初始化304,BIOS程序对PCI总线进行扫描,对所有PCI设备的识别,完成PCI资源的分配;
(5)进入初始化305,BIOS程序对网络控制芯片107初始化;
(6)进入初始化306,访问网络控制芯片107的PCI配置空间,读取配置空间中0x2C-0x2F的4个字节数据,这4个字节数据就是龙芯主板的设备标识。
应该注意的是,上述实施例仅用于说明之目的,而无意于对本发明进行限制。本文参照较佳的具体实施例对本发明进行了说明,但本发明的实施方式并不受上述实施例的限制,任何应该包括从属权利要求范围之内所有功能的改变、修饰、替代、组合、简化,均为等效的置换方式,都包含在本发明的保护范围之内。

Claims (1)

1.一种在龙芯主板中写入和读取龙芯主板设备标识的方法,其特征在于包括写入设备标识和读取设备标识方法;
所述的写入设备标识方法,包含如下步骤:
(1)龙芯主板初始化,为写入设备标识准备好运行环境;
(1.1)龙芯处理器初始化;
(1.2)内存初始化;
(1.3)北桥芯片和南桥芯片初始化;
(1.4)PCI总线初始化;
(1.5)网络控制芯片初始化;
(2)读取网络控制芯片EEPROM数据到内存;
(2.1)分配一块内存空间,用于保存网络控制芯片EEPROM数据;
(2.2)读取网络控制芯片EEPROM数据到分配的内存中;
(3)修改并写入EEPROM数据;
(3.1)根据EEPROM数据格式,寻找到设备标识对应的内存地址;
(3.2)修改相应内存的数据为龙芯主板设备标识;
(3.3)计算并修改EEPROM数据的校验和;
(3.4)把修改后的内存数据写入到网络控制器EEPROM中;
所述的读取设备标识方法,包含如下步骤:
(1)龙芯主板初始化,为读取设备标识准备好运行环境;
(1.1)龙芯处理器初始化;
(1.2)内存初始化;
(1.3)北桥芯片和南桥芯片初始化;
(1.4)PCI总线初始化;
(1.5)网络控制芯片初始化;
(2)读取龙芯主板设备标识
(2.1)读取网络控制器的PCI配置空间0x2C至0x2F的4个字节数据,返回数据给用户。
CN201310663019.XA 2013-12-10 2013-12-10 一种在龙芯主板中写入和读取设备标识的方法 Active CN103677745B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310663019.XA CN103677745B (zh) 2013-12-10 2013-12-10 一种在龙芯主板中写入和读取设备标识的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310663019.XA CN103677745B (zh) 2013-12-10 2013-12-10 一种在龙芯主板中写入和读取设备标识的方法

Publications (2)

Publication Number Publication Date
CN103677745A CN103677745A (zh) 2014-03-26
CN103677745B true CN103677745B (zh) 2017-01-04

Family

ID=50315427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310663019.XA Active CN103677745B (zh) 2013-12-10 2013-12-10 一种在龙芯主板中写入和读取设备标识的方法

Country Status (1)

Country Link
CN (1) CN103677745B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102521A (zh) * 2014-07-25 2014-10-15 浪潮(北京)电子信息产业有限公司 一种更新非易失性存储器的方法和装置
CN107239359A (zh) * 2017-06-07 2017-10-10 济南浪潮高新科技投资发展有限公司 一种通过bmc查看服务器主板内存信号质量的方法
CN109144578B (zh) * 2018-06-28 2021-09-03 中国船舶重工集团公司第七0九研究所 一种基于龙芯计算机的显卡资源配置方法及装置
CN112988245A (zh) * 2021-02-01 2021-06-18 中国船舶重工集团公司第七0九研究所 一种基于龙芯平台bios数据区的保护方法
CN113868048B (zh) * 2021-09-09 2023-07-18 苏州浪潮智能科技有限公司 一种设备信息的确定方法、装置及设备
CN116049090A (zh) * 2022-12-30 2023-05-02 成都电科星拓科技有限公司 芯片初始化数据存储方法和芯片初始化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201204030Y (zh) * 2008-04-11 2009-03-04 左瑞娟 一种更新液晶显示器的edid的装置
CN101488174A (zh) * 2009-01-15 2009-07-22 北京交通大学 动态透明的虚拟可信平台模块的实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660925B2 (en) * 2007-04-17 2010-02-09 International Business Machines Corporation Balancing PCI-express bandwidth

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201204030Y (zh) * 2008-04-11 2009-03-04 左瑞娟 一种更新液晶显示器的edid的装置
CN101488174A (zh) * 2009-01-15 2009-07-22 北京交通大学 动态透明的虚拟可信平台模块的实现方法

Also Published As

Publication number Publication date
CN103677745A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103677745B (zh) 一种在龙芯主板中写入和读取设备标识的方法
CN102541619B (zh) 虚拟机管理装置和方法
CN101739283B (zh) 一种计算机及虚拟系统直接访问计算机硬件的方法
CN102096597B (zh) 使用管理引擎的虚拟总线设备
US8843922B2 (en) Cloning virtual machines based on identical hardware configuration
CN103930898A (zh) 程序分析/验证服务提供系统及其控制方法、控制程序、用于使计算机发挥功能的控制程序、程序分析/验证装置、程序分析/验证工具管理装置
US10534742B2 (en) Hot-plug of devices in virtualized computer systems
CN103744713A (zh) 基于fpga的嵌入式双核系统的自主配置方法
CN105389235A (zh) 一种异构多核调试系统与方法
CN104573422A (zh) 一种基于虚拟机的应用进程运行方法及装置
US9690681B1 (en) Method and system for automatically generating executable system-level tests
GB2467408A (en) Virtualisation logic for managing transactions between a physical device controller and a virtual machine
CN106873970A (zh) 一种操作系统的安装方法和装置
US9946823B2 (en) Dynamic control of design clock generation in emulation
CN103942088A (zh) 一种获取虚拟机usb存储设备使用情况的方法
CN106708596B (zh) 一种输入输出虚拟化资源的调整方法及处理器
WO2017202128A1 (zh) 非linux系统软件boot参数传递方法及系统
KR20160098794A (ko) 디바이스 프로그램 구조 모델링 기반 골격코드 생성 장치 및 방법
US10649743B2 (en) Application developing method and system
CN107301037B (zh) 操作系统内核的加载方法和装置
CN107729601B (zh) 仿真过程中配置ram的方法、装置及计算机存储介质
CN102253884A (zh) 模拟单板软件运行环境的方法及装置
CN111651177B (zh) 基于安卓平台的写号方法、设备及计算机可读介质
Rekik et al. Virtual prototyping of multiprocessor architectures using the open virtual platform
WO2017076034A1 (zh) 一种对移动终端的存储器进行格式化的方法和装置

Legal Events

Date Code Title Description
PB01 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