Hi, We are writing a PXE driver which needs to flashed on to the EROM present on the network card. Currently we are doing it using DOS. We want to write the flash code using windows 2003. Can someboday point to links about how to do it?? Do we have to write a driver for it which an application can call or can it be done at application level using some APIs?
Thanks
-Santosh //WindowsFlash
Didn't find your answer? Ask the community — no account required.
M
Mark McDougall
To some extent it depends on the exact method used to flash the device.
If you need to tickle some registers on the card mapped into PCI memory space, the easiest option may be TVICPCI. It allows application-level access to PCI memory space.
Regards, Mark
K
krcdacin
Mark, Thanks for the link. I guess it might help. Some more details about the requirement. Yes, we need to write to the EROM registers whose base address is mapped into PCI config space (Expansion ROM base address). This utility needs to be written using MFC/VC++(not necessarily) BUT "we should be able to flash the PXE image to EROM while running in windows".
-Santosh
K
krcdacin
Is there any other way by whcih i can do it myself instaed of uisng TVICPCI. If i have to write a driver for it, how to do it?? What kind of driver it will be?? How the application should interact with it?? Can i do it at the application level itself?? Any links , samples , thoughts will be of great help. Thanks
-Santosh
A
Antti Lukats
schrieb im Newsbeitrag news: snipped-for-privacy@g47g2000cwa.googlegroups.com...
you can just use any freeware hardware port access DLL and write all your application as normal win32 application. we have done this way utilities that read write the serial eeprom on network cards (to change mac address, etc)
Antti
K
krcdacin
In my case the expansion ROM base address will be a memory mapped address in the 32 bit address space. I don't know much about port access dlls. Will it be able to read/write memory mapped addresses? What are the other ways to do it?? thanks
-Santosh
A
Antti Lukats
schrieb im Newsbeitrag news: snipped-for-privacy@g43g2000cwa.googlegroups.com...
ups sorry the free DLL mainly only have IO access and not memory acces :( there is one memaccess unit that has free eval but did not work.
we use some other $$$ dll for memory access. but its actually not difficult at all to write the driver yourself if you have the MS VS stuff installed
antti
M
Mark McDougall
The price of TVICPCI is, in the context of a commercial project, negligible. IIRC, there's a free 'nagware' version anyway.
I've written a couple of device drivers, and I've used TVIC - and I know which I'd prefer - especially if I hadn't written a driver before.
Regards, Mark
K
krcdacin
I am a bit confused about how to go.. Can i do it at the application level using VC++/MFC and some library or do i have to write a separate driver to accomplish this task. If it has to be a driver what kind of driver do i have to write??
-Santosh
M
Mark McDougall
You can't access PCI device memory space without a driver. The TVIVPCI program provides a generic driver that allows applications to map PCI memory space for direct access.
As for what type of driver, I'm not sure how to categorise it myself (I've only written SCSI Miniport and HID Miniport drivers myself) but I suspect it's a vanilla kernel mode driver. You'll need access to the PCI PnP functionailty in order to (easily) probe for your card and access the BAR registers.
Perhaps you should post a question on the microsoft newsgroups?
In order to write Windows drivers, it is *strongly* recommended that you use the Windows DDK (as opposed to VC++). The latter reportedly *can* be done, but not without a lot of mucking about - for experienced user only apparently.
Regards, Mark
V
Victor Ishikeev
You may try our new RapidDriver toolkit (ISA, PCI, USB, and parallel port support, inc. hardware debugger):
formatting link
-Victor
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.