一种软件加载方法及装置的制作方法

文档序号:6437258阅读:151来源:国知局
专利名称:一种软件加载方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种软件加载方法及装置。
背景技术
快速输入输出(Rapid 10)总线,是近年来发展迅速的一种新型的高速数据互联总线。特别是串行Rapid IO(SRIO)传输方式,由于仅使用很少的连线就可以达到很高的传输速率,该技术目前正被广泛用于通信基础设施的芯片间,使得板间高速互联。在现有Rapid IO网络中,各处理器所使用的SRIO控制器的器件ID—般都是事先规划好的,在初始化阶段配置到器件ID寄存器,如果某个处理器中有多个SRIO控制器或者多个SRIO端口,则需要为每个控制器或端口指定器件ID,而网络中的主控处理器则根据这些规划好的器件ID和端口对应关系生成路由表,在交换结构模块上电后通过系统集成电路间(Inter Integrated Circuit, I2C)接口配置到交换结构模块上。由于开始时网络内各处理器都没有设定器件ID,彼此之间无法直接通信,因此这些处理器的加载工作通常都不是通过Rapid IO链路完成,而是通过其他链路进行,例如大部分数字信号处理器(Digital Signal I^rocessor,DSP)处理器都是使用以太链路或者I2C 链路完成加载,在初始化程序中才对SRIO控制器进行配置,使其正常工作。通过以太链路加载从处理器时,主控处理器一方通常无法直接操作对端的寄存器,因此一般不能在加载前初始化对端的双向数据速率存储器(Double Data Rate, DDR) 控制器,这要求在加载程序前,需要通过其他方式使其DDR控制器完成初始化工作,例如利用电子可擦除可编程型只读存储器(Electrically Erasable Programmable Read-only Memory, EEPR0M)来存储复位控制字,由硬件复位后经I2C总线读取这些控制字来初始化 DDR控制器,等待接收待加载的代码,或者首先加载一段小程序到DSP侧的片上内存中,利用这段小程序完成DDR控制器初始化工作,再继续加载实际应用代码,常见的以太链路加载从处理器的流程如图1所示。Rapid 10协议提供了一种操作维护包类型,协议中规定事务类型为TypeS。这种类型的Rapid 10包可以对处理器或交换结构模块中的Rapid 10寄存器地址空间进行操作, 访问时仅通过包头信息中的跳数字段,区分当前访问的器件是否为实际目的器件,如果跳数为0,表示当前器件即为待访问器件,否则跳数减1,将包转发给下一级器件,以此类推。 由于不需要了解目的端的器件ID,因此这种操作维护包非常适合用在系统初始化阶段,对交换结构模块或者处理器中尚未分配器件ID的SRIO器件进行配置。在原有的Rapid 10网络中,通常都是借助其他链路完成系统的初始化配置和软件加载,并在系统的初始化过程中,根据规划好的器件ID和端口映射关系,初始化SRIO控制器和交换结构模块,然而这种方案存在如下缺点Rapid 10网络中的处理器数目常常是变化的,各处理器与交换结构模块相连的端口具有不确定性,一些板型和功能类似的板卡,处理器数目、所使用的交换结构模块端口排布往往不同,软件设计为其规划的器件ID和端口号对应关系不能做到自适应;
在以Rapid IO网络为主要传输链路的互联系统中,以太网络的作用往往大大降低,常常仅用于系统初始化阶段的软件加载工作,为此还需要保留以太交换芯片,浪费较大;在软件加载过程中,为保证DDR控制器可用,需要配置EEPROM等外设,供其复位后初始化硬件使用,增加了硬件生产成本。

