Search code examples
armfpgaintel-fpgasoc

What does "+ 3" in while (*(MPcore_private_timer_ptr + 3) == 0) mean?


I am currently reading through DE0-Nano-SoC Computer System with ARM Cortex-A9 user guide i found a c code in it and i don't understand what does "+ 3" in "*(MPcore_private_timer_ptr + 3)" mean?

while (1)
{
*HPS_GPIO1_ptr = HPS_LEDG; // turn on/off LEDG
while (*(MPcore_private_timer_ptr + 3) == 0)
; // wait for timer to expire
*(MPcore_private_timer_ptr + 3) = 1; // reset timer flag bit
HPS_LEDG ^= bit_24_pattern; // toggle bit that controls LEDG
}

Solution

  • Blockquote

    *(MPcore_private_timer_ptr + 3) = 1; // reset timer flag bit

    Is synonimum of :

    *(&MPcore_private_timer_ptr[3]) = 1; // reset timer flag bit