QNX 上的 USB 大容量存储文件系统位置
Usb mass storage file system location on QNX
我需要通知我的软件已插入 USB 大容量存储棒,我还需要安装此棒的位置。是否有可能获得此信息,尤其是从任何 C 库安装 stick 的 fs 上的位置?
对于安装,我已经知道 usbd_connect() 并且我正在使用它。不幸的是,没有关于 fs 位置的信息。
问候
乔西普
io-usb 应该启动并且 运行 在你的目标上。
将库 "usbdi" 添加到您的项目。
然后使用以下代码片段:
#include <sys/usbdi.h>
static struct usbd_connection *conn_usb = NULL;
static void cbinsert(struct usbd_connection *connection, usbd_device_instance_t *ins);
static void cbremove(struct usbd_connection *connection, usbd_device_instance_t *ins);
int init(void)
{
usbd_funcs_t funcs = { _USBDI_NFUNCS, cbinsert, cbremove, NULL };
usbd_connect_parm_t parm = {NULL, USB_VERSION, USBD_VERSION, 0, 0, NULL, 0, NULL, &funcs,0};
if (usbd_connect(&parm, &conn_usb) != EOK) {
/* write your own error handler */
}
然后,添加您的自定义处理程序:
static void cbinsert(struct usbd_connection *usb_connection,usbd_device_instance_t *usb_instance)
{
if (usb_instance->ident.dclass == 8 && usb_instance->ident.subclass == 6) {
/* USB mass storage */
} else if (usb_instance->ident.dclass == 3 && usb_instance->ident.subclass == 1) {
/* USB mouse */
} else {
/* unknown device */
}
这是一个例子。你将不得不定制它。
但你需要的一切都在那里。
希望对您有所帮助!
伊曼纽尔
尝试在 QNX 中使用 MCD(媒体内容检测器)。请参阅以下链接 -
http://www.qnx.com/developers/docs/6.4.1/neutrino/utilities/m/mcd.html
http://www.qnx.com/developers/docs/660/index.jsp?topic=%2Fcom.qnx.doc.dev_pub.ref_guide%2Ftopic%2Fdrivers.html
我需要通知我的软件已插入 USB 大容量存储棒,我还需要安装此棒的位置。是否有可能获得此信息,尤其是从任何 C 库安装 stick 的 fs 上的位置?
对于安装,我已经知道 usbd_connect() 并且我正在使用它。不幸的是,没有关于 fs 位置的信息。
问候 乔西普
io-usb 应该启动并且 运行 在你的目标上。
将库 "usbdi" 添加到您的项目。
然后使用以下代码片段:
#include <sys/usbdi.h>
static struct usbd_connection *conn_usb = NULL;
static void cbinsert(struct usbd_connection *connection, usbd_device_instance_t *ins);
static void cbremove(struct usbd_connection *connection, usbd_device_instance_t *ins);
int init(void)
{
usbd_funcs_t funcs = { _USBDI_NFUNCS, cbinsert, cbremove, NULL };
usbd_connect_parm_t parm = {NULL, USB_VERSION, USBD_VERSION, 0, 0, NULL, 0, NULL, &funcs,0};
if (usbd_connect(&parm, &conn_usb) != EOK) {
/* write your own error handler */
}
然后,添加您的自定义处理程序:
static void cbinsert(struct usbd_connection *usb_connection,usbd_device_instance_t *usb_instance)
{
if (usb_instance->ident.dclass == 8 && usb_instance->ident.subclass == 6) {
/* USB mass storage */
} else if (usb_instance->ident.dclass == 3 && usb_instance->ident.subclass == 1) {
/* USB mouse */
} else {
/* unknown device */
}
这是一个例子。你将不得不定制它。 但你需要的一切都在那里。
希望对您有所帮助! 伊曼纽尔
尝试在 QNX 中使用 MCD(媒体内容检测器)。请参阅以下链接 -
http://www.qnx.com/developers/docs/6.4.1/neutrino/utilities/m/mcd.html http://www.qnx.com/developers/docs/660/index.jsp?topic=%2Fcom.qnx.doc.dev_pub.ref_guide%2Ftopic%2Fdrivers.html