文章 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

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