发明内容
本发明实施例提供了一种Rapid IO网络中的软件加载方法及装置,用以自动发现 Rapid IO网络中各处理器上的SRIO控制器并对其进行初始化,进而实现处理器软件加载的过程。本发明实施例提供的一种Rapid IO网络中的软件加载方法包括快速输入输出Rapid IO网络中的主处理器,确定Rapid IO网络中与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器;主处理器为每一 SRIO控制器分配器件ID,并配置给该SRIO控制器所在的从处理器;主处理器对Rapid IO网络中的与交换结构模块相连的每一从处理器进行初始化, 并为该从处理器加载软件。本发明实施例提供的一种Rapid IO网络中的软件加载装置,位于Rapid IO网络中的主处理器上,该装置包括系统发现单元,用于确定Rapid IO网络中与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器;以及,为每一 SRIO控制器分配器件ID,并配置给该SRIO控制器所在的从处理器;系统加载单元,用于对Rapid IO网络中的与交换结构模块相连的每一从处理器进行初始化,并为该从处理器加载软件。本发明实施例,通过快速输入输出Rapid IO网络中的主处理器,确定Rapid IO网络中与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器;主处理器为每一 SRIO控制器分配器件ID,并配置给该SRIO控制器所在的从处理器;主处理器对Rapid IO 网络中的与交换结构模块相连的每一从处理器进行初始化,并为该从处理器加载软件,从而实现了自动发现Rapid IO网络中各处理器上的SRIO控制器并对其进行初始化,进而实现了处理器软件加载的过程。


