是否有可能在获得驱动程序之前开始为硬件设备工作 API
Is it possible to start working on an API for a hardware device before having the driver
我是这个领域开发过程的新手,所以我的问题可能看起来不太合乎逻辑。
我正在进行一个生产新 USB 设备的项目。假设此设备是网络摄像头。该设备的主要特点之一是它应该有一个非常智能的 API 以便程序员可以广泛访问硬件部分。例如,使用滑块手动控制相机镜头,同样适用于闪光灯强度和捕获帧率。
据我所知,在 API 上工作之前,所有设备功能都应由设备驱动程序提供并记录在案。不幸的是,我被要求(作为 C/C++ 开发人员)开始设计 API 作为一种方法,通过其最终交付功能来指导生产过程。
那么开发人员在拥有设备驱动程序之前有什么工作要做吗?
此外,能否请您提供一个示例代码(伪代码),说明 API 如何利用设备驱动程序执行某些功能?
设计 API 通常只意味着编写一个 C 语言头文件,其中包含您的库提供的方法的名称,以及它们的参数、return 类型和任何必要的文档。所以,是的,您当然可以在拥有设备驱动程序之前开始编写该文件。
既然你有两个不同的问题,我想你应该把它们分别发布在这个网站上。但无论如何,第二个问题的答案在很大程度上取决于您使用的操作系统。在 Windows 中,您可能会使用 DeviceIoControl
and in Linux you would probably use ioctl
(或者只是 read
和 write
)。
我是这个领域开发过程的新手,所以我的问题可能看起来不太合乎逻辑。
我正在进行一个生产新 USB 设备的项目。假设此设备是网络摄像头。该设备的主要特点之一是它应该有一个非常智能的 API 以便程序员可以广泛访问硬件部分。例如,使用滑块手动控制相机镜头,同样适用于闪光灯强度和捕获帧率。
据我所知,在 API 上工作之前,所有设备功能都应由设备驱动程序提供并记录在案。不幸的是,我被要求(作为 C/C++ 开发人员)开始设计 API 作为一种方法,通过其最终交付功能来指导生产过程。
那么开发人员在拥有设备驱动程序之前有什么工作要做吗?
此外,能否请您提供一个示例代码(伪代码),说明 API 如何利用设备驱动程序执行某些功能?
设计 API 通常只意味着编写一个 C 语言头文件,其中包含您的库提供的方法的名称,以及它们的参数、return 类型和任何必要的文档。所以,是的,您当然可以在拥有设备驱动程序之前开始编写该文件。
既然你有两个不同的问题,我想你应该把它们分别发布在这个网站上。但无论如何,第二个问题的答案在很大程度上取决于您使用的操作系统。在 Windows 中,您可能会使用 DeviceIoControl
and in Linux you would probably use ioctl
(或者只是 read
和 write
)。