打开Cdd_Ipc配置界面Outline窗口,分为CddIpcGeneral、CddIpcVirtIoConfig、CddIpcProcIDs和CddIpcCommChannels四个部分,需要依次配置。

  1. CddIpcGeneral配置基本选项,如下:

CddDevErrorDetect   决定是否使用Det_ReportError汇报错误,是否做额外参数检查
CddIrqType   中断类型选择:CAT2
NewMsgNtfyFunc   CddIpc消息有两类,分别是消息和控制消息;该选项是新消息的通知函数;需要按照驱动声明的原型定义出来;
NewControlMsgNtfyFunc   新的控制消息通知函数;需要按照驱动声明的原型定义出来;
CddIpcOsCounterRef   超时Counter用到的时钟源,OS提供配置项;
CddIpcOSCounterId  超时Counter用到的时钟源;
CddIpcDeviceVariant   选择TDA4不同的处理器型号,J721E或者J7200
CddVersionInfoApi  

Cdd_IpcGetVersionInfo是否可用

CddIpcAnnounceApi  

Cdd_IpcAnnounce是否可用,该Api用来发送控制消息;

CddIsInitDoneApi  

Cdd_IpcIsInitDone是否可用,该Api用来查询Ipc模块是否初始化成功;

CddDeinitApi   Cdd_IpcDeinit是否可用
CddRegisterReadBackApi  

Cdd_IpcRegisterReadBack是否可用

CddGetMsgMaxSizeApi  

Cdd_IpcGetMaxMsgSize是否可用

2. CddIpcVirtIoConfig配置VirtIO的地址和对齐方式,也就是和其他核共享的内存空间定义:

VertIoRingAddr  共享空间的起始地址,每个核心的配置必须相同,否则无法通信;
VertIoRingSize  共享空间的大小;
VertIoObjSize  对齐字节数,VRing对齐

3. CddIpcProcIDs选择哪个CPU跑当前配置,有哪些CPU参与通讯;

当前CPU选择MCU1_0;

位于Outline->CddIpcProcIDs->RemoteProcID,列出参与IPC通讯的CPU编号,无顺序要求;

4. CddIpcCommChannels配置通讯通道;

位于Outline->CddIpcCommChs;

每一条记录是一条通讯链路,调用Cdd_IpcSendMsg,Cdd_IpcReceiveMsg、Cdd_IpcAnnounce等函数时使用的参数chId对应表中CommId列;每条链路需要提供以下信息:

CommId  如上描述,对应chId
LocalEp  本地CPU的消息ID
RemoteEp  远端CPU的消息ID
RemoteProcID   远端CPU的编号
MaxNumMsgQueued  本地缓存消息条数,固定256条
MaxMsgSize  消息字节数限制,固定最大512字节

5. 使用:

调用初始化函数:Cdd_IpcInit();

查询是否初始化成功:Cdd_IpcIsInitDone();

发送控制消息:Cdd_IpcAnnounce(pbuf, chId);pbuf是控制消息的buffer,以'\0'作为结尾的字符串(因此消息内部不应该包含0x0,否则发送不完全),chId是第4节配置的CommId;

发送消息:Cdd_IpcSendMsg(chId, pbuf, bufLen);chId是第4节配置的CommId,pbuf是数据buffer,bufLen代表要发送数据的字节数;

当收到消息时,中断会触发一系列处理流程,最终回调第1节配置的函数NewMsgNtfyFunc、NewControlMsgNtfyFunc中;可根据需要在该函数中调用Cdd_IpcReceiveMsg和Cdd_IpcReceiveCtrlMsg进行接收;

Cdd_IpcReceiveMsg(chId, pbuf, bufLen);chId是NewMsgNtfyFunc回调传入的chId,bufLen是本地提供消息拷贝的buffer长度,如小于接收消息长度会报错,接收完成为收到字符数。

Cdd_IpcReceiveCtrlMsg(pRemoteProcId, pRemoteEndPt, pBuf, bufLen); pRemoteProcId是传出参数,携带CoreId信息,bufLen传出控制消息长度,固定值;pRemoteEndPt为传出参数,固定值。

