一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

MCAL的IO驱动模块自动配置方法及系统、存储介质与流程

2022-08-23 18:38:51 来源:中国专利 TAG:

mcal的io驱动模块自动配置方法及系统、存储介质
技术领域
1.本发明涉及车辆电子系统技术领域,具体涉及一种mcal的io驱动模块自动配置方法及系统、存储介质。


背景技术:

2.汽车开放系统架构(automotive open system architecture,autosar)是由全球主流汽车制造商、部件供应商等携手合作,为汽车工业开发的一个开放的、标准化的软件架构;有利于车辆电子系统软件的交换与更新,为高效管理愈来愈复杂的车辆电子、软件系统提供了一个基础。io驱动模块隶属于autosar分层架构中基础软件里面的微控制器抽象层(microcontroller abstraction layer,mcal),主要致力于实现车辆电子控制单元(ecu)的基础驱动功能。
3.随着车辆功能的不断丰富及近年来域控制器的提出,对车辆电子控制单元主控芯片的资源需求逐渐增加,因此,在控制器软件开发过程中,需要配置的io驱动引脚数量及引脚配置参数也急剧增加。在控制器主控芯片选型引脚丰富的情况下,往往完成一个主控芯片io驱动模块的配置,涉及的配置项上百甚至几百项。此外,在控制器开发前期阶段,往往涉及驱动引脚变更次数频繁且变更数量巨大的情况,且需要短期快速验证变更功能,这在一定程度上对io驱动模块配置时间提出了要求;并且,在io驱动模块配置参数数量巨大的情况下,容易导致错配漏配情况的发生。
4.因此,有必要提出一种实现批量自动化引脚配置的技术方案以应用于控制器软件开发前期工作中,缩短io驱动模块配置时间,提高配置效率,避免配置参数数量巨大的情况下错配漏配情况的发生。


技术实现要素:

