So, here's something that's been bugging me this morning. The answer may be obvious, but here goes.
When you're using tools like a Fluke 9010 / 9100 (basically Fluke PODs) or the Arduino In-Circuit tester, if you want to access memory mapped I/O you prefix the I/O address with something. Usually a 1. So 0x4000 becomes 0x14000.
Why?
I mean, by it's very nature, memory mapped I/O has a memory address which can be accessed, so why do you need to differentiate it from normal address space? Obviously the answer is that something different happens when the extra 1 is supplied, but what?
I know I'm going to go "DOH! Of course" when someone tells me. It's been a while. So someone, please humour me.
When you're using tools like a Fluke 9010 / 9100 (basically Fluke PODs) or the Arduino In-Circuit tester, if you want to access memory mapped I/O you prefix the I/O address with something. Usually a 1. So 0x4000 becomes 0x14000.
Why?
I mean, by it's very nature, memory mapped I/O has a memory address which can be accessed, so why do you need to differentiate it from normal address space? Obviously the answer is that something different happens when the extra 1 is supplied, but what?
I know I'm going to go "DOH! Of course" when someone tells me. It's been a while. So someone, please humour me.