This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Bootloader problem in ARM926ejs

Parents
  • Note: This was originally posted on 27th June 2011 at http://forums.arm.com

    I've been checking a little deeper today:

      The offending instruction is:

      LDR   R12,[R3, #+0]

      And the reason is that R3 contains 0x008021A9 where it should contain the address of a GPIO register.

      When running from the debugger, at the same line, R3 contains 0x53FCC000 which is the expected value.

      

      The following table:

      static volatile struct gpio * gpioRegTbl[N_GPIO_CH] = { &GPIO1, &GPIO2, &GPIO3, &GPIO4}; is not properly initiated when starting from the starter. It is properly initialized when starting from the debugger.


    I join my initialization code. 

    If you see any mistake, please comment.

Reply
  • Note: This was originally posted on 27th June 2011 at http://forums.arm.com

    I've been checking a little deeper today:

      The offending instruction is:

      LDR   R12,[R3, #+0]

      And the reason is that R3 contains 0x008021A9 where it should contain the address of a GPIO register.

      When running from the debugger, at the same line, R3 contains 0x53FCC000 which is the expected value.

      

      The following table:

      static volatile struct gpio * gpioRegTbl[N_GPIO_CH] = { &GPIO1, &GPIO2, &GPIO3, &GPIO4}; is not properly initiated when starting from the starter. It is properly initialized when starting from the debugger.


    I join my initialization code. 

    If you see any mistake, please comment.

Children
No data