Use this panel to control linker optimizations. The linker's optimizer can apply any of its optimizations in either global or non-global optimization mode. You can apply global optimization at the end of the development cycle, after compiling and optimizing all source files individually or in groups.
The following table lists and describes the linker optimization options for S12Z .
| Option | Description |
|---|---|
| Allocation over Segment Boundaries | This option allows you the allocation over segment boundaries. The available options are:
|
| Allocate Non-Referenced Overlap Variables | This option allows you to allocate Non-Referenced Overlap Variables. |
| Enable Automatic const Placement | With this option the linker constant optimizer is enabled. Instead of performing usual linking actions, the linker generates a data distribution file which contains optimized distribution for constant objects. |
| Specify Constant Distribution Segment Name | When this option is enabled, it's possible to specify the name of the constant distribution segment. |
| Allocate Non-Specified const Segments in RAM | This option allocates constant data segments not explicitly allocated in a READ_ONLY segment in the default READ_WRITE segment. This was the default for old versions of the linker, so this option provides a compatible behavior with old linker versions. |
| Enable Automatic Data Placement | With this option the linker data optimizer is enabled. Instead of performing usual linking actions, the linker generates a data distribution file which contains optimized distribution. |
| Specify Data Distribution File Name | When this option is enabled, it's possible to specify the name of the data distribution file. There, all distributed data and how the compiler has to reallocate them are listed. |
| Generate Data Optimizer Information File | When this option is enabled, the data optimizer generates a data distribution information file giving information on object to segment mapping |
| Specify Data Distribution Segment Name | When this option is enabled, it's possible to specify the name of the data distribution segment. |
| Enable Distribution Optimization | This option enables the linker optimizer. Instead of a link, the linker generates a distribution file which contains an optimized distribution. |
| Specify Distribution File Name | Enable this option to specify the name of the distribution file. The distribution file lists all distributed functions and specifies how the compiler reallocates them. |
| Generate Optimizer Information File | Using this option, the optimizer generates a distribution information file containing a list of all sections and their functions. Available function information includes the old size, optimized size, and new calling convention. |
| Choose Optimizing Method | This option allows you to choose the optimizing method. With the FillBanks argument the linker minimizes the free space in every bank. FillBanks is most effective for functions using the near calling convention. Use the CodeSize argument to minimize code when free space within the banks is no concern. The options available are:
|
| Specify Distribution Segment Name | Use this option to specify the name of the distribution segment. |
| Specify Library File Name | When this option is enabled,linker generates file<filename> which has information about the current libraries and also about the files with which they should be replaced with. |
| Enable Library Option File Generation | Enables library information generation. When this option is enabled,linker generates file (default libFile.txt) which has information about the current library and the startup file and also about the files with which they should be replaced with. |
| Specify Data Optimizer Options File Name | Specifies the name of the file that contains the set of linker-generated compiler options. When this option is enabled, linker places the second step compiler options in the specified file<filename>. |
| Enable Option File Generation | Enables compiler option generation. The generated options will be used for second step compilation. Linker generates a text file containing a compiler option for the second step (one of the following: -ConstQualiNear, -NonConstQualiNear, -Mb). The content of the file is appended to the compiler options for the second compilation step. |
| Specify Library File Name | Specifies the name of the library information file. When this option is enabled in second link step,linker reads file<filename> which has information about the libraries. |
| Enable Option to Read libFile.txt in P2 | Instructs the linker to read in the library information file that it generated in step one. This option is passed in second link step. It tells the linker to read library information file(default libFile.txt). |
| Emit StartUp Information to Library Info File | The information about the current startup file and the replacement startup file will be added to the library file(default libFile.txt) and used during the second compile-link step. |
| Overlap Constants in ROM | Defines the default if constants and code should be optimized; commands DO_OVERLAP_CONSTS and DO_NOT_OVERLAP_CONSTS take precedence over the option. The options available are:
|
| Optimize Copy Down | Changes the copy down structure to use few spaces. The optimization does assume that the application does perform both the zero out and the copy down step of the global initialization. If a value is set to zero by the zero out, then zero values are removed from the copy down information. The resulting initialization is not changed by this optimization if the default startup code is used. |