《AutoSar实战》读写DID之二:工具链配置

文章目录

  • 前言
  • 一、配置DID存储功能
    • 1. 新建Ram memory
    • 2. 新建NvM Block Needs
    • 3. 检查
  • 二、关联client/server接口
    • 1. 关联
    • 2. 生成代码并验证
  • 总结


->返回总目录<-

前言

本系列主要基于DaVinCi工具链来展开具体DID读写的配置以及最终实现。
DID读写功能实现流程包括如下几点:
1, CDD准备 2, 工具链配置 3, 代码实现

本文讲述流程2
在这里插入图片描述
话不多说,走你~

一、配置DID存储功能

书接上文《AutoSar实战》读写DID之一:CDD准备,我们已经完成了CDD文件创建DID 0x6666,以及工具链同步的操作。若要实现DID的写入功能肯定离不开存储。这里的存储是指通过诊断指令2E服务将数据存储在非易性存储中 (NvM) ,因此章节一是对其存储做相关配置。

1. 新建Ram memory

打开DaVinci Developer,找到应用层诊断SWC。新建Ram数组
配置项:
name: NvMShw_6666_ChunFengYouXin。
Data Type: Dcm_Data4ByteType(4字节)。
NvM Block Need: 先保留,后面我们新建一个,和Ram关联下即可。
《AutoSar实战》读写DID之二:工具链配置_第1张图片

2. 新建NvM Block Needs

《AutoSar实战》读写DID之二:工具链配置_第2张图片
1)Services Needs
2)创建名称
3)配置自动创建Need name
4)配置错误检测
5)配置上电读取,下电存储
6)关联步骤1 创建的Ram数组

7)建立ROM的数组默认值
《AutoSar实战》读写DID之二:工具链配置_第3张图片

3. 检查

1)检查并保存DaVinci Developer(点击保存之后,DaVinci Configurator会相应的更新,如2))
《AutoSar实战》读写DID之二:工具链配置_第4张图片
2)打开DaVinci Configurator,并更新。
《AutoSar实战》读写DID之二:工具链配置_第5张图片

点击同步,下图红框
《AutoSar实战》读写DID之二:工具链配置_第6张图片

3)检查NvM模块是否配置正确,/NvM/NvMBlockDescriptors/AppDiagDID_6666_ChunFengYouXin
修改Block长度为 4字节 (没有同步更新完全)
《AutoSar实战》读写DID之二:工具链配置_第7张图片

勾选use Service Ports,并同步更新
《AutoSar实战》读写DID之二:工具链配置_第8张图片

~

二、关联client/server接口

1. 关联

1) 将DCM模块的DID关联接口至应用层诊断SWC,关联成功之后,会在SWC中创建相应的函数接口
《AutoSar实战》读写DID之二:工具链配置_第9张图片

2)将NvM模块的DID关联接口至应用层诊断SWC
《AutoSar实战》读写DID之二:工具链配置_第10张图片

3)在SWC中建立DID的access point
打开DaVinci Developer,找到写的runable,并创建Access Points
《AutoSar实战》读写DID之二:工具链配置_第11张图片

点击保存DaVinci Developer。并回到DaVinci Configurator同步下。

2. 生成代码并验证

1)生成代码
《AutoSar实战》读写DID之二:工具链配置_第12张图片

2)打开代码,验证,接口是否生成成功。如下图

诊断22服务读DID 函数接口,当ECU收到诊断指令 22 66 66 时,就会进入该函数接口
《AutoSar实战》读写DID之二:工具链配置_第13张图片
诊断2E服务 写DID函数接口,当ECU收到诊断指令 2E 66 66 (FF FF FF FF ) 时,就会进入该函数接口。
《AutoSar实战》读写DID之二:工具链配置_第14张图片

总结

博主也是AutoSar小白,如果哪里表达的有问题,还请大佬们指点指点哈。接下来,让我们在下章关于代码具体实现的博文再相会哈~

->返回总目录<-

你可能感兴趣的:(AutoSar实战营,can,自动驾驶,autosar,汽车,功能测试)