|ARM Technical Support Knowledge Articles|
Applies to: C51 C Compiler
Information in this article applies to:
I am stepping through the startup code from startup.a51 in dScope and my program seems to get stuck in the IDATALOOP. However, if I type g,main to go straight to main, it seems to work fine.
The IDATALOOP initializes the idata memory to 0. In order to do this, it has to go to each memory location in turn and store a zero. At the start of your startup.a51 file, you will have something like the following:
IDATALEN EQU 80H ; the length of IDATA memory in bytes.
This sets the size of idata. Therefore the IDATALOOP has to loop 80H times. If you step into the loop repeatedly, you will see in the Register window R0 counting down from 80H to 0H, as it is used to store the current memory location.
Article last edited on: 2005-07-15 12:09:54
Did you find this article helpful? Yes No
How can we improve this article?