CAN协议代码源文件的生成方法和装置制造方法及图纸

技术编号:11880584 阅读:51 留言:0更新日期:2015-08-13 13:51
本发明专利技术提出一种CAN协议代码源文件的生成方法和装置,该方法包括读入预设文件,所述预设文件中包含CAN协议信息;采用预设的脚本,解析所述预设文件,生成预设类别的CAN协议代码源文件;输出所述CAN协议代码源文件。该方法能够实现CAN协议代码源文件的自动生成。

【技术实现步骤摘要】

本专利技术涉及汽车制造
,尤其涉及一种控制器局域网(Controller AreaNetwork, CAN)协议代码源文件的生成方法和装置。
技术介绍
当今,汽车电子控制器在汽车中的应用越来越广泛,已成为影响汽车性能的重要组成。汽车电子控制器程序的开发周期与质量作为整车开发周期与质量的一环,越来越受到汽车开发商的关注。CAN协议代码的开发在控制器底层软件开发项目中是一项很重要的工作。这一部分的代码规律性较强,但牵涉到的变量和文件较多,代码量大。现有技术中,CAN协议代码源文件采用人工编写及修改的方式,但是人工处理方式不仅费时费力,而且非常容易出错。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种CAN协议代码源文件的生成方法,该方法可以实现CAN协议代码源文件的自动生成。本专利技术的另一个目的在于提出一种CAN协议代码源文件的生成装置。为达到上述目的,本专利技术第一方面实施例提出的CAN协议代码源文件的生成方法,包括:读入预设文件,所述预设文件中包含CAN协议信息;采用预设的脚本,解析所述预设文件,生成预设类别的CAN协议代码源文件;输出所述CAN协议代码源文件。本专利技术第一方面实施例提出的CAN协议代码源文件的生成方法,通过将CAN协议信息包含在预设文件中,并采用预设脚本对预设文件进行解析,可以实现CAN协议代码源文件的自动生成,并通过自动生成提高效率和准确率,降低开发周期,降低成本。为达到上述目的,本专利技术第二方面实施例提出的CAN协议代码源文件的生成装置,包括:读入模块,用于读入预设文件,所述预设文件中包含CAN协议信息;处理模块,用于采用预设的脚本,解析所述预设文件,生成预设类别的CAN协议代码源文件;输出模块,用于输出所述CAN协议代码源文件。本专利技术第二方面实施例提出的CAN协议代码源文件的生成装置,通过将CAN协议信息包含在预设文件中,并采用预设脚本对预设文件进行解析,可以实现CAN协议代码源文件的自动生成,并通过自动生成提高效率和准确率,降低开发周期,降低成本。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。【附图说明】本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1是本专利技术一实施例提出的CAN协议代码源文件的生成方法的流程示意图;图2是本专利技术另一实施例提出的CAN协议代码源文件的生成方法的流程示意图;图3是本专利技术另一实施例提出的CAN协议代码源文件的生成方法的流程示意图;图4是本专利技术实施例中生成var.h文件的流程示意图;图5是本专利技术实施例中生成can_process.h文件的流程示意图;图6是本专利技术实施例中生成can_process.c文件的流程示意图;图7是本专利技术另一实施例提出的CAN协议代码源文件的生成装置的结构示意图;图8是本专利技术另一实施例提出的CAN协议代码源文件的生成装置的结构示意图。【具体实施方式】下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。相反,本专利技术的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。图1是本专利技术一实施例提出的CAN协议代码源文件的生成方法的流程示意图,该方法包括:Sll:读入预设文件,所述预设文件中包含CAN协议信息。其中,预设文件可以具体是包括分隔符的文件,具体如,字符分隔值(Comma-Separated Values,CSV)文件。CSV文件也可以称为逗号分隔值文件,其文件以纯文本形式存储表格数据表格数据例如为数字或文本。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。本实施例中,可以将CAN协议信息定义在CSV文件中。参见图2,包含CAN协议信息的CSV文件21可以称为:32bit_CAN_Definit1n.CSVoS12:采用预设的脚本,解析所述预设文件,生成预设类别的CAN协议代码源文件。可选的,参见图2,预设的脚本22可以是peri脚本。peri 一般被称为实用报表提取语言(Practical Extract1n and ReportLanguage),其借取了 C、sed、awk、shell scripting以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。简而言之,peri像C 一样强大,像awk、sed等脚本描述语言一样方便。可选的,预设类别的CAN协议代码源文件可以包括:用于变量定义的源文件,用于CAN协议解析定义的源文件,用于CAN协议解析处理的源文件,用于接口的源文件,其中,用于接口的源文本包括用于接口定义的源文件或者用于接口处理的源文件。本实施例中,用于变量定义的源文件可以表示为:vars.h文件,用于CAN协议解析定义的源文件可以表示为:can_process.h文件,用于CAN协议解析处理的源文件可以表示为:can_process.c文件,用于接口定义的源文件可以表示为:com.h文件,用于接口处理的源文件可以表示为:com.c文件。S13:输出所述CAN协议代码源文件。参见图2,输出的源文件23包括:vars.h文件,can_process.h文件,can_process, c 文件,com.h 文件,和 com.c 文件。另外,当需要修改CAN协议信息时,可以在csv文件中修改,之后再采用peri脚本运行,得到源文件。本实施例通过将CAN协议信息包含在预设文件中,并采用预设脚本对预设文件进行解析,可以实现CAN协议代码源文件的自动生成,并通过自动生成提高效率和准确率,降低开发周期,降低成本。图3是本专利技术另一实施例提出的CAN协议代码源文件的生成方法的流程示意图,本实施例以预设文件是CSV文件为例,该方法包括:S31:读入包含CAN协议代码的CSV文件,对所述CSV文件中的内容进行排序,生成临时文件。参见图3,该步骤可以用sort_1_spec表示。具体的,CSV文件中的内容可以分为多行和多列,可以按照预设列中内容的值大小对每行内容进行排序,得到临时文件,临时文件可以表示为temp, csv文件。预设列例如为如下字段表示的列:Column_1_Type,Column_CAN_ChanneI,Column_ID,或者,Column_CAN_Start_Bit。例如,假设列序号从O开始,行序号从I开始,以Column_1_Type字段的内容进行升序排列时,其中,CSV文件的第O列表示Column_1_Type,则如果CSV文件的第I行的第O列的值大于第2行第O列的值,则排序后,CSV文件的第I行排序在第2行的后面。S32:解析所述临时文件,生成每个所述源文件对应的数组。参见图3,该步骤可以用crea本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN104834510.html" title="CAN协议代码源文件的生成方法和装置原文来自X技术">CAN协议代码源文件的生成方法和装置</a>

【技术保护点】
一种CAN协议代码源文件的生成方法,其特征在于,包括:读入预设文件,所述预设文件中包含CAN协议信息;采用预设的脚本,解析所述预设文件,生成预设类别的CAN协议代码源文件;输出所述CAN协议代码源文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:周平
申请(专利权)人:北汽福田汽车股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1