Re: PCI Programming Tutorial
- From: jim_nospam_beasley@xxxxxxxxx
- Date: 21 Nov 2006 22:59:08 -0800
Thanks, Tim. I don't know how I could have left those details out. I'm
assuming an Intel Architecture 32-bit or 64-bit (less likely), and a
PCI controller on the SBC. I'll also assume a controller or bridge
(don't know exactly, because I'm still unfamiliar with the details) on
the peripheral boards, if that helps.
I am considering Windows XP Embedded or Linux for the OS. Greenhills
Integrity or VxWorks are also possible, but less likely.
If I could have a better understanding from the XP OS point of view,
that would probably be a good start to my understanding. I'm not a
driver developer, so I'm out of my depth here (I'm just trying to steer
the system design and make sure everyone on the team is considering all
choices carefully), but I thought I needed a driver in XP to access
real memory, to maintain protected address spaces. So even transparent
memory mapping probably needs a driver to permit that access. I'm not
sure how that looks in software (assuming code is written in C, C++, or
C# (if I'm using XP)).
Also, I recently read that PCI only supports 64KB of I/O space, which
is direct memory mapped. There is supposed to be 4GB of address space
that is accessible, but it's not memory mapped I/O. I'll have to
understand how that works, too.
For the type of peripheral boards I would have, much of what I need to
do can probably be accompoished with I/O space. I'll be reading/writing
configuration registers and moving blocks of memory. Maybe reflashing
ROMs on those boards.
So I still have some homework to do. I found something that looks
promising at http://www.fpga4fun.com/PCI.html and I still have to go
through it.
.
- Follow-Ups:
- Re: PCI Programming Tutorial
- From: Tim Roberts
- Re: PCI Programming Tutorial
- From: Maxim S. Shatskih
- Re: PCI Programming Tutorial
- References:
- PCI Programming Tutorial
- From: jim_nospam_beasley
- Re: PCI Programming Tutorial
- From: Tim Roberts
- PCI Programming Tutorial
- Prev by Date: Re: IoAllocateDriverObjectExtension vs. global variables
- Next by Date: Self signing a UniDRV based driver
- Previous by thread: Re: PCI Programming Tutorial
- Next by thread: Re: PCI Programming Tutorial
- Index(es):
Relevant Pages
|