onboard EROM PXE programming in windows

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

Reply to
krcdacin
Loading thread data ...

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

Reply to
Mark McDougall

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

Reply to
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

Reply to
krcdacin

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

Reply to
Antti Lukats

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

Reply to
krcdacin

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

Reply to
Antti Lukats

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

Reply to
Mark McDougall

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

Reply to
krcdacin

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

Reply to
Mark McDougall

You may try our new RapidDriver toolkit (ISA, PCI, USB, and parallel port support, inc. hardware debugger):

formatting link

-Victor

Reply to
Victor Ishikeev

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.