27、系统调用与服务胶囊的分离及文本屏幕驱动实现

系统调用与文本屏幕驱动实现

系统调用与服务胶囊的分离及文本屏幕驱动实现

1. 系统调用与服务胶囊的分离

系统调用胶囊向用户空间暴露 API。虽然驱动可以提供特定的 API,但将 API 与实际实现分离是非常重要的。以显示驱动为例,市面上有多种类型的显示器,每种显示器的功能和接口都不同。如果为每个显示器都开发一个驱动,应用开发者就需要为每种显示器使用不同的 API,这会降低应用的可移植性。

Tock 通过提供通用的系统调用驱动(如 TextScreen、NineDoF 或 Humidity)解决了这个问题。这些驱动为用户空间提供标准的 API,并需要实际驱动的服务来执行请求的操作。例如,NineDoF(9 自由度)驱动向应用程序暴露标准的系统调用 API,允许它们请求系统运动信息(加速度计、陀螺仪和磁力计)。但它本身并不知道如何从传感器获取这些数据,需要一个实际的服务驱动来完成这个任务。只要传感器服务驱动实现了 NineDoF HIL,应用程序就可以使用 NineDoF API 与任何运动传感器配合使用。

以下是 NineDoF 和 NineDoFClient 特征的代码:

pub trait NineDof<'a> {
  /// Set the client to be notified when the
  /// capsule has data ready or has finished
  /// some command. This is likely called in a
  /// board's main.rs and is set to the
  /// virtual_ninedof.rs d
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值