CN110333870A - Simulink模型变量分配的处理方法、装置及设备 - Google Patents

Simulink模型变量分配的处理方法、装置及设备 Download PDF

Info

Publication number
CN110333870A
CN110333870A CN201910579905.1A CN201910579905A CN110333870A CN 110333870 A CN110333870 A CN 110333870A CN 201910579905 A CN201910579905 A CN 201910579905A CN 110333870 A CN110333870 A CN 110333870A
Authority
CN
China
Prior art keywords
variable
allocated
data type
digit information
simulink
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.)
Granted
Application number
CN201910579905.1A
Other languages
English (en)
Other versions
CN110333870B (zh
Inventor
宋炳雨
刘硕
何晓明
许晓梦
李峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weichai Power Co Ltd
Original Assignee
Weichai Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Weichai Power Co Ltd filed Critical Weichai Power Co Ltd
Priority to CN201910579905.1A priority Critical patent/CN110333870B/zh
Publication of CN110333870A publication Critical patent/CN110333870A/zh
Application granted granted Critical
Publication of CN110333870B publication Critical patent/CN110333870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/441Register allocation; Assignment of physical memory space to logical memory space
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种Simulink模型变量分配的处理方法、装置及设备,该方法包括:获取待分配Simulink模型变量的变量属性和数据类型的位数信息;根据所述变量属性与所述数据类型的位数信息,将所述待分配变量分配到与所述变量属性和位数信息对应的变量定义文件和声明文件中,以使得不同字节长度数据类型的变量在代码文件中不再交叉存放,节省了内存空间。

Description

Simulink模型变量分配的处理方法、装置及设备
技术领域
本申请涉及基于模型的嵌入式软件开发领域,尤其涉及一种Simulink模型变量分配的处理方法、装置及设备。
背景技术
嵌入式芯片的存储空间有限,节省资源使用具有重要意义。基于Simulink模型进行嵌入式应用软件开发,是目前汽车行业一种普遍的开发方式。
在Simulink模型自动生成的代码中,变量通常是按变量名称排序的方式进行定义的,即占用不同字节长度的数据类型的变量在代码文件中极有可能交叉存放,而在编译器编译时,变量在内存中的地址通常需要与它的字节长度对齐,因此不同字节长度的变量交错定义极有可能导致编译器为变量分配的地址不连续,从而导致“空穴”,也就会造成ECU(Electronic Control Unit,电子控制单元)内存资源的浪费。
发明内容
本申请提供一种Simulink模型变量分配的处理方法、装置及设备,以解决现有技术中不同字节长度的数据类型的变量在代码文件中交叉存放,从而导致内存资源浪费的问题。
本申请第一个方面提供一种变量分配的处理方法,包括:
获取待分配Simulink模型变量的变量属性和数据类型的位数信息;
根据所述变量属性与所述数据类型的位数信息,将所述待分配Simulink变量分配到与所述变量属性和位数信息对应的变量定义文件和声明文件中。
可选地,所述方法还包括:
采用所述变量定义文件的后处理脚本,为不同位数的所述变量定义文件指定不同的分段信息。
可选地,所述方法还包括:
将具有相同位数信息的分段信息进行汇总处理;
采用预配置链接文件,将汇总处理后的具有相同位数信息的变量在内存中连续存放。
可选地,所述获取待分配Simulink模型变量的数据类型的位数信息,包括:
若所述待分配变量的数据类型为基础数据类型,根据所述基础数据类型名称及当前项目模型所对应的目标芯片类型,确定所述待分配变量的位数信息。
可选地,所述获取待分配Simulink模型变量的数据类型的位数信息,还包括:
若所述待分配Simulink模型变量的数据类型为Simulink定点数据类型,将所述待分配Simulink模型变量的数据类型赋值给中间变量,对所述中间变量求取字节长度,获得所述待分配Simulink模型变量的位数信息。
可选地,所述获取待分配Simulink模型变量的数据类型的位数信息,还包括:
若所述待分配Simulink模型变量的数据类型为Simulink自定义数据类型,则调用数据字节长度函数,确定所述待分配Simulink模型变量的位数信息。
本申请第二个方面提供一种量分配的处理装置,包括:
获取模块,用于获取待分配Simulink模型变量的变量属性和数据类型的位数信息;
分配模块,用于根据所述变量属性与所述数据类型的位数信息,将所述待分配Simulink变量分配到与所述变量属性和位数信息对应的变量定义文件和声明文件中。
可选地,所述分配模块还用于:
采用所述变量定义文件的后处理脚本,为不同位数的所述变量定义文件指定不同的分段信息。
可选地,所述分配模块还用于:
将具有相同位数信息的分段信息进行汇总处理;
采用预配置链接文件,将汇总处理后的具有相同位数信息的变量在内存中连续存放。
可选地,所述获取模块用于:
若所述待分配变量的数据类型为基础数据类型,根据所述基础数据类型名称及当前项目模型所对应的目标芯片类型,确定所述待分配变量的位数信息。
可选地,所述获取模块还用于:
若所述待分配Simulink模型变量的数据类型为Simulink定点数据类型,将所述待分配Simulink模型变量的数据类型赋值给中间变量,对所述中间变量求取字节长度,获得所述待分配Simulink模型变量的位数信息。
可选地,所述获取模块还用于:
若所述待分配Simulink模型变量的数据类型为Simulink自定义数据类型,则调用数据字节长度函数,确定所述待分配Simulink模型变量的位数信息。本申请第三个方面提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的方法。
本申请第四个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的方法。
本申请提供的Simulink模型变量分配的处理方法、装置及设备,通过将不同变量属性和数据类型的位数信息的Simulink模型变量分配到对应的变量定义文件和声明文件中,以使得不同字节长度的数据类型的变量在代码文件中不再交叉存放,节省了内存空间。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的Simulink模型变量分配的处理方法的流程示意图;
图2为本申请一实施例提供的另一种Simulink模型变量分配的处理方法的流程示意图;
图3为本申请一实施例提供的Simulink模型变量分配的处理装置的结构示意图;
图4为本申请一实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请所涉及的名词进行解释:
ECU内存资源使用:嵌入式ECU芯片的储存资源是有限的,比如多大的FLASH空间,多大的RAM空间,ECU程序及变量定义等需要占用ECU芯片内存资源。
mpt或Simulink包:Simulink模型中使用的变量定义方式,两者在功能上没有太大差异,通常由用户根据自己实际情况决定变量定义方式,且两者在用法上几乎一致。以使用mpt进行变量定义为例,假如要定义一个名字为MySignal的信号量,则执行以下赋值语句:MySignal=mpt.Signal;
假如要定义一个名字为MyParameter的参变量,则执行以下赋值语句:MyParameter=mpt.Parameter。
m脚本:Matlab软件自带的编程脚本语言。
编译链接:编译器将C代码转化为可执行程序,通常要经过编译和链接两个主要过程;编译过程负责是将代码生成.o文件,而链接过程是根据链接文件,将前述所有的.o文件“链接”生成可刷写到控制芯片中的可执行程序。
资源分段:C代码文件中有函数定义、测量量变量定义、标定量变量定义等,其通过编译器编译后,不同的内容可以生成到不同的段中(按属性分类),通过C语言的pragma指令,可以指定分段的名称。
链接文件:编译器执行链接操作时需要的文件,此文件告诉编译器,各个分段在内存中如何存放,比如先放哪个分段,再放哪个分段。
本申请实施例提供的变量分配的处理方法,适用于Simulink环境下的变量分配及编译链接的应用场景,具体用于将相同类别且具有相同字节长度的变量生成在同一代码文件中。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
本申请一实施例提供一种Simulink模型变量分配的处理方法,用于对不同变量属性和不同位数信息的变量进行分配。本实施例的执行主体为Simulink模型变量分配的处理装置,该装置可以设置在电子设备上,其中,电子设备可以是任意的计算机设备,比如PC电脑、笔记本电脑、平板电脑等等。
图1为本申请实施例提供的Simulink模型变量分配的处理方法的流程示意图,如图1所示,该方法包括:
S101、获取待分配Simulink模型变量的变量属性和数据类型的位数信息;
其中,变量属性包括信号量和参变量,待分配变量的变量属性为其中的一种;数据类型可以为simulink中的基础数据类型中的boolean,uint8,int8等、通过fixdt定义的定点数据类型和自定义的数据类型,在本申请实施例中包括上述的数据类型,但是并不局限于此。
S102、根据所述变量属性与所述数据类型的位数信息,将所述待分配Simulink模型变量分配到与所述变量属性和位数信息对应的变量定义文件和声明文件中。
图2为本申请实施例提供的另一种Simulink模型变量分配的处理方法的流程示意图,如图2所示,在执行上述方法时,先判断待分配变量是否是使用mpt或Simulink包定义的变量,如果是,则继续识别该待分配变量的变量属性,例如是信号量还是参变量;如果不是,转下一个变量,如图2中步骤①和步骤②所示。
在判断待分配变量是mpt或Simulink包定义的变量,且确定了该变量的变量属性,进一步判断该变量是否是引用变量,即判断该变量是否在本应用层模块中定义,如果该变量在本应用层模块中引用,即非定义,也就是引用变量,则转到下一个变量重新判断,如图2中步骤③所示;
如果是若该变量不是应用变量,则执行步骤④,读取变量的数据类型并对该数据类型占用的位数信息进行判断。
在获取到待分配变量的变量属性和数据类型的位数信息后,根据变量属性与数据类型的位数信息,将待分配变量分配到与变量属性和位数信息对应的变量定义文件和声明文件中。
示例性地,待分配变量为信号量uint8、参变量uint16,在获取到待分配变量的变量属性和数据类型的位数信息后,根据变量属性是信号量或是参变量,位数信息是8位或是16位,将待分配变量分配到与变量属性和位数信息相对应的变量定义文件和声明文件中,定义文件以.c形式进行存储,声明文件以.h形式进行存储。
具体地,在执行上述方法之前,需要根据变量的变量属性及数据类型的占用位数信息,进行变量定义文件和声明文件进行配置。
也就是根据变量是信号量或参变量的变量属性,及数据类型占用位数信息,进行变量定义和声明文件配置信息修改,如图2中⑤所示。假设当前项目所用数据类型有8位、16位和32位三种情况,则在配置过程中可能使用到的定义和声明文件如下表1所示:
表1
上述配置完成后对simulink模型生成代码,则模型变量将自动生成定义到指定名称的变量定义文件中;同时意味着具有相同类别(信号量或参变量)且具有相同数据类型位数的变量,将生成到同一个变量定义文件和声明文件中,其中,定义文件和声明文件包含在代码文件中。
本申请提供的变量分配的处理方法,通过将不同变量属性和数据类型的位数信息的变量分配到对应的变量定义文件和声明文件中,以使得不同字节长度的数据类型的变量在代码文件中不再交叉存放,节省了内存空间。
本申请另一实施例对上述实施例提供的方法做进一步补充说明。
在上述实施例的基础上,可选地,该方法还包括:采用变量定义文件的后处理脚本,为不同位数的变量定义文件指定不同的分段信息。
在使用上述处理好的变量的模型执行自动代码生成,在代码生成结束后,在代码中增加pragma指令,可以指定分段的名称,即采用后处理脚本,分别为不同位数的变量定义文件指定不同的分段信息。在上述实施例的基础上,可选地,该方法还包括:
将具有相同位数信息的分段信息进行汇总处理;
采用预配置链接文件,将汇总处理后的具有相同位数信息的变量在内存中连续存放。
使用预先配置好的链接文件,将前述具有相同位数属性的分段按类别汇总到一起,并使用该链接文件对上述代码编译后的结果进行链接,从而保证具有相同位数属性的变量在内存中连续存放,进而达到节省芯片资源使用的目的。
在上述实施例的基础上,本申请中对Simulink模型中允许使用的数据类型要求为能够通过m脚本准确识别出数据类型的占用字节长度信息。
在本申请实施例中,假定允许使用的数据类型包括:
1、Simulink提供的基础数据类型:
如boolean,uint8,int8,uint16,int16,int32,uint32,float;
2、Simulink支持的通过fixdt定义的定点数据类型;
3、通过Simulink.NumericType自定义的数据类型;
作为一种可实施的方式,在上述实施例的基础上,可选地,获取待分配变量的数据类型的位数信息,包括:
若待分配变量的数据类型为基础数据类型,根据基础数据类型名称及当前项目模型所对应的目标芯片类型,确定待分配变量的位数信息。
具体地,如果变量的数据类型是Simulink提供的基础数据类型,则根据基础数据类型名称,结合当前项目模型所对应的目标芯片类型,即可判断占用字节长度信息。数据类型及占用字节数映射关系的表格如表2所示:
表2
作为另一种可实施的方式,在上述实施例的基础上,可选地,获取待分配Simulink模型变量的数据类型的位数信息,还包括:
若待分配Simulink模型变量的数据类型为定点数据类型,将待分配Simulink模型变量的数据类型赋值给中间变量,对中间变量求取字节长度,获得待分配Simulink模型变量的位数信息。
具体地,如果变量的数据类型是通过Matlab提供的“fixdt”定义的定点数据类型,则在m脚本中,将fixdt数据类型赋值给一个中间变量,然后对中间变量求取WordLength,即可达到数据类型位数信息。
以数据类型为fixdt(1,16,2^1,0)为例,计算方法如下:
DT=fixdt(1,16,2^1,0);
BitNum=DT.WordLength;
其中,DT为计算过程中的一个中间变量;
BitNum为fixdt数据类型对应的位数计算结果。
作为再一种可实施的方式,在上述实施例的基础上,可选地,获取待分配Simulink模型变量的数据类型的位数信息,还包括:
若待分配Simulink模型变量的数据类型为自定义数据类型,则调用数据字节长度函数,确定待分配Simulink模型变量的位数信息。
具体地,如果变量的数据类型是通过Matlab提供的Simulink.NumericType自定义的数据类型,则通过脚本执行DataType.WordLength即可获得该数据类型对应的位数信息,其中,"DataType"应为采用“Simulink.NumericType”实际定义的数据类型名称。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
本申请提供的Simulink模型变量分配的处理方法,通过将不同变量属性和数据类型的位数信息的变量分配到对应的变量定义文件和声明文件中,以使得不同字节长度的数据类型的变量在代码文件中不再交叉存放,进而解决了内存“空穴”的问题,节省了内存空间。
本申请另一实施例提供一种变量分配的处理装置,用于执行上述实施例提供的方法。
图3为本申请一实施例提供的Simulink模型变量分配的处理装置的结构示意图,如图3所示,该变量分配的处理装置包括获取模块10和分配模块20;
其中,获取模块10用于获取待分配变量的变量属性和数据类型的位数信息;
分配模块20用于根据所述变量属性与数据类型的位数信息,将待分配变量分配到预先配置好的与变量属性和位数信息相对应的变量定义文件和声明文件中。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本实施例提供的Simulink模型变量分配的处理装置,通过将不同变量属性和数据类型的位数信息的变量分配到对应的变量定义文件和声明文件中,以使得不同字节长度的数据类型的变量在代码文件中不再交叉存放,节省了内存空间。
本申请又一实施例对上述实施例提供的装置做进一步补充说明。
在上述实施例的基础上,可选地,
可选地,所述分配模块还用于:
采用所述变量定义文件的后处理脚本,为不同位数的所述变量定义文件指定不同的分段信息。
Simulink模型代码生成控制模块,用于将使用上述处理过的变量的Simulink模型执行自动代码生成。
可选地,所述分配模块还用于:
将具有相同位数信息的分段信息进行汇总处理;
采用预配置链接文件,将汇总处理后的具有相同位数信息的变量在内存中连续存放。
可选地,所述获取模块用于:
若所述待分配变量的数据类型为基础数据类型,根据所述基础数据类型名称及当前项目模型所对应的目标芯片类型,确定所述待分配变量的位数信息。
可选地,所述获取模块还用于:
若所述待分配Simulink模型变量的数据类型为Simulink定点数据类型,将所述待分配Simulink模型变量的数据类型赋值给中间变量,对所述中间变量求取字节长度,获得所述待分配Simulink模型变量的位数信息。
可选地,所述获取模块还用于:
若所述待分配Simulink模型变量的数据类型为Simulink自定义数据类型,则调用数据字节长度函数,确定所述待分配Simulink模型变量的位数信息。关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
根据本实施例的变量分配的处理装置,通过将不同变量属性和数据类型的位数信息的变量分配到对应的变量定义文件和声明文件中,以使得不同字节长度的数据类型的变量在代码文件中不再交叉存放,进而解决了内存“空穴”的问题,节省了内存空间。
本申请再一实施例提供一种电子设备,用于执行上述实施例提供的方法。
图4为本申请一实施例提供的电子设备的结构示意图,如图4所示,该电子设备包括:至少一个处理器51和存储器52;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述实施例提供的方法。
根据本实施例的变量分配的电子设备,通过将不同变量属性和数据类型的位数信息的变量分配到对应的变量定义文件和声明文件中,以使得不同字节长度的数据类型的变量在代码文件中不再交叉存放,节省了内存空间。
本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述任一实施例提供的方法。
根据本实施例的计算机可读存储介质,通过将不同变量属性和数据类型的位数信息的变量分配到对应的变量定义文件和声明文件中,以使得不同字节长度的数据类型的变量在代码文件中不再交叉存放,节省了内存空间。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种Simulink模型变量分配的处理方法,其特征在于,包括:
获取待分配Simulink模型变量的变量属性和数据类型的位数信息;
根据所述变量属性与所述数据类型的位数信息,将所述待分配Simulink变量分配到与所述变量属性和位数信息对应的变量定义文件和声明文件中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采用所述变量定义文件的后处理脚本,为不同位数的所述变量定义文件指定不同的分段信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将具有相同位数信息的分段信息进行汇总处理;
采用预配置链接文件,将汇总处理后的具有相同位数信息的变量在内存中连续存放。
4.根据权利要求1所述的方法,其特征在于,所述获取待分配Simulink模型变量的数据类型的位数信息,包括:
若所述待分配Simulink模型变量的数据类型为基础数据类型,根据所述基础数据类型名称及当前项目模型所对应的目标芯片类型,确定所述待分配Simulink模型变量的位数信息。
5.根据权利要求1所述的方法,其特征在于,所述获取待分配Simulink模型变量的数据类型的位数信息,还包括:
若所述待分配Simulink模型变量的数据类型为Simulink定点数据类型,将所述待分配Simulink模型变量的数据类型赋值给中间变量,对所述中间变量求取字节长度,获得所述待分配Simulink模型变量的位数信息。
6.根据权利要求1所述的方法,其特征在于,所述获取待分配Simulink模型变量的数据类型的位数信息,还包括:
若所述待分配Simulink模型变量的数据类型为Simulink自定义数据类型,则调用数据字节长度函数,确定所述待分配Simulink模型变量的位数信息。
7.一种变量分配的处理装置,其特征在于,包括:
获取模块,用于获取待分配Simulink模型变量的变量属性和数据类型的位数信息;
分配模块,用于根据所述变量属性与所述数据类型的位数信息,将所述待分配变量分配到预先配置好的与所述变量属性和位数信息相对应的变量定义文件和声明文件中。
8.根据权利要求7所述的装置,其特征在于,所述分配模块还用于:
采用所述变量定义文件的后处理脚本,为不同位数的所述变量定义文件指定不同的分段信息。
9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;
所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-6中任一项所述的方法。
CN201910579905.1A 2019-06-28 2019-06-28 Simulink模型变量分配的处理方法、装置及设备 Active CN110333870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910579905.1A CN110333870B (zh) 2019-06-28 2019-06-28 Simulink模型变量分配的处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910579905.1A CN110333870B (zh) 2019-06-28 2019-06-28 Simulink模型变量分配的处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110333870A true CN110333870A (zh) 2019-10-15
CN110333870B CN110333870B (zh) 2023-04-18

Family

ID=68143762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910579905.1A Active CN110333870B (zh) 2019-06-28 2019-06-28 Simulink模型变量分配的处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110333870B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760193A (zh) * 2021-08-26 2021-12-07 武汉天喻信息产业股份有限公司 用于资源受限制装置的数据读写方法、装置及指令集

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023583A (en) * 1996-10-25 2000-02-08 Kabushiki Kaisha Toshiba Optimized variable allocation method, optimized variable allocation system and computer-readable memory containing an optimized variable allocation program
US6041177A (en) * 1997-02-26 2000-03-21 Fujitsu Limited Program analyzing apparatus which categorizes variables into domains and method thereof
US20020078266A1 (en) * 2000-12-15 2002-06-20 Ricoh Company, Ltd. Processing system and method using recombinable software
JP2003157176A (ja) * 2001-11-21 2003-05-30 Nec Microsystems Ltd コンパイラ、その記憶領域割り付け方法およびそのプログラム
US20050097523A1 (en) * 2003-11-05 2005-05-05 Kabushiki Kaisha Toshiba System for compiling source programs into machine language programs, a computer implemented method for the compiling and a computer program product for the compiling within the computer system
JP2008226010A (ja) * 2007-03-14 2008-09-25 Hitachi Ltd コンパイル方法及びコンパイル装置
US20080313604A1 (en) * 2007-06-12 2008-12-18 International Business Machines Corporation (Ibm) System and method for automatically declaring variables
US20100223601A1 (en) * 2007-07-24 2010-09-02 Ezurio Limited Compilation method without explicit symbol table for saving memory
US20100281177A1 (en) * 2006-03-28 2010-11-04 France Telecom Method of generating a file describing a bitstream, corresponding device and computer program product
CA2716464A1 (en) * 2009-12-24 2011-06-24 Mcmaster University Bit-width allocation for scientific computations
US20120151437A1 (en) * 2010-12-09 2012-06-14 Bull Hn Information Systems Inc. Method for translating a cobol source program into readable and maintainable program code in an object oriented second programming language
CN103150445A (zh) * 2013-03-21 2013-06-12 北京经纬恒润科技有限公司 一种matlab模型变量的剖析方法及装置
CN103176812A (zh) * 2011-12-26 2013-06-26 联创汽车电子有限公司 离线标定数据覆盖与固化方法
US9424005B1 (en) * 2009-12-09 2016-08-23 The Mathworks, Inc. Templatized component
WO2016196753A1 (en) * 2015-06-03 2016-12-08 The Mathworks, Inc. Data type reassignment
US20190163449A1 (en) * 2017-11-30 2019-05-30 Dspace Digital Signal Processing And Control Engineering Gmbh Method and system for simulating a control program

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023583A (en) * 1996-10-25 2000-02-08 Kabushiki Kaisha Toshiba Optimized variable allocation method, optimized variable allocation system and computer-readable memory containing an optimized variable allocation program
US6041177A (en) * 1997-02-26 2000-03-21 Fujitsu Limited Program analyzing apparatus which categorizes variables into domains and method thereof
US20020078266A1 (en) * 2000-12-15 2002-06-20 Ricoh Company, Ltd. Processing system and method using recombinable software
JP2003157176A (ja) * 2001-11-21 2003-05-30 Nec Microsystems Ltd コンパイラ、その記憶領域割り付け方法およびそのプログラム
US20050097523A1 (en) * 2003-11-05 2005-05-05 Kabushiki Kaisha Toshiba System for compiling source programs into machine language programs, a computer implemented method for the compiling and a computer program product for the compiling within the computer system
US20100281177A1 (en) * 2006-03-28 2010-11-04 France Telecom Method of generating a file describing a bitstream, corresponding device and computer program product
JP2008226010A (ja) * 2007-03-14 2008-09-25 Hitachi Ltd コンパイル方法及びコンパイル装置
US20080313604A1 (en) * 2007-06-12 2008-12-18 International Business Machines Corporation (Ibm) System and method for automatically declaring variables
US20100223601A1 (en) * 2007-07-24 2010-09-02 Ezurio Limited Compilation method without explicit symbol table for saving memory
US9424005B1 (en) * 2009-12-09 2016-08-23 The Mathworks, Inc. Templatized component
CA2716464A1 (en) * 2009-12-24 2011-06-24 Mcmaster University Bit-width allocation for scientific computations
US20120023149A1 (en) * 2009-12-24 2012-01-26 Mcmaster University Bit-width allocation for scientific computations
US20120151437A1 (en) * 2010-12-09 2012-06-14 Bull Hn Information Systems Inc. Method for translating a cobol source program into readable and maintainable program code in an object oriented second programming language
CN103176812A (zh) * 2011-12-26 2013-06-26 联创汽车电子有限公司 离线标定数据覆盖与固化方法
CN103150445A (zh) * 2013-03-21 2013-06-12 北京经纬恒润科技有限公司 一种matlab模型变量的剖析方法及装置
WO2016196753A1 (en) * 2015-06-03 2016-12-08 The Mathworks, Inc. Data type reassignment
US20190163449A1 (en) * 2017-11-30 2019-05-30 Dspace Digital Signal Processing And Control Engineering Gmbh Method and system for simulating a control program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760193A (zh) * 2021-08-26 2021-12-07 武汉天喻信息产业股份有限公司 用于资源受限制装置的数据读写方法、装置及指令集
CN113760193B (zh) * 2021-08-26 2024-04-02 武汉天喻信息产业股份有限公司 用于资源受限制装置的数据读写方法、装置及指令集

Also Published As

Publication number Publication date
CN110333870B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN108846630B (zh) 一种资源控制系统及方法
CN109976761A (zh) 软件开发工具包的生成方法、装置及终端设备
CN110333862A (zh) Ui页面代码生成方法、装置以及服务器
CN109858019B (zh) 对话状态跟踪方法及装置、存储介质及语义识别系统
CN108427705A (zh) 电子装置、分布式系统日志查询方法及存储介质
CN104932480A (zh) 汽车诊断系统设计方法和装置
CN108845950A (zh) 测试装置、测试的方法及存储介质
CN108449313B (zh) 电子装置、互联网服务系统风险预警方法及存储介质
CN109992210B (zh) 数据存储方法、装置及电子设备
CN109062925A (zh) 自动生成insert语句的方法、装置、计算机设备及存储介质
CN110633959A (zh) 基于图结构的审批任务创建方法、装置、设备及介质
CN109587072A (zh) 分布式系统全局限速系统及方法
CN110502530A (zh) 数据库函数调用方法、系统、计算机设备及存储介质
CN111291936B (zh) 产品生命周期预估模型生成方法、装置及电子设备
CN110333870A (zh) Simulink模型变量分配的处理方法、装置及设备
CN107562520A (zh) 扩容虚拟机的内存的方法和装置
CN107767010A (zh) 范围值数据统计方法、电子装置及计算机可读存储介质
CN110442753A (zh) 一种基于opc ua的图数据库自动建立方法及装置
CN115755867A (zh) 一种车辆诊断方法及相关装置
CN108196844A (zh) 信息处理方法、装置、电子设备及存储介质
CN104461549B (zh) 图形界面的排列显示方法及装置
TWI826137B (zh) 電腦系統、應用於電腦系統的資源分配方法及執行資源分配方法的電腦程式產品
CN112698835B (zh) 一种单片机编译链接方法、装置、计算机设备及存储介质
CN114661301B (zh) 图形处理单元编译方法、装置、编译加速库和存储介质
CN108984060A (zh) 一种图标显示方法及终端设备

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
GR01 Patent grant
GR01 Patent grant