Devido a um problema no Altera SOS EDS versão 13.0 e 13.1, o código montador necessário para construir uma aplicação sem host está ausente.
Para resolver este problema, siga as etapas abaixo para baixar o arquivo montador necessário e, em seguida, atualizar o script do linker para desabilitar a semi-hospedagem.
Um exemplo de script Makefile e Linker baseado no exemplo Altera-SoCFPGA-HardwareLib-GNU.tar.gz do SOC EDS 13.0Sp1 pode ser baixado no link abaixo: ExampleFiles_nonSemiHosted.zip (altera-socfpga.ld, Makefile, reset.s)
Etapas para habilitar aplicativos não semi-hospedados usando Altera exemplo como modelo
- Baixe reset.o:ExampleFiles_nonSemiHosted.zip
- Copie/faça backup do script Altera linker altera-socfpga-hosted.ld
- Mude o sinalizador de compilação
Antes:-lcs3hosted
Depois:-lcs3unhosted: GROUP(-lgcc -lc -lcs3 -lcs3unhosted -lcs3arm)
- Comente ou remova as seguintes seções de código:
/* Enable arm semihosting */
EXTERN(__auto_semihosting) /* force exit to be picked up in a hosted or os environment */
EXTERN (exit atexit) - Atualizar Makefile para compilar reset.o e apontar para o script linker atualizado das etapas 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
Nota: ao editar makefiles, certifique-se de que as regras corretas de guia e espaço são seguidas
Este problema corrigido começa com o SOC EDS versão 14.0