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

文档序号:9432307阅读:来源:国知局
库建立后,后面的开发过程无需再建立新的元件库,可直接使用之前所建立好的元件库,节省了开发时间。
[0030]2.用图形库中的元件绘制待开发系统的软硬件模型
[0031]用图形语言描述的软硬件功能如图2所示,图形语言的基本元素包括元件和带箭头的连线,以及元件的属性配置接口,配置接口可配置元件的工作方式、数据源、数据的目的地等参数。本实施例中使用了软件加法器元件和硬件加法器元件,元件对象的结构体定义如图3所示。
[0032]3.对所绘制功能模型中的各元件进行拓扑排序,确定元件的执行顺序。
[0033]该步骤由图形逻辑处理单元完成,图形逻辑处理单元根据绘制的软硬件模型图形,进行元件的拓扑排序,确定元件的执行顺序,以便在转换成代码时,按顺序生成软件语句。
[0034]当元件级联时,前一个元件的输出是后一个元件的输入时,要保证它们访问的是同一个内存地址,这需要软件处理单元在拓扑排序时,为具有依赖关系的元件,即具有连线的地方需要指向相同的内存地址,用来传递数据,并把这些地址记录在元件对象中。本实施例图2中,两个软件加法器的输出正是后面硬件的加法器的输入,当硬件加法器计算两个数的和时,从内存地址获取数据,这也正是软件加法器的输出的内存地址,最后调用FPGA的硬件功能完成计算。
[0035]4.将模型中各元件替换成对应的软件元件代码、驱动代码或硬件描述语言。
[0036]本实施例中标识为iAdd的元件为软件加法器元件,其对应的软件代码如图4所示;标识为Add的元件为硬件加法器元件,其对应的驱动代码如图5所示。
[0037]5.利用编写好的平台框架代码将转换后的软件代码和驱动代码生成软件目标文件,用于嵌入式系统中的CPU运行。
[0038]该过程可由软件处理模块完成,软件处理模块把所有的软件代码和驱动代码与一个编写好的平台框架代码结合生成makefile工程,调用交叉编译工具链生成完整的软件目标文件,平台框架代码和底层平台相关,是相对固定不变的部分,为运行图形逻辑提供了运行环境。
[0039]6.利用硬件开发工具将所有的硬件描述语言转换成符合FPGA配置文件规范的比特流文件,用来配置嵌入式系统中的FPGA芯片。
[0040]本实施例中硬件加法器元件对应的硬件描述语言,由VHDL语言编写和设置,包括实体和结构体两部分,由常规的硬件开发工具根据功能开发,此处没有列出其VHDL代码。标识为DATA的元件为输入元件,可通过配置窗口指定输入数据源,或者配置为立即数。标识为GLOBAL的元件代表一个全局变量,即把计算后的结果存入一个内存变量中。
[0041]每个硬件功能单元的地址空间由系统运行时动态分配和维护。当需要的硬件功能不在FPAG资源中时,由FPAG配置芯片加载相应的Bit流文件到FPGA资源中,并返回加载的基地址,其对应的驱动代码通过该基地址访问硬件功能。用户不用关心访问硬件的通信细节,平台框架代码会记下分配的硬件元件基地址,当应用程序需要调用硬件功能时,会根据该基地址访问硬件功能。
[0042]从软件加法器元件的实现代码看到,它从管脚I和2获取两个输入数据,计算两个数的和,然后把结果写入管脚3,从硬件加法器元件的驱动代码看到,它也是从管脚I和2获取输入数据,不同的是它之后调用了 FPGA的硬件功能完成加法运算,这是通过操作开放的寄存器接口实现,由于在编译期硬件处理单元把硬件地址告诉了软件处理单元,软件处理单元可以通过该地址访问硬件的功能,因为硬件加法器运算速度快,该驱动代码没有检查标识寄存器,直接取结果。
[0043]通过FPGA的配置控制器动态的加载硬件功能单元,得到重构FPGA芯片的功能,并返回加载的基地址,由于nucleus系统运行在实地址模式,所以不需要把该基地址转换成虚拟地址,可以直接使用。
[0044]图形语言处理后变成如图6所示的代码,所有的元件对象按顺序存放在结构体数组中,获取到该数组的首地址后,可通过增加偏移定位到下一个元件对象。从图6中看到,把元件对象作为参数传递给元件对应的代码。平台框架代码已创建好用户任务,把生成的图6代码添加到任务的执行路径中,用户功能即可在该任务中运行,完成预定义的功能。
【主权项】
1.一种可视化软硬件协同开发方法,其特征在于,该开发方法包括以下步骤: 1)根据元件自身的属性,建立元件库,元件库中元件分为软件元件和驱动元件,软件元件采用软件代码编写,驱动元件包括驱动代码和硬件描述语言,每一个元件均有对应的函数声明和功能实现代码; 2)利用所建立的元件库绘制待开发系统的软硬件功能模型; 3)对所绘制功能模型中的各元件进行拓扑排序,确定元件的执行顺序,并将模型中各元件替换成对应的软件元件代码、驱动代码或硬件描述语言; 4)利用编写好的平台框架代码将转换后的软件代码和驱动代码生成软件目标文件,用于在嵌入式系统中的CPU运行; 5)利用硬件开发工具将所有的硬件描述语言转换成符合FPGA配置文件规范的比特流文件,用来配置嵌入式系统中的FPGA芯片。2.根据权利要求1所述的可视化软硬件协同开发方法,其特征在于,所述步骤2)中的功能模型的基本元素包括元件、带箭头的连线和元件的属性配置接口,所述属性配置接口用于配置元件的工作方式、数据源和数据的目的地参数。3.根据权利要求2所述的可视化软硬件协同开发方法,其特征在于,所述当元件级联时,即前一个元件的输出是后一个元件的输入时,在拓扑排序时,需保证具有依赖关系的元件访问的是同一个内存地址。4.根据权利要求3所述的可视化软硬件协同开发方法,其特征在于,所述每个硬件功能的地址空间由系统运行时动态分配和维护。5.根据权利要求4所述的可视化软硬件协同开发方法,其特征在于,所述当需要的硬件功能不在FPGA资源中时,由FPGA配置芯片加载相应的Bit流文件到FPGA资源中,并返回加载的基地址,其对应的驱动代码通过该地址访问硬件功能。6.根据权利要求1所述的可视化软硬件协同开发方法,其特征在于,所述元件库中的元件有自己的属性,包括图形颜色、形状,管脚数量和类型,管脚分为输入管脚和输出管脚两种类型,每个管脚关联的数据类型。
【专利摘要】本发明涉及一种可视化软硬件协同开发方法,属于嵌入式系统开发技术领域。本发明根据用户描述的软硬件功能,利用元件库中的元件建立相应的软硬件模型,并根据模型中各元件所对应的代码生成软件目标文件和其协作的FPGA目标文件,使得在一个开发环境下进行软硬件的协同开发,而不用关心软件和硬件的协作和通信细节,提高了开发效率,同时为用户提供的软硬件接口,能够充分利用软硬件资源,提高系统的性价比,使用图形化的开发方式,用户不用编写任何代码,减少了开发错误,保证了产品质量。
【IPC分类】G06F9/44
【公开号】CN105183485
【申请号】CN201510630878
【发明人】陈献庆, 包伟, 杨智德, 宋彦锋, 李旺, 徐艳艳, 马卫平, 李 杰, 叶留义, 赵丽娜, 杨健, 周东杰, 郑拓夫
【申请人】许继集团有限公司, 许继电气股份有限公司, 许昌许继软件技术有限公司, 国家电网公司
【公开日】2015年12月23日
【申请日】2015年9月29日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1