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

Removing Angel for production release

Hello all, excuse this question if it is simple. I have read the manuals and searched online an could not find an answer.

I am running Cortex-M3 and M4 devices where I am approaching production stage. I am also required to include a custom bootloader soon. For these two reasons, I would like to control the memory map to include only my code and no debug code. I see that Keil has a lot of 'angel' debugging objects (even though many are zero size). Is there any way to disable all debugging code from being downloaded to hte micro and only end up with my code? The manual says it can be done but I can't find how.

Thanks!

  • Options for Target -> Output -> Debug Information (Uncheck)?
    Be sure to also not link in debug objects/libraries.

  • That didn't do it. I still have Angel objects in the map file.

    As a test, I did create an empty project with a startup file (*.s) only and all Angel objects went away. As soon as I include a *.c file, even if not calling it, all of these symbols appear again.

    Image Symbol Table
    
        Local Symbols
    
        Symbol Name                              Value     Ov Type        Size  Object(Section)
    
        ../clib/angel/boardlib.s                 0x00000000   Number         0  boardshut.o ABSOLUTE
        ../clib/angel/boardlib.s                 0x00000000   Number         0  boardinit3.o ABSOLUTE
        ../clib/angel/boardlib.s                 0x00000000   Number         0  boardinit2.o ABSOLUTE
        ../clib/angel/boardlib.s                 0x00000000   Number         0  boardinit1.o ABSOLUTE
        ../clib/angel/handlers.s                 0x00000000   Number         0  __scatter_copy.o ABSOLUTE
        ../clib/angel/handlers.s                 0x00000000   Number         0  __scatter_zi.o ABSOLUTE
        ../clib/angel/kernel.s                   0x00000000   Number         0  rtexit.o ABSOLUTE
        ../clib/angel/kernel.s                   0x00000000   Number         0  rtexit2.o ABSOLUTE
        ../clib/angel/kernel.s                   0x00000000   Number         0  rtentry4.o ABSOLUTE
        ../clib/angel/kernel.s                   0x00000000   Number         0  rtentry2.o ABSOLUTE
        ../clib/angel/kernel.s                   0x00000000   Number         0  rtentry.o ABSOLUTE
        ../clib/angel/rt.s                       0x00000000   Number         0  rt_raise.o ABSOLUTE
        ../clib/angel/scatter.s                  0x00000000   Number         0  __scatter.o ABSOLUTE
        ../clib/angel/startup.s                  0x00000000   Number         0  __main.o ABSOLUTE
        .......
    

  • I believe you worry too much. Those are just symbolic numbers. They don't even have an address, so what makes you assume they will occupy space in your controller?