rod
01-25-2004, 03:49 AM
I would like to learn how drivers work and learn how to write them ...does anyone have resources were I can learn to do this ...
thanks alot to anyone who can help me ...
rod
thanks alot to anyone who can help me ...
rod
View Full Version : Writing drivers
|
rod 01-25-2004, 03:49 AM I would like to learn how drivers work and learn how to write them ...does anyone have resources were I can learn to do this ... thanks alot to anyone who can help me ... rod damien 02-22-2004, 07:18 AM I would like to learn how drivers work and learn how to write them ...does anyone have resources were I can learn to do this ... thanks alot to anyone who can help me ... rod step one...Learn to program in assembly (related to step# 4) step two Learn to program in a high level langauge such as C++ step three Learn basic electronics (required to understand just what you are writing a driver for) step four learn windows programming (or os of your choice) step five, now you can begin to write a device driver, the above steps can be compleated in under 3 years if you push at it. basic dos drivers for simple devices like a printer interface can be mastered in perhaps a year or so and no i'm not kidding......before you can write a driver, you do need the detailed skills listed above. drivers are a interface between the hardware and the os and as such can range from a simple small driver to highly complex large drivers. local schools and books are available. along with numerous web sites showing programing examples. Unregistered 07-14-2004, 12:29 PM hey everyone Im new to writing device drivers. Im half way through an engineering degree and have extensive knowledge of c,c++,assembly and API programming. However, ive hit a brick wall with this usb device driver that i need to modify for my job. I have a skeloton code that works, but i need to be able to modify it. However, when i try to compile in vs 5 and 6 i get this error, #error Compiler version not supported by Windows DDK. i have tryed different variations of the ddk with no success. i have also used dbgview.exe with kdPrint statements but this is not much help. what i really need is to be able to step through the code with vs debuger. if anyone can help me it would be very much appreciated. Sincerely, Anthony Damien 07-18-2004, 06:49 AM the most common cause of this error is due to not using the Pro version of VB. There versions of the VB compiler do not support the /Oi option (Generate Intrinsic Functions). As a result, most of the C functions used in the driver will not get resolved. The /Oi option replaces some function calls with fixed or otherwise special forms of the function that help your driver run faster. Code optimization is supported only in Visual C++ Professional and Enterprise Editions. The following is a partial list of functions that are not available for use: memcpy memcmp memset strcmp strcpy strlen strcat RESOLUTION There is no resolution for this problem. Driver developers must use either Professional or Enterprise Editions of Visual C++ 6.0 to build drivers for Windows 2000. REFERENCES Visual C++ Programmer's Guide in Microsoft Developer's Network (MSDN) driver 08-07-2004, 02:51 AM [QUOTE=damien]step one...Learn to program I only wish to write BIOS, what language do I use? Are AMI and AWARD and PHOENIX and whatever in different languages or what? What compiler do I need? like I am an engineer, have basic electronics, know nothing about fortran and have an open argument about some bioses being basically the same. your wisdom shall be appreciated best regards! Somebody 08-07-2004, 07:26 AM The idea of a B.I.O.S. Basic Input/Output System was the invention by Gary Kildall founder of Digital Research. http://www.cadigital.com/kildall.htm http://www.maxframe.com/EUBANKS.HTM http://members.fortunecity.com/pcmuseum/kildall.htm "The first successful open-system architecture by segregating system-specific hardware interfaces in a set of BIOS routines, making the whole third-party software industry possible." http://www.fact-index.com/g/ga/gary_kildall.html B.I.O.S. files are written in Assembly Language. Keeps the code small; has to fit on a ROM or flashable ROM chip. http://guideme.itgo.com/atozofc/ch41.pdf Information on B.I.O.S. files; http://www.gen-x-pc.com/BIOS_info.htm Unregistered 08-17-2004, 12:58 AM step one...Learn to program in assembly (related to step# 4) step two Learn to program in a high level langauge such as C++ step three Learn basic electronics (required to understand just what you are writing a driver for) step four learn windows programming (or os of your choice) step five, now you can begin to write a device driver, the above steps can be compleated in under 3 years if you push at it. basic dos drivers for simple devices like a printer interface can be mastered in perhaps a year or so and no i'm not kidding......before you can write a driver, you do need the detailed skills listed above. drivers are a interface between the hardware and the os and as such can range from a simple small driver to highly complex large drivers. local schools and books are available. along with numerous web sites showing programing examples. Thanx for zero information, damian, especially your plug for a web site which offers no relevent information whatsoever. Myself, I have a very good knowledge of assembler, C and basic electronics, and sometimes toy with the idea of making a unique piece of hardware which would require a driver. But all I ever see is tutorials for calling directX. Still don't know where the best place is to start looking - guess that makes me an idiot not worthy of useful information from damian damien 08-17-2004, 02:26 AM as you stated: "Still don't know where the best place is to start looking - guess that makes me an idiot not worthy of useful information from damian" glad to see that you realise you limitations. intelligent people seem to have no issues with finding documentation or classes at their local collage. as you pointed out only a idiot would be unable to locate books on programing from "amazon" or their local bookstore or local library. and last, as you have also pointed out only a moron would think that a reply from another request reguarding a c+ compiler problem would be directed to them also when they posted at a later date on a unrelated programming issue (RTOFL!!) driver 08-17-2004, 05:56 AM and I didn't even got a reply from damien! I'm just sucking in all that excellent information made available here , me and the 900 other people who read these posts so far! Like somebody has left some very good info regarding my question on BIOS, but there are links to the complete book on programming that some two guys are givin away! From what I have gathered so far, this vast virtual domain of computer programming, despite of extensive staking-out by the bigguys, remains largely virgin territory. Like you can do whatever you want! Gee, like I sure hope that unique piece of hardware you are toying with, can only be programmed for peacefull purposes! Like I say, it's virgin teritory, so I am with damian; we don't want the likes of you stomping around on it! RedLizard 09-01-2004, 11:28 PM Thanx for zero information, damian, especially your plug for a web site which offers no relevent information whatsoever. Myself, I have a very good knowledge of assembler, C and basic electronics, and sometimes toy with the idea of making a unique piece of hardware which would require a driver. But all I ever see is tutorials for calling directX. Still don't know where the best place is to start looking - guess that makes me an idiot not worthy of useful information from damian 1. This information was not an answer to your possible questions, but to the question asked by rod. Therefore, if you're not rod, do not assume that the answer is perfectly suited to your needs. So start your own thread if you have your own questions; perhaps than you get the answers you desire. 2. If, by any chance, you only need a pointer in the good direction, surely you'll be able to use google. 3. All the information you might possibly need to write Linux drivers is available on the internet; http://www.tldp.org is a good place to start for all Linux documentation. But, i'm sure someone as intelligent as you are will have tried the central documentation site as the very first resource to check. 4. If you're to narrow-minded to write drivers for any OS but the one generally used, you can always start at http://msdn.microsoft.com for development-related business. And if you have a look around there, you might even notice that the folks at Microsoft sell a software bundle known as the Driver Development Kit, or DDK. Not only does it contain highly usefull tools, it also comes with a great deal of documentation and sample code. But again, I'm sure you've searched the MSDN site thoroughly before even having a look at this forum. 5. And finally, there's always the possibility that you are to lazy to search before asking for help. This would mean that you haven't checked the major sites before visiting this forum, and you wouldn't have used a search engine either. In this case, Damien as well as the other denizens of this forum have better ways to spend there time then answering questions from people who are not intelligent enough to write drivers. And although most people are intelligent enough, as pointed out by Damien, you've just proven that you are not. RedLizard Unregistered 01-10-2005, 05:38 AM Damien's not all bad, not completely stupid, and get's pretty snotty at times. He's all over the web on different tech sites. Just don't bother to snap back at him, or let your feelings or sensibilities be hurt by people (like him for example) in forums and threads like these. Best of luck to you, and take plenty of satisfaction in what you learn and do. Unregistered 07-21-2005, 06:08 PM I figured i'd add just one more posting :) I have a BSc in e engineering/comp science etc, but have always wondered where a developer gets a detailed set of specs for a particular device, especially new ones, or are there standard abstraction layers that negate the need for absolute hardware detail? Also any other bibliography, or sources specifically for this area? I would be very gratefull...thanx in advance :) P.S. I think Andrew S. Tanenbaum's "OS design and implementation" (with the entire minux source listing, 12300 odd lines of it!) is the Bible. |