一种可视化软硬件协同开发方法

文档序号:9432307阅读:463来源:国知局
一种可视化软硬件协同开发方法
【技术领域】
[0001]本发明涉及一种可视化软硬件协同开发方法,属于嵌入式系统开发技术领域。
【背景技术】
[0002]当前,高性能的嵌入式系统一般包括CPU和FPGA两种方式处理高复杂度和高实时性的任务,CPU处理高复杂度的任务,而FPGA处理高实时性的任务。但现有的硬件平台和软件平台由于是各自独立的部分,由两个团队分别进行开发,没有太多的协同。一般CPU软件的开发属于软件平台范畴,FPGA的开发和硬件紧密相关,属于硬件开发的范畴,硬件平台设计提供的资源软件平台不能充分发挥作用,软件在硬件平台上运行的性能和效率也未能达到最优。最终应用中各个任务模块不能合理的分配到CPU和FPGA中。造成产品的成本升高和性能无法达到要求。尤其是,FPGA芯片支持的动态可重构功能,使得FPGA资源可以分时复用,使得有限的FPGA资源可以最大化的利用。这更需要一种协同开发的手段,来充分的利用软硬件功能。
[0003]另外,在传统的嵌入式系统设计领域,通常整个应用程序仅仅用软件实现,没有充分的利用硬件资源。随着以FPGA技术为代表的可编程器件的速度越来越快,使用越来越普遍,将应用程序实现成软硬件混合系统将能够达到更好的性价比。随着嵌入式产品的应用推广到各行各业,产品多种多样,市场竞争激烈,势必对产品的开发效率、可靠性和稳定性提出更高的要求。而以手工编写代码方式来开发的嵌入式系统,容易导致各种各样问题,使得产品的可靠性、稳定性大幅下降。这需要产品管理和开发人员寻求新的开发方法来保证产品的质量和可靠稳定性。

【发明内容】

[0004]本发明的目的是提供一种可视化软硬件协同开发方法,以解决目前嵌入式系统开发时采用手工编写代码的方式实现开发所导致开发的产品可靠性和稳定性低的问题。
[0005]本发明为解决上述技术问题提供了一种可视化软硬件协同开发方法,该开发方法包括以下步骤:
[0006]I)根据元件自身的属性,建立元件库,元件库中元件分为软件元件和驱动元件,软件元件采用软件代码编写,驱动元件包括驱动代码和硬件描述语言,每一个元件均有对应的函数声明和功能实现代码;
[0007]2)利用所建立的元件库绘制待开发系统的软硬件功能模型;
[0008]3)对所绘制功能模型中的各元件进行拓扑排序,确定元件的执行顺序,并将模型中各元件替换成对应的软件元件代码、驱动代码或硬件描述语言;
[0009]4)利用编写好的平台框架代码将转换后的软件代码和驱动代码生成软件目标文件,用于在嵌入式系统中的CPU运行;
[0010]5)利用硬件开发工具将所有的硬件描述语言转换成符合FPGA配置文件规范的比特流文件,用来配置嵌入式系统中的FPGA芯片。
[0011]所述步骤2)中的功能模型的基本元素包括元件、带箭头的连线和元件的属性配置接口,所述属性配置接口用于配置元件的工作方式、数据源和数据的目的地参数。
[0012]所述当元件级联时,即前一个元件的输出是后一个元件的输入时,在拓扑排序时,需保证具有依赖关系的元件访问的是同一个内存地址。
[0013]所述每个硬件功能的地址空间由系统运行时动态分配和维护。
[0014]所述当需要的硬件功能不在FPGA资源中时,由FPGA配置芯片加载相应的Bit流文件到FPGA资源中,并返回加载的基地址,其对应的驱动代码通过该地址访问硬件功能。
[0015]所述元件库中的元件有自己的属性,包括图形颜色、形状,管脚数量和类型,管脚分为输入管脚和输出管脚两种类型,每个管脚关联的数据类型。
[0016]本发明的有益效果是:本发明利用所建立的元件库绘制待开发系统的软硬件功能模型;对所绘制功能模型中的各元件进行拓扑排序,确定元件的执行顺序,并将模型中各元件替换成对应的软件元件代码、驱动代码或硬件描述语言;利用编写好的平台框架代码将转换后的软件代码和驱动代码生成软件目标文件,用于在待开发的嵌入式系统的CPU中运行;利用硬件开发工具将所有的硬件描述语言转换成符合FPGA配置文件规范的比特流文件,用来配置嵌入式系统中的FPGA芯片,从而实现嵌入式系统的可视化开发。
[0017]本发明根据用户描述的软硬件功能,利用元件库中的元件建立相应的软硬件模型,根据模型中各元件所对应的代码生成软件目标文件和其协作的FPGA目标文件,使得在一个开发环境下进行软硬件的协同开发,而不用关心软件和硬件的协作和通信细节,提高了开发效率,同时为用户提供的软硬件接口,能够充分利用软硬件资源,提高系统的性价比,使用图形化的开发方式,用户不用编写任何代码,减少了开发错误,保证了产品质量。
【附图说明】
[0018]图1是本发明可视化软硬件协同开发方法的工作原理图;
[0019]图2是本发明实施例中图形语言描述软硬件功能示意图;
[0020]图3是元件结构体定义实现程序代码;
[0021]图4是本发明实施例中软件加法器元件对应的代码;
[0022]图5是本发明实施例中硬件加法器元件对应的驱动代码;
[0023]图6是本发明实施例中图形语言转换成C语言的实现代码。
【具体实施方式】
[0024]下面结合附图对本发明的【具体实施方式】做进一步的说明。
[0025]针对上述情况,本发明提供的一种可视化的软硬件协同开发方法,采用用统一的图形语言描述软硬件功能,建立应用业务模型;用户通过元件、连线进行逻辑组态,描述软硬件功能,不需要编写任何代码,也不用关心软硬件的通信细节,降低开发人员要求,提高开发效率和保证系统可靠、稳定性。
[0026]本发明的整体工作原理图如图1所示,根据元件自身的属性,建立元件库,元件库中元件分为软件元件和驱动元件,软件元件采用软件代码编写,驱动元件包括驱动代码和硬件描述语言,每一个元件均有对应的函数声明和功能实现代码;利用所建立的元件库绘制待开发系统的软硬件功能模型;对所绘制功能模型中的各元件进行拓扑排序,确定元件的执行顺序,并将模型中各元件替换成对应的软件元件代码或驱动代码及其声明函数;利用编写好的平台框架代码将转换后的软件代码和驱动代码生成软件目标文件,由嵌入式系统中的CPU执行;利用硬件开发工具将所有的硬件描述语言转换成符合FPGA配置文件规范的比特流文件,用来配置嵌入式系统中的FPGA芯片,从而实现对嵌入式系统的软硬件开发。
[0027]下面以具体例子说明该方法的具体实施过程,运行环境为处理器是PoWerPC,FPGA芯片是支持局部动态重构的virtex系列,操作系统是nucleus系统。
[0028]1.建立元件库
[0029]元件有自己的属性,包括图形颜色、形状,管脚数量和类型,管脚分为输入管脚和输出管脚两种类型,每个管脚关联的数据类型。元件库中的元件分为软件元件和驱动元件,软件元件用软件编写,被编译成处理器指令由CPU执行;驱动元件包括驱动代码和硬件描述语言,驱动代码被编译成处理器指令,由CPU执行,硬件描述语言被编译、综合成FPGA比特流,配置到FPGA芯片中形成硬件电路,驱动代码可配置、访问该硬件电路对应的电路功能。在第一次进行可视化软件开发时该步骤是必须的,一旦元件
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1