이 오류는 Nios II 컴파일러가 256MB 경계 제한이 있는 호출 명령을 사용하기 때문에 메인 메모리와 256MB 이상의 메모리 위치에 있는 경우 발생합니다.
이 문제에 대한 두 가지 해결 방법이 있습니다.
1) ACDS 버전 13.1에서 -relax-all 옵션은 호출 명령 대신 발신자 명령을 사용하도록 구현됩니다. Eclipse 위한 소프트웨어 빌드 도구에서 응용 프로그램 또는 BSP 속성에 -Wa,-relax-all 옵션을 사용자 플래그로 추가하십시오.
콜러 명령이 호출 명령과 비교하여 더 많은 어셈블리 지침을 사용하므로 이 해결 방법이 소프트웨어 성능에 영향을 미칠 수 있습니다.
2) 통화 명령이 주소의 MSB 4 비트를 계산하지 않으므로 256MB 경계 제한이 있습니다. 메모리 기본 주소의 MSB 4비트가 동일하도록 메모리를 찾아 함수가 256MB 경계 내에 있는지 확인합니다.
예. SDRAM : 0x10000000, 온칩 메모리 : 0x12000000
또는 SDRAM: 0x08000000, 온칩 메모리 : 0x02000000