You copied the Doc URL to your clipboard.


Generates execute-only code by adding the EXECONLY attribute to the AREA directive for all code sections, preventing the compiler from generating any data accesses to code sections.

To keep code and data in separate sections, the compiler disables literal pools and branch tables. That is, specifying --execute_only implicitly specifies the following compiler options:

  • --no_integer_literal_pools.
  • --no_float_literal_pools.
  • --no_string_literal_pools.
  • --no_branch_tables.


Execute-only code must be Thumb code.

Execute-only code is only supported on the following processors:

  • Cortex-M3.
  • Cortex-M4.

If your application calls library functions, the library objects included in the image are not execute-only compliant. You must ensure these objects are not assigned to an execute-only memory region.

Was this page helpful? Yes No