一种软件的配置方法、装置及系统与流程

文档序号:11729195阅读:176来源:国知局
一种软件的配置方法、装置及系统与流程

本发明涉及计算机控制领域,更具体的说,涉及一种软件的配置方法、装置及系统。



背景技术:

目前,需要写入配置文件的芯片,如现场可编程门阵列fpga或者是dsp芯片,在使用前,都需要在芯片的闪存flash中写入配置文件,配置文件中包括开发环境、配置程序等信息。

目前,将配置文件写入到芯片的方法是:通过下载线将配置文件通过jtag接口写入到芯片中。由于jtag接口设置在电路板上,将下载线连接到jtag接口,就需要技术人员直接与电路板接触,对于全封闭的产品,就需要将产品进行拆壳才能实现在芯片中写入配置文件的目的,但是拆壳操作会增加写入配置文件的复杂程度。

因此,亟需一种对于全封闭的产品,不需要进行拆壳即能实现在芯片中写入配置文件的方法。



技术实现要素:

有鉴于此,本发明提供一种软件的配置方法、装置及系统,以解决现有技术中,对于全封闭的产品,需要进行拆壳才能在芯片中写入配置文件的问题。

为解决上述技术问题,本发明采用了如下技术方案:

一种软件的配置方法,包括:

从控制装置中接收配置文件和命令字;其中,所述命令字中包含有需要写入所述配置文件的芯片的编号;

将所述配置文件通过网口写入所述编号对应的芯片的闪存flash中;

其中,所述网口为内部设置有所述芯片的产品的壳体上的网口。

优选地,将所述配置文件通过网口写入所述编号对应的芯片的闪存flash中,包括:

将所述配置文件拆分成多个包含预设数量字节的数据包;

将每个所述数据包通过所述网口写入所述flash中。

优选地,将每个所述数据包通过所述网口写入所述flash中,包括:

将第i个数据包通过所述网口写入所述flash中;

判断所述flash中的预设标志位是否是预设数值;

当判断出所述flash中的所述预设标志位是所述预设数值,判断是否已经将最后一个所述数据包通过所述网口写入所述flash中;

当判断出没有将最后一个所述数据包通过所述网口写入所述flash中,使i=i+1,并返回所述将第i个数据包通过所述网口写入所述flash中;

其中,i为正整数。

一种软件的配置装置,包括:

接收单元,用于从控制装置中接收配置文件和命令字;其中,所述命令字中包含有需要写入所述配置文件的芯片的编号;

写入单元,用于将所述配置文件通过网口写入所述编号对应的芯片的闪存flash中;

其中,所述网口为内部设置有所述芯片的产品的壳体上的网口。

优选地,所述写入单元包括:

拆分单元,用于将所述配置文件拆分成多个包含预设数量字节的数据包;

第一写入单元,用于将每个所述数据包通过所述网口写入所述flash中。

优选地,所述第一写入单元包括:

第二写入单元,用于将第i个数据包通过所述网口写入所述flash中;

第一判断单元,用于判断所述flash中的预设标志位是否是预设数值;

第二判断单元,用于当所述第一判断单元判断出所述flash中的所述预设标志位是所述预设数值,判断是否已经将最后一个所述数据包通过所述网口写入所述flash中;

控制单元,用于当所述第二判断单元判断出没有将最后一个所述数据包通过所述网口写入所述flash中,使i=i+1;

所述第二写入单元,还用于当所述控制单元使i=i+1后,将第i个数据包通过所述网口写入所述flash中;

其中,i为正整数。

一种软件的配置系统,包括:

控制装置,用于向配置装置发送配置文件和命令字;其中,所述命令字中包含有需要写入所述配置文件的芯片的编号;

配置装置,用于接收所述配置文件和所述命令字,将所述配置文件通过网口写入所述编号对应的芯片的闪存flash中;其中,所述网口为内部设置有所述芯片的产品的壳体上的网口;

内部设置有所述芯片的所述产品,用于通过所述壳体上的网口接收所述配置装置写入的所述配置文件到所述芯片中。

优选地,所述配置装置用于将所述配置文件通过网口写入所述编号对应的芯片的闪存flash中时,具体用于:

将所述配置文件拆分成多个包含预设数量字节的数据包;

将每个所述数据包通过所述网口写入所述flash中。

优选地,所述配置装置用于将每个所述数据包通过所述网口写入所述flash中时,具体用于:

将第i个数据包通过所述网口写入所述flash中;

判断所述flash中的预设标志位是否是预设数值;

当判断出所述flash中的所述预设标志位是所述预设数值,判断是否已经将最后一个所述数据包通过所述网口写入所述flash中;

