Linker, loader en uitvoerbare formaten

Wat is de juiste rol van het linkerscript dat bij embedded ontwikkeling wordt gebruikt?

  1. ADe linker aangeven op welk adres elke sectie wordt geplaatst, zoals flash of RAM
  2. BDe procedure beschrijven om programmatests automatisch uit te voeren
  3. CRegels voor het schrijven van broncode vaststellen en overtredingen melden
Antwoord en toelichting tonen

Antwoord: A. De linker aangeven op welk adres elke sectie wordt geplaatst, zoals flash of RAM

Bij een pc-OS bepaalt de loader de adressen, maar bij een microcontroller worden de adressen op het moment van inschakelen ongewijzigd gebruikt. In het linkerscript staan het beginadres en de grootte van flash en RAM en wordt de indeling opgegeven, zoals .text en constanten in flash en .data, .bss en stack in RAM. Ook zaken die op een vast adres moeten staan, zoals de interruptvectoren, worden hier opgegeven.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Linker, loader en uitvoerbare formaten

  1. Wat is de juiste verwerking die de opstartcode direct na het inschakelen uitvoert voordat main wordt aangeroepen op een microcontroller zonder OS?
  2. Wat is het juiste verschil tussen „sectie” en „segment” in een ELF-bestand?
  3. Welke aanval is gemakkelijker te voorkomen door te verbieden dat een geheugenpagina tegelijk „beschrijfbaar” en „uitvoerbaar” is (W^X, scheiding van schrijven en uitvoeren)?
  4. Wanneer wordt bij gedeelde bibliotheken op Linux het versienummer van de soname, zoals de „.1” in libfoo.so.1, in het algemeen verhoogd?
  5. Wat is er te weten te komen als op Linux het commando ldd op een uitvoerbaar bestand wordt gebruikt?

Vergelijkingen bij dit onderwerp