私は、プロセスが仮想アドレス空間を持っていることを発見したOS理論を読んでいました(簡単にするために、テクニックベースとリミットレジスタを大まかに使用しています)が、他のアドレスにはアクセスできません。しかし、組み込みシステムでは、placement new または reinterpret_cast (C++) を使用してメモリ マップド IO アドレスにアクセスできますが、プロセスの仮想アドレス空間以外の他のアドレスにアクセスできない場合はどうすればよいでしょうか?
class ControlReg {
public:
bool ready() const { return readyBit; }
private:
volatile unsigned readyBit :1;
};
ControlReg *pcr = reinterpret_cast<ControlReg*>(0xFFFF0000); // address 0xFFFF0000 is still virtual or absolute physical mapped address?
プロセスが任意のアドレスにアクセスできるようにする命令はありますか? . 私は混乱していると思います。誰かが物事をはっきりと見るのを手伝ってくれませんか?
ありがとう