首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Mac/OSX -安装驱动程序技术连接到FTDI设备。

从Mac/OSX -安装驱动程序技术连接到FTDI设备。
EN

Stack Overflow用户
提问于 2015-02-16 18:57:23
回答 1查看 2.5K关注 0票数 3

根据操作系统版本和驱动程序的选择,有几种从Mac连接到FTDI设备的选项。一些技术已经在其他堆栈溢出问题中讨论过了。有一种技术还没有被涵盖(据我所知),所以我希望有人能在最后一种技术上有所帮助。

目前的连接选项如下:

  1. (仅限预小修)在Xcode项目中直接包含来自FTDI驱动程序的.dylib和头文件(不需要安装驱动程序),如这个问题所述。这种技术会在OSX小牛和以后的情况下失效。
  2. (小牛&稍后)使用预装的Apple FTDI驱动程序。它的文档很少,而且似乎比原FTDI驱动程序更难使用。如果您希望支持预小牛操作系统,此技术将无法工作。
  3. (小牛&稍后) 为苹果的驱动程序卸载kext,然后使用上面的技术#1。如果你计划将你的应用程序分发给不懂技术的客户,那可不是个好选择。而且,对于Mavericks+来说,这不是一个永久性的解决方案,因为kext将有重新出现的趋势。
  4. (任何mac版本)实现一个无代码的kext,这将具有比Apple的kext更高的匹配优先级,从而防止苹果的驱动程序劫持到您设备的连接。然后使用上面的技术#1。这是苹果的文档这个堆叠溢出的答案中的注释所建议的技术之一。它适用于使用自定义连接解决方案的应用程序,但也适用于那些只想将FTDI的dylib和头直接包含在他们的项目中的人。
  5. (任何mac版本)安装原始的FTDI驱动程序 (而不是简单地引用项目中的.dylib和标头)。显然,这比技术#1更难,特别是在为您的应用程序构建安装程序时,但是它的好处是可以在任何Mac版本上工作。而且,与#4一样,它也是苹果的文档支持的一种技术。

技术1-4已经在其他堆栈溢出问题中涉及到(如内联所指出的)。根据ReadMe附带的FTDI驱动程序,“安装”简单地意味着将/usr/local/lib/目录中的.dylib和/usr/local/lib/目录中的.h文件分别弹出。我已经能够让这项技术发挥作用,但前提是我也要卸载苹果的kext。然而,根据苹果的文档,使用时不需要卸载苹果的kext。来自苹果的文档

苹果驱动程序故意设置一个较小的探测分数匹配,以确保FTDI接口驱动程序在出现时匹配

因此,很明显,“安装FTDI驱动程序”对苹果来说意味着与FTDI不同的含义。

是否有人知道如何以苹果文档的方式“安装FTDI驱动程序”,这样它的探测分数将比苹果的kext更高,因此不需要我卸载苹果的kext?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-16 19:16:30

有没有人知道如何以苹果文档的方式“安装FTDI驱动程序”,这样它就会比苹果的kext有“更高的探测分数匹配”,从而不需要我卸载苹果的kext?

这里提到的“驱动程序”是由FTDI提供的VCP内核扩展,而不是D2XX驱动程序。不过,安装这样的设备并不能解决你的问题,它只会让FTDI的驱动程序而不是苹果的驱动程序抓取设备。

如果您想直接访问Mac上的FTDI设备,最好的方法是将设备的VID/PID设置为Apple或FTDI的驱动程序没有捕获的值。您可以在Windows上使用阿普格,或者在Mac或Linux上使用编程来实现这一点。(请注意,这也需要直接访问FTDI设备,因此您需要暂时卸载内核扩展,以便在Mac上第一次重新编程VID/PID )。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28548436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档