汽车电子-使用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中。

相关文章
|
前端开发 芯片
【芯片前端】保持代码手感——握手型同步fifo的进一步拓展
【芯片前端】保持代码手感——握手型同步fifo的进一步拓展
114 1
|
传感器 数据采集 物联网
Golang硬件控制:将软件力量扩展到物理世界
Golang硬件控制:将软件力量扩展到物理世界
|
并行计算
CUDA C 最佳实践:优化主机和设备之间的内存传输【读书笔记】
CUDA C 最佳实践:优化主机和设备之间的内存传输【读书笔记】
116 0
CUDA C 最佳实践:优化主机和设备之间的内存传输【读书笔记】
|
存储 边缘计算 自动驾驶
关于 5G 的标准 | 带你读《5G时代的承载网》之四
5G 最重要的标准化组织有 ITU 和 3GPP。
 关于 5G 的标准  | 带你读《5G时代的承载网》之四
|
缓存 开发工具 数据安全/隐私保护
【软考学习17】数据传输控制方式、虚设备和微内核操作系统
【软考学习17】数据传输控制方式、虚设备和微内核操作系统
197 0
|
存储 内存技术
从简单的文件偏移、读写进一步研究MCU程序的下载和软件升级(上)
从简单的文件偏移、读写进一步研究MCU程序的下载和软件升级(上)
69 0
|
数据挖掘 5G 调度
前传感知的协作传输和接收之下行链路 | 带你读《5G系统关键技术详解》之十三
在当前的 3G/4G 蜂窝网络中,每个被调度的用户由一个基站服务并且接收到来自所 有相邻基站的干扰。C-RAN 架构的优点来自多个 RRH 协同服务用户的能力,从而小化干扰的影响。
前传感知的协作传输和接收之下行链路 | 带你读《5G系统关键技术详解》之十三
|
Python 网络架构 网络安全
带你读《Python网络编程(原书第2版)》之二:低级网络设备交互
本书是一本实用型的基础技术实践工具书,技术性较强,如果你想快速了解计算机网络管理、网络安全、自动化运维、Python Web搭建、网络测试相关的知识,本书很适合你。本书涵盖的知识点主要是网络运维相关技术,在学习完所有的章节之后,读者能对网络的管理有初步的了解。每个章节的后面部分都是有一定难度的扩展资源,循序渐进,帮助读者提升网络运维能力。

热门文章

最新文章