Datasheet
Processor Core
Intel
®
Quark™ microcontroller D2000
Datasheet January 2016
104 Document Number: 333577-002EN
11.4.4 Sample Code
Programming timer:
timer = (unsigned int *)0xFEE00320;
timer_cnt = (unsigned int *)0xFEE00380;
__asm("sti");
// Enable Timer interrupt in Periodic mode using interrupt line 1
*(timer) = 0x20001;
// Timer count
*(timer_cnt) = 0x200;
Programming I/O IC registers:
volatile unsigned int *rte;
volatile unsigned int *index;
#define LOW_NIBBLE_MASK 0x7
#define HIGH_NIBBLE_MASK 0x18
index = (unsigned int *)0xFEC00000;
rte = (unsigned int *)0xFEC00010;
unsigned int low_nibble;
unsigned int high_nibble;
// Setting index in the IOREGSEL
low_nibble = ((line & LOW_NIBBLE_MASK) << 0x1);
high_nibble = ((line & HIGH_NIBBLE_MASK) << 0x2);
*(index) = high_nibble | low_nibble;
// Setting Trigger mode in the IOWIN
*(rte) = (0x1 << 15);