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

Misc debug / link questions

Hi all !

1) can I compile a fixed breakpoint into code with a simple "C" statement in "asm db xxx" style, like it was in the x86 days?

2) what happens between end of startup file and beginning of main(). I went through the code and found some lists of code being executed and a function named scatterload_rt2. Obviously the zero init phase takes place there and copying of ram-code and initialized varables .. but is there a detailed description of that?

3) I need some portions of uninitialized RAM for debug and some tracking purposes. It turned out I can take the ethernet ram (unused here) of our LPC2366, as it gets not initialized. But the settings in the project options state the eth-ram area NOT as "not initialized". So consequently it should become initialied. Any idea why it doens not get cleared?

4) Anyone out there using the RTAgent successfully with the latest RL-ARM version?

thanx in advance
Uli

Parents
  • -> 2) what happens between end of startup file and beginning of main().

    http://www.keil.com/support/man/docs/armlib/armlib_cihfddfg.htm

    The entry point of a program is at __main in the C library where library code does the following:

    1. Copies non root (RO and RW) execution regions from their load addresses to their execution addresses. Also, if any data sections are compressed, they are decompressed from the load address to the execution address. See the Linker Reference Guide for more information.
    2. Zeroes ZI regions.
    3. Branches to __rt_entry.

    The library function __rt_entry() runs the program as follows:

    1. Calls __rt_stackheap_init() to set up the stack and heap.

Reply
  • -> 2) what happens between end of startup file and beginning of main().

    http://www.keil.com/support/man/docs/armlib/armlib_cihfddfg.htm

    The entry point of a program is at __main in the C library where library code does the following:

    1. Copies non root (RO and RW) execution regions from their load addresses to their execution addresses. Also, if any data sections are compressed, they are decompressed from the load address to the execution address. See the Linker Reference Guide for more information.
    2. Zeroes ZI regions.
    3. Branches to __rt_entry.

    The library function __rt_entry() runs the program as follows:

    1. Calls __rt_stackheap_init() to set up the stack and heap.

Children