多核芯片间的核间通信IPC机制

现在很多的芯片都会几个core核,有的用的是Cortex M0+、M4、M7、A53、A73等等,有的是2核、3核、4核甚至6核8核,不同的核的主频支持度不一样,适用的具体应用场景也不同。

那么核间通信Inter-processor communication即IPC,一般作为核间通信使用。

可以看到处理器A和处理器B在进行IPC通信的时候,会用到Channel和Interrupt两个结构体,而且这是是共享的,关于共享可以从AHB总线层面和存储结构体两个层面来理解。

 从该图可以看到CPU子系统或者称on-chip,都是挂在AHB总线上的器件,处理器是,flash、rom、ram都是,所以说这些资源是共享的。

而结构体共享,同时也是IPC为了实现shared memory资源互斥而必须采用的结构。如果处理器A想使用IPC通信channel资源,就必须申请一个lock,然后放数据Data,然后通告Notify,处理器B获得通告Notify的Event,并触发Interrupt,开始进行数据Data处理,处理好之后,释放lock。

但是这个过程中的数据寄存器Data Register很小,一个32bit,2个只有6bit,如果传大数据怎么办呢?那就在data reg

版权声明:本文为CSDN博主「芯片-嵌入式」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_49369227/article/details/121727126

生成海报
点赞 0

芯片-嵌入式

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

多核芯片间的核间通信IPC机制

现在很多的芯片都会几个core核,有的用的是Cortex M0+、M4、M7、A53、A73等等,有的是2核、3核、4核甚至6核8核,不同的核的主频支持度不一样,适用的具体应用场景也不同。 那么核间通信Inter-processor comm

基于ARM IP的看门狗设计与功能验证

看门狗是一个定时器, ARM提供了一个32位向下计数的看门狗IP,它会不断地计数。通过软件可以设置计数值,计数到某一设定值重新开始计数,这一过程也被称为喂狗,如果没有正常喂狗

STM32F2————配置时钟延迟不准的问题

STM32F2配置时钟问题 笔者在本科毕业设计使用STM32F207芯片,但是在配置时钟时出现了问题。 问题 我按照F1写代码的延时函数放在F2竟然不准了 换个办法 使用Systick时钟也是不准,原因是笔者代