ipcm 全称: internal processor communcation message

翻译为: 在多核间使用消息通信,其工作原理是通过mmap()或ioremap() 实现一段共享内存,使用该共享内存,就可以实现信号数据的交互。

IPCM driver层:实现如下功能,一步一步如下。

  1. 共享内存的映射,当两个cpu都映射则共享内存建立完成。
  2. 保存对端cpu的状态,g_ipcm_nodes[target].state = alive 进行发送握手。

握手成功后,创建handle。基于此handle来保证稳定通讯,否则容易出错。

struct ipcm_node g_ipcm_nodes[MAX_NODES] = {0};

在建立连接时,读取对端cpu的g_ipcm_desc.state 来判断对端是否alive,再决定是否建立连接。

  1. 创建读取消息到hios_mem_list链表的内核线程 & 定时器线程定时唤醒内核读消息线程
  2. VFS接口实现,open/ioctl/read/write/poll/release

打开设备节点,初始化handle,从hios_mem_list读取消息,将消息写入共享内存中

  1. 资源的回收,已经参数检查性处理。——需要严格一一对应,特别花时间。

6、用握手的方式,建立连接和断开连接

ipcm 核间通信相关 ---(1)相关推荐

  1. 多核异构核间通信-mailbox/RPMsg 介绍及实验

    1. 多核异构核间通信 由于MP157是一款多核异构的芯片,其中既包含的高性能的A7核及实时性强的M4内核,那么这两种处理器在工作时,怎么互相协调配合呢? 这就涉及到了核间通信的概念了. IPCC ( ...

  2. soc的核间通信机制-->mailbox

    对于mailbox,这个东西其实看到了很多次,但是一直不知道是啥.这里大概看了一下,知道了为甚有这个玩意儿,以及这个玩意相关的有啥,至于具体怎么使用,以及详细的工作原因等着以后再说吧. 正文 目前很多 ...

  3. 第十八节 多核异构核间通信–ipcc

    由于MP157 是一款多核异构的芯片,其中既包含的高性能的A7 核及实时性强的M4 内核,那么这两种处理器在工作时,怎么互相协调配合呢?这就涉及到了核间通信的概念了. IPCC (inter-proc ...

  4. DSP_TMS320F28377D_最简洁最高效的IPC核间通信代码

    1. 前言 既然是多核编程,核间的数据交互是避免不了的,因此常常会使用到IPC通信技术.掌握TMS320F28377D芯片的IPC通信技术是在2021年年底,距今已半年了.只怪当初没有好好做个记录,现 ...

  5. 【SemiDrive源码分析】【MailBox核间通信】42 - 基于Mailbox 实现的 mailbox_demo 应用程序(RTOS Android侧通信实现)

    [SemiDrive源码分析][MailBox核间通信]42 - 基于Mailbox 实现的 mailbox_demo 应用程序(RTOS & Android侧通信实现) 一.编写RTOS侧 ...

  6. 【SemiDrive源码分析】【X9芯片启动流程】21 - MailBox 核间通信机制介绍(代码分析篇)之 Mailbox for Linux 篇

    [SemiDrive源码分析][X9芯片启动流程]21 - MailBox 核间通信机制介绍(代码分析篇)之 Mailbox for Linux 篇 一.Mailbox for Linux 驱动框架分 ...

  7. 【SemiDrive源码分析】【MailBox核间通信】43 - 基于Mailbox IPCC RPC 实现核间通信(代码实现篇)

    [SemiDrive源码分析][MailBox核间通信]43 - 基于Mailbox IPCC RPC 实现核间通信(代码实现篇) 一.RTOS侧 IPCC RPC 代码实现 二.Android侧 I ...

  8. 【SemiDrive源码分析】【X9芯片启动流程】20 - MailBox 核间通信机制介绍(代码分析篇)之 MailBox for RTOS 篇

    [SemiDrive源码分析][X9芯片启动流程]20 - MailBox 核间通信机制介绍(代码分析篇)之 MailBox for RTOS 篇 一.Mailbox for RTOS 源码分析 1. ...

  9. 用于多核DSP开发的核间通信

      TI的多核DSP以TMS320C6678为例,它是多核同构的处理器,内部是8个相同的C66x CorePac.对其中任意一个核的开发就和单核DSP开发的流程是类似的.   但是如果仅仅只是每个核独 ...

  10. 【SemiDrive源码分析】【X9芯片启动流程】19 - MailBox 核间通信机制介绍(理论篇)

    [SemiDrive源码分析][X9芯片启动流程]19 - MailBox 核间通信机制介绍(理论篇) 一.核间通信 二.核间通信软件架构 三.Mailbox 设备驱动 3.1 Mailbox for ...

最新文章

  1. php命名空间 动态 new,PHP命名空间(namespace)的动态访问及使用技巧_php实例
  2. 【Windows 10 应用开发】使用快捷访问键
  3. 树状数组求逆序对_区间和的个数(树状数组)
  4. I - Trade Gym - 100212I 网络流
  5. nosql简答什么是最终一致性_可靠消息最终一致性方案中预发送作用是什么
  6. mysql性能仪表盘_mysql-笔记-性能
  7. java面试请你谈谈mysql_Java面试题之MySQL
  8. android中ListView的简单使用
  9. Delphi通过Map文件查找内存地址出错代码所在行
  10. 《Python游戏编程入门》第二章编程挑战
  11. 易源接口showapi的使用
  12. #paypay付款测试#
  13. python并发编程gevent模块以及猴子补丁学习
  14. pycharm切换python环境_在PyCharm的 Terminal(终端)切换Python版本的方法
  15. 使用md5进行密码的加密和验证
  16. VS2013中添加现有窗体项
  17. 微信jsapi支付流程
  18. 8.2 JVM命令行监控——jstat
  19. python读excel中的sheet
  20. 公共艺术与计算机论文题目,优秀公共艺术论文选题 公共艺术论文题目如何定...

热门文章

  1. maven手册(转)
  2. android 拼音过滤、匹配首字母
  3. 2011年美国大学招生广告
  4. 北京理工大学软件工程复试之路
  5. 2021-2027全球与中国气溶胶粒径谱仪市场现状及未来发展趋势
  6. 大一学计算机需要准备做东西,我是浙江大学大一的学生,以后打算学习计算机专业,想去卡耐基梅隆大学或MIT读研,不知道需要做哪些准备?...
  7. 李一男起伏人生如高速过山车 栽大跟头后还回得来吗
  8. html中vid中的id,VID/DID/SVID/SSID
  9. [毕业设计] 基于单片机的智能快递柜设计与实现 - stm32 物联网
  10. 福利最新2022年H3CNE认证网络工程师GB0-191 题库加超详细解析