![]() |
China DOS Union-- Unite DOS · Advance DOS · Grow DOS --Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum |
| Guest | Log in | Register | Members | Search | China DOS Union |
|
中国DOS联盟论坛 The time now is 2026-09-14 23:50 |
47,812 topics / 349,917 posts / today 0 new / 48,268 members |
| DOS开发编程 & 发展交流 (开发室) » Regarding the issue of accessing the USB controller under DOS, please help from the experts, thank you |
| Printable Version 4,543 / 9 |
| Floor1 dellweiwei | Posted 2003-07-10 00:00 |
| 初级用户 Posts 2 Credits 111 | |
|
I'm a senior student in the computer department of a university. I'll be looking for a job half a year later. Everyone knows that it's hard to find a job these days.
During the last summer vacation, I got an unpaid internship in a company. Of course, I want to stay. This time I've come into contact with very low - level things. Especially this time I encountered a very difficult technical problem, and I'm very worried about whether I can do this well. Now let me briefly describe this problem. Please point out if there are any basic problems in the description, because it's the first time I'm doing such a low - level program. The TEAM I joined is developing a solution. The main programs in it run just after the computer is booted and before the operating system is entered (it's a bit similar to the boot program of a hard disk protection card). In this program running almost on bare metal, there is a function to access a self - developed USB peripheral hardware of the company. My module is centered around this. The driver of this USB hardware under WINDOWS has long been completed, but in the bare - metal assembly environment, the form is completely different, which makes me at a loss. Later, I saw such a program URL on your website: http://newdos.yginfo.net/dosware/usbdrv.zip This program can make DOS support USB devices. The program is not large. Then I read some information about USB and combined with the understanding of the program, I drew the following conclusions: 1. If assembly or DOS wants to access the USB interface, it needs to address the USB controller chip through I/O addresses for operations, such as initialization and sending data, which are all I/O operations on the USB controller. 2. If my assembly application program is to perform operations on this hardware to a certain purpose, first, there should be a USB controller driver, which packages the underlying operations on the controller. Then, based on the controller driver, I develop a device driver for my USB device that calls the controller driver. The diagram is as follows Assembly application program <--- > My USB device's driver module <--- > USB controller driver <-- > USB controller < - > USB peripheral Looking at the DUSE program downloaded from your website again, although it's for DOS, its function is similar to the module I want to do. Especially the USB controller driver. I find that it's the underlying core of the DUSE program. The driver programs of various different devices just call it, but I know nothing about it; if I can directly send and receive data to the USB interface on the basis of it, how to communicate with my USB peripheral, I'm very familiar with instructions. I don't know if my expression is clear. My final goal is to use assembly to access the USB interface and send data to control a specific USB device developed by the company under bare metal (I know the control instructions of this device). Please experts give guidance on how to make a general USB controller driver module (I see that DUSE can be used on various machines). It's best to have relevant code that can be directly referred to. Time is pressing for my job. I'm doing this for my job. Thank you, experts. I'm in Shanghai. If this matter is done well, I will definitely invite you to dinner. My EMAIL: dellweiwei@hotmail.com |
|
| Floor2 dellweiwei | Posted 2003-07-12 00:00 |
| 初级用户 Posts 2 Credits 111 | |
|
hehe, I went to the Computer Doctoral Laboratory of Donghua University today and found the answer there. It seems that the technology here is still limited.
|
|
| Floor3 hunome | Posted 2003-07-12 00:00 |
| 银牌会员 Posts 721 Credits 2,265 | |
|
Would Zen Buddhism be interested?
|
|
| Floor4 禅宗 | Posted 2003-07-16 00:00 |
| 元老会员 Posts 300 Credits 1,019 From 广东 | |
|
Yeah, I'm interested in this aspect
. I wonder if the original poster can post it? |
|
| Floor5 libaoli | Posted 2006-09-08 05:33 |
| 新手上路 Posts 5 Credits 6 | |
|
The LZ posts the answer, let the younger generation also come to learn!
|
|
| Floor6 zyl910 | Posted 2006-09-08 05:56 |
| 中级用户 Posts 126 Credits 282 | |
|
Follow!
I'm very interested in USB right now. The drivers for USB are divided into three layers: Host controller driver Device class driver Application driver Windows already comes with common device class drivers. The host controller driver is provided by the motherboard driver. When writing drivers, you only need to write the application driver according to the characteristics of the device. But under DOS, you have to write all three layers of drivers by yourself. Now I'm getting dizzy from the UHCI specification downloaded from the Intel website. |
|
| Floor7 johnsonlam | Posted 2006-09-08 22:39 |
| 银牌会员 Posts 497 Credits 1,410 From 九龍,香港 | |
|
There are already USB driver examples online, such as Georg Phtthast's DOSUHCI, but it is written in PowerBASIC, which many people can't understand, and it's paid, so it's relatively unpopular. mailbox@georgpotthast.de |
|
| Floor8 kinglin | Posted 2007-07-03 15:03 |
| 初级用户 Posts 28 Credits 62 | |
|
Just passing through
|
|
| Floor9 CrispH | Posted 2007-07-04 21:42 |
| 初级用户 Posts 49 Credits 108 | |
|
It seems relatively troublesome...
I do have a lot of SOURCE CODE that can run under DOS. But it's not easy to sort them out. I think, I need some things about USB in DOS. Need to understand the software aspects of the specifications of OHCI, UHCI and EHCI. |
|
| Floor10 p8031 | Posted 2010-12-23 14:24 |
| 新手上路 Posts 1 Credits 2 | |
|
Learning
|
|
|
[ Contact the Union admin team -
中国DOS联盟 -
Standard version ] Sponsored by ifanr Inc | © 2001–2023 |