当判断出没有将最后一个所述数据包通过所述网口写入所述flash中,使i=i+1,并返回所述将第i个数据包通过所述网口写入所述flash中;

其中,i为正整数。

优选地,所述配置装置为安装有操作系统的zynq芯片。

相较于现有技术,本发明具有以下有益效果:

本发明提供了一种软件的配置方法、装置及系统,将配置文件写入到芯片是通过壳体上的网口实现的,因此不需要将壳体拆开,解决了现有技术中,对于全封闭的产品,需要进行拆壳才能在芯片中写入配置文件的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明提供的一种软件的配置方法的方法流程图;

图2为本发明提供的另一种软件的配置方法的方法流程图;

图3为本发明提供的一种软件的配置装置的结构示意图;

图4为本发明提供的另一种软件的配置装置的结构示意图;

图5为本发明提供的一种软件的配置系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种软件的配置方法,参照图1,包括:

s101、从控制装置中接收配置文件和命令字;

其中,配置文件中包含有开发环境、配置程序等信息。命令字中包含有需要写入配置文件的芯片的编号,例如,想要在芯片编号为101的芯片上写入配置文件,此时命令字中存储的就是101。

控制装置是用于生成配置文件以及命令字的装置,其中,控制装置包括电脑或者上位机等。

s102、将配置文件通过网口写入编号对应的芯片的闪存flash中;

其中,网口为内部设置有芯片的产品的壳体上的网口。芯片包括fpga、dsp芯片或者单片机等。

具体的,内部设置有芯片的产品一般会在产品的壳体上设置有网口,本发明就是利用该网口将配置文件写入芯片的闪存flash中。从而不需要增加另外的端口去写入配置文件。

本实施例中,将配置文件写入到芯片是通过壳体上的网口实现的,因此不需要将壳体拆开,解决了现有技术中,对于全封闭的产品,需要进行拆壳才能在芯片中写入配置文件的问题。

可选的,本发明的另一实施例中,参照图2,步骤s102包括:

s202、将配置文件拆分成多个包含预设数量字节的数据包;

其中,配置文件是一个文件大小较大的数据包,但是在将配置文件写入flash中时,由于配置文件较大,不能一次性将配置文件写入,需要将配置文件拆分成多个包含预设数量字节的数据包。优选的,预设数量字节为1024个字节。

s203、将第i个数据包通过网口写入flash中;

具体的,当i=1时,说明是将第一个数据包写入flash中。

s204、判断flash中的预设标志位是否是预设数值;

具体的,当flash中正在写入第i个数据包时,预设标志位为0,当第i个数据包成功写入时,预设标志位为1,此处预设数值为1。

s205、判断是否已经将最后一个数据包通过网口写入flash中;

具体的,当判断出flash中的预设标志位是预设数值,判断是否已经将最后一个数据包通过网口写入flash中。

s206、使i=i+1;

具体的,当判断出没有将最后一个数据包通过网口写入flash中,使i=i+1,并返回将第i个数据包通过网口写入flash中。

即按照数据包的排列顺序,依次将数据包写入flash中,其中,i为正整数。

需要说明的是,步骤s203至步骤s206,是将每个数据包通过网口写入flash中的子步骤。此外,步骤s201中的内容请参照步骤s101的内容,在此不再赘述。

本实施例中,由于flash不能一次性接收较大的配置文件,因此,通过将配置文件拆分成多个包含预设数量字节的数据包,进而将数据包依次写入flash中的方法在flash中写入配置文件。

可选的,本发明的另一实施例中提供了一种软件的配置装置,参照图3,包括:

接收单元101,用于从控制装置中接收配置文件和命令字;其中,命令字中包含有需要写入配置文件的芯片的编号;

写入单元102,用于将配置文件通过网口写入编号对应的芯片的闪存flash中;

其中,网口为内部设置有芯片的产品的壳体上的网口。

本实施例中,将配置文件写入到芯片是通过壳体上的网口实现的,因此不需要将壳体拆开,解决了现有技术中,对于全封闭的产品,需要进行拆壳才能在芯片中写入配置文件的问题。

需要说明的是,本实施例中的各个单元的工作过程,请参照图1对应的实施例中的内容,在此不再赘述。

可选的,本发明的另一实施例中,写入单元102包括:

拆分单元1021,用于将配置文件拆分成多个包含预设数量字节的数据包;

第一写入单元1022,用于将每个数据包通过网口写入flash中。

其中,第一写入单元1022包括:

第二写入单元10221,用于将第i个数据包通过网口写入flash中;

第一判断单元10222,用于判断flash中的预设标志位是否是预设数值;

第二判断单元10223,用于当第一判断单元10222判断出flash中的预设标志位是预设数值,判断是否已经将最后一个数据包通过网口写入flash中;

