关于基于ARM cortex-r5的Marvell1093r2主控的IPC通信心得
来源:互联网 发布:mac下制作u盘winpe 编辑:程序博客网 时间:2024/05/14 16:57
接触Marvell的ARM内核平台已有小半年。最近一个项目是三核的架构,需要用到较多的IPC知识,经过这两天的学习,稍有了解,记录也是分享如下。
就1093r2平台而言,IPC模块主要通过(interrupt_enable+interrupt_status+interrupt_clear)*3以及(desc_Ctrl+desc_content)*32这几个寄存器组成。
其中中断系列的寄存器就不用详细介绍了,负责中断状态以及相关处理的功能。至于desc是该平台IPC模块非常重要的处理手段,Ctrl寄存器主要负责记录次数desc_num和mode的选择。这里的mode一共有signal mode和call back mode两种。下面首先阐述一下这两种mode的区别和作用。
首先是signal模式,所谓signal模式就是相当于只要发送消息就可以产生一个IPC中断。
具体而言,每个DESC[0-31]有一个当前的owner cpu,这个owner cpu取决于开启该DESC中断的cpu。而此时当任意一个cpu向该DESC发送一条指令,则其owner cpu将收到一条中断。
其次,是callback模式,callback模式的DESC最后两位为target cpu的标志。callback模式具有signal模式的功能,并且当target cpu读取该DESC时也将收到一条中断。也就是说具有write和read两种中断。
目前比较常用的中断服务一般为计数++,还有设置一个flag变量来通知对应的cpu完成一定的动作。
此外,在具体的内存中,还在Share TCM中放置了callback的消息队列,共有6组,分别供0,1,2相互使用读取写入。
pause0----------------------------------------------20151223
- 关于基于ARM cortex-r5的Marvell1093r2主控的IPC通信心得
- ARM cortex a 的串口通信
- 关于ARM公司的cortex系列
- 基于DBus的进程间通信(IPC)
- 基于ARM v7 Cortex A8的开发平台
- 主控带收音的调试心得
- ARM Cortex-M3,Cortex-M0,Cortex-A8的主要区别
- ARM Cortex-M3,Cortex-M0,Cortex-A8的主要区别
- 关于ARM Cortex a 系列的看门狗定时器
- ARM Cortex-M3的优势
- ARM Cortex-M3的优势
- 学习IPC的心得。。。
- ARM公司的Cortex内核Cortex-A,Cortex-R和Cortex-M之间有什么区
- 【IPC通信】基于管道的popen和pclose函数
- 【IPC通信】基于管道的popen和pclose函数
- 【IPC通信】基于管道的popen和pclose函数
- 基于Android应用开发的跨进程通信实现(IPC)
- 【IPC通信】基于管道的popen和pclose函数
- codeforces 301B. Yaroslav and Time(下标的艺术)
- Linux学习第二篇
- android SDK开发 -- TitleBar封装(二)
- OnGlobalLayoutListener获得一个视图的高度
- 显示有限的接口到外部
- 关于基于ARM cortex-r5的Marvell1093r2主控的IPC通信心得
- sharedPrefereces
- P1 VS mspdbsrv.exe导致的问题
- Tableview 默认选中第一行以及选中背景自定义
- Android中SQLite应用详解
- keil MDK之RTX的消息邮箱的API函数
- Codeforces Round #297 (Div. 2) 525C Ilya and Sticks(脑洞)
- Android 2D 绘图
- linux学习书籍和路线推荐