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

How to prevent cross references between two sections

Is there a way to prevent cross references betweeen two sections, so that for example functions located in the .boot section can't call functions located in the .user section?
I'm developing a custom bootloader and I need it for obvious reasons.
I've digged through the scatter loading documentation but I didn't find the equivalent of the NOCROSSREFS() directive used in ld.
(I'm using armcc and armlink)

Parents
  • The way to do it is to use two projects or two targets in the same project.

    If you need to, you can later merge the hex for the boot loader and the application and send off to the factory.

    Only separate builds will guarantee water-tight separation - or the use of assembler. You can never control what internal helper functions C/C++ code may use and any reference to CRTL functionality will be bad news.

Reply
  • The way to do it is to use two projects or two targets in the same project.

    If you need to, you can later merge the hex for the boot loader and the application and send off to the factory.

    Only separate builds will guarantee water-tight separation - or the use of assembler. You can never control what internal helper functions C/C++ code may use and any reference to CRTL functionality will be bad news.

Children