专利名称:嵌入式系统现场可编程门阵列逻辑自加载方法及系统的制作方法
技术领域:
本发明涉及嵌入式系统的现场可编程门阵列(Field Programmable GateArray, 简称FPGA),尤其涉及一种嵌入式系统FPGA逻辑自加载方法和系统。
背景技术:
在单板软件研发过程中,FPGA已经变成单板硬件上必不可少的核心器件。目前 FPGA种类繁多,加载方法更是有很多种。如串行加载、并行加载、JATG(Joint Test Action Gro卯,中文名称为联合测试行为组织)方式加载,JATG是一种国际标准测试协议(IEEE 1149. 1兼容),可对具有JTAG接口的芯片的硬件电路进行边界扫描和故障检测。单板软件 以前加载FPGA的做法是将FPGA加载方法放到应用程序存储空间,并通过混合编译的方法 与单板软件绑定,在单板软件初始化过程中由存储空间读出,然后根据加载方式不同进行 逻辑加载。 上述做法的缺点是每换一种FPGA或者更换一种加载方法,都要修改应用程序代 码并重新编译,然后还需要先升级应用程序再升级FPGA逻辑,才能支持新的FPGA加载方 法。 为了避免由此产生的应用程序版本变更,只能通过限制硬件使用某几种加载方法 统一的FPGA芯片来解决,造成FPGA选型困难。对于未来可能出现的新型高效的FPGA加载 方法,只能通过先升级应用程序再升级FPGA逻辑而不能通过单独升级FPGA逻辑来支持。
发明内容
本发明所要解决的技术问题是提供一种嵌入式系统FPGA逻辑自加载方法和系 统,以解决现有技术中只能通过先升级应用程序再升级FPGA逻辑而不能通过单独升级 FPGA逻辑的问题。 为了解决上述技术问题,本发明提供了一种嵌入式系统FPGA逻辑自加载方法,该 方法包括以下步骤 将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中存储的单板逻辑
下载模块进行绑定,以获得自动启动加载逻辑模块; 所述自动启动加载逻辑模块启动现场可编程门阵列;禾口 所述自动启动加载逻辑模块将所述现场可编程门阵列的逻辑文件,根据所述单板
逻辑下载模块中记载的加载方式进行加载。
上述过程之后还包括 所述自动启动加载逻辑模块将程序指针指向第三存储空间存储的单板应用程序 模块。 所述自动启动加载逻辑模块将所述现场可编程门阵列的逻辑文件,根据所述单板
逻辑下载模块中记载的加载方式进行加载具体包括 确定当前单板上的逻辑状态还没有正常加载所述逻辑文件;
4
从所述单板逻辑下载模块中获取单板逻辑类型; 所述自动启动加载逻辑模块获取单板待加载的所述逻辑文件; 所述自动启动加载逻辑模块从所述单板逻辑下载模块中确定当前逻辑的所述加 载方式;和 所述自动启动加载逻辑模块根据所述加载方式将所述逻辑文件加载至所述现场 可编程门阵列。 所述自动启动加载逻辑模块启动所述现场可编程门阵列具体为 所述自动启动加载逻辑模块根据所述单板逻辑引导模块将所述单板逻辑下载模
块进行初始化; 所述单板逻辑下载模块将所述现场可编程门阵列启动。 本发明还提供了一种嵌入式系统FPGA逻辑自加载系统,该系统包括 绑定模块,用于将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中
存储的单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块; 所述自动启动加载逻辑模块,用于启动现场可编程门阵列;和将所述现场可编程
门阵列的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载。 所述的嵌入式系统现场可编程门阵列逻辑自加载系统还包括 所述自动启动加载逻辑模块,还用于将程序指针指向第三存储空间存储的单板应 用程序模块。 所述自动启动加载逻辑模块具体包括 加载确定模块,用于确定当前单板上的逻辑状态还未正常加载所述逻辑文件;
自动加载逻辑模块,用于从所述单板逻辑下载模块中获取单板逻辑类型;获取单 板待加载的所述逻辑文件;从所述单板逻辑下载模块中确定当前逻辑的所述加载方式;和 根据所述加载方式将所述逻辑文件加载至所述现场可编程门阵列。
所述自动启动加载逻辑模块还包括 自动启动模块,用于将所述单板逻辑下载模块进行初始化;所述单板逻辑下载模 块将所述现场可编程门阵列启动。 因此,本发明提供的嵌入式系统FPGA逻辑自加载方法和系统,通过绑定方式,使 得单板软件单板逻辑的内容、下载方式等相关因素改变的情况下不再需要重新编译和构建 应用程序代码。
图1为本发明一种嵌入式系统FPGA逻辑自加载方法流程图;
图2为程序承载媒体存储空间示例简图; 图3为本发明一种嵌入式系统FPGA逻辑自加载方法中加载逻辑文件的流程图。
具体实施例方式
下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。
如图1所示,为本发明一种嵌入式系统FPGA逻辑自加载方法流程图。如图中所示, 该方法包括以下步骤
5
步骤10,将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中存储的 单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块; 上述单板逻辑引导模块和单板逻辑下载模块在存储空间中的示例如图2所示,A 部分存储空间即第二存储空间,存储的是单板逻辑下载模块,即为单板逻辑待下载程序。该 部分存储空间中的单板逻辑下载模块是可以变化的部分。由于单板逻辑器件类型的不同、 逻辑下载方式的不同以及逻辑版本升级等多方面的原因,该部分单板逻辑下载模块会随着 它们的改变而改变。B部分存储空间即第一存储空间中存储的是单板逻辑引导模块,即为单
板逻辑自动加载程序。该部分由一小段启动代码构成,支持所有的逻辑厂家及逻辑的下载 方式。该段代码与A部分进行绑定,这样就可以得到一个可以自动启动并加载逻辑的程序 即自动启动加载逻辑模块。该部分主要功能就是启动最基本的单板核心器件(核心器件指 的是最小MCU系统)以及FPGA,然后将逻辑文件通过相应的方式进行加载,即执行以下步 骤 步骤ll,所述自动启动加载逻辑模块启动所述FPGA ;该过程具体为所述自动启动 加载逻辑模块根据所述单板逻辑引导模块将所述单板逻辑下载模块进行初始化;在初始化 时,所述单板逻辑下载模块将所述FPGA启动。 步骤12,所述自动启动加载逻辑模块将所述FPGA的逻辑文件,根据所述单板逻辑 下载模块中记载的加载方式进行加载。 如图所示,在上述过程之后还包括,加载成功之后执行步骤13 :所述自动启动加 载逻辑模块将程序指针指向第三存储空间存储的单板应用程序模块。即将软件的程序指针 指向单板应用程序C部分,单板应用程序正常执行。如图所示的,C部分存储空间即第三存 储空间,其中存储的即是单板应用程序模块。其中单板应用软件部分,在现有的方式中是与 FPGA程序绑定,而在本发明中为独立执行,不再关心逻辑程序如何下载,仅处理其本身的单 板应用程序功能即可,因此功能复杂性降低了很多。 因此,本发明通过上述这种绑定方式,使得单板软件单板逻辑的内容、下载方式等 相关因素改变的情况下不再需要重新编译和构建应用程序代码,这样可以控制单板软件的 版本数量及版本间的一致性。 而上述各模块的存储空间如图2所示,程序承载媒体存储空间示例简图。存储空 间大体分为四个部分第一部分单板逻辑引导程序存储空间21,用于存储单板逻辑自动 加载程序;第二部分单板逻辑待下载程序存储空间22,用于存储单板逻辑待下载程序;上 述两个部分绑定(即A+B部分)成为自动启动加载逻辑模块,而存储空间被称之为自动启 动加载逻辑存储空间20,。第三部分(即C部分)单板应用程序存储空间23,用于存储单 板应用程序。程序承载媒体存储空间中还包括第四部分(D部分)单板逻辑程序存储空间
24,用于存储单板逻辑程序(即单板逻辑文件)。 如图3所示,为本发明一种嵌入式系统FPGA逻辑自加载方法中加载逻辑文件的流 程图。该图描述上述步骤12的具体过程,其具体包括 步骤31,确定当前单板上的逻辑状态是否还未正常加载所述逻辑文件;是则执行 步骤32,如果已加载,则执行步骤13(该步骤在图中省略); 步骤32,所述自动启动加载逻辑模块从所述单板逻辑下载模块中获取单板逻辑类 型;
6
步骤33,所述自动启动加载逻辑模块从存储空间D部分获取单板待加载的所述单 板逻辑文件; 步骤34,所述自动启动加载逻辑模块从所述单板逻辑下载模块中确定当前逻辑的 所述加载方式,即单板逻辑下载模块中包含了单板逻辑类型、加载方式等关键信息;禾口
步骤35,所述自动启动加载逻辑模块根据所述加载方式将所述逻辑文件加载至所 述FPGA。 因此,通过本发明这种方法,单板应用程序将不再对逻辑下载部分进行适配和兼 容,仅需要从单板自身功能方面考虑即可。这样有利于降低单板软件的复杂度和耦合性。并 且由于采用了本方法,单板软件(即单板应用程序)的修改和FPGA上运行的程序即所要加 载的单板逻辑程序的修改彼此分开,不会有牵一发而动全身的效果。单板逻辑下载模块的 独立构建和执行,有助于软件的版本控制,还大大降低的单板开发人员对功能软件的维护 成本。 而由此(1)减少了由于FPGA加载方法变更导致的FPGA逻辑开发与应用程序开 发之间的耦合,甚至做到FPGA自加载逻辑与应用程序之间都不需要严格的版本匹配关系。 (2) FPGA加载方法变更以后不需要先升级应用程序再升级FPGA逻辑,只需要单独升级FPGA 自加载逻辑(即A部分存储空间即第二存储空间存储的是单板逻辑下载模块)即可,减少 了操作步骤,从而减少了误操作的可能性。 相应地,本发明提出了一种嵌入式系统FPGA逻辑自加载系统,包括 绑定模块,用于将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中
存储的单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块; 所述自动启动加载逻辑模块,用于启动所述FPGA ;和将所述FPGA的逻辑文件,根 据所述单板逻辑下载模块中记载的加载方式进行加载。 该嵌入式系统FPGA逻辑自加载系统还包括所述自动启动加载逻辑模块,还用于
将程序指针指向第三存储空间存储的单板应用程序模块。 其中所述自动启动加载逻辑模块具体包括 加载确定模块,用于确定当前单板上的逻辑状态还未正常加载所述逻辑文件;
自动加载逻辑模块,用于从所述单板逻辑下载模块中获取单板逻辑类型;获取单 板待加载的所述逻辑文件;从所述单板逻辑下载模块中确定当前逻辑的所述加载方式;和 根据所述加载方式将所述逻辑文件加载至所述FPGA。 所述自动启动加载逻辑模块还包括自动启动模块,用于将所述单板逻辑下载模 块进行初始化;所述单板逻辑下载模块将所述FPGA启动。 该嵌入式系统FPGA逻辑自加载系统可以执行上述图1描述的流程,从而使得单板 软件单板逻辑的内容、下载方式等相关因素改变的情况下不再需要重新编译和构建应用程 序代码,这样可以控制单板软件的版本数量及版本间的一致性。 最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参 照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明 进行修改、更改或者等同替换,而不脱离本发明和权利要求的精神和范围。
权利要求
一种嵌入式系统现场可编程门阵列逻辑自加载方法,其特征在于包括将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中存储的单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;所述自动启动加载逻辑模块启动现场可编程门阵列;和所述自动启动加载逻辑模块将所述现场可编程门阵列的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载。
2. 如权利要求1所述的嵌入式系统现场可编程门阵列逻辑自加载方法,其特征在于上 述过程之后还包括所述自动启动加载逻辑模块将程序指针指向第三存储空间存储的单板应用程序模块。
3. 如权利要求1或2所述的嵌入式系统现场可编程门阵列逻辑自加载方法,其特征在 于所述自动启动加载逻辑模块将所述现场可编程门阵列的逻辑文件,根据所述单板逻辑下 载模块中记载的加载方式进行加载具体包括确定当前单板上的逻辑状态还没有正常加载所述逻辑文件;从所述单板逻辑下载模块中获取单板逻辑类型;所述自动启动加载逻辑模块获取单板待加载的所述逻辑文件;所述自动启动加载逻辑模块从所述单板逻辑下载模块中确定当前逻辑的所述加载方 式;和所述自动启动加载逻辑模块根据所述加载方式将所述逻辑文件加载至所述现场可编 程门阵列。
4. 如权利要求3所述的嵌入式系统现场可编程门阵列逻辑自加载方法,其特征在于所 述自动启动加载逻辑模块启动所述现场可编程门阵列具体为所述自动启动加载逻辑模块根据所述单板逻辑引导模块将所述单板逻辑下载模块进 行初始化;所述单板逻辑下载模块将所述现场可编程门阵列启动。
5. —种嵌入式系统现场可编程门阵列逻辑自加载系统,其特征在于包括 绑定模块,用于将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中存储的单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;所述自动启动加载逻辑模块,用于启动现场可编程门阵列;和将所述现场可编程门阵 列的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载。
6. 如权利要求5所述的嵌入式系统现场可编程门阵列逻辑自加载系统,其特征在于还 包括所述自动启动加载逻辑模块,还用于将程序指针指向第三存储空间存储的单板应用程 序模块。
7. 如权利要求5或6所述的嵌入式系统现场可编程门阵列逻辑自加载系统,其特征在 于所述自动启动加载逻辑模块具体包括加载确定模块,用于确定当前单板上的逻辑状态还未正常加载所述逻辑文件; 自动加载逻辑模块,用于从所述单板逻辑下载模块中获取单板逻辑类型;获取单板待 加载的所述逻辑文件;从所述单板逻辑下载模块中确定当前逻辑的所述加载方式;和根据 所述加载方式将所述逻辑文件加载至所述现场可编程门阵列。
8.如权利要求7所述的嵌入式系统现场可编程门阵列逻辑自加载方法,其特征在于所述自动启动加载逻辑模块还包括自动启动模块,用于将所述单板逻辑下载模块进行初始化;所述单板逻辑下载模块将 所述现场可编程门阵列启动。
全文摘要
本发明公开了一种嵌入式系统现场可编程门阵列逻辑自加载方法及系统,该方法包括将单板逻辑引导模块,与单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;自动启动加载逻辑模块启动现场可编程门阵列;和自动启动加载逻辑模块将现场可编程门阵列的逻辑文件,根据记载的加载方式进行加载。该系统包括绑定模块,用于将单板逻辑引导模块,与单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;自动启动加载逻辑模块,用于启动现场可编程门阵列;和将现场可编程门阵列的逻辑文件,根据记载的加载方式进行加载。因此,本发明通过绑定方式,使得单板逻辑的内容、下载方式等相关因素改变的情况下不再需要重新编译和构建应用程序代码。
文档编号G06F9/445GK101697129SQ20091018106
公开日2010年4月21日 申请日期2009年10月27日 优先权日2009年10月27日
发明者张旭, 徐坤, 焦晓霞 申请人:中兴通讯股份有限公司;