Re: Help in getting application to access I/O space



The processor is x86.
What code would I start to modify to create my own _inp() and _outp() for
r/w?




"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
com> wrote in message news:OrOFFnYtGHA.1504@xxxxxxxxxxxxxxxxxxxxxxx
What sort of a processor is it? If it's x86, there's a separate set of
instructions that access it and you could write your own versions of
_inp() and _outp() to read and write. If it's not an x86, then I/O =
memory, so you'll want to use MmMapIoSpace() with appropriate parameters.
Based on that address, I'm guessing x86.

A twist is that it's also possible that your platform uses bus-relative
addresses, in which case BusTransBusAddrToVirtual() would be more
appropriate. Are you sure you shouldn't be doing this in a driver and not
the application?

Paul T.

"Andy Purcell" <Andy_Purcell@xxxxxxxxxxx> wrote in message
news:%23dbEJiYtGHA.1512@xxxxxxxxxxxxxxxxxxxxxxx
I need to write CE app to manipulate my CPU GPIO outputs. The
documentation for the CPU registers that control GPIO signals says that
the registers are mapped as offsets into "I/O Space". The base address is
0xF0.

So the question is - how can my application access these registers?
- can I use WRITE_PORT_ULONG()?
- must I map this space using some API?







.



Relevant Pages

  • Re: Two Click disassembly/reassembly
    ... Map the extra x86 registers to memory. ... > equivalents to the string instructions. ... > got such a limited RISC like instruction set that the assembler is more ...
    (alt.lang.asm)
  • Re: Help in getting application to access I/O space
    ... instructions that access it and you could write your own versions of _inp ... that address, I'm guessing x86. ... for the CPU registers that control GPIO signals says that the registers are ... mapped as offsets into "I/O Space". ...
    (microsoft.public.windowsce.embedded)
  • Re: SSE2 half as fast as it should be?
    ... You cannot always mix SSE2 and MMX instructions so easily ... because they operate on different types of registers. ... Which instructions work on which registers you can find out ... SSE2/3 and x86 because the bottleneck will be the 3 instructions per ...
    (comp.lang.asm.x86)
  • Re: non load/store architecture?
    ... Programmers can write great code on a RISC ... Especially in a PC marketplace dominated by the x86. ... Lots of registers and an orthogonal instruction set are important - both have these. ... The lack of registers means much more memory IO, which causes stalls and requires complex scheduling. ...
    (comp.arch.embedded)
  • Re: Intel publishes Larrabee paper
    ... Using x86 as the base it is understandable that the third vector operand ... 32 registers times 4 sets, plus some rename registers and you are ... visible registers your actual register set becomes large, ... The die size tradeoffs of 4 way multi threading is mostly about reducing ...
    (comp.arch)