문서 ID: 000082608 콘텐츠 형태: 제품 정보 및 문서 마지막 검토일: 2014-07-02

반 호스팅 없이 Altera DS-5 프로젝트를 구축하려면 어떻게 합니까?

환경

  • 인텔® Quartus® II 구독 에디션
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    설명

    ALTERA SOS EDS 버전 13.0 및 13.1의 문제로 인해 비반 호스팅 응용 프로그램을 구축하는 데 필요한 어셈블러 코드가 누락되었습니다.

    해결 방법

    이 문제를 해결하려면 아래 단계를 따라 필요한 어셈블러 파일을 다운로드한 다음 링커 스크립트를 업데이트하여 반 호스팅을 비활성화합니다.

    SOC EDS 13.0Sp1의 Altera-SoCFPGA-HardwareLib-GNU.tar.gz 예제를 기반으로 한 Makefile 및 Linker 스크립트를 아래 링크에서 다운로드할 수 있습니다. ExampleFiles_nonSemiHosted.zip (altera-socfpga.ld, Makefile, reset.s)

    Altera 예제를 템플릿으로 사용하여 비반 호스팅 응용 프로그램을 활성화하는 단계

    1. 다운로드 reset.o:ExampleFiles_nonSemiHosted.zip
    2. 기존 Altera 링커 스크립트 altera-socfpga-hosted.ld 복사/백업
    3. 컴파일 플래그 변경
      전에: -lcs3hosted
      후: -lcs3unhosted:  GROUP(-lgcc -lc -lcs3 -lcs3unhosted -lcs3arm)
    4. 다음 코드 섹션을 설명하거나 제거합니다.
      /* Enable arm semihosting */
      EXTERN(__auto_semihosting) /* force exit to be picked up in a hosted or os environment */
      EXTERN (exit atexit)

    5. Makefile을 업데이트하여 reset.o를 컴파일하고 2-4단계에서 업데이트된 Linker 스크립트를 가리킵니다.
      #Assembler Flags
      AFLAGS := -g -O0 -mfloat-abi=soft -march=armv7-a -mtune=cortex-a9 -mcpu=cortex-a9 -x assembler
      #Assembler source files
      A_SRC := reset.s
      #Original Linker script
      #LINKER_SCRIPT := altera-socfpga_hosted.ld
      #Link to updated linker script for non-semihosted
      LINKER_SCRIPT := altera-socfpga.ld
      #Clause to compile reset.o
      reset.o:
        -c reset.s -o reset.o
      #Updated linker line to add dependency for reset.o
      : reset.o
        -T reset.o -o
        -d > .objdump
        > .map

    참고: Makefiles를 편집할 때 올바른 탭 및 공간 규칙이 준수되도록 합니다.
     

    이 문제는 SOC EDS 버전 14.0부터 해결되었습니다.

    관련 제품

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

    Cyclone® V SE SoC FPGA
    Arria® V ST SoC FPGA
    Arria® V SX SoC FPGA
    Cyclone® V ST SoC FPGA
    Cyclone® V SX SoC FPGA

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