MCAL配置-Cdd_Ipc相关推荐

  1. 软解码方案之-DSADC结果中断和时间戳中断MCAL配置实现

    电机软解码方案系列 软解码方案之-DSADC结果中断和时间戳中断MCAL配置实现 前言 目前新能源汽车行业电机控制器中旋变软解码方案应用比较普遍,楼主最近做了电机控制器AUTOSAR架构项目,对软解码 ...

  2. 基于英飞凌TC397芯片Mcal配置之Can模块的配置

    随着这几年汽车嵌入式软件的迅速发展,芯片的升级也是在不断进行中,本人从事汽车嵌入式工作,目前使用的是英飞凌TC397,鉴于网上对这个芯片的使用介绍比较少,所以想把自己开发Mcal的工程中的一些小经验分 ...

  3. S32K14x MCAL配置之PORT

    一.简介 本文主要介绍如何使用EB配置MCAL的PORT模块.PORT模块主要负责初始化各个IO口,并分配好对应的外设功能. 二.模块配置 S32K14x一共有5个PORT,分别是PORTA.PORT ...

  4. MCAL_VADC配置

    一.平台条件 1) 单片机型号:TC234L 2) MCAL_Autosar版本:4.0.3 3) MCAL配置软件: DaVinci Configurator 5.18.29 4) SWC配置软件: ...

  5. 使用S32DS集成S32K的MCAL

    一.软件准备 前往恩智浦官网下载MCAL软件包.EB Tresos .以及S32DS IDE: 以下软件均有NXP免费提供,但需注册账号获取 S32DS IDE下载 EB Tresos以及MCAL下载 ...

  6. NXP智能驾驶软件系统

    NXP智能驾驶软件系统 ADAS和高度自动驾驶 汽车解决方案 市场领先的ADAS解决方案 先进的驾驶员辅助系统(ADAS)提供了安全的.日益自动化的驾驶体验,这将重塑出行关系.自动驾驶技术将很快让乘客 ...

  7. 不要再被Python洗脑了,来看看这个吧......

    最近我们一直被人工智能.Python等各种文章洗脑,文章都在写这些编程语言发展前景比较大,薪资待遇比较高,人才比较稀缺,所以很多人都在争相学习Python.人工智能. 其实有一个前景很好,待遇又比较好 ...

  8. 小猫爪:S32K3学习笔记02-S32K3之FlexCAN

    S32K3学习笔记02-S32K3之FlexCAN 1 前言 2 CAN协议简介 2.5 CAN资源介绍 3 FlexCAN简介 3.1 MB(邮箱)系统 3.1.1 正常模式下 3.1.2 激活了C ...

  9. 小猫爪:S32K3学习笔记05-S32K3之ADC

    小猫爪:S32K3学习笔记05-S32K3之ADC 1 前言 2 资源简介 3 ADC功能详解 3.1 ADC mux-mode channels 3.2 ADC内部框架 3.3 时钟源 3.4 通道 ...

  10. 小猫爪:S32K3学习笔记10-S32K3之EIM和ERM

    小猫爪:S32K3学习笔记10-S32K3之EIM和ERM 1 前言 2 EIM(Error Injection Module) 3 ERM(Error Reporting Module) 4 MCA ...

最新文章

  1. 技师学院计算机老师,技师学院计算机教学课堂改革探索论文
  2. python手机版怎么用-怎么用手机编写Python程序?
  3. 用dedecms自定义表单创建简易自助预约系统
  4. WPF--TextBlock的ToolTip附加属性
  5. webpack4.x 模块化浅析-CommonJS 1
  6. python中ttk详解_Python 中的Property 动态属性和特性详解
  7. 数据安全超级守护进程
  8. Symantec清除工具 CleanWipe_14.3.558.1000
  9. PMBOK第六版学习笔记
  10. 数据分析5大软件Excel、SAS、R、SPSS、Python优势分析
  11. Firefox扩展IE Tab Plus内置功能导致浏览所有网页加载superfish.com脚本
  12. 查询在st1公司于2018年制作的电影中出演的影星
  13. 让我们自己来破解命运外挂999
  14. pytorch学习随手记
  15. L1-030 一帮一 (15分) “一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生
  16. HTML最给力的入门教程
  17. matlab整流桥和电感怎么连接,整流桥四脚接法实物图手把手教学
  18. 程序员 面试如何介绍自己
  19. 千里独行Thousands of miles to ride alone
  20. Java 集合经典面试题。少侠,我看你骨骼惊奇,是难得的代码奇才,来看了我的博客那岂不是如虎添翼?

热门文章

  1. 华为数据存储用户精英论坛,信心与合作的故事
  2. 政务内网、政务外网、政务专网
  3. 你还在用乞丐版的深拷贝么
  4. u3d 100道面试题(包含答案)
  5. matlab 遥感图像分类,彩色遥感图像分类算法及Matlab实现
  6. python续行符是啥_python 续行符
  7. 智能园区中的身份识别的原理是什么?
  8. MySQL中character的意思_mysql 中 character set 与 collation 的点滴理解
  9. 袁老走好,谢谢您!我辈也当自强。
  10. Lan内部是如何完成通信的