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?
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.
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".
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
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)
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
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??
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.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.