第23章Linux设备驱动的移植之Linux与其它操作系统之间的驱动移植

23.4 Linux与其它操作系统之间的驱动移植

       在公司的项目更替过程中,可能会出现操作系统的更换,譬如类似的产品中,以前用 VxWorks或 Windows CE,现在想改用 Linux。以前同类产品的 VxWorks/WinCE 运行稳定,且设备驱动也被经过严格测试,现在要换成 Linux 了,是不是 VxWorks/WinCE 下的工作就完全作废了呢?

       在采用原操作系统的系统中,底层的硬件操作代码已经经过验证,这一部分可以被 Linux 利用;VxWorks、WindowsCE 等操作系统驱动的架构和 Linux 的驱动架构有一定的相似性,经过适当的修改,就可以被移植到 Linux 中。

      在移植 VxWorks 驱动到 Linux 驱动的过程中,可以借鉴其流程,但是必须要替换 API、函数和变量命名等。

        除了简单的字符设备外,VxWorks 下的 TTY 设备、MTD 设备、块设备等驱动的架构都和 Linux下的架构有一定相似性,但是,由于 VxWorks 是一种完全定位于嵌入式系统的轻量级操作系统,因此,VxWorks 设备驱动的架构要比 Linux 架构简单。由于 VxWorks 中并不存在内核空间和用户空间的界限,很多时候,驱动甚至可以不遵循架构,直接给应用程序提供接口。

    总结:

            对于块设备、网络设备、PCI 设备、USB 设备等复杂设备,VxWorks和 Linux 驱动的框架呈现出了较大的差异,但其中也不乏共同的设计思想。Linux 驱动工程师应该在了解这些差异的情况下,尽可能地利用 VxWorks 中现成的稳定的代码以减少 Linux 驱动的工作量,至少硬件操作控制这一部分是可以通用的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值