You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Ada的Alire包管理器安装AVR的ZFP RTS运行时系统?

解决Alire构建AVR项目时ZFP RTS找不到的问题

问题原因

你使用的gnat_avr_elf预编译包默认不包含ZFP(Zero Foot Print)运行时系统,Alire的标准AVR工具链通常只提供默认RTS(如Ravenscar-SFP),因此gprconfig无法找到匹配的配置。

解决方案

1. 检查Alire是否有ZFP专用包

先通过Alire搜索是否有现成的ZFP RTS包:

alr search zfp avr

如果能找到对应包,直接安装后重新构建即可。

2. 手动编译并安装ZFP RTS到Alire工具链

如果没有现成包,需要手动编译ZFP并集成到Alire环境:

  • 确保已安装gnat_avr_elf:
    alr install gnat_avr_elf
    
  • 加载工具链环境变量:
    eval $(alr printenv gnat_avr_elf)
    
  • 获取ZFP RTS源码(可从AdaCore的AVR工具链源码仓库或第三方Ada AVR社区仓库获取)
  • 编译ZFP RTS:
    gprbuild -P zfp_runtime.gpr -target=avr-elf
    
  • 找到Alire中gnat_avr_elf的安装路径:
    alr path gnat_avr_elf
    
  • 将编译好的ZFP文件复制到工具链的RTS目录(路径示例:~/.alire/cache/dependencies/gnat_avr_elf_11.2.4_xxx/lib/gnat/avr-elf/zfp,若目录不存在则手动创建)

3. 配置Alire识别ZFP RTS

添加RTS搜索路径到Alire配置:

alr config --set toolchain.rts.search_path /path/to/your/compiled/zfp/rts

之后重新执行alr build即可。

4. 替代方案:注册自定义构建的工具链

如果上述方法无效,按照《Programming AVR with Ada》文档构建带ZFP的完整工具链,然后将其注册到Alire:

alr toolchain register /path/to/your/custom/avr-toolchain

注册完成后重新运行alr build。

内容的提问来源于stack exchange,提问作者Torsten Knodt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 10:57:33