문서 ID: 000079417 콘텐츠 형태: 문제 해결 마지막 검토일: 2013-12-17

Nios II 코드가 별도의 메모리 위치에 배치될 때 오류 "재배치가 적합합니다: R_NIOS2_CALL26"가 발생하는 이유는 무엇입니까?

환경

  • 인텔® Nios® II (클래식) 프로세서
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    설명

    이 오류는 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

    관련 제품

    이 문서는 다음 항목에 적용됩니다. 1 제품

    인텔® 프로그래밍 가능 장치

    이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.