如何学习linux和windows驱动开发?

17 views
Skip to first unread message

机械唯物主义 : linjunhalida

unread,
Mar 12, 2010, 2:22:48 AM3/12/10
to sh...@googlegroups.com
dear all forks:
因为业务需求,需要采用USB从ARM7设备获取采样信息。大约200k/s的数据量。
数据量比较大,没有办法缓存在ARM端(30K缓存),然后慢慢发,需要尽快地传到PC。
现在我们的办法是把ARM虚拟成mass storage设备,
然后用操作系统的DeviceIOControl 控制SCSI,扩展了一个命令。

测试结果是,延时无法接受,下面数据满了,上面来不及接收。传输速率是够的。

现在我打算学习windows或linux驱动编程,在操作系统端把数据截获下来。

有几个问题请教各位达人:
是否有更好的方式来处理这样的数据传输问题?能够保证数据收到?
如何学习windows或linux驱动?一步一步的?现在在看网络上那本linux driver programming.
如何学习USB驱动编写?我现在利用libusb能够对endpoint收发数据,能够收到usb鼠标的动作,然后把鼠标害死掉。。(windows下)
但是如何在上面响应设备就不了解了,是否要看USB的那些说明文档?

小马xiaoma

unread,
Mar 12, 2010, 2:56:02 AM3/12/10
to sh...@googlegroups.com
上位机如果是windows或linux,那么无论如何都不能保证数据收到的。因为上位机用的不是实时操作系统,怎么能保证数据接收的实时性呢?

如果设备不能更改的话,可以在上位机用实时的操作系统来收数据。还可以做一个转接器,(转接器带有大容量的存储和至少一个usb
Host)由转接器负责接收数据并缓存后发送给电脑。

机械唯物主义 : linjunhalida

unread,
Mar 12, 2010, 3:21:33 AM3/12/10
to sh...@googlegroups.com
说下底子: 我做PC端的软件。
知道cache, MMU, ARM, GPIO, I2C,中断,CPU的多个模式,
嵌入式没写过,但看过ARM的文档。会写C。

2010/3/12 机械唯物主义 : linjunhalida <linjun...@gmail.com>

机械唯物主义 : linjunhalida

unread,
Mar 12, 2010, 3:22:31 AM3/12/10
to sh...@googlegroups.com
也就是说,无法保证数据能够接收全?
那么对于这类的需求,业界专业的处理方法应该是怎么样呢?

2010/3/12 小马xiaoma <cnxi...@gmail.com>

小马xiaoma

unread,
Mar 12, 2010, 3:27:28 AM3/12/10
to sh...@googlegroups.com
安装RTLinux,vxworks这类实时操作系统在工控机上是比较常规的做法。

机械唯物主义 : linjunhalida

unread,
Mar 12, 2010, 3:46:51 AM3/12/10
to sh...@googlegroups.com
因为是台式电脑,要做些界面的工作,比如显示谱图,这些都能够做吗?

2010/3/12 小马xiaoma <cnxi...@gmail.com>

机械唯物主义 : linjunhalida

unread,
Mar 12, 2010, 3:47:17 AM3/12/10
to sh...@googlegroups.com
晕,还要打印,打印机驱动只有windows的。。台式机不能换操作系统。

2010/3/12 机械唯物主义 : linjunhalida <linjun...@gmail.com>

小马xiaoma

unread,
Mar 12, 2010, 4:39:17 AM3/12/10
to sh...@googlegroups.com

Marco

unread,
Mar 14, 2010, 8:56:04 PM3/14/10
to sh...@googlegroups.com
可以考虑: Cypress 7c68013系列, EZUSB FX2LP家族。


2010/3/12 小马xiaoma <cnxi...@gmail.com>



--
LinuX
Violin
Canon EOS

iridium

unread,
Mar 21, 2010, 5:30:19 AM3/21/10
to sh...@googlegroups.com
如果被打印的文档不依赖于OS,可以考虑用虚拟机的Windows里打。

机械唯物主义 : linjunhalida 写道:


> 晕,还要打印,打印机驱动只有windows的。。台式机不能换操作系统。
>
> 2010/3/12 机械唯物主义 : linjunhalida <linjun...@gmail.com

> <mailto:linjun...@gmail.com>>
>
> 因为是台式电脑,要做些界面的工作,比如显示谱图,这些都能够做吗?
>
>
> 2010/3/12 小马xiaoma <cnxi...@gmail.com <mailto:cnxi...@gmail.com>>


>
> 安装RTLinux,vxworks这类实时操作系统在工控机上是比较常规的做法。
>
> 在 2010年3月12日 下午4:22,机械唯物主义 : linjunhalida

> <linjun...@gmail.com <mailto:linjun...@gmail.com>> 写道:


> > 也就是说,无法保证数据能够接收全?
> > 那么对于这类的需求,业界专业的处理方法应该是怎么样呢?
> >
> > 2010/3/12 小马xiaoma <cnxi...@gmail.com

> <mailto:cnxi...@gmail.com>>
> >>
> >> 上位机如果是windows或linux,那么无论如何都不能保证数据收到
> 的。因为上位机用的不是实时操作系统,怎么能保证数据接收的实时性呢?
> >>
> >> 如果设备不能更改的话,可以在上位机用实时的操作系统来收数


> 据。还可以做一个转接器,(转接器带有大容量的存储和至少一个usb
> >> Host)由转接器负责接收数据并缓存后发送给电脑。
> >>
> >> 在 2010年3月12日 下午3:22,机械唯物主义 : linjunhalida

> <linjun...@gmail.com <mailto:linjun...@gmail.com>> 写道:

Reply all
Reply to author
Forward
0 new messages