控制单元10224,用于当第二判断单元10223判断出没有将最后一个数据包通过网口写入flash中,使i=i+1;

第二写入单元10221,还用于当控制单元10224使i=i+1后,将第i个数据包通过网口写入flash中;

其中,i为正整数。

本实施例中,由于flash不能一次性接收较大的配置文件,因此,通过将配置文件拆分成多个包含预设数量字节的数据包,进而将数据包依次写入flash中的方法在flash中写入配置文件。

需要说明的是,本实施例中的各个单元的工作过程,请参照图2对应的实施例中的内容,在此不再赘述。

可选的,本发明的另一实施例中提供了一种软件的配置系统,参照图5,包括:

控制装置201,用于向配置装置发送配置文件和命令字;其中,命令字中包含有需要写入配置文件的芯片的编号;

配置装置202,用于接收配置文件和命令字,将配置文件通过网口写入编号对应的芯片的闪存flash中;其中,网口为内部设置有芯片的产品的壳体上的网口;

内部设置有所述芯片的所述产品203,用于通过所述壳体上的网口接收所述配置装置202写入的所述配置文件到所述芯片中。

其中,配置装置202用于将配置文件通过网口写入编号对应的芯片的闪存flash中时,具体用于:

将配置文件拆分成多个包含预设数量字节的数据包;

将每个数据包通过网口写入flash中。

具体的,配置装置202用于将每个数据包通过网口写入flash中时,具体用于:

将第i个数据包通过网口写入flash中;

判断flash中的预设标志位是否是预设数值;

当判断出flash中的预设标志位是预设数值,判断是否已经将最后一个数据包通过网口写入flash中;

当判断出没有将最后一个数据包通过网口写入flash中,使i=i+1,并返回将第i个数据包通过网口写入flash中;

其中,i为正整数。

具体的,控制装置201包括电脑或者上位机等。配置装置为安装有操作系统的zynq芯片。其中,zynq芯片包含arm层和现场可编程门阵列fpga层,fpga层为逻辑层,简称为pl层,arm层简称为ps层,arm层内嵌有操作系统,其中,操作系统包括类unix操作系统linux系统,操作系统通过c语言的套接字socket编写网络通信程序,进而实现控制装置201和zynq芯片的通信,例如,实现控制装置201向zynq芯片传输配置文件和命令字。

控制装置201向zynq芯片传输配置文件和命令字的过程为:控制装置201通过zynq芯片自带的网口向zynq芯片的操作系统传输配置文件和命令字,其中,传输协议为tcp/ip协议。操作系统接收了配置文件和命令字后,将配置文件存储在双倍速率同步动态随机存储器ddr中,进而操作系统将配置文件拆分成多个包含预设数量字节的数据包,将多个数据包通过pl层的总线协议axi接口依次传送到pl层,其中通过axi接口依次传送到pl层时,需要将数据包的格式转换成axi的数据格式,才能够通过axi接口依次传送到pl层,将数据包都传送pl层后,再将数据包依次通过pl层的串行外设接口spi接口写入到命令字中包含的编号对应的芯片的flash中。

需要说明的是,由于将数据包写入flash中时,每次只写入一个数据包,当写入的数据包正在写入时,flash中的预设标志位不是预设数值,当写入的数据包成功写完时,flash的预设标志位是预设数值,此时可以写入下一个数据包。

当一个芯片的flash成功写入配置文件后,配置装置202会反馈给控制装置201一个写入完成信号。此时,可以采用同样的方法对其他的芯片的flash写入配置文件。当一个芯片的flash中写入配置文件后,通过断电上电操作,既能够自动加载配置文件。

此外,pl层的axi接口的设计要求是:axi采用标准的xilinxaxi接口,一端与ps层相连,由arm控制axi接口的地址和数据的读写;将axi接口的0地址的读写数据和数据有效信号引出到zynq芯片外,将axi接口设计为arm可读写的axififo接口,实现数据的串行通信。其中,数据有效信号是指高脉冲携带的数据为有效数据。

在pl层设计了axi接口,ps层想要访问axi接口,就需要在axi接口设计axi驱动,其中,axi驱动为字符型驱动,采用打开open、读read、写write的方式读写pl层的axi的地址空间,实现操作系统对pl层的axififo接口的读写控制。

此外,针对操作系统的要求是:

1、操作系统的ip自动设置,优选的,可以设置为192.168.1.155,以便于控制装置201快速连接。

2、操作系统自动加载ps层的axi驱动;

3、自动运行操作系统的应用程序,实现自动操作。

需要说明的是,控制装置201和配置装置202在建立连接时,是通过控制装置201和配置装置202分别向对方发送握手信号,若双方均成功接收到对方的握手信号,则证明连接成功。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1