The linker is the code generation development tool responsible for linking together all the object files and libraries into the final executable form. The linker offers many features, including some recent additions, which make it easy to use system memory efficiently. This application note gives practical advice on how to use three of these features: automatic section splitting, copy tables, and trampolines. Automatic section splitting distributes code or data across separate memory ranges. Copy tables are a convenient way to manage code or data overlays at runtime. Trampolines change how function calls are implemented such that far call memory models are no longer necessary. Detailed examples show all of these linker features in action.