UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 21501

7.1/6.3 EDK - Stack/Heap Size Allocation for MicroBlaze

Description

Keywords: stack, heap, MicroBlaze, allocation, size, gcc

Urgency: Standard

General Description:
The memory space allocated for stack + heap in a MicroBlaze system is 2x the requested amount. i.e., when 0x400 of stack and 0x500 of heap are allocated in the linker script, the generated ELF allocates x1208 for stack + heap which is slightly > 2x the requested amount.

With EDK 6.3.2, use BSB to create a basic MicroBlaze system with a test app. Use Generate Linker Script to set the heap to 0x500 and the stack to x400. Execute Build All User Applications. In a Xygwin shell execute mb-objdump -h executable.elf in the TestApp directory. Note that the size reported for the bss_stack section is x1208.

Solution


Remove the linker script and set the stack and heap size in the Compiler Settings, instead.
AR# 21501
Date Created 05/23/2005
Last Updated 04/13/2007
Status Archive
Type General Article