13.07.2015 Views

pcp_reference_guide_v2.5 - Tasking

pcp_reference_guide_v2.5 - Tasking

pcp_reference_guide_v2.5 - Tasking

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

8−26PCP Reference ManualSee section 8.8, Semantics of the Section Layout Definition forinformation on creating and placing stack sections.Copy tables• The copytable keyword defines a copy table in the address space.The content of the copy table is created by the linker and contains thestart address and size of all sections that should be initialized by thestartup code. You must define exactly one copy table in one of theaddress spaces (for a core).Optionally you can specify an alignment for the copy table with theargument align. This alignment must be equal or larger than thealignment that you specify for the address space itself. If smaller, thealignment for the address space is used.LINKER SCRIPT LANGUAGEThe copy_unit argument specifies the size in MAUs of informationchunks that are copied. If you do not specify the copy unit, the MAUsize of the address space itself is used.The dest argument specifies the destination address space that thecode uses for the copy table. The linker uses this information togenerate the correct addresses in the copy table. The memory intowhere the sections must be copied at run−time, must be accessiblefrom this destination space.Sections generated for the copy table may get a page restriction withthe address space’s page size, by adding the page argument.Start address• The start_address keyword specifies the start address for theposition where the C startup code is located. When a processor is reset,it initializes its program counter to a certain start address, sometimescalled the reset vector. In the architecture definition, you must specifythis start address in the correct address space in combination with thename of the label in the application code which must be located here.The run_addr argument specifies the start address (reset vector). If thecore starts executing using an entry from a vector table, and directlyjumps to the start label, you should omit this argument.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!