文章 ID: 000082608 内容类型: 产品信息和文件 上次审核日期: 2021 年 08 月 29 日

如何在没有半托管的情况下构建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. 下载重置.o:ExampleFiles_nonSemiHosted.zip
  2. 复制/备份您现有的Altera链接器脚本 altera-socfPGA 托管.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

1

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。