Blame view

build6/epsilon-master/ion/src/device/regs/itm.h 597 Bytes
6663b6c9   adorian   projet complet av...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  #ifndef REGS_ITM_H
  #define REGS_ITM_H
  
  #include "register.h"
  
  // See ARM Cortex M4 TRM
  
  class ITM {
  public:
    class STIM : public Register8 {
    };
  
    // http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0314h/Chdbicac.html
    class TER : Register32 {
    public:
      bool get(int index) volatile { return (bool)getBitRange(index, index); }
    };
  
    constexpr ITM() {};
    volatile STIM * STIM(int i) const {
      return (class STIM *)(Base() + 4*i);
    };
    REGS_REGISTER_AT(TER, 0xE00);
  private:
    constexpr uint32_t Base() const {
      return 0xE0000000;
    }
  };
  
  constexpr ITM ITM;
  
  #endif