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



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 ... Based on that address, I'm guessing x86. ... 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)