5.本发明的目的在于提出一种mcal的io驱动模块自动配置方法及系统、计算机可读存储介质,以实现车辆控制器软件开发前期的批量自动化引脚配置,缩短io驱动模块配置时间,提高配置效率,避免配置参数数量巨大的情况下错配漏配情况的发生。
6.为实现上述目的,本发明实施例提出一种mcal的io驱动模块自动配置方法,所述方法包括运行预先编辑好的m脚本文件实现如下步骤:
7.创建mcal配置文件架构;
8.获取待配置芯片的软、硬件接口列表信息,并从所述软、硬件接口列表信息中提取待配置的引脚信息;所述引脚信息包括引脚号以及引脚属性;
9.根据所述引脚信息获得对应的配置组件内容;
10.将所述配置组件内容中的不同内容分别插入所述mcal配置文件架构中的对应位置,获得mcal配置文件数据;
11.根据所述mcal配置文件数据生成mcal配置文件。
12.可选地,所述mcal配置文件架构包括:xdm固定格式的头尾结构、适配eb tresos的
xdm树结构、每个io模块的通用配置项结构、与引脚相关的配置结构。
13.可选地,所述与引脚相关的配置结构包括每个引脚需要单独配置的内容、每个模块中引脚间具有共性的配置内容;该每个模块指的是所述待配置芯片的port模块、dio模块、adc模块、pwm输出模块、pwm输入模块。
14.可选地,所述软、硬件接口列表包括port模块、dio模块、adc模块、pwm输出模块、pwm输入模块的引脚信息;所述引脚信息包括引脚号以及引脚属性。
15.可选地,所述port模块的引脚信息包括:portid、pinid、pin名称、输入输出方向、引脚模式;所述dio模块的引脚信息包括:port名称、channel名称、channelid;所述adc模块的引脚信息包括:adchwunit名称、adcchannel名称、adcgroupid、adcchannelid;所述pwm输出模块的引脚信息包括:pwmchannel名称、pwmchannelid、tomchannelid、tom时钟源、portpinid;所述pwm输入模块的引脚信息包括:icuchannel名称、icuchannelid、timchannelid、tim时钟源、portpinid。
16.可选地,所述软、硬件接口列表根据所述待配置芯片的硬件原理图编辑得到。
17.可选地,所述根据所述引脚信息获得对应的配置组件内容,包括:
18.根据预设的正则表达式提取所述port模块、adc模块的引脚属性中的目标属性信息,并根据所述目标属性信息获得所述port模块、adc模块的衍生信息;其中,所述port模块的衍生信息包括:每个port中pin总数目、输出引脚的默认电平、输入引脚的上下拉电阻;所述adc模块的衍生信息包括:adchwunitid、adcgroup名称、adcgroup转换结束回调函数名称、当前adcgroup分配的adcchannel、存储adcchannel转换结果的寄存器id;
19.根据所述引脚信息以及所述衍生信息生成对应的配置组件内容。
20.可选地,所述方法的步骤基于运行预先编辑好的m脚本文件实现。
21.本发明第二方面提出一种mcal的io驱动模块自动配置系统,包括:
22.架构创建单元,用于创建mcal配置文件架构;
23.引脚信息获取单元,用于获取待配置芯片的软、硬件接口列表信息,并从所述软、硬件接口列表信息中提取待配置的引脚信息;所述引脚信息包括引脚号以及引脚属性;
24.配置组件获取单元,用于根据所述引脚信息获得对应的配置组件内容;
25.组件插入单元,用于将所述配置组件内容中的不同内容分别插入所述mcal配置文件架构中的对应位置,获得mcal配置文件数据;以及
26.配置文件生成单元,用于根据所述mcal配置文件数据生成mcal配置文件。
27.本发明第三方面提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述mcal的io驱动模块自动配置方法的步骤。
28.本发明实施例具有以下有益效果:
29.通过本发明实施例,将待配置芯片的引脚信息汇总到软硬件接口列表中,可以通过运行预先编辑好的程序指令(程序指令不具体限定任一种计算机编程语言)自动执行以下步骤“创建mcal配置文件架构;从待配置芯片的软、硬件接口列表信息中提取待配置的引脚信息;所述引脚信息包括引脚号以及引脚属性;根据所述引脚信息获得对应的配置组件内容;将所述配置组件内容中的不同内容分别插入所述mcal配置文件架构中的对应位置,获得mcal配置文件数据;最终,根据所述mcal配置文件数据生成mcal配置文件,实现自动将选定的软硬件接口参数列表中包含的io引脚进行mcal配置,并生成mcal配置文件(.xdm文
件)”,整个配置流程自动实现,极大地节省了控制器软件开发过程中基础软件io引脚驱动模块配置的时间,有效地避免了手动配置过程中由于配置项基数大带来的错漏问题,有利于快速、准确的实现整车开发过程中各控制器io驱动模块的功能开发。
30.本发明的其它特征和优点将在随后的说明书中阐述。
附图说明
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1为本发明实施例中一种mcal的io驱动模块自动配置方法的流程示意图。
33.图2为本发明实施例中一种mcal的io驱动模块自动配置系统的结构示意图。
具体实施方式
34.以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。另外,为了更好的说明本发明,在下文的具体实施例中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的手段未作详细描述,以便于凸显本发明的主旨。
35.参阅图1,本发明实施例提出一种mcal的io驱动模块自动配置方法,优选地,所述方法可以通过运行预先编辑好的m脚本文件实现如下步骤s1-s5,当然,也可以利用其他的计算机编程语言进行编辑生成其他类型的脚本文件;下面以m脚本文件为例进行介绍本实施例方法的步骤内容;
36.步骤s1、创建mcal配置文件架构;
37.具体而言,在m脚本中编辑创建mcal配置文件(.xdm文件)架构,所述mcal配置文件架构具体包括:xdm固定格式的头尾结构、适配eb tresos的xdm树结构、每个io模块的通用配置项结构、与引脚相关的配置结构;
38.其中,每个io模块的通用配置项结构:为本模块固定的通用配置内容,如模块的版本信息、模块需要使能的关键api等等,可以利用m脚本做成固定xdm内容输出;
39.其中,所述与引脚相关的配置结构包括每个引脚需要单独配置的内容、每个模块中引脚间具有共性的配置内容;该每个模块指的是所述待配置芯片的port模块、dio模块、adc模块、pwm输出模块、pwm输入模块;
40.具体地,所述与引脚相关的配置结构分为两类,一类是每个引脚需要单独配置的内容,如引脚名称、引脚id等等,需要在引脚检索过程中对应生成该引脚信息的xdm内容,再插入xdm树结构对应的位置;另一类为每个模块中引脚间具有共性的配置内容;
41.例如,adc模块中的adcgroup参数,一组adcgroup参数包含触发方式、触发源、转换方式等;由于同一组adchwunit下,可以建立多个adcgroup,每个adcgroup代表一种ad转换方式;而本组下adcchannel可以任意选择分配到某一个adcgroup,因此,可以根据实际使用需求,建立多组adcgroup配置结构,通常每个adchwunit为1-3种,再检索引脚分配情况,选择使用对应的adcgroup配置结构;
42.又例如,pwm输出模块的idlestate电平、默认占空比、默认周期、占空比极性(正占空比/负占空比)、产生pwm的功能单元等通用参数,鉴于在实际使用中,这类参数对于绝大多数的pwm输出引脚配置内容一致,因此在m脚本处理的时候,可以将这类参数做成一组配置结构,有特殊需求情况可做成多组配置结构,再在检索引脚时,插入对应组配置结构的内容;
43.步骤s2、获取待配置芯片的软、硬件接口列表信息,并从所述软、硬件接口列表信息中提取待配置的引脚信息;所述引脚信息包括引脚号以及引脚属性;
44.具体而言,所述软、硬件接口列表根据所述待配置芯片的硬件原理图编辑得到;所述软、硬件接口列表包括port模块、dio模块、adc模块、pwm输出模块、pwm输入模块的引脚信息;
45.具体地,所述从所述软、硬件接口列表信息中提取待配置的引脚信息指通过m语言代码,把所述软、硬件接口列表这份excel中的引脚参数信息提取到matlab空间,变成m语言可以处理的数据集;
46.其中,所述port模块的引脚信息包括:portid、pinid、pin名称、输入输出方向、引脚模式;所述dio模块的引脚信息包括:port名称、channel名称、channelid;所述adc模块的引脚信息包括:adchwunit名称、adcchannel名称、adcgroupid、adcchannelid;所述pwm输出模块的引脚信息包括:pwmchannel名称、pwmchannelid、tomchannelid、tom时钟源、portpinid;所述pwm输入模块的引脚信息包括:icuchannel名称、icuchannelid、timchannelid、tim时钟源、portpinid;
47.步骤s3、根据所述引脚信息获得对应的配置组件内容;
48.具体而言,包括步骤s31以及步骤s32;
49.所述步骤s31包括:根据预设的正则表达式提取所述port模块、adc模块的引脚属性中的目标属性信息,并根据所述目标属性信息获得所述port模块、adc模块的衍生信息;
50.具体地,所述正则表达式,又称规则表达式;英语为regular expression,在代码中常简写为regex、regexp或re,其为计算机科学的一个概念;正则表达式通常被用来检索、替换那些符合某个规则的文本信息,在本实施例中,通过正则表达式的匹配方式来检索上述步骤s2所提取的数据集中符合相应规则的目标属性信息;例如,所有pin名称参数的port_0属性;
51.其中,所述port模块的衍生信息包括:每个port中pin总数目、输出引脚的默认电平、输入引脚的上下拉电阻;
52.其中,所述adc模块的衍生信息包括:adchwunitid、adcgroup名称、adcgroup转换结束回调函数名称、当前adcgroup分配的adcchannel、存储adcchannel转换结果的寄存器id;
53.例如,可以通过pin名称,如:port_0_pin_1,通过提取所有pin名称参数的port_0属性,可以衍生统计出port_0中pin总数目;当然这只是最简单的一个举例,其他port模块和adc模块的衍生信息处理方法与上述例子类似,此处不一一进行赘述;
54.所述步骤s32包括:根据所述待配置的引脚信息以及所述衍生信息生成对应的配置组件内容;
55.具体而言,所述配置组件内容是相对于配置参数来说的,它包含了与配置参数对
应的在xdm文件中的描述内容;
56.在步骤s32中,具体是指,利用m语言基于一个或几个相关联的配置参数建立一段m子代码,这一段m子代码包含了生成与该配置参数对应的xdm文件内容的功能;m子代码不能独立运行生成xdm内容,需要将一个个子代码插入到所述mcal配置文件架构中的对应位置,才能形成一个完整的关于mcal配置文件的m脚本,从而生成一个完整的xdm文件;
57.步骤s4、将所述配置组件内容中的不同内容分别插入所述mcal配置文件架构中的对应位置,获得mcal配置文件数据;
58.具体而言,步骤中依次检索待配引脚,运用strrep字符串替换等方式,把包含配置参数信息的配置组件逐一插入xdm文件对应的架构位置中;
59.步骤s5、根据所述mcal配置文件数据生成mcal配置文件;
60.具体而言,步骤s4获得的mcal配置文件数据为m脚本文件数据,因此还需要将其转换为.xdm文件;具体地,可以运用matlab软件中的fopen、fwrite、fclose等函数,根据所述mcal配置文件数据生成对应的包含主控芯片所有io驱动引脚配置信息的mcal配置文件(.xdm文件),该mcal配置文件为适配eb tresos的xdm文件,可以直接导入eb tresos软件,一键生成参与编译的代码文件(.c/.h文件)。
61.基于以上描述可知,本发明实施例方法具有以下优点:
62.用户在计算机上通过操作matlab软件运行预先编辑好的m脚本文件,创建mcal配置文件架构;从待配置芯片的软、硬件接口列表信息中提取待配置的引脚信息;所述引脚信息包括引脚号以及引脚属性;根据所述引脚信息获得对应的配置组件内容;将所述配置组件内容中的不同内容分别插入所述mcal配置文件架构中的对应位置,获得mcal配置文件数据;最终,根据所述mcal配置文件数据生成mcal配置文件,实现自动将选定的软硬件接口参数列表中包含的io引脚进行mcal配置,并生成mcal配置文件(.xdm文件),极大地节省了控制器软件开发过程中基础软件io引脚驱动模块配置的时间,有效地避免了手动配置过程中由于配置项基数大带来的错漏问题,有利于快速、准确的实现整车开发过程中各控制器io驱动模块的功能开发。
63.参阅图2,本发明另一实施例提出一种mcal的io驱动模块自动配置系统,与上述实施例方法对应,可以用于实现上述实施例的方法,本实施例的系统包括:
64.架构创建单元1,用于创建mcal配置文件架构;
65.引脚信息获取单元2,用于获取待配置芯片的软、硬件接口列表信息,并从所述软、硬件接口列表信息中提取待配置的引脚信息;所述引脚信息包括引脚号以及引脚属性;
66.配置组件获取单元3,用于根据所述引脚信息获得对应的配置组件内容;
67.组件插入单元4,用于将所述配置组件内容中的不同内容分别插入所述mcal配置文件架构中的对应位置,获得mcal配置文件数据;以及
68.配置文件生成单元5,用于根据所述mcal配置文件数据生成mcal配置文件。
69.以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
70.需说明的是,上述实施例所述系统与上述实施例所述方法对应,因此,上述实施例
所述系统未详述部分可以参阅上述实施例所述方法的内容得到,即上述实施例方法的具体步骤内容可以理解为本实施例系统的所能够实现的功能,此处不再赘述。
71.并且,上述实施例所述mcal的io驱动模块自动配置系统若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
72.本发明另一实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例所述mcal的io驱动模块自动配置方法的步骤。
73.具体而言,所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(r值om,r值ead-only memor值y)、随机存取存储器(r值am,r值andom access memor值y)、电载波信号、电信信号以及软件分发介质等。
74.以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献