Advanced Page - 2021.2 English

Vitis Unified Software Platform Documentation: Embedded Software Development (UG1400)

Document ID
UG1400
Release Date
2021-12-15
Version
2021.2 English

If you require more control over the definition of memory sections and assignments to them, use the LinkerScript Generator page Advanced view.

Code Section Assignments
Typically there is only one code section, .text, unless you specifically created other code sections. All the code sections appear in this region.
Data Sections Assignments
The compilers automatically generate a number of different types of data sections including read-only data (.rodata), initialized data (.data), and uninitialized data (.bss).
Heap and Stack Section Assignments
Use this area to map the heap and stack onto memory and define their sizes.
Heap Size
Specify the heap size. Even if a programmer does not use dynamic memory allocation explicitly, there are some functions that use the heap such as printf(). It is a good idea to allocate a few KB for such functions, as a precaution.
Stack Size
Specify the stack size. Remember that the stack size grows down in memory and could overrun the heap without warning. Make certain that you allocate enough memory, especially if you use recursive functions or deep hierarchies.