CN115454442A - 在matlab中搭建并编译卫星动力学仿真模型的方法 - Google Patents
在matlab中搭建并编译卫星动力学仿真模型的方法 Download PDFInfo
- Publication number
- CN115454442A CN115454442A CN202211110176.3A CN202211110176A CN115454442A CN 115454442 A CN115454442 A CN 115454442A CN 202211110176 A CN202211110176 A CN 202211110176A CN 115454442 A CN115454442 A CN 115454442A
- Authority
- CN
- China
- Prior art keywords
- file
- compiling
- function
- matlab
- source code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000003068 static effect Effects 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000012986 modification Methods 0.000 claims abstract description 17
- 230000004048 modification Effects 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 104
- 230000008569 process Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Abstract
本公开实施例公开了一种在MATLAB中搭建并编译卫星动力学仿真模型的方法,所述方法包括:获取源代码文件;所述源代码文件包括基于MATLAB中提供的模板编写的系统扩展函数;接收对静态库工程编译选项的修改内容,基于所述修改内容中提供的vxworks相关头文件、MATLAB相关头文件以及所述源代码文件,利用WorkBench的交叉编译工具进行编译,生成系统扩展函数静态库;获取用户搭建的卫星动力学仿真模型,基于所述系统扩展函数静态库对所述卫星动力学仿真模型进行编译;基于预先设计的makefile模板文件以及目标描述文件对所述卫星动力学仿真模型进行处理,得到在嵌入式操作系统中的可执行文件。
Description
技术领域
本公开涉及半实物实时仿真系统技术领域,具体涉及一种在MATLAB中搭建并编译卫星动力学仿真模型的方法。
背景技术
在航空、航天以及汽车动力学控制领域,经常使用MATLAB/Simulink软件进行半实物仿真模型开发,然后利用其RTW工具箱将模型转化为C语言代码,并调用相应的编译器生成可执行代码,下载到对应目标上运行。然而MATLAB软件官方仅提供了对老版vxWorks5.X开发环境Tornado软件的扩展支持,并不支持与较高版本vxWorks(6.X以上)操作系统开发环境WorkBench配合使用,需要设计打通MATLAB与WorkBench软件的相互调用。另外Simulink软件传统用法中,使用C语言编写的S函数模块是和用户模型共同完成编译的,S函数模块设计者需要提供源代码供用户模型开发使用,模型编译速度会有所下降且存在源代码泄露及篡改风险。
发明内容
本公开实施例提供一种在MATLAB中搭建并编译卫星动力学仿真模型的方法。
第一方面,本公开实施例中提供了一种在MATLAB中搭建并编译卫星动力学仿真模型的方法,其中,包括:
获取源代码文件;所述源代码文件包括基于MATLAB中提供的模板编写的系统扩展函数;
接收对静态库工程编译选项的修改内容,基于所述修改内容中提供的vxworks相关头文件、MATLAB相关头文件以及所述源代码文件,利用WorkBench的交叉编译工具进行编译,生成系统扩展函数静态库;
获取用户搭建的卫星动力学仿真模型,基于所述系统扩展函数静态库对所述卫星动力学仿真模型进行编译;
基于预先设计的makefile模板文件以及目标描述文件对所述卫星动力学仿真模型进行处理,得到在嵌入式操作系统中的可执行文件。
进一步地,基于预先设计的makefile模板文件以及目标描述文件对所述卫星动力学仿真模型进行处理,得到在嵌入式操作系统中的可执行文件,包括:
利用MATLAB中的RTW工具箱生成所述卫星动力学仿真模型对应的模型源代码以及基于预先设计的makefile模板文件生成对应的makefile文件;
利用所述makefile模板文件中预先配置好的GNU交叉编译工具集编译所述模型源代码;
将所述模型源代码的编译结果与所述makefile文件中配置的系统扩展函数静态库进行链接,生成所述可执行文件。
进一步地,所述系统扩展函数静态库包括UART数据收发函数、模数信号采集函数、数模信号输出函数、离散量信号输出函数、UDP收发函数、1553B总线初始化及数据读写函数。
第二方面,本公开实施例中提供了一种在MATLAB中搭建并编译卫星动力学仿真模型的装置,其中,包括:
第一获取模块,被配置为获取源代码文件;所述源代码文件包括基于MATLAB中提供的模板编写的系统扩展函数;
接收模块,被配置为接收对静态库工程编译选项的修改内容,基于所述修改内容中提供的vxworks相关头文件、MATLAB相关头文件以及所述源代码文件,利用WorkBench的交叉编译工具进行编译,生成系统扩展函数静态库;
第二获取模块,被配置为获取用户搭建的卫星动力学仿真模型,基于所述系统扩展函数静态库对所述卫星动力学仿真模型进行编译;
处理模块,被配置为基于预先设计的makefile模板文件以及目标描述文件对所述卫星动力学仿真模型进行处理,得到在嵌入式操作系统中的可执行文件。
进一步地,所述处理模块,包括:
生成子模块,被配置为利用MATLAB中的RTW工具箱生成所述卫星动力学仿真模型对应的模型源代码以及基于预先设计的makefile模板文件生成对应的makefile文件;
编译子模块,被配置为利用所述makefile模板文件中预先配置好的GNU交叉编译工具集编译所述模型源代码;
链接子模块,被配置为将所述模型源代码的编译结果与所述makefile文件中配置的系统扩展函数静态库进行链接,生成所述可执行文件。
进一步地,所述系统扩展函数静态库包括UART数据收发函数、模数信号采集函数、数模信号输出函数、离散量信号输出函数、UDP收发函数、1553B总线初始化及数据读写函数。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。
第三方面,本公开实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现上述任一方面所述的方法。
第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
第五方面,本公开实施例提供了一种计算机程序产品,其包含计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开提出了一种vxworks操作系统下MATLAB/SimulinkS函数模块封装调用设计,主要应用于基于MATLAB/Simulink进行模型开发的半实物(硬件在环)实时仿真系统中。其完成了在WorkBench开发环境下建立独立的软件工程,完成S函数库编译过程,并在MATLAB/Simulink模型编译过程中直接调用WorkBench交叉编译器及make工具集,联编S函数库,生成最终的模型可执行文件。通过分离S函数库编译及用户模型代码编译过程,减少了编译过程耦合,提高了模型编译速度,也提升了S函数源码相关产权保护能力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的一种在MATLAB中搭建并编译卫星动力学仿真模型的方法的流程图。
图2示出本公开一实施例的在MATLAB中搭建并编译卫星动力学仿真模型的系统结构原理示意图。
图3示出根据本公开一实施例的S函数库编译结构示意图。
图4示出根据本公开一实施例中用户模型调用S函数库原理图。
图5是适于用来实现根据本公开一实施方式的在MATLAB中搭建并编译卫星动力学仿真模型的方法的电子设备的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
本公开提出了一种vxworks操作系统下MATLAB/SimulinkS函数模块封装调用设计,主要应用于基于MATLAB/Simulink进行模型开发的半实物(硬件在环)实时仿真系统中。其完成了在WorkBench开发环境下建立独立的软件工程,完成S函数库编译过程,并在MATLAB/Simulink模型编译过程中直接调用WorkBench交叉编译器及make工具集,联编S函数库,生成最终的模型可执行文件。通过分离S函数库编译及用户模型代码编译过程,减少了编译过程耦合,提高了模型编译速度,也提升了S函数源码相关产权保护能力。
下面通过具体实施例详细介绍本公开实施例的细节。
图1示出根据本公开一实施方式的一种在MATLAB中搭建并编译卫星动力学仿真模型的方法的流程图。如图1所示,该一种在MATLAB中搭建并编译卫星动力学仿真模型的方法包括以下步骤:
在步骤S101中,获取源代码文件;所述源代码文件包括基于MATLAB中提供的模板编写的系统扩展函数;
在步骤S102中,接收对静态库工程编译选项的修改内容,基于所述修改内容中提供的vxworks相关头文件、MATLAB相关头文件以及所述源代码文件,利用WorkBench的交叉编译工具进行编译,生成系统扩展函数静态库;
在步骤S103中,获取用户搭建的卫星动力学仿真模型,基于所述系统扩展函数静态库对所述卫星动力学仿真模型进行编译;
在步骤S104中,基于预先设计的makefile模板文件以及目标描述文件对所述卫星动力学仿真模型进行处理,得到在嵌入式操作系统中的可执行文件。
本实施例可以在MATLAB 2010b中搭建卫星动力学仿真模型,并完成交叉编译将其下载到运行vxWorks 6.9.4.12操作系统的x86目标板上进行实时仿真,图2示出本公开一实施例的在MATLAB中搭建并编译卫星动力学仿真模型的系统结构原理示意图,图2左侧为MATLAB软件,用于最终MATLAB模型的可执行文件编译,右侧为WorkBench软件,用于S函数库编译。
在一些实施例中,步骤S104,即基于预先设计的makefile模板文件以及目标描述文件对所述卫星动力学仿真模型进行处理,得到在嵌入式操作系统中的可执行文件的步骤,进一步包括以下步骤:
利用MATLAB中的RTW工具箱生成所述卫星动力学仿真模型对应的模型源代码以及基于预先设计的makefile模板文件生成对应的makefile文件;
利用所述makefile模板文件中预先配置好的GNU交叉编译工具集编译所述模型源代码;
将所述模型源代码的编译结果与所述makefile文件中配置的系统扩展函数静态库进行链接,生成所述可执行文件。
在一些实施例中,所述系统扩展函数静态库包括UART数据收发函数、模数信号采集函数、数模信号输出函数、离散量信号输出函数、UDP收发函数、1553B总线初始化及数据读写函数。
本公开实施例将MATLAB的模型单次完整编译修改为了S函数库及MATLAB模型分离独立编译,同时设计打通了两个软件在分别进行两部分编译时的必要的相互调用关系,详细设计步骤如下。
步骤1、与MATLAB在编译模型目标文件时编译S函数C代码不同,本实施例先在vxWorks 6.9.4.12操作系统匹配的WorkBench 3.3集成开发软件中,新建“DownLoadableKernel Module Project”工程,将参考MATLAB提供的模板编写好的S函数C语言源代码,预先在WorkBench工程中完成编译,形成静态库。编写好的S函数包括UART(通用异步收发器,UniversalAsynchronous Receiver/Transmitter)数据收发、AD(模数转换)信号采集、DA(数模转换)信号输出、离散量信号输出、UDP(用户数据报协议,User Datagram Protocol)收发、1553B总线初始化及数据读写等S函数模块。
步骤2、WorkBench中的S函数库工程编译依赖MATLAB中的RTW工具箱内相关头文件与源文件,需要手动添加相关头文件目录及相关编译选项。本实施例中修改静态库工程编译选项。选择编译器为x86目标板对应的“NEHALEMgnu_SMP”;增加MATLAB安装目录下相关头文件路径设置,包括“simulink/include”、“extern/include”、“rtw/c/src”、“rtw/c/src/ext_mode/common”;并增加S函数编译所必须的相关宏定义“-DUSE_RTMODEL–DRT-DTID01EQ=1-DRT_STATIC-DMT=0”。直接在WorkBench中编译静态库工程,编译关系如图3所示,利用Workbench中的交叉编译工具及vxworks相关头文件,结合MATLAB的相关头文件及源文件共同完成S函数静态库工程的编译,最终生成S函数静态库文件(.a文件)供用户使用,预先完成S函数库的编译可以提高模型编译速度,并防止S函数源代码泄露及用户非法篡改。
步骤3、如图4所示,编译好的S函数静态库中每个S函数在MATLAB Simulink中都设计了有对应的S函数Simulink模块,用户搭建完用户模型并编译用户模型时会根据S函数名建立与S函数静态库中函数的关联,并通过参数及输入输出进行模块到代码的数据交互,实现Workbench已编译的S静态库的调用。
步骤4、因MATLAB Simulink软件官方不提供WorkBench支持,需要设计makefile生成模板及目标描述文件,用于让MATLAB主动调用WorkBench软件中集成的交叉编译工具链及make工具集,同时需要引用WorkBench中相关的vxWorks头文件。在makefile模板文件中,需要将make工具指向引用WorkBench软件安装目录下的“utilities-1.0\x86-win32\bin\make”,并将GNU编译工具指向WorkBench软件安装路径下的“gnu\4.3.3-vxworks-6.9\x86-win32\i586-wrs-vxworks\bin”中的GNU交叉编译工具集,同时根据平台增加必要的编译优化选项,例如“-O2-ffast-math”,并增加链接静态库选项,链接步骤3编译好的S函数静态库。此时便能够打通MATLAB Simulink软件RTW工具箱生成并调用WorkBench集成编译工具的调用通道。目标描述文件基于原有MATLAB模板文件进行修改,例如可以修改目标名称和预设的目标选项等。
步骤5、用户使用MATLAB Simulink GUI界面,在模型配置“Real-Time WorkShop”中,选择“system target file”为步骤4设计的tlc文件(目标描述文件),选择相应的“Template makefile”会选择对应的tmf文件(makefile生成模板文件),即可完成Simulink编译工具与WorkBench编译工具链的关联。如图2左半边所示,用户直接使用Simulink GUI界面上的编译按钮,即可利用RTW工具箱在设计好的makefile生成模板及目标描述文件基础上自动生成模型源代码和makefile,并调用步骤5配置好的WorkBench中的GNU交叉编译工具编译用户模型源代码,并链接步骤3编译好的S函数静态库文件,生成最终的x86平台vxWorks操作系统下的“DownLoadable Kernel Module”可执行文件。
最终通过网络连接将生成的可执行文件下载到运行VxWorks操作系统的x86目标机运行即可为星载计算机实时仿真卫星动力学模型,进一步实现卫星控制计算机的半实物仿真系统的构建与控制算法测试验证。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
根据本公开一实施方式的在MATLAB中搭建并编译卫星动力学仿真模型的装置的结构框图。该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该在MATLAB中搭建并编译卫星动力学仿真模型的装置包括:
第一获取模块,被配置为获取源代码文件;所述源代码文件包括基于MATLAB中提供的模板编写的系统扩展函数;
接收模块,被配置为接收对静态库工程编译选项的修改内容,基于所述修改内容中提供的vxworks相关头文件、MATLAB相关头文件以及所述源代码文件,利用WorkBench的交叉编译工具进行编译,生成系统扩展函数静态库;
第二获取模块,被配置为获取用户搭建的卫星动力学仿真模型,基于所述系统扩展函数静态库对所述卫星动力学仿真模型进行编译;
处理模块,被配置为基于预先设计的makefile模板文件以及目标描述文件对所述卫星动力学仿真模型进行处理,得到在嵌入式操作系统中的可执行文件。
在本实施例的一个可选实现方式中,所述处理模块,包括:
生成子模块,被配置为利用MATLAB中的RTW工具箱生成所述卫星动力学仿真模型对应的模型源代码以及基于预先设计的makefile模板文件生成对应的makefile文件;
编译子模块,被配置为利用所述makefile模板文件中预先配置好的GNU交叉编译工具集编译所述模型源代码;
链接子模块,被配置为将所述模型源代码的编译结果与所述makefile文件中配置的系统扩展函数静态库进行链接,生成所述可执行文件。
在本实施例的一个可选实现方式中,所述系统扩展函数静态库包括UART数据收发函数、模数信号采集函数、数模信号输出函数、离散量信号输出函数、UDP收发函数、1553B总线初始化及数据读写函数。
图5是适于用来实现根据本公开一实施方式的在MATLAB中搭建并编译卫星动力学仿真模型的方法的电子设备的结构示意图。
如图5所示,电子设备500包括处理单元501,其可实现为CPU、GPU、FPGA、NPU等处理单元。处理单元501可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行本公开上述任一方法的实施方式中的各种处理。在RAM503中,还存储有电子设备500操作所需的各种程序和数据。处理单元501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施方式,上文参考本公开实施方式中的任一方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施方式中任一方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (9)
1.一种在MATLAB中搭建并编译卫星动力学仿真模型的方法,其特征在于,包括:
获取源代码文件;所述源代码文件包括基于MATLAB中提供的模板编写的系统扩展函数;
接收对静态库工程编译选项的修改内容,基于所述修改内容中提供的vxworks相关头文件、MATLAB相关头文件以及所述源代码文件,利用WorkBench的交叉编译工具进行编译,生成系统扩展函数静态库;
获取用户搭建的卫星动力学仿真模型,基于所述系统扩展函数静态库对所述卫星动力学仿真模型进行编译;
基于预先设计的makefile模板文件以及目标描述文件对所述卫星动力学仿真模型进行处理,得到在嵌入式操作系统中的可执行文件。
2.根据权利要求1所述的方法,其特征在于,基于预先设计的makefile模板文件以及目标描述文件对所述卫星动力学仿真模型进行处理,得到在嵌入式操作系统中的可执行文件,包括:
利用MATLAB中的RTW工具箱生成所述卫星动力学仿真模型对应的模型源代码以及基于预先设计的makefile模板文件生成对应的makefile文件;
利用所述makefile模板文件中预先配置好的GNU交叉编译工具集编译所述模型源代码;
将所述模型源代码的编译结果与所述makefile文件中配置的系统扩展函数静态库进行链接,生成所述可执行文件。
3.根据权利要求1或2所述的方法,其特征在于,所述系统扩展函数静态库包括UART数据收发函数、模数信号采集函数、数模信号输出函数、离散量信号输出函数、UDP收发函数、1553B总线初始化及数据读写函数。
4.一种在MATLAB中搭建并编译卫星动力学仿真模型的装置,其特征在于,包括:
第一获取模块,被配置为获取源代码文件;所述源代码文件包括基于MATLAB中提供的模板编写的系统扩展函数;
接收模块,被配置为接收对静态库工程编译选项的修改内容,基于所述修改内容中提供的vxworks相关头文件、MATLAB相关头文件以及所述源代码文件,利用WorkBench的交叉编译工具进行编译,生成系统扩展函数静态库;
第二获取模块,被配置为获取用户搭建的卫星动力学仿真模型,基于所述系统扩展函数静态库对所述卫星动力学仿真模型进行编译;
处理模块,被配置为基于预先设计的makefile模板文件以及目标描述文件对所述卫星动力学仿真模型进行处理,得到在嵌入式操作系统中的可执行文件。
5.根据权利要求4所述的装置,其特征在于,所述处理模块,包括:
生成子模块,被配置为利用MATLAB中的RTW工具箱生成所述卫星动力学仿真模型对应的模型源代码以及基于预先设计的makefile模板文件生成对应的makefile文件;
编译子模块,被配置为利用所述makefile模板文件中预先配置好的GNU交叉编译工具集编译所述模型源代码;
链接子模块,被配置为将所述模型源代码的编译结果与所述makefile文件中配置的系统扩展函数静态库进行链接,生成所述可执行文件。
6.根据权利要求4或5所述的装置,其特征在于,所述系统扩展函数静态库包括UART数据收发函数、模数信号采集函数、数模信号输出函数、离散量信号输出函数、UDP收发函数、1553B总线初始化及数据读写函数。
7.一种电子设备,其特征在于,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现权利要求1-3任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-3任一项所述的方法。
9.一种计算机程序产品,其包括计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211110176.3A CN115454442A (zh) | 2022-09-13 | 2022-09-13 | 在matlab中搭建并编译卫星动力学仿真模型的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211110176.3A CN115454442A (zh) | 2022-09-13 | 2022-09-13 | 在matlab中搭建并编译卫星动力学仿真模型的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115454442A true CN115454442A (zh) | 2022-12-09 |
Family
ID=84302121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211110176.3A Pending CN115454442A (zh) | 2022-09-13 | 2022-09-13 | 在matlab中搭建并编译卫星动力学仿真模型的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115454442A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116431317A (zh) * | 2023-06-12 | 2023-07-14 | 西安羚控电子科技有限公司 | 一种基于Vxworks仿真接口调度方法 |
-
2022
- 2022-09-13 CN CN202211110176.3A patent/CN115454442A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116431317A (zh) * | 2023-06-12 | 2023-07-14 | 西安羚控电子科技有限公司 | 一种基于Vxworks仿真接口调度方法 |
CN116431317B (zh) * | 2023-06-12 | 2023-09-01 | 西安羚控电子科技有限公司 | 一种基于Vxworks仿真接口调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10331425B2 (en) | Automated source code adaption to inject features between platform versions | |
US10452369B2 (en) | Code profiling of executable library for pipeline parallelization | |
CN110865889A (zh) | 组件间传递事件的方法和装置 | |
US20220027139A1 (en) | Application program updating method, apparatus, system, medium and device | |
CN110196720B (zh) | 一种Simulink生成动态链接库的优化方法 | |
CN111966396A (zh) | 数据处理方法及装置、计算机系统和计算机可读存储介质 | |
CN115454442A (zh) | 在matlab中搭建并编译卫星动力学仿真模型的方法 | |
CN113900704A (zh) | 应用程序安装包的发布方法、装置、可读介质及电子设备 | |
Cherubin et al. | libVersioningCompiler: An easy-to-use library for dynamic generation and invocation of multiple code versions | |
US8365154B2 (en) | Multi-language software development | |
Fernández-Prades et al. | Continuous reproducibility in GNSS signal processing | |
Mayer et al. | The ORKA-HPC Compiler—Practical OpenMP for FPGAs | |
CN113778451A (zh) | 文件加载方法、装置、计算机系统和计算机可读存储介质 | |
Fourtounis et al. | Supporting separate compilation in a defunctionalizing compiler | |
Kyriakou et al. | Enhancing C/C++ based OSS development and discoverability with CBRJS: A Rust/Node. js/WebAssembly framework for repackaging legacy codebases | |
Røst et al. | HyVar: Scalable Hybrid Variability for Distributed Evolving Software Systems | |
US20240012626A1 (en) | Non-transitory computer-readable storage medium with executable development program stored thereon, information processing system, information processing apparatus, and information processing method | |
CN115495351A (zh) | 代码测试方法、装置、设备及存储介质 | |
Elleuch et al. | Archmde approach for the development of embedded real time systems | |
CN117573277A (zh) | 微信小程序页面动态化方法、系统、设备及储存介质 | |
Damiani et al. | Scalable Hybrid Variability for Distributed Evolving Software Systems | |
Dozier et al. | A minimally invasive model data passing interface for integrating legacy environmental system models | |
Buahin et al. | From OpenMI to HydroCouple: Advancing OpenMI to support experimental simulations and standard geospatial datasets | |
Ronconi | Renewal and Optimization of ScamPy: a Python API for painting galaxies on top of dark matter simulations | |
CN113946338A (zh) | 基于rinsim仿真平台的c语言编译方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |