本发明涉及fpga芯片,尤其涉及一种基于fpga直启多设备可变操作系统。
背景技术:
1、目前现有通过fpga启动cpu的技术中,硬件上依旧依靠存储类芯片做引导,每个板卡须配备一个或多个存储类芯片或电路作为启动使用,特别是多系统设备中,造成芯片选型的多样性和复杂性,多系统启动几乎不能同一时刻完成。
2、现有技术中通过fpga启动带操作系统的芯片的方式,如:zynq等,还是依靠以太网等媒介进行,并未进行直接启动,由于添加了硬件电路,使操作系统启动由于外部电路带来的不稳定性不可估量,存在一定不确定性。
3、目前现有设备中,由外部存储芯片及硬件电路确定操作系统的启动方式,导致单个板卡启动系统的方式比较单一,如从一种启动方式切换到另一种启动方式,需要增加硬件电路才能实现,切换启动方式需要人为完成,同时软硬件联调也需要开发周期和成本。
4、目前现有的复杂系统中,如采用的系统类型比较单一,此类系统一致性比较好,但不能满足复杂设备的设计需求。复杂的设备需要多个芯片组成的多类型操作系统,主控芯片的种类及选型较多,如mcu、cpu、powerpc、zynq等,操作系统也包含linux、windows、android、vxworks,国产loongarch等,同时多个设备之间由于操作系统的不同,不兼容导致多个设备不能将各自操作系统同时部署完成,造成时间成本与资源调度的不平衡。
5、另外,操作系统的启动快慢受限于bootloader加载的方式,文件系统的大小和类型。此三项因素同时存在于多设备中,由于不受控,导致多设备的启动方式无程序化,使多设备的操作系统启动完成时刻的即时一致性面临困难,不能满足多系统中多个不同的操作系统同时高效的启动和部署完成,基于fpga对多种操作系统同时进行部署与优化在现有技术中并未提及。
技术实现思路
1、提供本
技术实现要素:
是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容不旨在确定所要求保护的主题的关键或重要特征,也不旨在用作确定所要求保护的主题的范围的辅助手段。
2、本发明的一个目的是解决至少上述问题和/或缺陷,并提供至少后面将说明的优点。
3、本发明还有一个目的是提供一种基于fpga直启多设备可变操作系统,达到多设备更加灵活配置和优化操作系统的目的。
4、为了实现根据本发明的这些目的和其它优点。本发明提出了如下技术方案:
5、一种基于fpga直启多设备可变操作系统,其包括多个主控芯片和多个fpga,多个所述主控芯片一一对应于多个设备,多个fpga与多个所述主控芯片交互联接;多个fpga通过程序设计,模拟出用于启动多个主控芯片的时序和对应的配置模型;所述fpga在获取来自所述主控芯片的启动更改操作系统的请求时,按照模拟出的启动时序将对应配置模型的数据发送给主控芯片,完成主控芯片操作系统启动变更。
6、可选地,所述fpga通过监控所述主控芯片的运行工况,模拟出对应工况下的用于启动所述主控芯片的时序和对应的配置模型。
7、可选地,所述配置模型被配置为包括模拟启动类型、芯片操作系统类型和最优适配文件系统。
8、可选地,所述主控芯片被配置为选自mcu、cpu、power pc或zynq。
9、可选地,所述模拟启动类型被配置为选自nor flash、nand flash、qspi、emmc、usb、etherner或sd。
10、可选地,所述芯片操作系统类型被配置为选自linux、windows、android、vxworks或loongarch。
11、可选地,所述最优适配文件系统被配置为选自低功耗、功能型或性能型。
12、可选地,所述fpga通过调整程序的时钟周期调整操作系统的启动时间。
13、可选地,所述fpga根据主控芯片的运行速度,确定程序运行的最优时钟。
14、由于采用上述技术方案,使得本发明取得的有益效果是:
15、1、fpga直接启动mcu或处理器等主控芯片,不采用外部存储类芯片或其他媒介做引导,节省了芯片及外围电路或设备,同时软件设计也不会因为硬件的因素,带来影响调试和开发的不确定性,由于此部分硬件导致故障的判断及维护也由此而避免;
16、2、fpga直接启动mcu或处理器,免去添加的硬件及设备带来设计的多个环节。仅通过编写fpga端程序,模拟出可启动mcu或处理器控的时序,并通过fpga与mcu或处理器指令与数据交互,完成系统引导启动,如bootloader等,进而加载文件系统,如linux等,同时根据mcu或处理器的型号设计出多个启动方式、多种操作系统类型、多个大小不同的文件系统,达到多设备更加灵活配置和优化操作系统的目的。
17、3、基于fpga直启多设备可变操作系统,针对单个设备的应用的类型及场景,从多种加载方式中优选,多种文件系统的类型与大小组合中遴选,通过程序的交互,可控制多个设备的操作系统启动并同时完成。使复杂的多操作系统设备变得更加智能化,通过程序监控多设备运行状态来确定其他设备的引导程序和文件系统完成时间,达到多设备多操作系统部署的一致性。
18、4、基于fpga直启多设备可变操作系统,采用fpga直接启动可根据mcu或处理器等主控芯片的速度,确定程序运行的最优时钟,进而提升代码的执行效率。通过尽可能的配置较多的ddr,可将运行内存设计到最大,使芯片运行速度更快,内存容量更大,承载更大更多的文件系统。满足多设备的文件系统的同时分配与调用。
19、5、基于fpga直启多设备可变操作系统,多个fpga与多个mcu或处理器之间均为高速连接,互联互通,可同时共享分配每个fpga、mcu或处理器的文件系统。更多的互联措施,使多设备的操作系统能够即时共享,合理利用和分配带宽,针对特定的场景,等同于增加了fpga的并行带宽。
1.一种基于fpga直启多设备可变操作系统,其特征在于:包括多个主控芯片和多个fpga,多个所述主控芯片一一对应于多个设备,多个fpga与多个所述主控芯片交互联接;多个fpga通过程序设计,模拟出用于启动多个主控芯片的时序和对应的配置模型;所述fpga在获取来自所述主控芯片的启动更改操作系统的请求时,按照模拟出的启动时序将对应配置模型的数据发送给主控芯片,完成主控芯片操作系统启动变更。
2.根据权利要求1所述的基于fpga直启多设备可变操作系统,其特征在于,所述fpga通过监控所述主控芯片的运行工况,模拟出对应工况下的用于启动所述主控芯片的时序和对应的配置模型。
3.根据权利要求2所述的基于fpga直启多设备可变操作系统,其特征在于,所述配置模型被配置为包括模拟启动类型、芯片操作系统类型和最优适配文件系统。
4.根据权利要求1所述的基于fpga直启多设备可变操作系统,其特征在于,所述主控芯片被配置为选自mcu、cpu、power pc或zynq。
5.根据权利要求3所述的基于fpga直启多设备可变操作系统,其特征在于,所述模拟启动类型被配置为选自nor flash、nand flash、qspi、emmc、usb、etherner或sd。
6.根据权利要求3所述的基于fpga直启多设备可变操作系统,其特征在于,所述芯片操作系统类型被配置为选自linux、windows、android、vxworks或loongarch。
7.根据权利要求3所述的基于fpga直启多设备可变操作系统,其特征在于,所述最优适配文件系统被配置为选自低功耗、功能型或性能型。
8.根据权利要求1所述的基于fpga直启多设备可变操作系统,其特征在于,所述fpga通过调整程序的时钟周期调整操作系统的启动时间。
9.根据权利要求1所述的基于fpga直启多设备可变操作系统,其特征在于,所述fpga根据主控芯片的运行速度,确定程序运行的最优时钟。
