Lec03Link - Linker Combines relocatable object files and...

Info icon This preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
EE471 Embedded Microcontrollers, Microprocessors and DSP Systems 2003 © 3-Link-1 Lecture 3 Linker Outline Memory sections produced by the C compiler Linker Command File Object file formats Target initialization interpreter
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
EE471 Embedded Microcontrollers, Microprocessors and DSP Systems 2003 © 3-Link-2 Linker Combines relocatable object files and library modules to create a standalone executable image. add When using assembly: Variables .Data – Ram Program .text – Rom C Compiler will divide the code automatically in group user don’t need to setup groups.
Image of page 2
EE471 Embedded Microcontrollers, Microprocessors and DSP Systems 2003 © 3-Link-3 Linker Invoke the linker clnk [options] [<-o files>] <file.lkf> The linker command file filename.lnk, specifies object modules, target memory locations, and libraries to link.
Image of page 3

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
EE471 Embedded Microcontrollers, Microprocessors and DSP Systems 2003 © 3-Link-4 Memory Sections Produced by C Compilers Code, constants, initialized variables, and uninitialized variables are put in different sections of memory by the C compiler. Section addresses that correspond to the hardware configuration are specified to a linker. The linker links modules and locates sections at specified addresses. The linker is also able to configure the executable output for an automatic data initialization by creating an image of the data in ROM memory.
Image of page 4
EE471 Embedded Microcontrollers, Microprocessors and DSP Systems 2003 © 3-Link-5 Memory Sections Produced by the C Compiler (cont) .text – Executable code .bsct – Initialized data in zero page .data – Initialized data .bss – non initialized data .const – Data objects whose value does not change during program execution .eeprom – EEPROM segment. A variable must be declared as type @eeprom to be written into the segment. Special code is generated by the compiler to write to eeprom memory.
Image of page 5

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
EE471 Embedded Microcontrollers, Microprocessors and DSP Systems 2003 © 3-Link-6 Linker Command File Linker command file uses a small control language designed to allow the user to direct the actions of the compiler.
Image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern