文章目录
- mailbox 驱动设计
- 一、mailbox控制器/client驱动设计
- 二、编译实例
- 三、测试
- 总结
mailbox 驱动设计
Mailbox(邮箱)是一种在多核系统中用于处理器间通信的机制。它允许不同的核心或处理器之间发送和接收消息,通常用于协调任务、同步状态或传递数据。底层原理:信息队列和中断驱动信号处理
一、mailbox控制器/client驱动设计
主要参考mailbox.c mailbox.h maibox_controller.h maibox_client.h mailbox-test.c 完成相应的驱动框架开发
实现了属于自己的mailbox子控制器 以及 相应的mailbox客户端
二、编译实例
- xxx Mailbox驱动内核Kconfig
- xxx Mailbox驱动内核Makefile
- Makefile文件中 将自己的mailbox.o 加进去
- Kconfig中 内核编译选项打开其相关的宏(Mailbox Controller以及Mailbox Client )
- Mailbox Client: Mailbox测试
- Remoteproc功能
- CONFIG_REMOTEPROC =y
- CONFIG_REMOTEPROC_CDEV =y
- CONFIG_ZN_REMOTEPROC =y
- 编译
make O=../kbuild modules ARCH=riscv CROSS_COMPLE=riscv64-linux-gnu-
三、测试
- 驱动加载 驱动当前默认编译进内核 系统启动自动加载
- 测试寄存器读写 devmem命令
- debugfs 节点读写
- 挂载debugfs节点
- 写入内容
- 远端写入数据到本地,读取数据
图片后面补
总结
对于linux中 mailbox的驱动框架的熟悉与开发