CN112241268A - 一种keil工程的编译方法、系统及设备 - Google Patents
一种keil工程的编译方法、系统及设备 Download PDFInfo
- Publication number
- CN112241268A CN112241268A CN202011001978.1A CN202011001978A CN112241268A CN 112241268 A CN112241268 A CN 112241268A CN 202011001978 A CN202011001978 A CN 202011001978A CN 112241268 A CN112241268 A CN 112241268A
- Authority
- CN
- China
- Prior art keywords
- test
- bat
- command
- keil
- script
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012360 testing method Methods 0.000 claims abstract description 116
- 238000013515 script Methods 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000010998 test method 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
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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种keil工程的编译方法,用于为RTL单元测试点批量生成bin文件,包括以下步骤:将所有RTL单元测试点组织在同一个keil工程中,将每个单元测试点对应的测试参数以宏定义方式定义在一个配置文件中;根据测试需求,在BAT脚本中写下对配置文件中的单个单元测试点对应测试参数进行修改的BAT命令,之后紧接keil编译命令;在BAT脚本中重复进行上述过程,直至覆盖测试需求中的所有单元测试点;执行BAT脚本,BAT脚本中的BAT命令自动进行测试参数的修改,keil编译命令执行keil工程的编译,生成各单元测试点对应的bin文件。
Description
技术领域
本发明涉及集成电路领域,具体涉及一种keil工程的编译方法、系统及设备。
背景技术
在进行RTL硬件单元测试时需要在Windows下用keil生成测试所需的bin文件。
现有技术中生成bin文件的方法是针对不同的单元测试点建立不同的keil工程,然后逐个编译,这样当有上百个单元测试点时就需要建立上百个keil工程,并逐个编译,费事费力并且不便工程管理。
发明内容
为解决上述技术问题,本发明提供一种keil工程的编译方法、系统及设备。
为解决上述技术问题,本发明采用如下技术方案:
一种keil工程的编译方法,用于为RTL单元测试点批量生成bin文件,包括以下步骤:
步骤一:将所有RTL单元测试点组织在同一个keil工程中,将每个单元测试点对应的测试参数以宏定义方式定义在一个配置文件中;
步骤二:根据测试需求,在BAT脚本中写下对配置文件中的单个单元测试点对应测试参数进行修改的BAT命令,之后紧接keil编译命令;在BAT脚本中重复进行上述过程,直至覆盖测试需求中的所有单元测试点;
步骤三:执行BAT脚本,BAT脚本中的BAT命令自动进行测试参数的修改,keil编译命令执行keil工程的编译,生成各单元测试点对应的bin文件。
具体地,步骤一中,以宏定义方式将所有单元测试点的测试参数定义在一个.h配置文件中。
具体地,步骤二和步骤三中利用BAT命令对测试参数进行修改时,通过与配置文件中的宏进行字符串匹配的方式定位特定的测试参数,并对该测试参数进行修改。
一种keil工程的编译系统,包括:
工程文件生成模块,其将所有RTL单元测试点组织在同一个keil工程中,将每个单元测试点对应的测试参数以宏定义方式定义在一个配置文件中;
脚本生成模块,其根据测试需求,在BAT脚本中写下对配置文件中的单个单元测试点对应测试参数进行修改的BAT命令,之后紧接keil编译命令;在BAT脚本中重复进行上述过程,直至覆盖测试需求中的所有单元测试点;
二进制文件生成模块,其执行BAT脚本,BAT脚本中的BAT命令自动进行测试参数的修改,keil编译命令执行keil工程的编译,生成各单元测试点对应的bin文件。
一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的编译方法。
与现有技术相比,本发明的有益技术效果是:
在一个keil工程文件上集成所有的单元测试点,利用BAT脚本完成不同单元测试点的测试参数配置,通过一个keil工程文件即能很方便的得到所有单元测试点所需要的bin文件,提高了编译效率,降低了管理测试工程的人力成本。
附图说明
图1为本发明编译方法的流程示意图。
具体实施方式
下面结合附图对本发明的一种优选实施方式作详细的说明。
在集成电路设计中,RTL是用于描述同步数字电路操作的抽象级。
在RTL级,集成电路是由一组寄存器以及寄存器之间的逻辑操作构成的;绝大多数的电路可以被看成由寄存器来存储二进制数据、由寄存器之间的逻辑操作来完成数据的处理,数据处理的流程由时序状态机来控制,这些处理和控制可以用硬件描述语言来描述。
RTL级和门级的区别在于,RTL是用硬件描述语言描述理想达到的功能,门级则是用具体的逻辑单元来实现功能,门级最终可以在半导体厂加工成实际的硬件;RTL级和门级是设计实现上的不同阶段,RTL经过逻辑综合后,就得到门级。
RTL级采用硬件语言描述,在进行RTL硬件语言的单元测试时,需要在Windows系统下用keil软件生成测试所需的bin文件;BIN文件即为二进制文件。
现有技术中生成bin文件的方法是针对不同的单元测试点建立不同的keil工程,然后逐个编译,这样当有上百个单元测试点时就需要建立上百个keil工程,并逐个编译,费事费力且不便于进行工程管理。
本发明提供了一种keil工程的编译方法,用于为RTL单元测试点批量生成bin文件,包括以下步骤:
S1:将所有RTL单元测试点组织在同一个keil工程中,将每个单元测试点对应的测试参数以宏定义方式定义在一个配置文件中。
RTL单元测试用于检验被测硬件代码的一个很小的、很明确的功能是否正确,通常而言,一个RTL单元测试能够判断某个特定条件下某个特定过程的结果;进行充分的RTL单元测试,能够提硬件设计的可靠性。
S2:根据测试需求,在BAT脚本中写下对配置文件中的单个单元测试点对应测试参数进行修改的BAT命令,之后紧接keil编译命令;在BAT脚本中重复进行上述过程,直至覆盖测试需求中的所有单元测试点。
具体地,步骤一中,以宏定义方式将所有单元测试点的测试参数定义在一个.h配置文件中;本实施例中,定义在config.h配置文件中。
宏定义是一种计算机科学术语,它根据一系列预定义的规则替换一定的文本模式。
具体地,步骤二和步骤三中利用BAT命令对测试参数进行修改时,通过与配置文件中的宏进行字符串匹配的方式定位特定的测试参数,并对该测试参数进行修改。
在BAT脚本里添加keil编译命令为keil软件自带的cmd编译命令,具体格式为UV4-bkeil工程名称。
一个测试需求中,可能需要对多个单元测试点进行测试,BAT脚本编写时,先写测试需求中一个单元测试点对应测试参数的修改命令,紧接着写下keil编译命令,之后再写测试需求中另一个单元测试点对应测试参数的修改命令,紧接着写下keil编译命令;重复这个过程,直到覆盖测试需求中所有单元测试点。
S3:执行BAT脚本,BAT脚本中的BAT命令自动进行测试参数的修改,keil编译命令执行keil工程的编译,生成各单元测试点对应的bin文件。
本发明则采用了集中编译、集中配置的测试方法,提高了编译效率,降低了管理测试工程的人力成本。
现有技术中还存在一种编译方法:在Linux系统下利用Shell脚本和Makefile进行自动化工程编译,该技术首先要在Linux下安装arm_gcc编译器,建立每个工程时需要写Makefile,实行批量编译工程时需要写Shell脚本,对每个工程的输入参数进行修改,然后执行每个工程的Makefile;该技术的不足之处在于其必须在Linux系统下才能实现,需要开发人员具有使用Linux系统编程能力、编写Makefile和Shell脚本的能力,实现难度大。
本发明中的编译方法只需在Windows系统下通过BAT脚本和一个编译keil工程,即可实现对工程文件进行批量参数输入、修改以及编译。
一种keil工程的编译系统,包括:
工程文件生成模块,其将所有RTL单元测试点组织在同一个keil工程中,将每个单元测试点对应的测试参数以宏定义方式定义在一个配置文件中;
脚本生成模块,其根据测试需求,在BAT脚本中写下对配置文件中的单个单元测试点对应测试参数进行修改的BAT命令,之后紧接keil编译命令;在BAT脚本中重复进行上述过程,直至覆盖测试需求中的所有单元测试点;
二进制文件生成模块,其执行BAT脚本,BAT脚本中的BAT命令自动进行测试参数的修改,keil编译命令执行keil工程的编译,生成各单元测试点对应的bin文件。
一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的编译方法。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立技术方案,说明书的这种叙述方式仅仅是为了清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (5)
1.一种keil工程的编译方法,用于为RTL单元测试点批量生成bin文件,包括以下步骤:
步骤一:将所有RTL单元测试点组织在同一个keil工程中,将每个单元测试点对应的测试参数以宏定义方式定义在一个配置文件中;
步骤二:根据测试需求,在BAT脚本中写下对配置文件中的单个单元测试点对应测试参数进行修改的BAT命令,之后紧接keil编译命令;在BAT脚本中重复进行上述过程,直至覆盖测试需求中的所有单元测试点;
步骤三:执行BAT脚本,BAT脚本中的BAT命令自动进行测试参数的修改,keil编译命令执行keil工程的编译,生成各单元测试点对应的bin文件。
2.根据权利要求1所述keil工程的编译方法,其特征在于:步骤一中,以宏定义方式将所有单元测试点的测试参数定义在一个.h配置文件中。
3.根据权利要求1所述keil工程的编译方法,其特征在于:步骤二和步骤三中利用BAT命令对测试参数进行修改时,通过与配置文件中的宏进行字符串匹配的方式定位特定的测试参数,并对该测试参数进行修改。
4.一种keil工程的编译系统,其特征在于,包括:
工程文件生成模块,其将所有RTL单元测试点组织在同一个keil工程中,将每个单元测试点对应的测试参数以宏定义方式定义在一个配置文件中;
脚本生成模块,其根据测试需求,在BAT脚本中写下对配置文件中的单个单元测试点对应测试参数进行修改的BAT命令,之后紧接keil编译命令;在BAT脚本中重复进行上述过程,直至覆盖测试需求中的所有单元测试点;
二进制文件生成模块,其执行BAT脚本,BAT脚本中的BAT命令自动进行测试参数的修改,keil编译命令执行keil工程的编译,生成各单元测试点对应的bin文件。
5.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-3中任一项所述的编译方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011001978.1A CN112241268A (zh) | 2020-09-22 | 2020-09-22 | 一种keil工程的编译方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011001978.1A CN112241268A (zh) | 2020-09-22 | 2020-09-22 | 一种keil工程的编译方法、系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112241268A true CN112241268A (zh) | 2021-01-19 |
Family
ID=74171643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011001978.1A Pending CN112241268A (zh) | 2020-09-22 | 2020-09-22 | 一种keil工程的编译方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112241268A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356483A (zh) * | 2022-01-05 | 2022-04-15 | 北京京航计算通讯研究所 | 一种sap erp系统数据处理方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201281930Y (zh) * | 2008-10-27 | 2009-07-29 | 深圳市彤兴电子有限公司 | 液晶显示器配屏系统 |
TW201521821A (zh) * | 2013-10-11 | 2015-06-16 | Gi Therapies Pty Ltd | 用於傳遞經皮電刺激的系統、裝置和穿戴件 |
WO2015117419A1 (zh) * | 2014-07-16 | 2015-08-13 | 中兴通讯股份有限公司 | 一种跨平台移植python程序的方法及装置 |
US20150378687A1 (en) * | 2014-06-25 | 2015-12-31 | Unisys Corporation | Automated code parser for reviewing automation scripts |
CN106020918A (zh) * | 2016-04-29 | 2016-10-12 | 广州小百合信息技术有限公司 | 电视软件编译方法及系统 |
CN106371868A (zh) * | 2016-08-29 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种自动化测试方法、系统及测试机器 |
CN107632837A (zh) * | 2017-09-26 | 2018-01-26 | 歌尔股份有限公司 | 程序烧录系统及方法 |
CN108376073A (zh) * | 2016-11-15 | 2018-08-07 | 平安科技(深圳)有限公司 | 一种测试软件包生成方法及终端 |
CN109343854A (zh) * | 2018-09-18 | 2019-02-15 | 武汉精立电子技术有限公司 | 基于zynq系统的智能自动化编译方法及系统 |
CN109871314A (zh) * | 2019-01-02 | 2019-06-11 | 石化盈科信息技术有限责任公司 | 测试脚本的自动生成方法 |
CN110024014A (zh) * | 2016-08-03 | 2019-07-16 | 阿克利互动实验室公司 | 包括计算机化唤起元素的认知平台 |
CN110471663A (zh) * | 2018-05-11 | 2019-11-19 | 杭州海康威视数字技术股份有限公司 | 一种代码编译方法、装置及电子设备 |
-
2020
- 2020-09-22 CN CN202011001978.1A patent/CN112241268A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201281930Y (zh) * | 2008-10-27 | 2009-07-29 | 深圳市彤兴电子有限公司 | 液晶显示器配屏系统 |
TW201521821A (zh) * | 2013-10-11 | 2015-06-16 | Gi Therapies Pty Ltd | 用於傳遞經皮電刺激的系統、裝置和穿戴件 |
US20150378687A1 (en) * | 2014-06-25 | 2015-12-31 | Unisys Corporation | Automated code parser for reviewing automation scripts |
WO2015117419A1 (zh) * | 2014-07-16 | 2015-08-13 | 中兴通讯股份有限公司 | 一种跨平台移植python程序的方法及装置 |
CN106020918A (zh) * | 2016-04-29 | 2016-10-12 | 广州小百合信息技术有限公司 | 电视软件编译方法及系统 |
CN110024014A (zh) * | 2016-08-03 | 2019-07-16 | 阿克利互动实验室公司 | 包括计算机化唤起元素的认知平台 |
CN106371868A (zh) * | 2016-08-29 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种自动化测试方法、系统及测试机器 |
CN108376073A (zh) * | 2016-11-15 | 2018-08-07 | 平安科技(深圳)有限公司 | 一种测试软件包生成方法及终端 |
CN107632837A (zh) * | 2017-09-26 | 2018-01-26 | 歌尔股份有限公司 | 程序烧录系统及方法 |
CN110471663A (zh) * | 2018-05-11 | 2019-11-19 | 杭州海康威视数字技术股份有限公司 | 一种代码编译方法、装置及电子设备 |
CN109343854A (zh) * | 2018-09-18 | 2019-02-15 | 武汉精立电子技术有限公司 | 基于zynq系统的智能自动化编译方法及系统 |
CN109871314A (zh) * | 2019-01-02 | 2019-06-11 | 石化盈科信息技术有限责任公司 | 测试脚本的自动生成方法 |
Non-Patent Citations (3)
Title |
---|
LOONGEMBEDDED: "WinCE6.0的批量编译", 《博客园 HTTPS://WWW.CNBLOGS.COM/LOONGEMBEDDED/ARCHIVE/2012/08/05/5298704.HTML》 * |
刘国伟 等: "嵌入式装置可视化页面程序代码处理架构设计", 《单片机与嵌入式系统应用》 * |
李宁, 北京航空航天大学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356483A (zh) * | 2022-01-05 | 2022-04-15 | 北京京航计算通讯研究所 | 一种sap erp系统数据处理方法 |
CN114356483B (zh) * | 2022-01-05 | 2023-04-21 | 北京京航计算通讯研究所 | 一种sap erp系统数据处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8448132B2 (en) | Systems and methods for modifying code generation templates | |
CN105022630B (zh) | 一种组件管理系统及组件管理方法 | |
US9489184B2 (en) | Adaptive selection of programming language versions for compilation of software programs | |
CN107832059B (zh) | 一种基于Makefile的代码静态分析方法和装置 | |
US9665674B2 (en) | Automating a microarchitecture design exploration environment | |
US9372676B2 (en) | Method and system for loading status control of DLL | |
CN112630622B (zh) | ATE设备的pattern编译下载测试的方法及系统 | |
CN110109671B (zh) | 一种webpack标签尺寸样式转换方法及装置 | |
US20050229161A1 (en) | Generic user interface testing framework with load-time libraries | |
CN112148278A (zh) | 可视化的区块链智能合约框架及智能合约开发部署方法 | |
CN112882718A (zh) | 编译处理方法、装置、设备及存储介质 | |
CN104133676A (zh) | 一种基于脚本的功能执行方法和设备 | |
CN104102581A (zh) | 一种实现单元测试的方法及装置 | |
CN110333867B (zh) | 一种多方安全计算数据处理方法、装置及系统 | |
CN112241268A (zh) | 一种keil工程的编译方法、系统及设备 | |
CN109725905A (zh) | 基于源码集的软件架构及实现方法、用于编译pins组件的插件及应用方法 | |
CN114064218A (zh) | 用于机器学习组件中的镜像生成方法、系统、介质及应用 | |
CN111596923B (zh) | Haxe静态链接库构建方法、装置和电子设备 | |
CN104850015A (zh) | 一种软件封装方法及一种汽车电子控制器 | |
CN113867714A (zh) | 一种适配多语言的自动代码生成方法 | |
US20200349304A1 (en) | Method, apparatus, device, and medium for implementing simulator | |
CN111258915A (zh) | 一种针对plc程序进行自动化单元测试的方法 | |
CN112527680B (zh) | 一种基于Fitnesse框架的项目API级全链路自动化测试方法及系统 | |
CN112416362B (zh) | 一种pdk编译功能的实现方法 | |
CN114416100A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210119 |
|
RJ01 | Rejection of invention patent application after publication |