汽车电子-使用GENY移植增加CAN协议的合并

简介: 汽车电子-使用GENY移植增加CAN协议的合并

1-GENY移植增加CAN协议


合并两个不同的DBC文件

如果是两个不同的DBC文件需要使用文本先进行文件的合并,把对应的协议加入进来。比如添加0x375ID的协议。如下图1,2第一个是需要添加的文件:

图1

图2

然后对上面的文件进行复制加入到你的文件之中,如若你加入的ID中名称和你使用的文件有名称重复,请修改该名称,防止因函数名称相同导致函数调用出错或者编译出错。如下图3和图4。

图3

图4



添加完成后保存即可(添加完成后先使用vector CANdb++软件打开,看看会不会提示错误,如果提示错误请在记事本中查看是否是名称或者其他问题)。之后在使用geny进行代码的生成。

geny添加CAN协议

打开GENY文件,在哪个通道添加CANID协议就在选择哪个通道,其他的不要更改(如果需要更改的话,可以更改)如下图所示,

之后选择需要添加的DBC文件。如下图所示:

之后选择需要添加的协议,如下图所示,本文举例:

之后点击OK完成。

之后可以看到添加成功,如下图,所示:

如果你还需要对消息信号内单个信号进行设置,对上图所示右侧进行修改,如下图:

  1. 要加入到某一节点中需要对其进行更改,例如本例把0x375ID添加到IHU。如下图:

上面全部完成之后就是代码生成,然后添加到对应的文件夹里面就行。

  1. 代码生成

如下图所示选择代码生成的路径选择。

完成上图之后,点击如下图红色选中的部分进行代码生成。

DBC处理辅助工具的使用

找到DBC处理辅助工具并打开,如下图是DBC辅助处理工具:

  1. 打开软件后,选择打开文件找到需要添加的DBC文件,如下图所示:

640.png

  1. 完成上面后,点击文件处理,等待一会,列表里面会显示节点、消息、信号,如下图所示:

选择要添加的信号,比如我要添加IHU节点,GW_BCM_2_A消息中的所有信号,只需要先选择IHU-->GW_BCM_2_A-->信号列表包含GW_BCM_2_A消息的信号(也可根据实际需要进行选择信号的添加)。如下图所示:


完成上述之后点击生成表格,表格中包含IHU节点GW_BCM_2_A消息中的信号,如下图所示:

3-总线IL接口生成器的使用

1-打开软件选择Excel文件(由DBC处理辅助工具生成的表格文件,注意格式:需要后缀为XLSX的文件,如果不是使用Excel打开另外保存XLSX格式),如下图所示:

2-点击生成代码。

之后等待一会儿,会有提示操作完成(文件越大时间越长)。这样就操作完成了,如下图是生成的代码:

最后只需要把生成的代码文件添加到你的文件中就可以了。

4移植

如果需要添加CAN 协议,在上面3个章节完成之后就可以进行代码的移植工作。首先进行geny生成的代码移植。

geny生成的代码直接将GenBuilt中的代码进行覆盖,如下图是路径和文件假的选择:

在对总线IL接口生成器生成的代码进行移植,和geny一样直接把对应的文件进行覆盖,如下图所示。

在完成上面两部分之后,打开工程文件看你需要的ID是否添加进去,以0x375为例(具体有哪些文件还需要根据设计需求进行确定)。如下图:

当代码进行移植覆盖后,编译运行是否出现报错,然后根据错误描述进行更改。

当编译无误后,在进行其他代码的添加。主要就是确保你添加的协议是通的,因ID不一样添加的可能有所不同,但是主要就是以下几点:阻塞时间函数、接收发送获取等,然后编写车门状态的代码。然后使用CAN工具查看能否接收到。

确保CAN通之后,可以通过SOC查看SPI信息,这时候需要把串口接到SOC中。

相关文章
|
10月前
|
传感器 数据采集 物联网
Golang硬件控制:将软件力量扩展到物理世界
Golang硬件控制:将软件力量扩展到物理世界
|
人工智能
西门子S7-300的硬件结构,各模块按照什么顺序来组态?
今天我们来介绍一下西门子S7-300的硬件结构,并和大家讲一下S7-300各模块是按照什么顺序来组态的。
西门子S7-300的硬件结构,各模块按照什么顺序来组态?
|
开发框架 .NET 芯片
单片机开发之拓展并行I/O口
本文主要介绍单片机开发之拓展并行I/O口
164 0
单片机开发之拓展并行I/O口
|
物联网 测试技术 数据安全/隐私保护
蓝牙核心规范V5.3版本有这些变动,你需要知道的都在这里
蓝牙核心规范V5.3版本有这些变动,你需要知道的都在这里
487 0
蓝牙核心规范V5.3版本有这些变动,你需要知道的都在这里
|
网络协议 前端开发 虚拟化
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.4
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.4
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.4
|
边缘计算 编解码 数据可视化
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.5(一)
《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.5
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.5(一)
|
边缘计算 网络虚拟化
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.2
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.2
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.2
|
存储 边缘计算 缓存
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.1(二)
《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.1
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.1(二)
|
安全 Linux Go
谁来拯救存量SGX1平台?又一个内核特性合并的血泪史
今天的故事主角,是一个被称为Flexible Launch Control的SGX平台特性。
谁来拯救存量SGX1平台?又一个内核特性合并的血泪史
|
人工智能 运维 5G
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》序
《思科软件定义访问 : 实现基于业务意图的园区网络》序