CN101673212A - 软件加载方法和装置 - Google Patents
软件加载方法和装置 Download PDFInfo
- Publication number
- CN101673212A CN101673212A CN200910207143A CN200910207143A CN101673212A CN 101673212 A CN101673212 A CN 101673212A CN 200910207143 A CN200910207143 A CN 200910207143A CN 200910207143 A CN200910207143 A CN 200910207143A CN 101673212 A CN101673212 A CN 101673212A
- Authority
- CN
- China
- Prior art keywords
- hardware
- storage unit
- software
- peripheral
- peripheral hardware
- 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.)
- Pending
Links
Images
Abstract
本发明实施例提供了一种软件加载装置,包括:第一存储单元,用于存储至少一个硬件标识ID;第二存储单元,用于存储不同版本的软件,所述不同版本的软件对应不同的硬件ID;主控单元,用于从所述第一存储单元中读取所述硬件ID,并根据所述硬件ID从所述第二存储单元加载对应所述硬件ID的版本的软件。本发明实施例通过存储单元来存储硬件ID,减少了现有技术中为实现硬件ID而提供的I/O口的数量,同时,也减少了现有技术中为实现硬件ID而添加的上下拉电阻的数量,从而降低了开发成本。
Description
技术领域
本发明涉及通信领域,尤其是涉及一种软件加载方法和装置。
背景技术
目前通信领域的通信设备一般都由单板构成,这些单板可以连接不同的外设,因此,现有的通信设备在软件加载过程中(包括单板的软件加载和外设的软件加载)需要涉及到多个硬件。
设备在启动过程中,其会进行外设的识别和软件加载操作,该过程的操作如下:
单板中的主控单元在加载启动程序BOOT完成后,读取外设的硬件ID,并根据相关的硬件ID列表加以区分,从而使主控单元识别出该外设是属于哪一套软件系统。根据这个识别结果,主控单元再加载对应该硬件ID版本的软件。
外设的硬件ID之所以可以区分出该外设属于那一套软件系统,是因为硬件ID里包括了用于区分该外设的相关信息,其一般可以包括:外设的类型、同一类型外设的不同版本、关键器件的类型、外设支持的功能信息等等,其中外设支持的功能信息又可以包括支持不同的产品、机型,不同的频段、不同的射频等。
但是,现有技术中外设硬件ID是通过下述方式实现的:将主控单元的某一个输入/输出I/O口专门用来实现该硬件ID的某1个BIT位,即在I/O口的外部用电阻上拉或下拉,在单板上电后,这个I/O口就呈现相应的高电平(该BIT位为1)或低电平(该BIT位为0),主控单元读取到这个特定的电平就实现硬件ID的这一个BIT位(1或0),这样如果要实现多BIT硬件ID则需要多个I/O口,然后根据该读取到的硬件ID从对应的硬件ID列表中识别出该外设。
这就导致了随着外设种类的增多及其功能的丰富,硬件ID也相应的变多和变复杂,其占用的主控单元的I/O口资源也越来越多,从而影响到主控单元正常功能的实现。
发明内容
针对上述缺陷,本发明实施例提供一种软件加载方法和装置,以减少设备中主控单元I/O口的占用。
本发明实施例提供了一种软件加载装置,包括:
第一存储单元,用于存储至少一个硬件标识ID;第二存储单元,用于存储不同版本的软件,所述不同版本的软件对应不同的硬件ID;主控单元,用于从所述第一存储单元中读取所述硬件ID,并根据所述硬件ID从所述第二存储单元加载对应所述硬件ID的版本的软件。
本发明实施例还提供了一种软件加载方法,该方法包括:从第一存储单元中读取硬件标识ID,所述第一存储单元保存至少一个硬件ID;根据所述硬件ID从第二存储单元内加载对应所述硬件ID的版本的软件,所述第二存储单元内存储有不同版本的软件,所述不同版本的软件对应不同的硬件ID。
本发明实施例通过存储单元来存储设备中的硬件ID,大量减少了现有技术中为实现硬件ID而提供的主控单元I/O口的数量,同时,也减少了现有技术中为实现硬件ID而添加的上下拉电阻的数量,从而降低了成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种软件加载装置结构示意图;
图2为本发明实施例二提供的一种外设的软件加载装置结构示意图;
图3为本发明实施例三提供的一种利用IIC接口读取硬件ID的软件加载装置电路示意图;
图4为本发明实施例四提供的一种利用SPI接口读取硬件ID的软件加载装置电路示意图。
图5为本发明实施例五提供的一种外设的软件加载方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
实施例一
如图1所示为本发明实施例一提供的一种软件加载装置的结构示意图,该装置包括:第一存储单元110、第二存储单元120和主控单元130,其中,主控单元130分别和第一存储单元110及第二存储单元120相连,它们间的连接可以是通过器件的管脚直接相连,同样也可以是通过总线结构进行连接。
第一存储单元110用于存储至少一个硬件ID,这里所指的硬件ID可以包括单板的硬件ID,或者外设的硬件ID,或者同时包括上述两类硬件ID。
第二存储单元120用于存储不同版本的软件。由于目前软件平台化的发展很快,所谓平台化就是多个硬件都使用同一套软件,在同一个软件平台内部实现多个硬件的功能,为了使这些硬件正常工作,需要针对这些硬件加载相应的软件。因此本实施例中第二存储单元120内不同版本的软件对应着不同的硬件ID,和第一存储单元110内的硬件ID相对应的,该第二存储单元120内软件可以包括单板本身的软件,或者外设的软件,或者同时包括上述两类软件。
主控单元130用于从第一存储单元110中读取上述硬件ID,并根据该硬件ID从第二存储单元120加载对应该硬件ID的版本的软件。在本实施例中上述硬件ID和软件的对应的关系可以通过硬件ID列表来实现,该硬件ID列表记录了硬件ID和外设的对应关系,其可以存储于另一独立的存储单元中,也可以存储于上述第一存储单元110或第二存储单元120中。
在本发明实施例中,通过第一存储单元110存储硬件ID,而不采用通过在I/O口设置上下拉电阻实现硬件ID,可以省去为实现该硬件ID而占用的I/O口数量。为了方便说明该效果,我们举一例子来说明硬件ID所占用I/O的情况:
假设一个外设有A,B,C,D四个版本,且都支持X、Y两种不同功能,那该外设就至少需要一个3个BIT位的硬件ID,其中BIT 0和BIT 1用来表示版本:00对应A版本,01对应B版本,10对应C版本,11对应D版本;BIT 2表示功能:0对应支持功能X,1对应支持功能Y。这样各个硬件ID的含义就如表一所示:
BIT2 | BIT1 | BIT0 | 硬件ID含义 |
0 | 0 | 0 | A版本外设,支持功能X |
0 | 0 | 1 | B版本外设,支持功能X |
0 | 1 | 0 | C版本外设,支持功能X |
0 | 1 | 1 | D版本外设,支持功能X |
1 | 0 | 0 | A版本外设,支持功能Y |
1 | 0 | 1 | B版本外设,支持功能Y |
1 | 1 | 0 | C版本外设,支持功能Y |
1 | 1 | 1 | D版本外设,支持功能Y |
表一
可见,要实现加载对应版本外设的软件,现有技术中至少需要占用3个I/O资源来设置硬件ID。因此,如果外设的版本更多,功能更复杂,那么占用的I/O口数量也会随之增加,但是,采用了第一存储单元110来存储硬件ID后,所占用的I/O口资源就只是该第一存储单元110所占用的I/O口而已。
作为一个示例,主控单元130的工作流程具体来说可以包括:当系统上电或者复位后,需要为外设或者单板加载软件时,主控单元130会先找到和第一存储单元110相连的接口地址,然后通过该接口地址从第一存储单元110内进行硬件ID的读取操作;接着,主控单元130再根据第二存储单元120的接口地址以及读取的硬件ID从第二存储单元120内加载对应该硬件ID的版本的软件。
在本实施例中,第一存储单元110和第二存储单元120还可以为多个,多个存储单元之间可以通过存储单元的地址管脚进行区分,而主控单元130又可以通过存储单元的片选管脚来选中所需的存储单元。由于大容量的上述非易失存储单元的成本较高,通过这种方式不但可以解决存储单元容量不够的问题,还可以降低成本。
在本实施例中,第一存储单元110和第二存储单元120例如可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、一次编程只读内存(One Time Programmable Read Only Memory,OTPROM)、闪存F1ash Memory等非易失存储器中的一种或多种。主控单元130为具有处理功能的芯片,例如可以是中央处理器(Central ProcessingUnit,CPU)或者是其它嵌入式处理器。
本发明实施例提供的装置,将硬件ID存储在第一存储单元中,通过主控单元读取该硬件ID,再根据该硬件ID从第二存储单元中加载相应版本的软件,从而使得本发明实施例在软件平台化的背景下可以为多种外设(包括单板本身)加载所需的软件;另外,本发明实施例通过存储单元来存储设备中的硬件ID,还可以减少现有技术中为实现硬件ID而占用的I/O口资源;同时,也减少了现有技术中为实现硬件ID而添加的上下拉电阻的数量,降低了成本。
实施例二
如图2所示为本发明实施例二提供的一种软件加载装置的结构示意图,该装置包括:第一存储单元210、第二存储单元220、主控单元230和外设接口单元240,其中,主控单元230又包括加载单元231和修改单元232,主控单元230分别和第一存储单元210、第二存储单元220和外设接口单元240相连。
第一存储单元210用于存储至少一个硬件ID,该硬件ID同实施例一中相类似可以包括单板的硬件ID,或者外设的硬件ID,或者同时包括上述两类硬件ID。
在本实施例中,第一存储单元210除了用于存储上述硬件ID外,还可以用于存储外设的接口地址,该外设的接口地址和其硬件ID相对应。当设备中存在多个外设,需要分别为这些外设加载所需的软件时,就可以通过主控单元230的加载单元231读取第一存储单元210内的这些外设的接口地址,然后根据这些外设的接口地址分别找到这些外设所在的接口位置,再根据硬件ID为该地址的外设加载对应于该外设的软件。具体来说,加载单元可以通过集成电路互联总线(Inter-Integrated Circuit,IIC)接口或者串行外围设备(Serial Peripheral interface,SPI)接口或者其它类型的接口从存储单元中读取硬件ID、接口地址。
作为本发明的一个实施例,还可以根据外设的硬件ID在第一存储单元210内的位置来找到这些外设所在的接口位置。比如设备中有四个外设A、B、C、D,其接口地址分别为1、2、3、4,其硬件ID在第一存储单元210内的位置分别为0-16bit、16-32bit、32-48bit及48-64bit,其对应关系可以如表二所示。
外设 | A | B | C | D |
接口地址 | 1 | 2 | 3 | 4 |
存储位置 | 0-16bit | 16-32bit | 32-48bit | 48-64bit |
表二
该对应关系可以预先存储在一存储单元内。因此,加载单元231从上述存储位置中读取某外设的硬件ID后,即可以根据该硬件ID所在的存储位置得知该外设的接口地址,然后再为其加载相应版本的软件。
可选的,主控单元230可以包括加载单元231和修改单元232,加载单元231用于完成上述的根据硬件ID加载软件的功能,而修改单元232,则用于修改硬件ID。
主控单元230中的修改单元232用于根据外设接口单元240所连接外设的改变来相应地修改第一存储单元210内的硬件ID。在本实施例内外设的改变包括增加、移除或修改外设,下面对其进行具体说明。
当新增一外设时,如果预先知道该外设的硬件ID信息,可以通过主控单元230预先将该硬件ID写入第一存储单元210中,这样,主控单元230即可在新增外设的同时从第一存储单元210内读取其硬件ID信息并根据硬件ID列表对其进行识别和软件加载。但是如果新增的外设本身就具有一存储单元,且该存储单元内存有该新增外设的硬件ID,则主控单元230仅需在新增外设时从该外设所附带的存储单元内读取其硬件ID,然后再根据硬件ID列表对该外设进行识别和软件加载。
当移除一外设时,主控单元230可以从第一存储单元210中移除和该外设相对应的硬件ID信息。
当某一外设的硬件ID内容需要修改时,主控单元230可以通过对第一存储单元210写入修改内容来进行其中硬件ID信息的修改,同时,主控单元230还需要修改硬件ID列表中与该外设相对应的硬件ID内容。通过这种方式进行的硬件ID修改,可以避免作出相关硬件上的更改。
本发明实施例的装置可以是一个单板,当单板上电或者复位后,主控单元读取第一存储单元中的硬件ID,再根据该硬件ID从第二存储单元中加载相应版本的软件,从而使得本发明实施例在软件平台化的背景下可以为多种外设(包括单板本身)加载所需的软件。
另外,本发明实施例通过存储单元来存储设备中所有外设的硬件ID,大量减少了现有技术中为实现硬件ID而提供的I/O口的数量,同时,也减少了现有技术中为实现硬件ID而添加的上下拉电阻的数量,从而降低了硬件开发的成本。而且,本发明实施例当需要对外设的硬件ID作改动时,只需通过主控单元对存储单元内的信息进行修改即可,使得本发明实施例具有良好的可扩展性和可维护性。
实施例三
如图3所示,图3为本发明实施例三提供的一种利用IIC接口读取硬件ID的软件加载装置电路图。该电路包括了主控单元CPU301和存储单元302,在本实施例中,CPU选用了MPC8321,而存储单元302选用了型号为AT24C64BN_10SL27的EEPROM。
CPU301和存储单元302之间通过IIC总线接口互联,IIC接口是一种高速的串行总线,其一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL,因此,具体的说,存储单元302的SDA引脚连接至CPU301的引脚A5,而SCL引脚则连接至CPU301的引脚B5,A5和B5引脚属于CPU301的通用输入/输出(General Purpose Input Output,GPIO)引脚,本实施例当然也不排除使用其他GPIO引脚与IIC总线连接,这里的A5、B5在本实施例中只是作为GPIO引脚的标号,并不用来限制本发明。另外,由于IIC接口定义的数据传输开始过程为:SCL保持“高”时,SDA由“高”变为“低”,因此,本实施例中SDA和SCL分别由上拉电阻R5和R6使其初始时保持高电平状态。
存储单元302内存储了各种硬件ID,该些硬件ID是本电路所在设备内所有外设的硬件ID,当CPU301需要用到这些硬件ID时,其可以通过SDA数据线从存储单元302内获取,然后再根据这些硬件ID对相应的外设进行软件加载。需要指出的是,本实施例中和这些硬件ID相对应的软件存储于另一存储单元之中,该存储单元也和CPU301的GPIO引脚相连(图中并未绘示)。
作为本发明的一个实施例存储单元302也可以存在多个以解决越来越多的硬件ID而导致存储空间不足的问题,当存在多个存储单元302时,它们之间可以通过标记引脚A2、A1、A0来加以区分,在本实施例中,存储单元302的标记引脚A2、A1、A0都连接着下拉电阻R1、R2和R3,因此该存储单元302的标记为000。通过这些标记,CPU301就可以明确各个硬件ID所在存储单元的位置了。
作为本发明的一个实施例,当硬件发生改变时,存储单元302内的硬件ID信息也需要相应的进行改变,具体的改变方式和实施例二相类似,在此就不再进行赘述了。存储单元302内硬件ID信息的改变是通过CPU301的控制来进行的,因此本实施例中存储单元302的写保护引脚WP通过下拉电阻R4使存储单元302处于允许写入的状态。
本发明实施例通过CPU读取EEPROM中的硬件ID,再根据该硬件ID从其它存储单元中加载相应版本的软件,从而使得本发明实施例在软件平台化的背景下可以为多种外设(包括单板本身)加载所需的软件。另外本发明实施例由于采用EEPROM存储硬件ID,可以减少占用CPU的GPIO口数量,而且由于EEPROM是一种可擦写可编程的只读存储器,因此可以应对各种外设改变的状况,使得本发明实施例具有良好的可扩展性和可维护性。
实施例四
如图4所示为本发明实施例四提供的一种利用SPI接口读取硬件ID的软件加载装置电路图。该电路包括了主控单元CPU401和存储单元402,在本实施例中,CPU401选用了MPC880,而存储单元402选用了型号为M25P32_VMF6TP的FLASH芯片。
CPU401和存储单元402之间通过SPI接互联,SPI如果需要实现双向传输,一般具有4根数据线,即数据输入线S1、数据输出线S0、时钟线SCK和片选线CS,因此,具体的说,是存储单元402的4个引脚S0、S1、SCK、CS分别通过电阻R4、R3、R2、R1连接至CPU401的引脚C4、B25、J24和D24,需要指出的是,这里C4、B25、J24和D24也是CPU的GPIO引脚,其它GPIO引脚当然也可以用来作为与电阻R4、R3、R2、R1相连的引脚,因此上述GPIO引脚的标号并不用于限定本发明实施例。
除了上述的基本连接关系外,为了使存储单元402可以正常工作,其HOLD引脚通过上拉电阻连接至电源VCC,而为了使存储单元402可以被写入,其写保护(W)引脚也通过上拉电阻连接至电源VCC。
存储单元402内存储了本电路所在设备内所有外设的硬件ID,通过上述连接后,CPU401就可以根据需要从存储单元402的数据输出引脚S0读取到所需的硬件ID信息,然后根据这些硬件信息对外设加载相应的软件,并可以通过引脚S1向存储单元402写入新增的硬件ID信息。需要指出的是,本实施例中和这些硬件ID相对应的软件存储于另一存储单元之中,该存储单元也和CPU401的GPIO引脚相连(图中并未绘示)。
作为本发明的一个实施例,当存在多个存储单元402时,CPU可以通过片选线CS来选取所需的存储单元进行硬件ID的读取和写入操作。
本发明实施例通过CPU读取FLASH芯片中的硬件ID,再根据该硬件ID从其它存储单元中加载相应版本的软件,从而使得本发明实施例在软件平台化的背景下可以为多种外设(包括单板本身)加载所需的软件。另外本发明实施例由于采用FLASH芯片存储硬件ID,可以减少占用CPU的GPIO口数量,而且由于该FLASH芯片也是一种可擦写的存储器,因此也可以应对各种硬件改变的状况,使得本发明实施例具有良好的可扩展性和可维护性。
实施例五
本实施例在介绍软件加载方法前,先对单板的启动流程作下介绍,一般的单板启动流程可以包括如下步骤:主控单元在上电或者复位后对单板上的硬件进行初始化,读取硬件ID为硬件单元加载对应该硬件ID版本的软件,对系统运行的硬件环境进行配置,以使这些硬件单元都正常工作;接着再加载系统内核、驱动软件等,配置软件环境,然后再加载各种版本的业务软件。
本发明实施例的软件加载方法可以运用在上述主控单元对单板上其他硬件单元进行初始软件加载或进行各种业务软件加载的时候。
下面以单板的主控单元为示例,结合图5说明本实施例提供的一种软件加载方法流程图,该方法包括如下步骤:
S501:主控单元从第一存储单元中读取硬件标识ID。
第一存储单元中保存了至少一个硬件ID,本发明实施例将硬件ID预先存储在了第一存储单元中。需要指出的是,本发明实施例中的第一存储单元内所存储的硬件ID可以包括单板的硬件ID,或者外设的硬件ID,或者同时包括上述两类硬件ID。
S502:主控单元根据所述硬件ID从第二存储单元内加载对应所述硬件ID的版本的软件。第二存储单元内存储有不同版本的软件,所述不同版本的软件对应不同的硬件ID。该第二存储单元内软件可以包括单板本身的软件,或者外设的软件,或者同时包括上述两类软件。
作为本发明的一个实施例,第一存储单元除了用于存储上述硬件ID外,还可以存储外设的接口地址,该外设的接口地址和其硬件ID相对应。当单板中存在多个外设,需要分别为这些外设加载所需的软件时,就可以再通过主控单元读取第一存储单元内的这些外设的接口地址,然后根据这些外设的接口地址分别找到这些外设所在的接口位置,再进行软件的加载。
作为本发明的另一个实施例,还可以根据外设的硬件ID在存储单元内的位置来找到这些外设所在的接口位置,再根据硬件ID进行软件的加载(具体可以参见实施例二中关于表二的描述)。
作为本发明的再一个实施例,当外设发生改变时,需要同时改变第一存储单元中和外设相对应的硬件ID内容,以适应主控单元读取硬件ID的需要。在本实施例中上述外设的改变可以包括:新增外设、移出外设及删除外设硬件ID,下面分别对其进行说明。
当新增一外设时,如果预先知道该外设的硬件ID信息,可以通过主控单元预先将该硬件ID存储于第一存储单元中,这样,主控单元即可在新增外设的同时从第一存储单元内读取其硬件ID信息并根据硬件ID列表对其进行识别。如果新增的外设本身就具有一存储单元,该存储单元内存有该新增外设的硬件ID,则主控单元仅需在新增外设时从该外设所附带的存储单元内读取其硬件ID,然后再根据硬件ID列表对其进行识别。
当移除一外设时,主控单元需要从第一存储单元中移除和该外设相对应的硬件ID信息,以防止在设备启动过程中读取到多余的硬件ID信息。当然,本发明实施例也不排除当移除硬件ID时,不对存储单元作任何变动,而在设备启动过程中主控单元读取到多余硬件ID信息时,产生一出错信息,告知处理人员。
当某一外设的硬件ID内容需要修改时,主控单元可以通过对第一存储单元写入修改内容来进行其中硬件ID信息的修改,同时,主控单元还需要修改硬件ID列表中与该外设相对应的硬件ID内容。通过这种方式进行的硬件ID修改,可以避免作出相关硬件上的更改。
可见,本发明实施例当需要对外设的硬件ID作改动时,只需通过主控单元对存储单元内的信息进行修改即可,使得本发明实施例具有良好的可扩展性和可维护性。
作为本发明的一个实施例,上述步骤中的第一存储单元和第二存储单元例如可以是EEPROM、EPROM、PROM、OPTROM、Flash Memory等非易失存储器中的一种或多种。另外作为本发明的一个实施例,第一存储单元和第二存储单元也可以为多个,多个存储单元之间可以通过存储单元的地址管脚进行区分,而主控单元又可以通过存储单元的片选管脚来选中所需的存储单元。
本发明实施例通过单板中的主控单元读取第一存储单元中的硬件ID,再根据该硬件ID从第二存储单元中加载相应版本的软件,从而使得本发明实施例在软件平台化的背景下可以为单板本身及多种外设加载所需的软件。另外,本发明实施例通过存储单元来存储设备中的硬件ID,还大量减少了现有技术中为实现硬件ID而占用的I/O口资源;同时,也减少了现有技术中为实现硬件ID而添加的上下拉电阻的数量,从而降低了成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种软件加载装置,其特征在于,包括:
第一存储单元,用于存储至少一个硬件标识ID;
第二存储单元,用于存储不同版本的软件,所述不同版本的软件对应不同的硬件ID;
主控单元,用于从所述第一存储单元中读取所述硬件ID,并根据所述硬件ID从所述第二存储单元加载对应所述硬件ID的版本的软件。
2.如权利要求1所述的装置,其特征在于,所述软件加载装置为单板,
所述第一存储单元,具体用于存储对应所述单板的硬件ID;
所述主控单元,具体用于从所述第一存储单元中读取所述硬件ID,并根据所述硬件ID为所述单板从所述第二存储单元加载对应所述硬件ID的版本的软件。
3.如权利要求1所述的装置,其特征在于,还包括:
外设接口单元,用于连接至少一个外设;
所述第一存储单元,具体用于存储至少一个对应所述外设的硬件ID。
4.如权利要求3所述的装置,其特征在于,所述第一存储单元还用于存储对应硬件ID的外设的接口地址;
所述主控单元,具体用于从所述第一存储单元中读取所述硬件ID和外设的接口地址,并根据所述硬件ID为具有所述接口地址的外设从所述第二存储单元加载对应所述硬件ID的版本的软件。
5.如权利要求4所述的装置,其特征在于,所述主控单元包括:
加载模块,用于从所述第一存储单元中读取所述硬件ID,并根据所述硬件ID从所述第二存储单元加载对应所述硬件ID的版本的软件;
修改模块,用于当所述外设接口单元连接的外设的发生改变,修改所述第一存储存储单元存储的硬件ID。
6.一种软件加载方法,其特征在于,所述方法包括:
从第一存储单元中读取硬件标识ID,所述第一存储单元保存至少一个硬件ID;
根据所述硬件ID从第二存储单元内加载对应所述硬件ID的版本的软件,所述第二存储单元内存储有不同版本的软件,所述不同版本的软件对应不同的硬件ID。
7.如权利要求6所述的方法,其特征在于,所述从第一存储单元中读取硬件标识ID具体包括:
从第一存储单元中读取对应单板的硬件ID。
8.如权利要求6所述的方法,其特征在于,所述从第一存储单元中读取硬件标识ID具体包括:
从第一存储单元中读取对应外设的硬件ID。
9.如权利要求8所述的方法,其特征在于,所述从第一存储单元中读取对应外设的硬件ID,包括:
从所述第一存储单元中读取对应外设的硬件ID和所述外设的接口地址;
所述根据所述硬件ID从第二存储单元内加载对应所述硬件ID的版本的软件具体包括:
根据所述外设的接口地址和硬件ID,从所述第二存储单元内为所述接口地址的外设加载对应所述外设硬件ID的版本的软件。
10.如权利要求9所述的方法,其特征在于,当所述外设发生改变时,修改所述第一存储单元内存储的外设的硬件ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910207143A CN101673212A (zh) | 2009-10-27 | 2009-10-27 | 软件加载方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910207143A CN101673212A (zh) | 2009-10-27 | 2009-10-27 | 软件加载方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101673212A true CN101673212A (zh) | 2010-03-17 |
Family
ID=42020446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910207143A Pending CN101673212A (zh) | 2009-10-27 | 2009-10-27 | 软件加载方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101673212A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103229522A (zh) * | 2011-11-25 | 2013-07-31 | 松下电器产业株式会社 | 主机设备、协作服务管理系统以及协作服务管理方法 |
WO2016202030A1 (zh) * | 2015-06-17 | 2016-12-22 | 中兴通讯股份有限公司 | 资源配置加载方法及装置 |
CN109426625A (zh) * | 2017-08-30 | 2019-03-05 | 深圳市道通科技股份有限公司 | 一种多驱动兼容的控制装置和实现方法 |
CN109669732A (zh) * | 2019-02-14 | 2019-04-23 | 深圳力维智联技术有限公司 | 一种外扩功能系统及外扩功能硬件的驱动加载方法 |
CN111367465A (zh) * | 2018-12-26 | 2020-07-03 | 深圳市江波龙电子股份有限公司 | 一种存储设备的控制方法及存储设备、电子设备 |
CN109669732B (zh) * | 2019-02-14 | 2024-05-17 | 深圳力维智联技术有限公司 | 一种外扩功能系统及外扩功能硬件的驱动加载方法 |
-
2009
- 2009-10-27 CN CN200910207143A patent/CN101673212A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103229522A (zh) * | 2011-11-25 | 2013-07-31 | 松下电器产业株式会社 | 主机设备、协作服务管理系统以及协作服务管理方法 |
WO2016202030A1 (zh) * | 2015-06-17 | 2016-12-22 | 中兴通讯股份有限公司 | 资源配置加载方法及装置 |
CN109426625A (zh) * | 2017-08-30 | 2019-03-05 | 深圳市道通科技股份有限公司 | 一种多驱动兼容的控制装置和实现方法 |
CN111367465A (zh) * | 2018-12-26 | 2020-07-03 | 深圳市江波龙电子股份有限公司 | 一种存储设备的控制方法及存储设备、电子设备 |
CN109669732A (zh) * | 2019-02-14 | 2019-04-23 | 深圳力维智联技术有限公司 | 一种外扩功能系统及外扩功能硬件的驱动加载方法 |
CN109669732B (zh) * | 2019-02-14 | 2024-05-17 | 深圳力维智联技术有限公司 | 一种外扩功能系统及外扩功能硬件的驱动加载方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1537483B1 (en) | A memory circuit comprising a non-volatile ram and a ram | |
CN100454257C (zh) | 嵌入式系统 | |
CN101231880B (zh) | 使用多路复用器替换存储设备的存储器模组和方法 | |
CN102349111B (zh) | 串行非易失性存储器的增强的可寻址性 | |
US9519436B1 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
CN101099216A (zh) | 使用自适应接口定时的稳健而高速的存储器存取 | |
US10802750B2 (en) | Universal flash storage memory module, controller and electronic device with advanced turbo write buffer and method for operating the memory module | |
CN103513937A (zh) | 能够增加其生命周期的存储设备及其操作方法 | |
JP2646448B2 (ja) | 計算装置の初期化ルーチン変更方法 | |
CN101673212A (zh) | 软件加载方法和装置 | |
CN103098039A (zh) | 高速外围器件互连总线端口配置方法及设备 | |
CN102402422A (zh) | 处理器组件及该组件内存共享的方法 | |
CN101354673B (zh) | 内存之spd芯片错误信息仿真装置 | |
CN102324251A (zh) | 用以指示存储器中的编程失败的信号线 | |
US20150199201A1 (en) | Memory system operating method providing hardware initialization | |
CN101853198B (zh) | 地址总线的检测方法、设备和系统 | |
CN102543184B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN102800357A (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 | |
US20120303879A1 (en) | Memory Device and Method for Programming Flash Memory Utilizing Spare Blocks | |
US7979606B2 (en) | Method for storing data | |
US20150128000A1 (en) | Method of operating memory system | |
US20080065789A1 (en) | Multi-purpose IO system | |
CN112306536B (zh) | 一种主板及其芯片以及芯片升级方法 | |
CN112331252A (zh) | Nand闪存自动坏块标记方法、装置、存储介质和终端 | |
CN111027104A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100317 |