图1为以太网络中的处理器加载软件的流程示意图;图2为本发明实施例提供的Rapid IO网络中的软件加载方法的流程示意图;图3为本发明实施例提供的Rapid IO网络中系统发现及加载的原理示意图;图4为本发明实施例提供的系统发现阶段的流程示意图;图5为本发明实施例提供的主处理器配置从处理器的器件ID的示意图;图6为本发明实施例提供的系统加载阶段的流程示意图;图7为本发明实施例提供的系统加载阶段的流程示意图;图8为本发明实施例提供的系统加载阶段的流程示意图9为本发明实施例提供的系统加载阶段的流程示意图;图10为本发明实施例提供的Rapid IO网络中的软件加载装置的结构示意图。
具体实施例方式本发明实施例一种Rapid IO网络中的软件加载方法及装置,用以自动发现Rapid IO网络中各处理器上的SRIO控制器并对其进行初始化,进而实现处理器软件加载的过程。本发明实施例提出的技术方案,是一种SRIO系统的自枚举配置方案,针对单个交换结构模块的Rapid IO网络拓扑结构,可以自动发现Rapid IO网络中各处理器上SRIO控制器并对其进行初始化,进而实现处理器软件加载运行等流程。本发明实施例可以根据Rapid IO网络中处理器数量及排布变化进行自适应调整, 无需重新规划Rapid IO器件ID等信息。另一方面,由于软件加载不再需要其他链路参与, 本发明实施例还可以完全省去系统中诸如以太交换芯片、EEPROM芯片等硬件,达到节约成本的目的。下面给出本发明实施例提供的技术方案的详细说明。参见图2,本发明实施例提供的一种快速输入输出Rapid IO网络中的软件加载方法,包括步骤S101、快速输入输出Rapid IO网络中的主处理器,确定Rapid IO网络中与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器;主处理器为每一 SRIO控制器分配器件ID,并配置给该SRIO控制器所在的从处理器;S102、主处理器对Rapid IO网络中的与交换结构模块相连的每一从处理器进行初始化,并为该从处理器加载软件。较佳地,所述主处理器确定Rapid IO网络中与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器,包括主处理器对自身的SRIO控制器进行初始化,并为该SRIO控制器设定器件ID ;主处理器通过操作维护包,检测所述交换结构模块,并确定所述交换结构模块的 fn息;主处理器根据所述交换结构模块的信息,确定与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器。较佳地,所述主处理器为每一 SRIO控制器分配器件ID后,还包括主处理器记录SRIO控制器所在的处理器与交换结构模块相连的端口的端口号, 与该SRIO控制器的器件ID的映射关系。较佳地,所述主处理器将为每一 SRIO控制器分配的器件ID配置给该SRIO控制器所在的从处理器,包括主处理器在交换结构模块与主处理器相连的端口 m上,添加交换结构模块与从处理器相连的端口 η和该从处理器的SRIO控制器的器件ID的缺省值的路由关系;主处理器在交换结构模块与从处理器相连的端口 η上,添加端口 m和主处理器的 SRIO控制器的器件ID的路由关系;主处理器通过交换结构模块,将为从处理器的SRIO控制器分配的器件ID,配置给该从处理器;
主处理器调整端口 m上的与端口 η对应的从处理器的SRIO控制器的器件ID的缺省值为主处理为该从处理器的SRIO控制器分配的器件ID。较佳地,所述主处理器将为每一 SRIO控制器分配的器件ID配置给该SRIO控制器所在的从处理器之后,还包括主处理器读取每一从处理器的信息,当成功读取到该从处理器的信息时,确认该从处理器的SRIO控制器的器件ID已经配置生效,并将该从处理器的信息存储在数据库中。较佳地,所述主处理器对Rapid IO网络中的与交换结构模块相连的每一从处理器进行初始化,并为该从处理器加载软件,包括主处理器根据从处理器的信息,确定从处理器的类型,并选择该类型对应的软件;主处理器初始化从处理器的本地配置空间基地址寄存器,使得主处理器能够访问从处理器的整个外设寄存器地址空间;主处理器初始化从处理器的DDR控制器;主处理器当确定从处理器的BOOT工作准备就绪时,将所述软件下载到该从处理器的存储区。较佳地,所述主处理器将软件下载到从处理器的存储区之后,还包括主处理器将Rapid IO网络中所有从处理器的SRIO控制器的器件ID与交换结构模块的端口号的映射关系,发送给从处理器。较佳地,当主处理器完成向从处理器下载软件以后,还包括主处理器通知从处理器软件下载完成。下面给出具体实施例的说明。本发明实施例中提出的SRIO系统自枚举配置方案如图3所示,主要应用于当前 Rapid IO网络中仅具有单个交换结构模块的情况,网络内各处理器通过该交换结构模块相互连接。本发明实施例提供的软件加载方法,具体包含系统发现和系统加载两个步骤一、系统发现阶段的工作,如图4所示,包括步骤S201、主处理器首先完成自身的SRIO控制器初始化工作,并为该控制器设定一个器件ID,作为整个系统的器件ID的基值,例如配置为1。S202、主处理器开始Rapid IO枚举,首先利用操作维护包检测与主处理器相连的交换结构模块的信息,其中包括厂商信息、端口个数、各端口工作模式以及交换结构模块与主处理器相连的端口编号等等。其中,在确认交换结构模块与其主处理器相连的端口编号值时,主处理器可以通过读取交换结构模块各端口的收发包统计信息或者底层包确认ID信息来判断,如果某个端口的上述信息在读取交换结构模块的信息后有所变化,则该端口即为交换结构模块与主处理器相连的端口。S203、主处理器从交换结构模块的端口 0开始,逐一确认端口状态是否就绪,以确认该端口是否存在与之相连的从处理器的SRIO控制器。S204、主处理器为每一个确认相连的从处理器的SRIO控制器分配器件ID,以主处理器的SRIO控制器的器件ID为基值逐渐递增,同时记录交换结构模块的端口号与从处理器的SRIO控制器的器件ID的映射关系。S205、主处理器将通过枚举产生的从处理器的SRIO控制器的器件ID,利用操作维护包配置到该从处理器上,然后将主处理器与交换结构模块相连的端口的端口号和主处理器的SRIO控制器的器件ID的映射关系,配置到从处理器与交换结构模块相连的路由表上。通常,从处理器在上电后,从处理器的SRIO控制器的器件ID的缺省值为OxFFFF, 或者为OxFF,具体为什么值,是根据Rapid IO网络内器件ID地址模式确定的,大模式是16 位地址的OxFFFF,小模式则是8位地址的OxFF。主处理器可以利用从处理器的SRIO控制器的器件ID的缺省值,配置交换结构模块的路由表,保证交换结构模块将操作维护包准确路由到指定的从处理器上。步骤S205的具体的配置流程包括(a)、参见图5,主处理器在交换结构模块与主处理器相连的端口 m上,添加交换结构模块与从处理器相连的端口 n和该从处理器的SRIO控制器的器件ID的缺省值OxFFFF 的路由关系。(b)、参见图6,主处理器在交换结构模块与从处理器相连的端口 η上,添加端口 m 和主处理器的SRIO控制器的器件ID的路由关系,例如主处理器的SRIO控制器的器件ID 为1。(C)、参见图7,主处理器通过交换结构模块配置从处理器的SRIO控制器的器件 ID,例如为X。(d)、参见图8,主处理器调整端口 m上的路由关系,将端口 η对应的器件ID由 OxFFFF修改为上一步骤配置的器件ID值X。需要说明的是,如果从处理器有多个SRIO端口与交换结构模块相连,仅通过端口 0配置从处理器的器件ID,对于其他端口则不再配置,避免配置值与此前内容发生冲突。此外,主处理器需要标记从处理器的端口 0,用于此后加载软件版本时使用。S206、主处理器通过读取从处理器的厂商信息确认器件ID已经配置生效,并将这些厂商信息存储在数据库中,用于判断从处理器的类型,例如是PowerPC (Power Personal Compter)还是DSP处理器、芯片具体型号等等,根据不同的处理器类型选择相应的软件程序加载。S207、主处理器继续枚举交换结构模块的下一个端口,重复步骤S203-步骤S206, 直到遍历所有与交换结构模块相连的从处理器的SRIO控制器。二、系统加载阶段的工作,如图9所示,包括步骤S301、主处理器从交换结构模块的端口 0开始,对存在SRIO控制器的从处理器执行加载工作,首先从主处理器的数据库中根据交换结构模块的端口号查询从处理器的类型和已标记的SRIO端口,选择相应的软件执行加载流程。S302、主处理器一般需要通过操作维护包修改从处理器的本地配置空间基地址寄存器(LCSBA1CSR),该寄存器的主要作用是扩大Rapid 10包可访问的地址空间,例如配置为允许访问整个外设寄存器空间。S303、主处理器在获得访问从处理器整个外设寄存器空间的权限后,开始为该从处理器加载软件进行准备工作,例如配置从处理器的DDR控制器的相关寄存器,用于初始化DDR控制器(因为只有当上述寄存器配置完成后,DDR芯片才能正常用于存储数据信息),其中,所述DDR控制器的相关寄存器,例如包括DDR芯片的片选寄存器、时钟模式寄存器、工作模式寄存器以及寻址范围寄存器等等。有些厂商的SRIO控制器为实现全地址空间的读写还需要配置呼入地址转换寄存器,用来将Rapid IO的29bit地址转换为本地存储器地址。S304、主处理器可以通过查询从处理器的某些状态寄存器,来判断从处理器的BOOT工作是否已经准备就绪。这些状态寄存器在各种处理器上的实现不同,例如 Freescale的8156 DSP规定片内多核共享的一段32bit的空间作为该状态寄存器,如果该段空间在上电后变为预设的值(如0x17171717),标志着该处理器已经准备就绪,否则说明并未就绪。S305、如果从处理器的BOOT工作已经准备就绪,则主处理器可以将主处理器存储的软件分块下载到从处理器的存储区。下载的软件内容包括程序段和数据段,格式一般为起始地址、数据长度和数据内容三部分。S306、主处理器还应将本地存储的整个Rapid IO网络中的从处理器的SRIO控制器的器件ID和交换结构模块的端口号的映射关系,发送给从处理器指定存储区,该指定存储区例如可以是片内的多核共享存储区或者片外DDR上指定空间(一般在设计从处理器的程序时会事先规划出这片空间,比如定义一个起始地址确定的全局变量,用于存放映射关系,代码运行后从这个全局变量读取即可),用于从处理器在初始化程序中初始化自身的路由表。S307、当主处理器完成向从处理器下载软件以后,主处理器通知从处理器软件下载完成,具体可以通过配置从处理器的指定寄存器,表明软件的程序段和数据段已经下载完成。其中,所述指定寄存器同样参照Freescale的8156 DSP来介绍,仍旧是上述的32bit 空间,主处理器在下载完成后将原始值修改为新内容(例如0xa5a5a5a5),该内容也是处理器加载流程中约定好的,硬件检查到这32bit的存储空间中内容更新为新内容,即判断数据和程序段均已下载完成,开始执行BOOT代码。从处理器确认软件下载完成后,从处理器的BOOT代码开始运行,完成BOOT后,跳转到指定地址开始执行用户代码。所述的指定地址,例如可以是用户代码段定义的main函数的所在地址。从处理器中的用户代码在初始化阶段读取指定存储区中存放的Rapid 10网络路由信息,初始化自身的路由表,如果该从处理器拥有多个SRIO端口,还应初始化除端口 0以外其他端口的转换器件ID ( 一个Rapid 10控制器一般只有一个器件ID,如果该控制器上有多个端口,一般都是端口 0使用这个器件ID,而其他端口需要配置一个转换器件 ID (Alternate Device ID, ADID),为 Rapid 10 协议规定)。同理,主处理器继续加载Rapid 10网络中的其他从处理器,重复步骤S301-步骤 S307,直到完成Rapid 10网络中所有从处理器的加载和初始化。参见图10,本发明实施例提供的一种快速输入输出Rapid 10网络中的软件加载装置,位于Rapid 10网络中的主处理器上,该装置包括系统发现单元11,用于确定Rapid 10网络中与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器;以及,为每一 SRIO控制器分配器件ID,并配置给该SRIO控制器所在的从处理器;
系统加载单元12,用于对Rapid IO网络中的与交换结构模块相连的每一从处理器进行初始化,并为该从处理器加载软件。较佳地,所述系统发现单元11,对自身的SRIO控制器进行初始化,并为该SRIO控制器设定器件ID ;通过操作维护包,检测所述交换结构模块,并确定所述交换结构模块的信息;根据所述交换结构模块的信息,确定与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器。较佳地,所述系统发现单元11,为每一 SRIO控制器分配器件ID后,进一步记录 SRIO控制器所在的处理器与交换结构模块相连的端口的端口号,与该SRIO控制器的器件 ID的映射关系。较佳地,所述系统发现单元11,在交换结构模块与主处理器相连的端口 m上,添加交换结构模块与从处理器相连的端口 η和该从处理器的SRIO控制器的器件ID的缺省值的路由关系;在交换结构模块与从处理器相连的端口 η上,添加端口 m和主处理器的SRIO控制器的器件ID的路由关系;通过交换结构模块,将为从处理器的SRIO控制器分配的器件 ID,配置给该从处理器;调整端口 m上的与端口 η对应的从处理器的SRIO控制器的器件ID 的缺省值为主处理为该从处理器的SRIO控制器分配的器件ID。较佳地,所述系统发现单元11,将为每一 SRIO控制器分配的器件ID配置给该 SRIO控制器所在的从处理器之后,进一步读取每一从处理器的信息,当成功读取到该从处理器的信息时,确认该从处理器的SRIO控制器的器件ID已经配置生效,并将该从处理器的信息存储在数据库中。较佳地,所述系统加载单元12,根据从处理器的信息,确定从处理器的类型,并选择该类型对应的软件;初始化从处理器的本地配置空间基地址寄存器,使得主处理器能够访问从处理器的整个外设寄存器地址空间;初始化从处理器的DDR控制器;当确定从处理器的BOOT工作准备就绪时,将所述软件下载到该从处理器的存储区。较佳地,所述系统加载单元12,将软件下载到从处理器的存储区之后,进一步将 Rapid IO网络中所有从处理器的SRIO控制器的器件ID与交换结构模块的端口号的映射关系,发送给从处理器。较佳地,所述系统加载单元12,当完成向从处理器下载软件以后,进一步通知从处理器软件下载完成。综上所述,本发明实施例利用Rapid IO协议中的操作维护包,自枚举发现Rapid IO网络中各处理器的SRIO控制器并对其进行初始化,进而实现处理器软件加载运行等流程,在系统发现阶段,通过Rapid IO协议规定的操作维护包进行枚举,发现网络中各处理器的SRIO控制器,配置相应的器件ID。主处理器在通过交换结构模块配置从处理器的器件ID 时所采用的流程中,首先调整交换结构模块上与主处理器和从处理器相连的端口上的路由关系,然后进行配置,配置完成后,将与主处理器相连端口的路由关系调整为对端实际器件 ID。在软件加载前,通过操作维护包初始化从处理器的本地配置空间基地址寄存器,允许外部访问整个外设寄存器地址空间。在软件加载前,通过SRIO配置从处理器的DDR控制器相关寄存器,用于初始化DDR控制器。从而本发明实施例利用Rapid IO链路即可完成网络内各处理器的软件加载,此后的处理器间通信即可使用Rapid IO—种链路传输完成,省去诸如千兆以太其他链路所需的硬件资源。如果Rapid IO网络内处理器数量以及与交换结构模块连接端口发生变化,不必修改软件重新规划映射关系,只需重新枚举即可。利用Rapid IO链路在软件加载以前初始化处理器的DDR控制器等外设,可以节省EEPROM等资源存储硬件复位控制字等信息。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种快速输入输出Rapid IO网络中的软件加载方法,其特征在于,该方法包括 快速输入输出Rapid IO网络中的主处理器,确定Rapid IO网络中与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器;主处理器为每一 SRIO控制器分配器件 ID,并配置给该SRIO控制器所在的从处理器;主处理器对Rapid IO网络中的与交换结构模块相连的每一从处理器进行初始化,并为该从处理器加载软件。
2.根据权利要求1所述的方法,其特征在于,所述主处理器确定RapidIO网络中与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器,包括主处理器对自身的SRIO控制器进行初始化,并为该SRIO控制器设定器件ID ; 主处理器通过操作维护包,检测所述交换结构模块,并确定所述交换结构模块的信息;主处理器根据所述交换结构模块的信息,确定与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器。
3.根据权利要求2所述的方法,其特征在于,所述主处理器为每一SRIO控制器分配器件ID后,还包括主处理器记录SRIO控制器所在的处理器与交换结构模块相连的端口的端口号,与该 SRIO控制器的器件ID的映射关系。
4.根据权利要求3所述的方法,其特征在于,所述主处理器将为每一SRIO控制器分配的器件ID配置给该SRIO控制器所在的从处理器,包括主处理器在交换结构模块与主处理器相连的端口 m上,添加交换结构模块与从处理器相连的端口 η和该从处理器的SRIO控制器的器件ID的缺省值的路由关系;主处理器在交换结构模块与从处理器相连的端口 η上,添加端口 m和主处理器的SRIO 控制器的器件ID的路由关系;主处理器通过交换结构模块,将为从处理器的SRIO控制器分配的器件ID,配置给该从处理器;主处理器调整端口 m上的与端口 η对应的从处理器的SRIO控制器的器件ID的缺省值为主处理为该从处理器的SRIO控制器分配的器件ID。
5.根据权利要求4所述的方法,其特征在于,所述主处理器将为每一SRIO控制器分配的器件ID配置给该SRIO控制器所在的从处理器之后,还包括主处理器读取每一从处理器的信息,当成功读取到该从处理器的信息时,确认该从处理器的SRIO控制器的器件ID已经配置生效,并将该从处理器的信息存储在数据库中。
6.根据权利要求1-5任一权项所述的方法,其特征在于,所述主处理器对RapidIO 网络中的与交换结构模块相连的每一从处理器进行初始化,并为该从处理器加载软件,包括主处理器根据从处理器的信息,确定从处理器的类型,并选择该类型对应的软件; 主处理器初始化从处理器的本地配置空间基地址寄存器,使得主处理器能够访问从处理器的整个外设寄存器地址空间;主处理器初始化从处理器的DDR控制器;主处理器当确定从处理器的BOOT工作准备就绪时,将所述软件下载到该从处理器的存储区。
7.根据权利要求6所述的方法,其特征在于,所述主处理器将软件下载到从处理器的存储区之后,还包括主处理器将Rapid IO网络中所有从处理器的SRIO控制器的器件ID与交换结构模块的端口号的映射关系,发送给从处理器。
8.根据权利要求6所述的方法,其特征在于,当主处理器完成向从处理器下载软件以后,还包括主处理器通知从处理器软件下载完成。
9.一种快速输入输出Rapid IO网络中的软件加载装置,位于Rapid IO网络中的主处理器上,其特征在于,该装置包括系统发现单元,用于确定Rapid IO网络中与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器;以及,为每一 SRIO控制器分配器件ID,并配置给该SRIO控制器所在的从处理器;系统加载单元,用于对Rapid IO网络中的与交换结构模块相连的每一从处理器进行初始化,并为该从处理器加载软件。
10.根据权利要求9所述的装置,其特征在于,所述系统发现单元,对自身的SRIO控制器进行初始化,并为该SRIO控制器设定器件ID ;通过操作维护包,检测所述交换结构模块, 并确定所述交换结构模块的信息;根据所述交换结构模块的信息,确定与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器。
11.根据权利要求10所述的装置,其特征在于,所述系统发现单元,为每一SRIO控制器分配器件ID后,进一步记录SRIO控制器所在的处理器与交换结构模块相连的端口的端口号,与该SRIO控制器的器件ID的映射关系。
12.根据权利要求11所述的装置,其特征在于,所述系统发现单元,在交换结构模块与主处理器相连的端口 m上,添加交换结构模块与从处理器相连的端口 η和该从处理器的 SRIO控制器的器件ID的缺省值的路由关系;在交换结构模块与从处理器相连的端口 η上, 添加端口 m和主处理器的SRIO控制器的器件ID的路由关系;通过交换结构模块,将为从处理器的SRIO控制器分配的器件ID,配置给该从处理器;调整端口 m上的与端口 η对应的从处理器的SRIO控制器的器件ID的缺省值为主处理为该从处理器的SRIO控制器分配的器件ID。
13.根据权利要求12所述的装置,其特征在于,所述系统发现单元,将为每一SRIO控制器分配的器件ID配置给该SRIO控制器所在的从处理器之后,进一步读取每一从处理器的信息,当成功读取到该从处理器的信息时,确认该从处理器的SRIO控制器的器件ID已经配置生效,并将该从处理器的信息存储在数据库中。
14.根据权利要求9-13任一权项所述的装置,其特征在于,所述系统加载单元,根据从处理器的信息,确定从处理器的类型,并选择该类型对应的软件;初始化从处理器的本地配置空间基地址寄存器,使得主处理器能够访问从处理器的整个外设寄存器地址空间;初始化从处理器的DDR控制器;当确定从处理器的BOOT工作准备就绪时,将所述软件下载到该从处理器的存储区。
15.根据权利要求14所述的装置,其特征在于,所述系统加载单元,将软件下载到从处理器的存储区之后,进一步将Rapid IO网络中所有从处理器的SRIO控制器的器件ID与交换结构模块的端口号的映射关系,发送给从处理器。
16.根据权利要求14所述的装置,其特征在于,所述系统加载单元,当完成向从处理器下载软件以后,进一步通知从处理器软件下载完成。
全文摘要
本发明公开了一种Rapid IO网络中的软件加载方法及装置,用以自动发现Rapid IO网络中各处理器上的SRIO控制器并对其进行初始化,进而实现处理器软件加载的过程。本发明提供的一种Rapid IO网络中的软件加载方法包括快速输入输出Rapid IO网络中的主处理器,确定Rapid IO网络中与交换结构模块相连的从处理器的串行快速输入输出SRIO控制器;主处理器为每一SRIO控制器分配器件ID,并配置给该SRIO控制器所在的从处理器;主处理器对Rapid IO网络中的与交换结构模块相连的每一从处理器进行初始化,并为该从处理器加载软件。
文档编号G06F9/445GK102508679SQ201110340548
公开日2012年6月20日 申请日期2011年11月1日 优先权日2011年11月1日
发明者王林 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1