在Linux内核和用户空间/ MCU之间共享代码

时间:2017-09-19 06:24:20

标签: c linux linux-kernel shared-libraries linux-device-driver

我有一个用于外部MCU应用程序的Linux驱动程序。驱动程序和MCU使用我们自己的协议通过总线进行通信。

我想分享内核模块和MCU之间协议功能的程序代码,但由于无法为内核构建lib,我到目前为止唯一的想法就是编写代码&# 34;尽可能内核"然后只需在平台之间复制整个.c文件。

还有其他方法吗?我很难成为第一个想要这样做的人。

我在谈论代码重用,而不是IPC机制。

谢谢!

1 个答案:

答案 0 :(得分:0)

它需要一些硬件抽象,因此实现协议的代码需要尽可能通用,不需要任何特定于硬件的细节。 实现协议的文件可以具有init,exit,read,write和interrupt等功能。硬件实现本身(gpio,内存,总线)可以通过函数指针访问,函数指针在调用init函数时注册。目录结构可以像@smbear建议的那样设置