Remove startup code

Technical Note 13062

Arkitekturer:

All

Komponent:

linker

Uppdaterad:

2018-05-31 09:14

Introduction

The application consists of two IAR Embedded Workbench projects, where the 1st project is linking the 2nd application as a binary image.

Issue

The startup code of the 2nd application is also included in the binary image. The issue is to reduce the size of the linked output. Only the startup code of the main project is needed, as it is in the 1st application execution starts.

Wanted behavior

Get the unwanted startup code of the 2nd project removed from the binary image.

Suggestion

By default, the label where the linker starts checking which symbols that are needed is __iar_program_start, (that is, the beginning of the startup code).

Override the default behavior by specifying your own entry symbol in the project options, for example:

  • IAR Embedded Workbench for AVR:
    Options > Linker > Config > Override default program entry > Entry symbol
  • IAR Embedded Workbench for ARM:
    Options > Linker > Library > Override default program entry > Entry symbol

Example for ARM

There exists an example project. Go to Technical Note 28924 and check the project 'Common', in which there is an override of the 'Entry symbol'. (And it specifies a function that do not contain any functionality.)

All product names are trademarks or registered trademarks of their respective owners.

Det här innehållet finns tyvärr inte på svenska.

Vår webbplats finns främst på vårt koncernspråk engelska, förutom det innehåll för investerare som vi är lagstadgade att kommunicera på svenska. Vi rekommenderar att du besöker vår globala webbplats på engelska för att få en bättre upplevelse.

Vi stöder inte längre Internet Explorer. För att få bästa möjliga upplevelse av iar.com rekommenderar vi att du uppgraderar till en modern webbläsare som Chrome eller Edge.