CN112394937A - 一种嵌入式代码生成方法及装置 - Google Patents
一种嵌入式代码生成方法及装置 Download PDFInfo
- Publication number
- CN112394937A CN112394937A CN201910763312.0A CN201910763312A CN112394937A CN 112394937 A CN112394937 A CN 112394937A CN 201910763312 A CN201910763312 A CN 201910763312A CN 112394937 A CN112394937 A CN 112394937A
- Authority
- CN
- China
- Prior art keywords
- module
- pool
- acquiring
- configuration file
- embedded
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 238000000926 separation method Methods 0.000 claims description 6
- 230000008676 import Effects 0.000 claims 1
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000003912 environmental pollution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 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
- G06F8/44—Encoding
- G06F8/447—Target code generation
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)
Abstract
本发明提供了一种嵌入式代码生成方法及装置,涉及汽车技术领域。该嵌入式代码生成方法,包括:获取待生成项目的***配置文件;根据所述***配置文件,从预先设置的模块池和配置界面池中获取与所述待生成项目对应的模块集合及配置界面集合;获取用户配置文件;根据所述用户配置文件和所述模块集合,生成所述待生成项目的嵌入式代码。上述技术方案,通过***配置文件在模块池中进行模块选取,再通过用户配置文件对各模块进行配置,同时用户中途配置可进行保存,进而可以大大提高整车控制器软件架构下的软件开发效率和准确度。
Description
技术领域
本发明涉及汽车技术领域,特别涉及一种嵌入式代码生成方法及装置。
背景技术
近年来,随着世界范围内能源危机和环境污染问题的日益严重,人们对汽车节能减排的要求也逐渐提高。新能源汽车以其低噪声、无污染、能量来源多样化、能量效率高的特点受到了人们越来越多的关注,从而推动了新能源汽车的加速发展。
电动汽车具有三大核心控制器,即整车控制器(Vehicle Control Unit,VCU)单元、电机控制器(Motor Control Unit,MCU)单元和电池管理(Battery ManagementSystem,BMS)单元。VCU作为电动汽车整车控制***的核心部件,功能需要大大增强,控制***本身日趋复杂化,其在保障电动汽车安全可靠行驶方面起至关重要的作用。在VCU软件开发过程中,手动编码应对整车数量巨大的信号量,极容易产生错误,且生产效率比较低。
发明内容
本发明实施例提供一种嵌入式代码生成方法及装置,用以解决手动编码容易出错且效率低的问题。
为了解决上述技术问题,本发明实施例提供一种嵌入式代码生成方法,包括:
获取待生成项目的***配置文件;
根据所述***配置文件,从预先设置的模块池和配置界面池中获取与所述待生成项目对应的模块集合及配置界面集合;
获取用户配置文件;
根据所述用户配置文件和所述模块集合,生成所述待生成项目的嵌入式代码。
进一步地,所述获取与待生成项目的***配置文件之前,所述方法还包括:
对整车控制器的嵌入式架构代码按功能进行代码数据分离,获取包括有多个模块的模块池;
获取与所述模块池对应的配置界面池,其中所述配置界面池中的配置界面与所述模块池中的模块一一对应。
进一步地,所述获取用户配置文件,包括:
获取基于所述配置界面得到的用户配置文件;或者获取通过DBC数据库控制器局域网文件导入方式得到的用户配置文件。
进一步地,所述生成所述待生成项目的嵌入式代码之后,所述方法还包括:
对所述嵌入式代码进行编译,得到可执行输出文件。
本发明实施例还提供一种嵌入式代码生成装置,包括:
第一获取模块,用于获取待生成项目的***配置文件;
第二获取模块,用于根据所述***配置文件,从预先设置的模块池和配置界面池中获取与所述待生成项目对应的模块集合及配置界面集合;
第三获取模块,用于获取用户配置文件;
生成模块,用于根据所述用户配置文件和所述模块集合,生成所述待生成项目的嵌入式代码。
进一步地,所述装置还包括:
第四获取模块,用于对整车控制器的嵌入式架构代码按功能进行代码数据分离,获取包括有多个模块的模块池;
第五获取模块,用于获取与所述模块池对应的配置界面池,其中所述配置界面池中的配置界面与所述模块池中的模块一一对应。
进一步地,所述第三获取模块,包括:
第一获取单元,用于获取基于所述配置界面得到的用户配置文件;或者第二获取单元,用于获取通过DBC数据库控制器局域网文件导入方式得到的用户配置文件。
进一步地,所述装置还包括:
处理模块,用于对所述嵌入式代码进行编译,得到可执行输出文件。
本发明实施例还提供一种嵌入式代码生成装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的嵌入式代码生成方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的嵌入式代码生成方法的步骤。
本发明的有益效果是:
上述方案,通过***配置文件在模块池中进行模块选取,再通过用户配置文件获取各模块数据代码,同时可继承式配置开发,用户中途配置可进行保存,进而可以大大提高整车控制器软件架构下的软件开发效率和准确度。
附图说明
图1表示本发明实施例的嵌入式代码生成方法的流程示意图之一;
图2表示本发明实施例的嵌入式代码生成方法的流程示意图之二;
图3表示本发明实施例的嵌入式代码生成装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本发明针对手动编码容易出错且效率低的问题,提供一种嵌入式代码生成方法及装置。
如图1所示,本发明实施例提供一种嵌入式代码生成方法,包括:
步骤11,获取待生成项目的***配置文件。
步骤12,根据所述***配置文件,从预先设置的模块池和配置界面池中获取与所述待生成项目对应的模块集合及配置界面集合。
步骤13,获取用户配置文件。
步骤14,根据所述用户配置文件和所述模块集合,生成所述待生成项目的嵌入式代码。
需要说明的是,本发明实施例通过***配置文件在模块池中进行模块选取,再通过用户配置文件获取各模块数据代码,同时可继承式配置开发,用户中途配置可进行保存,进而可以大大提高整车控制器软件架构下的软件开发效率和准确度。
进一步需要说明的是,步骤11中的待生成项目可以是众多车型中的某一种,具体地,不同车型对于整车控制器的功能具有不同的要求,相应的整车控制器所使用的嵌入式代码因实现功能的不同而不同。其中,待生成项目的***配置文件根据不同项目需求提前进行定制,且用户配置文件在***配置文件的基础上生成。
具体地,本发明实施例在进行生成代码之前,为了便于选取待生成项目中需要的功能模块,需要对整车控制器的嵌入式代码架构进行模块化,即将模块代码进行固化,在进行整车控制器嵌入式代码生成时,根据待生成项目的***配置文件,选取需要的模块即可,同时,针对各模块,用户需要根据待生成项目的实际情况对模块进行配置,故还需要获取与所述模块对应的配置界面,故所述步骤11之前,所述方法还包括:
对整车控制器的嵌入式架构代码按功能进行代码数据分离,获取包括有多个模块的模块池;获取与所述模块池对应的配置界面池,其中所述配置界面池中的配置界面与所述模块池中的模块一一对应。
需要说明的是,为了使模块池涵盖所有待生成项目需要的模块,本发明实施例采用最大集合模块池,不同项目通过***配置文件在模块池中选取所需的模块,并在配置界面池中选取与所需模块对应的配置界面。
具体地,在获取到待生成项目所需的模块集合后,需要进一步根据待生成项目的具体要求对模块集合进行配置,故所述步骤13,包括:
获取基于所述配置界面得到的用户配置文件;或者获取通过DBC数据库控制器局域网文件导入方式得到的用户配置文件。
需要说明的是,用户可通过与模块对应的配置界面对模块进行配置,针对部分大数据量模块,考虑到用户若通过配置界面进行大数据量模块的配置,存在任务量大,容易出错的问题,故本发明实施例还提供一种配置方式,即通过导入文件的方式获取用户配置文件,优选地,所述文件可以是DBC文件或Excel文件。
进一步需要说明的是,通过配置界面或导入文件方式配置完成后,保存得到用户配置文件,可以方便在下次打开时恢复配置现场,继续继承开发。
进一步地,所述步骤14之后,所述方法还包括:
对所述嵌入式代码进行编译,得到可执行输出文件。
本实施例提供的嵌入式代码生成方法的具体流程,如图2所示,包括:
步骤201,嵌入式代码数据代码分离;
步骤202,建立模块池、配置界面池;
步骤203,建立各项目的***配置文件,主要包括:模块项、各模块内部通道项;
步骤204,选择待生成项目的***配置文件,不同项目的***配置文件对模块项的选择及模块内部通道项配置不同;
步骤205,根据用户选择的***配置文件,生成不同的模块集合及对应的配置界面集合;
步骤206,分别对各模块进行配置,通道的待选项也由模块的***配置文件给出;
步骤207,部分大数据量模块,可以进行EXCEL或DBC等文件导入,如CAN模块及数据交换模块等;
步骤208,用户配置完成或过程中均可对当前配置进行保存,其格式为XML称之用户配置文件,用户配置文件包含***配置文件内容;
步骤209,配置完成后切换至生成界面;
步骤210,选择预生成模块;
步骤211,生成项目数据代码至工程;
步骤212,切换至编译界面;
步骤213,生成可执行输出文件。
需要说明的是,步骤201至步骤204为本发明实施例的前置条件部分,步骤205至步骤213为本发明实施例的实现方法部分。
如图3所示,本发明的又一优选实施例还提供一种嵌入式代码生成装置,包括:
第一获取模块31,用于获取待生成项目的***配置文件;
第二获取模块32,用于根据所述***配置文件,从预先设置的模块池和配置界面池中获取与所述待生成项目对应的模块集合及配置界面集合;
第三获取模块33,用于获取用户配置文件;
生成模块34,用于根据所述用户配置文件和所述模块集合,生成所述待生成项目的嵌入式代码。
进一步地,所述装置还包括:
第四获取模块,用于对整车控制器的嵌入式架构代码按功能进行代码数据分离,获取包括有多个模块的模块池;
第五获取模块,用于获取与所述模块池对应的配置界面池,其中所述配置界面池中的配置界面与所述模块池中的模块一一对应。
进一步地,所述第三获取模块33,包括:
第一获取单元,用于获取基于所述配置界面得到的用户配置文件;或者第二获取单元,用于获取通过DBC数据库控制器局域网文件导入方式得到的用户配置文件。
进一步地,所述装置还包括:
处理模块,用于对所述嵌入式代码进行编译,得到可执行输出文件。
本发明的嵌入式代码生成装置实施例时与上述嵌入式代码生成方法的实施例对应的装置,上述嵌入式代码生成方法实施例的所有技术手段均适用于该嵌入式代码生成装置的实施例中,也能达到相同的技术效果。
本发明的另一优选实施例还提供一种嵌入式代码生成装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的嵌入式代码生成方法的步骤。
本发明的再一优选实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的嵌入式代码生成方法的步骤。
此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (10)
1.一种嵌入式代码生成方法,其特征在于,包括:
获取待生成项目的***配置文件;
根据所述***配置文件,从预先设置的模块池和配置界面池中获取与所述待生成项目对应的模块集合及配置界面集合;
获取用户配置文件;
根据所述用户配置文件和所述模块集合,生成所述待生成项目的嵌入式代码。
2.根据权利要求1所述的嵌入式代码生成方法,其特征在于,所述获取与待生成项目的***配置文件之前,所述方法还包括:
对整车控制器的嵌入式架构代码按功能进行代码数据分离,获取包括有多个模块的模块池;
获取与所述模块池对应的配置界面池,其中所述配置界面池中的配置界面与所述模块池中的模块一一对应。
3.根据权利要求1所述的嵌入式代码生成方法,其特征在于,所述获取用户配置文件,包括:
获取基于所述配置界面得到的用户配置文件;或者
获取通过DBC数据库控制器局域网文件导入方式得到的用户配置文件。
4.根据权利要求1所述的嵌入式代码生成方法,其特征在于,所述生成所述待生成项目的嵌入式代码之后,所述方法还包括:
对所述嵌入式代码进行编译,得到可执行输出文件。
5.一种嵌入式代码生成装置,其特征在于,包括:
第一获取模块,用于获取待生成项目的***配置文件;
第二获取模块,用于根据所述***配置文件,从预先设置的模块池和配置界面池中获取与所述待生成项目对应的模块集合及配置界面集合;
第三获取模块,用于获取用户配置文件;
生成模块,用于根据所述用户配置文件和所述模块集合,生成所述待生成项目的嵌入式代码。
6.根据权利要求5所述的嵌入式代码生成装置,其特征在于,所述装置还包括:
第四获取模块,用于对整车控制器的嵌入式架构代码按功能进行代码数据分离,获取包括有多个模块的模块池;
第五获取模块,用于获取与所述模块池对应的配置界面池,其中所述配置界面池中的配置界面与所述模块池中的模块一一对应。
7.根据权利要求5所述的嵌入式代码生成装置,其特征在于,所述第三获取模块,包括:
第一获取单元,用于获取基于所述配置界面得到的用户配置文件;或者
第二获取单元,用于获取通过DBC数据库控制器局域网文件导入方式得到的用户配置文件。
8.根据权利要求5所述的嵌入式代码生成装置,其特征在于,所述装置还包括:
处理模块,用于对所述嵌入式代码进行编译,得到可执行输出文件。
9.一种嵌入式代码生成装置,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4任一项所述的嵌入式代码生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的嵌入式代码生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910763312.0A CN112394937B (zh) | 2019-08-19 | 2019-08-19 | 一种嵌入式代码生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910763312.0A CN112394937B (zh) | 2019-08-19 | 2019-08-19 | 一种嵌入式代码生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112394937A true CN112394937A (zh) | 2021-02-23 |
CN112394937B CN112394937B (zh) | 2024-06-21 |
Family
ID=74603353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910763312.0A Active CN112394937B (zh) | 2019-08-19 | 2019-08-19 | 一种嵌入式代码生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112394937B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050120340A1 (en) * | 2003-12-01 | 2005-06-02 | Skazinski Joseph G. | Apparatus, system, and method for automated generation of embedded systems software |
CN101315604A (zh) * | 2008-06-30 | 2008-12-03 | 华为技术有限公司 | 软件定制模块的实现方法及*** |
US20110071651A1 (en) * | 2009-09-21 | 2011-03-24 | Gary Law | Methods and apparatus to manage module run sequences in a process control environment |
CN103116497A (zh) * | 2013-03-05 | 2013-05-22 | 北京经纬恒润科技有限公司 | 一种基于软件平台的多电子控制单元构建方法及*** |
US20180352421A1 (en) * | 2017-06-02 | 2018-12-06 | Mediatek Inc. | Mobile Device Configuration Method And Apparatus |
CN109240670A (zh) * | 2018-11-21 | 2019-01-18 | 北京锐安科技有限公司 | 模块化的软件开发方法、***、设备及介质 |
CN109271161A (zh) * | 2018-08-20 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 样板代码生成方法、装置及存储设备及计算机设备 |
CN109460279A (zh) * | 2018-12-14 | 2019-03-12 | 平安城市建设科技(深圳)有限公司 | 基于小程序的表单页面开发方法、装置、设备及存储介质 |
CN109683953A (zh) * | 2018-12-26 | 2019-04-26 | 苏州思必驰信息科技有限公司 | 一种基于可视化界面进行配置文件处理的方法及装置 |
CN109697065A (zh) * | 2018-12-17 | 2019-04-30 | 蜂巢(武汉)微***技术有限公司 | 一种嵌入式车载***的可视化开发方法 |
-
2019
- 2019-08-19 CN CN201910763312.0A patent/CN112394937B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050120340A1 (en) * | 2003-12-01 | 2005-06-02 | Skazinski Joseph G. | Apparatus, system, and method for automated generation of embedded systems software |
CN101315604A (zh) * | 2008-06-30 | 2008-12-03 | 华为技术有限公司 | 软件定制模块的实现方法及*** |
US20110071651A1 (en) * | 2009-09-21 | 2011-03-24 | Gary Law | Methods and apparatus to manage module run sequences in a process control environment |
CN103116497A (zh) * | 2013-03-05 | 2013-05-22 | 北京经纬恒润科技有限公司 | 一种基于软件平台的多电子控制单元构建方法及*** |
US20180352421A1 (en) * | 2017-06-02 | 2018-12-06 | Mediatek Inc. | Mobile Device Configuration Method And Apparatus |
CN109271161A (zh) * | 2018-08-20 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 样板代码生成方法、装置及存储设备及计算机设备 |
CN109240670A (zh) * | 2018-11-21 | 2019-01-18 | 北京锐安科技有限公司 | 模块化的软件开发方法、***、设备及介质 |
CN109460279A (zh) * | 2018-12-14 | 2019-03-12 | 平安城市建设科技(深圳)有限公司 | 基于小程序的表单页面开发方法、装置、设备及存储介质 |
CN109697065A (zh) * | 2018-12-17 | 2019-04-30 | 蜂巢(武汉)微***技术有限公司 | 一种嵌入式车载***的可视化开发方法 |
CN109683953A (zh) * | 2018-12-26 | 2019-04-26 | 苏州思必驰信息科技有限公司 | 一种基于可视化界面进行配置文件处理的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112394937B (zh) | 2024-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6936936B2 (ja) | ウェイクアップモデルの最適化方法、装置、デバイス及び記憶媒体 | |
CN109683953A (zh) | 一种基于可视化界面进行配置文件处理的方法及装置 | |
CN102222043B (zh) | 一种测试方法和测试装置 | |
CN107909998A (zh) | 语音指令处理方法、装置、计算机设备和存储介质 | |
CN111585344B (zh) | 一种基于全站ied仿真的变电站智能校核方法及装置 | |
CN112134310B (zh) | 一种基于大数据的人工智能电网调控操作方法及*** | |
CN116483980A (zh) | 人机交互方法、装置及*** | |
CN108804322A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN112905262B (zh) | 一种航天测控***配置方法及装置 | |
CN107526806A (zh) | 数据的转换方法及装置 | |
CN102023882A (zh) | 计算机自动识别手机并安装手机驱动程序的***及方法 | |
CN105760272A (zh) | 基于插件的监控后台业务定制方法及其*** | |
CN103699739A (zh) | 一种运载火箭飞行时序自动设计与生成*** | |
CN105897537B (zh) | 一种电池管理***配置整车通信协议的方法及*** | |
CN105447072A (zh) | 可配置的界面框架及利用该框架的搜索方法和*** | |
CN105512097A (zh) | 一种文件解析方法 | |
CN111312230A (zh) | 用于语音对话平台的语音交互监测方法及装置 | |
CN114399316A (zh) | 一种整车配置数据实现方法及*** | |
CN112394937A (zh) | 一种嵌入式代码生成方法及装置 | |
CN107563031B (zh) | 基于标准功能编码的智能变电站虚端子自动关联方法 | |
CN110716913B (zh) | 一种Kafka与Elasticsearch数据库数据的互相迁移方法 | |
CN117056478A (zh) | 一种电力客服***控制方法及装置 | |
CN109508204B (zh) | 一种前端代码质量检测方法及装置 | |
CN113687719A (zh) | 一种适用于语音信息的智能交互方法及装置 | |
CN113220345A (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 |