Article ID: 000082608 Content Type: Product Information & Documentation Last Reviewed: 07/02/2014

How do I build an Altera DS-5 project without semi-hosting?

Environment

    Quartus® II Subscription Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Description

Due to a problem in Altera SOS EDS version 13.0 and 13.1, the  Assembler code required to build a non semi-hosted application is missing.

Resolution

To work around this problem follow the steps below to download the required Assembler file and then update your linker script to disable semi-hosting.

An example Makefile and Linker script based on the Altera-SoCFPGA-HardwareLib-GNU.tar.gz example from SOC EDS 13.0Sp1 can be downloaded from the link below: ExampleFiles_nonSemiHosted.zip (altera-socfpga.ld, Makefile, reset.s)

Steps to enable non-semi hosted application using Altera Example as template

  1. Download reset.o:ExampleFiles_nonSemiHosted.zip
  2. Copy / backup your existing Altera linker script altera-socfpga-hosted.ld
  3. Change the compile flag
    Before: -lcs3hosted
    After: -lcs3unhosted:  GROUP(-lgcc -lc -lcs3 -lcs3unhosted -lcs3arm)
  4. Comment out or remove the following code sections:
    /* Enable arm semihosting */
    EXTERN(__auto_semihosting) /* force exit to be picked up in a hosted or os environment */
    EXTERN (exit atexit)

  5. Update Makefile to compile reset.o and point to updated Linker Script from steps 2-4
    #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

Note:  When editing Makefiles ensure correct Tab and Space rules are followed
 

This problem fixed beginning with the SOC EDS version 14.0

Related Products

This article applies to 5 products

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

1