Compiling beyond 256MB

Description

This error happens when functions are located in a memory location more than 256MB apart from the main memory because the Nios II compiler uses the call instruction which has 256MB boundary limitation.

Solution

1) In ACDS version 13.1, the -relax-all option is implemented to use the callr instruction instead of call instruction. In Software Build Tools for Eclipse, add the -Wa,-relax-all option in the Application or BSP properties as user flags. 

This workaround may impact the software performance as callr instruction uses more assembly instructions compared to the call instruction.

https://www.intel.com/content/www/us/en/support/programmable/articles/000079417.html?__utma=267448542.2002717147.1489449600.1489449600.1489449600.1&__utmb=267448542.1.10.1489449600&__utmc=267448542&__utmx=-&__utmz=267448542.1489449600.1.1.utmcsr=(direct)%7Cutmccn=(direct)%7Cutmcmd=(none)&__utmv=-&__utmk=66903725

Leave a Reply